By AratKruglik
Shared Python foundation skills for the SDLC marketplace. Contains stack-agnostic Python conventions (python-conventions — type hints, dataclasses, match, pathlib, enums, context managers, PEP 8, strict typing), python-tooling (pyproject.toml as source of truth, pip/Poetry/uv/pipenv, venv, lockfiles, ruff lint+format, mypy, console scripts), and pytest-testing (fixtures, parametrize, conftest, monkeypatch, unittest.mock, pytest-cov). No agent, no stack profile — pure shared library. Referenced by django-plugin, fastapi-plugin, flask-plugin, and python-plugin.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
pytest testing patterns for any Python project: test structure, fixtures, parametrize, conftest.py, monkeypatch, tmp_path, markers, unittest.mock (MagicMock, patch), pytest-cov coverage, and best practices. Stack-agnostic — referenced by every Python plugin in the marketplace. Use this skill to: - Organise tests with conftest.py shared fixtures and a clear test/src layout. - Write parametrized tests to cover multiple inputs without duplication. - Mock external dependencies (HTTP, DB, filesystem) with unittest.mock and monkeypatch. - Measure and enforce code coverage with pytest-cov. Do NOT use this skill for: - Framework-specific test types (Django TestCase / WebTestCase, FastAPI TestClient, Flask test client — see framework plugin skills). - Language idioms — see python-foundation:python-conventions.
Modern Python idioms for any Python 3.10+ project: PEP 8 style, PEP 484/526 type hints, dataclasses, pathlib, enums, f-strings, structural pattern matching (match/case), context managers, exception handling, and null discipline. Stack-agnostic — referenced by every Python plugin in the marketplace. Use this skill to: - Write strongly-typed code with type hints on every function signature and class attribute. - Replace isinstance chains and magic constants with match/case and enums. - Use dataclasses or NamedTuple for value objects and data containers. - Handle resources safely with context managers and pathlib for all file paths. - Apply PEP 8 naming and structure conventions consistently. Do NOT use this skill for: - Framework-specific idioms (Django ORM, FastAPI routers, Flask blueprints — those live in framework plugin skills). - Packaging and dependency management — see python-foundation:python-tooling. - Testing patterns — see python-foundation:pytest-testing.
Python project tooling: pyproject.toml as the single source of truth, package managers (pip, Poetry, uv, pipenv), virtual environments, lockfiles, ruff (lint + format), mypy (type checking), and console scripts / entry points. Stack-agnostic — referenced by every Python plugin in the marketplace. Use this skill to: - Read pyproject.toml (or requirements.txt / Pipfile) to learn which package manager and Python version the project uses. - Install, add, and remove dependencies with the project's package manager. - Run ruff for formatting and linting, mypy for type checking. - Define console scripts and entry points for CLI applications. Do NOT use this skill for: - Language idioms — see python-foundation:python-conventions. - Testing patterns — see python-foundation:pytest-testing. - Framework-specific tooling (django management commands, flask CLI) — see framework plugin skills.
Framework-agnostic SQLAlchemy 2.0 core shared by fastapi-plugin and flask-plugin: declarative mapped classes with Mapped/mapped_column, column type selection, relationships with explicit lazy loading and cascades, 2.0-style select() querying, transaction/flush discipline, and Alembic-agnostic migration metadata rules. Framework plugins layer their delta skills (async sessions for FastAPI, Flask-SQLAlchemy integration for Flask) on top of this skill. Use this skill to: - Write SQLAlchemy 2.0 declarative models with Mapped[T] annotations and mapped_column(). - Pick correct column types (String(N), Numeric, DateTime(timezone=True), Uuid, Enum). - Define relationships with explicit lazy loading strategy and cascade settings. - Query with 2.0-style select() statements and manage flush vs commit boundaries. - Keep model metadata visible to Alembic autogenerate. Do NOT use this skill for: - FastAPI async engine/session lifecycle — see fastapi-plugin:sqlalchemy-patterns. - Flask-SQLAlchemy extension setup and Flask-Migrate — see flask-plugin:sqlalchemy-patterns. - Python idioms — see python-foundation:python-conventions.
Multi-stack AI-assisted SDLC pipelines built on the Stack Provider Pattern: a single core orchestrator runs the pipeline, framework plugins register themselves via declarative stack.md profiles. No core overrides, no slot registries, no copy-paste between stacks.
v1.2.0 — 26 plugins: 1 core + 5 shared libs + 7 JS/TS stacks + 5 PHP/Laravel/Symfony stacks + 3 Java/.NET stacks + 5 Python stacks. Cost-optimized: model tiering + effort per-subagent, fixed Haiku enforcement for the docs phase, file-scoped format hooks, shared architect conventions (~1,600 lines of boilerplate deduped), per-aspect QA fan-out on full-stack runs.
# 1. Add the marketplace
/plugin marketplace add AratKruglik/claude-sdlc
# 2. Install the stack plugin you need (sdlc core is installed automatically as a dependency)
/plugin install laravel-plugin@sdlc-marketplace
# or for JS/TS projects:
/plugin install nodejs-plugin@sdlc-marketplace # Express/Fastify/Koa
/plugin install nestjs-plugin@sdlc-marketplace # NestJS
/plugin install nextjs-plugin@sdlc-marketplace # Next.js (full-stack)
/plugin install react-plugin@sdlc-marketplace # React SPA
/plugin install vue-plugin@sdlc-marketplace # Vue 3 SPA
/plugin install angular-plugin@sdlc-marketplace # Angular 18-21
/plugin install react-native-plugin@sdlc-marketplace # React Native / Expo
# or for Python projects:
/plugin install django-plugin@sdlc-marketplace # Django + DRF
/plugin install fastapi-plugin@sdlc-marketplace # FastAPI + SQLAlchemy 2.0
/plugin install flask-plugin@sdlc-marketplace # Flask + Flask-Migrate
/plugin install python-plugin@sdlc-marketplace # Plain Python (CLI/library/scripts)
# 3. Install optional plugins
/plugin marketplace add mattpocock/skills
/plugin install mattpocock-skills@skills # Enhances BA phase with interactive grilling
# 4. Verify
/sdlc:doctor
/sdlc:list-stacks
# 4. Run
/sdlc:start "Add subscription billing with Stripe"
┌─────────────────────────────────────────────────────────────┐
│ sdlc (core) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ pipeline-orchestrator (skill) — NEVER CHANGES │ │
│ │ │ │
│ │ Phase 1: BA → core's business-analyst │ │
│ │ Phase 2: Dev → ⚡ DISPATCH to stack provider │ │
│ │ Phase X: extra → ⚡ stack-specific phases │ │
│ │ Phase N-2: QA → core's qa-engineer │ │
│ │ Phase N-1: Security → core's security-analyst │ │
│ │ Phase N: Docs/PR → core's document-writer │ │
│ └──────────────────────────────────────────────────────┘ │
│ ▲ │
│ │ reads stack.md profiles │
└────────────────────────────┼────────────────────────────────┘
│
┌────────────────────────┼───────────────────────────┐
│ │ │ │ │
┌───▼───┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│laravel│ │ nodejs │ │ nestjs │ │ nextjs │ │ react │
│plugin │ │ plugin │ │ plugin │ │ plugin │ │ plugin │
│stack.md│ │ stack.md│ │stack.md │ │stack.md │ │stack.md │
└───────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘
Key principles:
pipeline-orchestrator/SKILL.md.stack.md frontmatter — they declare auto-detection rules, priority, agents per phase, and convention skills.When /sdlc:start runs, the orchestrator needs to decide which agent handles development. The priority system is how it picks.
Each plugin has a stack.md file where it describes itself: "I handle projects that have X, and my priority is Y." The orchestrator scans all installed plugins, runs their detection rules against the current project, and picks the highest-priority match.
Step by step:
~/.claude/plugins/cache/**/stack.md — collect all registered profiles.detect rules: is there a package.json? Does it contain react? Is there a manage.py? And so on.Example — Laravel + React (Inertia.js) project:
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub aratkruglik/claude-sdlc --plugin python-foundationShared C#/.NET foundation skills for the SDLC marketplace. Contains stack-agnostic conventions: csharp-conventions (modern C# idioms — nullable reference types, records, pattern matching, async/await, IDisposable, naming), dotnet-tooling (dotnet CLI, NuGet, csproj/sln, central package management, dotnet format) and dotnet-testing (xUnit, Moq/NSubstitute, FluentAssertions, coverlet). Referenced cross-plugin by every .NET framework provider in the marketplace. No agent, no stack profile — pure shared library.
Next.js full-stack React framework stack provider for SDLC marketplace. Multi-aspect ownership (backend + frontend). App Router, Server Components, Server Actions, Route Handlers, ISR/SSG/SSR. Reuses TypeScript and npm skills from nodejs-plugin.
Angular 18-21 SPA frontend stack provider for SDLC marketplace. Standalone components + NgModule equally, signals + services + NgRx (Store/Component Store/Signals), Reactive Forms (typed), Angular Router with functional guards, TestBed + component harnesses + Angular Testing Library. Modern era (signal-first, control flow @if/@for/@switch) with legacy NgModule fallback. Angular Universal (SSR) pointer-only — SPA focus.
Vue 3 SPA frontend stack provider for SDLC marketplace. Composition API, <script setup>, Pinia, Vue Router v4, vee-validate, Vitest + @vue/test-utils. Vue 3 primary; Vue 2 fallback notes for legacy projects. Nuxt out of scope (separate plugin in roadmap).
React SPA frontend stack provider for SDLC marketplace. Components, hooks, state management, routing, forms, testing. Composes with backend plugins (nodejs/nestjs/laravel) via aspect resolution. Loses to higher-priority frameworks (nextjs, react-native) on their respective project types.
Plain Python backend stack provider (priority=100, detects pyproject.toml/requirements.txt/setup.py/Pipfile). Handles Python libraries, CLI tools, scripts, data pipelines, and microservices without a recognized web framework. Adds python-architect agent (Sonnet/medium) and python-app-conventions skill. Falls back gracefully when django-plugin/fastapi-plugin/flask-plugin (priority 150) match instead. Reuses python-foundation skills.
Opinionated Python 3.11+ engineering system. Establishes strong defaults (SOLID, typing policy, testing standards, code smell detection) and routes to specialist skills for TDD, CLI, web, data/science, and constrained environments.
Editorial "Python Pro" bundle for Claude Code from Agentic Awesome Skills.
Python-specific validation, patterns, and expert agents
Python development capabilities
Modern Python development with Python 3.12+, Django, FastAPI, async patterns, and production best practices