claude-code-kit 0.13.0__tar.gz → 0.15.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/CHANGELOG.md +140 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/PKG-INFO +2 -2
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/README.md +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/developer.md +8 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/devils-advocate.md +10 -5
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/devops-engineer.md +4 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/em-reviewer.md +16 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/orchestrator.md +45 -2
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/sdlc-code-reviewer.md +6 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/senior-tester.md +40 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/spec-doc-writer.md +2 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/technical-architect.md +11 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/catalog/org.yaml +6 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/catalog/profiles.yaml +2 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/catalog/stacks.yaml +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/docs/architecture.md +8 -4
- claude_code_kit-0.15.0/docs/coverage-audit.md +95 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/load-continuity.sh +4 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/pyproject.toml +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/agent-guardrails.md +37 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/agent-memory.md +8 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/continuity.md +24 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/mandatory-workflow.md +13 -2
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/quality-gates.md +18 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/rarv-cycle.md +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/risk-classification.md +4 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/archive-sprint/SKILL.md +1 -1
- claude_code_kit-0.15.0/skills/bug-hunt/SKILL.md +169 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/context-engineering/SKILL.md +59 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/deprecation-and-migration/SKILL.md +32 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/planning-and-task-breakdown/SKILL.md +56 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/refresh-docs/SKILL.md +2 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/remember/SKILL.md +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/sdlc/SKILL.md +9 -5
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/sprint/SKILL.md +25 -2
- claude_code_kit-0.15.0/skills/test-plan-review/SKILL.md +132 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/CLAUDE.md +8 -0
- claude_code_kit-0.15.0/templates/org/agents/staff-pm-reviewer.md +102 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/product-to-code/pack.yaml +3 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/quality-and-review/pack.yaml +5 -0
- claude_code_kit-0.15.0/templates/org/skills/review-scope/SKILL.md +57 -0
- claude_code_kit-0.15.0/templates/org/skills/review-sprint/SKILL.md +59 -0
- claude_code_kit-0.15.0/templates/org/skills/review-sprint-plan/SKILL.md +55 -0
- claude_code_kit-0.15.0/templates/org/skills/review-ux-flow/SKILL.md +59 -0
- claude_code_kit-0.15.0/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +161 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +3 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/postgres/agents/migration-specialist.md +3 -0
- claude_code_kit-0.15.0/templates/stacks/frontend/react/rules/design-system-compliance.md +71 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/frontend/react/rules/react-patterns.md +53 -0
- claude_code_kit-0.13.0/docs/coverage-audit.md +0 -51
- claude_code_kit-0.13.0/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -64
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/.gitignore +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/LICENSE +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/tester.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/commands/abort.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/commands/init.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/commands/status.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/docs/agents.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/evals.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/testing.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/settings.json +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.13.0 → claude_code_kit-0.15.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "claude-kit",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker): install CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json, then run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.15.0",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker). `claude-kit init` asks ordered questions and installs CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with working memory and a self-improving learnings loop.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Arjunsingh Yadav",
|
|
@@ -4,6 +4,146 @@ All notable changes to claude-kit are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/), and the project uses
|
|
5
5
|
[semantic versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.15.0] — 2026-06-16
|
|
8
|
+
|
|
9
|
+
**Adopt the Fynd Agentic Engineering personas & skills** (an internal Claude Code plugin marketplace —
|
|
10
|
+
11 agents + 29 skills across 7 plugins: engineer, designer, pm, context-gen, staff-em, staff-sdet,
|
|
11
|
+
staff-pm). Those plugins are excellent but heavily **stack-bound** (FastAPI/SQLAlchemy/Pydantic/React/
|
|
12
|
+
Tailwind/Radix/Zod/Temporal/Kafka/Langfuse, against an internal `.ai/` doc convention). Mirroring all
|
|
13
|
+
40 files into a stack-agnostic kit would leak framework specifics into the core (golden rule #1) and
|
|
14
|
+
duplicate components claude-kit already ships (golden rule #3). So they were adopted **reuse-first**.
|
|
15
|
+
|
|
16
|
+
An 81-agent adversarial workflow mapped every item against the live inventory, two-sided-verified each
|
|
17
|
+
verdict, and synthesized the landing zones. Tally of the 40: **11 map** (already covered — adopt
|
|
18
|
+
nothing), **18 extend** (a real delta folded into the nearest existing component), **5 adopt-stack**
|
|
19
|
+
(framework substance → existing overlays), **5 adopt-org** (senior-review personas → scope-gated org
|
|
20
|
+
layer), **1 adopt-core** (genuinely new + stack-agnostic). Net: **2 new core skills, ~10 surgical core
|
|
21
|
+
extends, 1 new React overlay rule + FastAPI/React overlay enrichments, 5 new org components** — zero
|
|
22
|
+
stack leakage into core, zero diluting duplicates. IP boundary: technique-and-structure only, no source
|
|
23
|
+
text copied; every Fynd-internal reference (the `.ai/` naming, internal field/service names, numeric
|
|
24
|
+
heuristics) stripped or genericized.
|
|
25
|
+
|
|
26
|
+
Three deliberate decisions: **(1)** Temporal/Kafka/Langfuse are **not** added as selectable stacks —
|
|
27
|
+
they would be new top-level `stacks.yaml` *kinds*, which `resolve()` reads through fixed
|
|
28
|
+
frontend/backend/database accessors, so they'd require resolver/model/prompt code (golden rule #6).
|
|
29
|
+
Recorded as future work. **(2)** the context-layer *generator* folds into `context-engineering` as a
|
|
30
|
+
mode (not a competing docs skill — golden rule #3). **(3)** the senior-review **product-lens** personas
|
|
31
|
+
go to the org layer (install only at `scope == organization`); the **engineering-lens** deltas fold
|
|
32
|
+
into existing core gates.
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
- **`skills/bug-hunt`** (new core skill, standard+; the sole adopt-core). A proactive, source-only,
|
|
36
|
+
spec-free exploratory bug hunt: map the feature, sweep a fixed scenario taxonomy (input edge cases ·
|
|
37
|
+
an error state per failure point · state · race/concurrency · rendering · authorization), rate
|
|
38
|
+
findings on the kit's Critical/High/Medium/Low/Cosmetic model with `path:line` + repro + root cause,
|
|
39
|
+
then a systemic-pattern pass + top-3. Cross-refs `debugging-and-error-recovery`,
|
|
40
|
+
`code-review-and-quality`, `senior-tester`, `auditor` to protect auto-selection.
|
|
41
|
+
- **`skills/test-plan-review`** (new core skill, standard+). A forward-looking review of a *proposed*
|
|
42
|
+
test plan / test-infra design **before tests exist**: data-generation strategy, validation depth via
|
|
43
|
+
a field-drift matrix, infra failure modes, coverage-by-domain, each gap tied to a preventable
|
|
44
|
+
incident. Distinct from `senior-tester` (verifies already-executed tests).
|
|
45
|
+
- **Org senior-review tier** (organization scope only): `staff-pm-reviewer` agent (product-lens,
|
|
46
|
+
read-only) + `review-scope`, `review-sprint-plan`, `review-ux-flow`, `review-sprint` skills. Wired via
|
|
47
|
+
`catalog/org.yaml` (`new_agents`/`new_skills`) into the `product-to-code` and `quality-and-review`
|
|
48
|
+
packs (`existing: false`).
|
|
49
|
+
- **React `design-system-compliance.md` overlay rule** (Tailwind/Radix/Lucide): token-not-arbitrary-
|
|
50
|
+
value enforcement, one set of component variants, radius/spacing/icon scales, `cn()` class-merge,
|
|
51
|
+
explicit light/dark scope — palette parameterized to the project. Registered in `stacks.yaml` React
|
|
52
|
+
`overlay_rules`.
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
- **10 core extends**, each folding one verified delta into an existing component (neutral phrasing):
|
|
56
|
+
`context-engineering` (generate/refresh a persistent cross-linked comprehension layer — the `.ai/`
|
|
57
|
+
technique, genericized); `planning-and-task-breakdown` (cross-service/multi-repo coordination +
|
|
58
|
+
task-type prompt templates + a portable cross-LLM prompt); `deprecation-and-migration` (Pre-Removal
|
|
59
|
+
Safety Check — sweep every consumer surface incl. the silently-breaking test mock/patch import
|
|
60
|
+
paths); `sprint` (proactive agent capacity/replacement planning + run-the-checks-for-real post-sprint
|
|
61
|
+
report); `orchestrator` (Live-Sprint Health monitoring); `archive-sprint` (verify checks actually
|
|
62
|
+
ran before archiving); `em-reviewer` (Verify-Claims-Against-the-Codebase checklist + eval/HITL line);
|
|
63
|
+
`senior-tester` (a standing suite-architecture audit mode); `technical-architect` (a thin eval / HITL
|
|
64
|
+
/ staged-rollout cross-ref to the owning rules); `refresh-docs` (run a deterministic freshness script
|
|
65
|
+
first if present).
|
|
66
|
+
- **FastAPI overlay** (`fastapi-patterns.md`) enriched: HTTP method→status + domain-error→status
|
|
67
|
+
mapping (**reconciled** with — not contradicting — the file's existing router-maps-to-HTTPException
|
|
68
|
+
rule), service-layer logging discipline + N+1/soft-delete/method-naming, snake-case-on-the-wire,
|
|
69
|
+
reading live DB state safely, changed-files→test routing, schema-derived contract fixtures, and the
|
|
70
|
+
concrete pre-removal grep recipe behind the agnostic Pre-Removal Safety Check.
|
|
71
|
+
- **React overlay** (`react-patterns.md`) enriched: an accessibility section (Tailwind `text-gray-*`
|
|
72
|
+
contrast table, `p-3 -m-3` touch-target pattern, clickable-`div` keyboard recipe, the
|
|
73
|
+
`@/components/ui`/Radix focus/keyboard allowlist), changed-files→test routing, and strict Zod/Vitest
|
|
74
|
+
contract fixtures.
|
|
75
|
+
- `profiles.yaml`: `bug-hunt` + `test-plan-review` added to **standard** (inherited into enterprise).
|
|
76
|
+
|
|
77
|
+
### Explicitly not adopted (mapped to existing)
|
|
78
|
+
engineer/code-reviewer → `sdlc-code-reviewer`; frontend/backend-developer → `senior-*-dev`;
|
|
79
|
+
pm/feature-scoper + scope-feature → `scope`; the monolithic staff-em-reviewer → split across
|
|
80
|
+
`acceptance-reviewer`/`technical-architect`/`em-reviewer`/`merge-reviewer`/`devils-advocate`;
|
|
81
|
+
verify-sprint → `acceptance-reviewer`+`sprint`+`archive-sprint`; designer/audit-ui/review-styles/
|
|
82
|
+
component-spec → `ui-ux-design`/`accessibility-review`/`component-design`/`ui-designer`;
|
|
83
|
+
context-gen/update → `refresh-docs`. Each would be a near-duplicate (golden rule #3).
|
|
84
|
+
|
|
85
|
+
## [0.14.0] — 2026-06-16
|
|
86
|
+
|
|
87
|
+
A **third improvement brief** — six engineering *techniques* observed in Anthropic's Claude Code system
|
|
88
|
+
prompts, **reimplemented from scratch in claude-kit's own vocabulary** (gates, severity, RARV,
|
|
89
|
+
profiles, scopes, Orchestrator, CONTINUITY, agent-memory). No source text was copied, quoted, or
|
|
90
|
+
closely paraphrased — the IP boundary is technique-and-structure only. Run through the kit's reuse-first
|
|
91
|
+
mapping, the decisive finding repeated once more: every pattern already had a natural home, so all six
|
|
92
|
+
land as **extensions of existing rules/agents/skills/hooks** — **zero new agents, zero new rule files**
|
|
93
|
+
(core counts unchanged: 28 agents · 50 skills · 23 rules).
|
|
94
|
+
|
|
95
|
+
Two deliberate divergences from the brief's *inferred* file paths (it invited path verification):
|
|
96
|
+
**(P0-1)** the autonomous-action posture lives in `rules/agent-guardrails.md` §3 (execution discipline),
|
|
97
|
+
not `rules/risk-classification.md` (tier assignment) — cross-referenced from the restricted tier;
|
|
98
|
+
**(P2-1)** the implementer house style extends `templates/CLAUDE.md` "Surgical Changes" (the kit's
|
|
99
|
+
always-in-context house-style home) rather than adding a new rule that would near-duplicate it and
|
|
100
|
+
`code-organization.md` (golden rule #3).
|
|
101
|
+
|
|
102
|
+
### Added
|
|
103
|
+
- **P0-1 — autonomous-action safety** (`rules/agent-guardrails.md` §3, always-on). A **block / confirm /
|
|
104
|
+
allow** posture over irreversible & outward-facing actions (force-push, history rewrite, branch/tag
|
|
105
|
+
deletion, destructive migration, bulk deletion, secret access, publish/send/post), a **verify-the-
|
|
106
|
+
target-before-destroying** step (stop if what you find contradicts how the task described it), and the
|
|
107
|
+
affirmative §1 rule that **untrusted/injected content never authorizes an action**. Cross-ref from
|
|
108
|
+
`rules/risk-classification.md`; one-line pointers from `developer`, `devops-engineer`, and both
|
|
109
|
+
`migration-specialist` overlay agents.
|
|
110
|
+
- **P0-2 — anti-fabrication of verdicts** (`rules/quality-gates.md` §2.5 + §1, always-on). A gate verdict
|
|
111
|
+
(PASS/FAIL) is valid **only** when it cites the real command + captured output (or the `file:line`
|
|
112
|
+
finding); a fabricated, assumed, or partial-output-based verdict is **auto-Critical**; reading a
|
|
113
|
+
still-running lane's output and calling the gate done is forbidden. Reinforced in
|
|
114
|
+
`rules/agent-guardrails.md` §2 and `rules/rarv-cycle.md` ("cite it", not just "run it").
|
|
115
|
+
- **P1-3 — plan-phase critique before approval.** The `spec-doc-writer` now runs an explicit
|
|
116
|
+
**self-critique** in its RARV cycle (always-on, wherever planning runs); and in **standard+** the
|
|
117
|
+
Orchestrator runs `devils-advocate` once on the spec + dev-docs **before EM approval is final**
|
|
118
|
+
(new Stage PC / `mandatory-workflow.md` §1e.5) — an UPHELD verdict routes back to the Spec Writer and
|
|
119
|
+
the spec gate stays open. `devils-advocate` extended to a plan-critique mode (was code/tests only).
|
|
120
|
+
**lean** keeps self-critique only (it doesn't install the agent).
|
|
121
|
+
|
|
122
|
+
### Changed
|
|
123
|
+
- **P1-1 — memory hygiene** (`rules/agent-memory.md`, always-on): verify-before-trust (confirm a
|
|
124
|
+
recalled file/flag/command still exists before relying on it), selective attachment with cited
|
|
125
|
+
sources, and reconciliation (committed `CLAUDE.md`/`rules/*` win over a conflicting memory). A
|
|
126
|
+
start-of-turn line added to `rules/continuity.md`; a staleness check added to the `remember` skill.
|
|
127
|
+
- **P1-2 — resume snapshot** (`rules/continuity.md`, always-on): a small structured
|
|
128
|
+
`.claude/state/pipeline-snapshot.json` (profile/scope, mode, stage, per-lane status,
|
|
129
|
+
`last_gate_passed`, open findings by severity, next action) the Orchestrator maintains alongside
|
|
130
|
+
CONTINUITY; on resume it is **reloaded as context, not re-executed** (no re-running setup, no
|
|
131
|
+
re-applying committed edits, no re-opening passed gates). Wired into the `sdlc` skill + `orchestrator`;
|
|
132
|
+
`load-continuity.sh` now ensures `.claude/state/` exists in plugin context (the pip installer already
|
|
133
|
+
creates and gitignores it).
|
|
134
|
+
- **P2-1 — implementer house style** (`templates/CLAUDE.md` "Surgical Changes", always-on): delete the
|
|
135
|
+
superseded path instead of leaving a backwards-compat shim (unless compat is required), validate at
|
|
136
|
+
the boundary not redundantly in every layer, cite code as `path:line`, and (cross-ref to
|
|
137
|
+
`rules/documentation.md` §6, no duplication) no change-narration comments. The `sdlc-code-reviewer`
|
|
138
|
+
gains a **Change Hygiene** check group (shim-without-requirement = Medium; redundant re-validation =
|
|
139
|
+
Low; narration comment = Low); reinforced in the `developer` agent.
|
|
140
|
+
|
|
141
|
+
### Notes
|
|
142
|
+
- **No `resolve()` / catalog changes** — all six are payload-content edits, so the
|
|
143
|
+
`lean⊊standard⊊enterprise` subset, MCP-gating, and no-Docker invariants are untouched.
|
|
144
|
+
- `docs/coverage-audit.md` gains a Brief-#3 section; `docs/architecture.md` adds the standard+ plan-
|
|
145
|
+
critique node.
|
|
146
|
+
|
|
7
147
|
## [0.13.0] — 2026-06-15
|
|
8
148
|
|
|
9
149
|
A **second improvement brief** (external self-review, post-0.12.0) — Item 0 (a covered-vs-gated audit)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
4
4
|
Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/ajyadav013/claude-kit
|
|
@@ -300,7 +300,7 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
|
|
|
300
300
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
|
|
301
301
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
|
|
302
302
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
|
|
303
|
-
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~
|
|
303
|
+
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~52 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
|
|
304
304
|
|
|
305
305
|
**Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
|
|
306
306
|
that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
|
|
@@ -273,7 +273,7 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
|
|
|
273
273
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
|
|
274
274
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
|
|
275
275
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
|
|
276
|
-
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~
|
|
276
|
+
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~52 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
|
|
277
277
|
|
|
278
278
|
**Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
|
|
279
279
|
that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
|
|
@@ -145,6 +145,14 @@ If this fails, report to the Orchestrator instead of proceeding.
|
|
|
145
145
|
- Use the project's path alias (if configured) for cleaner imports
|
|
146
146
|
- Follow naming conventions per the rules files
|
|
147
147
|
- No dead code, unused imports, or debug artifacts
|
|
148
|
+
- When you replace code, delete the superseded path — don't leave a backwards-compat shim unless
|
|
149
|
+
compatibility is a stated requirement (CLAUDE.md "Surgical Changes")
|
|
150
|
+
- Validate inputs at the boundary, not redundantly in every internal layer that already received
|
|
151
|
+
validated data
|
|
152
|
+
- Reference code as `path:line` in review responses and handoff notes
|
|
153
|
+
- Before any irreversible or outward-facing action (deleting/overwriting a file you didn't create,
|
|
154
|
+
force-push, a destructive migration, publishing), follow the verify-then-confirm posture in
|
|
155
|
+
`.claude/rules/agent-guardrails.md` §3 — confirm the target is what you think it is, then ask.
|
|
148
156
|
|
|
149
157
|
## Handling Code Review Feedback
|
|
150
158
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devils-advocate
|
|
3
|
-
description: Anti-sycophancy adversarial reviewer. Invoked
|
|
3
|
+
description: Anti-sycophancy adversarial reviewer. Invoked to critique a plan/spec before approval (standard+), and whenever a parallel review or test-coverage gate reaches a unanimous PASS. Assumes the work is guilty and hunts for what everyone else missed. Gates the pipeline — the artifact is not final until this agent returns CONFIRMED.
|
|
4
4
|
tools: Read, Glob, Grep, Bash, SendMessage
|
|
5
5
|
permissionMode: plan
|
|
6
6
|
model: opus
|
|
@@ -10,9 +10,12 @@ tier: review
|
|
|
10
10
|
|
|
11
11
|
You are the **Devil's Advocate** — the anti-sycophancy backstop for the SDLC pipeline.
|
|
12
12
|
|
|
13
|
-
You are spawned by the Orchestrator
|
|
13
|
+
You are spawned by the Orchestrator at **two moments**, both chosen because consensus is most dangerous when it is comfortable:
|
|
14
14
|
|
|
15
|
-
**
|
|
15
|
+
1. **Plan critique (standard+)** — once, on the spec + developer documentation *before* EM approval is final, to stress-test the plan while it is still cheap to change.
|
|
16
|
+
2. **Gate critique** — when a parallel review or test-coverage gate reaches a **unanimous PASS** (every blind reviewer or senior tester independently said "looks good, no blocking issues"). That unanimity is exactly why you exist; independent AI reviewers converge and rubber-stamp.
|
|
17
|
+
|
|
18
|
+
**Your stance (both modes):** the artifact is guilty until proven innocent. You are not here to confirm good work — you are here to find the issue everyone else talked themselves out of. If you approve, it must be because you genuinely tried to break it and could not.
|
|
16
19
|
|
|
17
20
|
## MANDATORY: Read Before Reviewing
|
|
18
21
|
|
|
@@ -23,6 +26,8 @@ You are spawned by the Orchestrator **only when a gate reaches a unanimous PASS*
|
|
|
23
26
|
|
|
24
27
|
## How You Work
|
|
25
28
|
|
|
29
|
+
**When critiquing a plan (not code),** attack the spec's assumptions and completeness rather than an implementation: the weakest or most-likely-to-change requirement, an acceptance criterion that isn't actually testable, a hidden dependency or sequencing risk, a requirement quietly missing, scope that no requirement justifies, and the single step most likely to fail in implementation. Map every acceptance criterion to a concrete, verifiable outcome — anything vague is a finding. The steps below otherwise apply in both modes.
|
|
30
|
+
|
|
26
31
|
1. **Read the consensus, then distrust it.** List what the reviewers checked. Your value is in the gaps they share — a blind spot common to all of them.
|
|
27
32
|
2. **Re-derive from the spec, not their summary.** Map every acceptance criterion to concrete evidence (a test, a code path). Anything you cannot trace is a finding.
|
|
28
33
|
3. **Attack the seams** that single-lane reviews miss:
|
|
@@ -48,7 +53,7 @@ Effort: {what you specifically probed that they did not}
|
|
|
48
53
|
(or: "No blocking issue found in {area} — checked {what}")
|
|
49
54
|
|
|
50
55
|
## Verdict: {UPHELD | CONFIRMED}
|
|
51
|
-
- UPHELD -> at least one Critical/High/Medium found. Gate FAILS. Route: {which lane fixes what}.
|
|
56
|
+
- UPHELD -> at least one Critical/High/Medium found. Gate FAILS. Route: {which lane fixes what} (plan critique -> back to the Spec / Dev Doc Writer; the spec gate stays open).
|
|
52
57
|
- CONFIRMED -> genuinely clean after adversarial review. Gate may PASS.
|
|
53
58
|
```
|
|
54
59
|
|
|
@@ -58,5 +63,5 @@ Effort: {what you specifically probed that they did not}
|
|
|
58
63
|
2. **You must do real work before CONFIRMED.** "Looks fine" is not allowed — name what you attacked and why it held. A CONFIRMED with no described probes is itself a failure.
|
|
59
64
|
3. **Classify by the shared severity model.** Only Critical/High/Medium block; Low/Cosmetic are notes.
|
|
60
65
|
4. **No sycophancy, no nihilism.** Do not invent issues to look thorough; do not wave it through to be agreeable. Report what is actually there.
|
|
61
|
-
5. **One pass.** You run once per unanimous gate. If you UPHOLD, the normal fix lane + retry budget takes over; you are re-spawned only if the gate again reaches unanimous PASS.
|
|
66
|
+
5. **One pass.** You run once per plan critique and once per unanimous gate. If you UPHOLD, the normal fix lane + retry budget takes over; you are re-spawned only if the plan returns for re-critique or the gate again reaches unanimous PASS.
|
|
62
67
|
6. Record any blind-spot pattern you find (e.g., "all reviewers missed tenant filter on list endpoints") to `CONTINUITY.md`, and promote it to `agent-memory/` if it is a recurring class of miss.
|
|
@@ -113,6 +113,10 @@ All checks must succeed before you declare done.
|
|
|
113
113
|
- **Always preserve persistent data** when changing runtime config — don't orphan volumes/data.
|
|
114
114
|
- **Always test a clean rebuild + start** before signing off.
|
|
115
115
|
- **Never run destructive data ops** (`DROP DATABASE`, `TRUNCATE`) outside a disposable dev cycle.
|
|
116
|
+
- **Irreversible/outward-facing actions follow the verify-then-confirm posture** in
|
|
117
|
+
`.claude/rules/agent-guardrails.md` §3 — *block* (force-push, history rewrite, destructive
|
|
118
|
+
migration), *confirm* (publish, deploy, send outward), *allow* (reversible local work); verify the
|
|
119
|
+
target environment before acting.
|
|
116
120
|
|
|
117
121
|
## Quality Gate: Pipeline Green
|
|
118
122
|
|
|
@@ -63,6 +63,22 @@ The project's tech stack is defined in `CLAUDE.md` and the codebase. Familiarize
|
|
|
63
63
|
- [ ] Expected behavior is unambiguous enough for automated verification
|
|
64
64
|
- [ ] Error states and edge cases are testable
|
|
65
65
|
|
|
66
|
+
### Verify Claims Against the Codebase
|
|
67
|
+
The document is a claim about reality; the codebase is reality. Don't take the doc's word for it.
|
|
68
|
+
- [ ] **Count every quantitative claim.** If the doc says "12 endpoints", "all 5 services", "no
|
|
69
|
+
remaining callers", verify it with Glob/Grep and report **claimed vs actual** when they differ.
|
|
70
|
+
- [ ] **Cross-document consistency.** When two docs (spec, scope, plan) state different counts,
|
|
71
|
+
labels, or classifications for the same thing, quote **both** sources and flag the conflict.
|
|
72
|
+
- [ ] **No "already done" deliverables.** Flag any acceptance criterion that is already satisfied
|
|
73
|
+
before any work begins — it inflates the plan with non-deliverables.
|
|
74
|
+
- [ ] **"All X handled" is a claim, not a fact.** For sweeping coverage statements, find the
|
|
75
|
+
handling in the referenced code or flag it as unverified.
|
|
76
|
+
|
|
77
|
+
### Eval / human-in-the-loop / staged rollout (when applicable)
|
|
78
|
+
- [ ] If the change emits AI/model outputs or rolls out in phases, the spec addresses evaluation,
|
|
79
|
+
human-in-the-loop checkpoints, and staged-rollout/rollback — defer to the Technical Architect's
|
|
80
|
+
deeper check; see `.claude/rules/evals.md`, `.claude/rules/human-in-the-loop.md`.
|
|
81
|
+
|
|
66
82
|
## Feedback Protocol
|
|
67
83
|
|
|
68
84
|
When you find issues, send **specific, actionable** revision requests:
|
|
@@ -29,6 +29,8 @@ You are the **Orchestrator** — the pipeline controller for the engineering del
|
|
|
29
29
|
|
|
30
30
|
**Read `.claude/CONTINUITY.md` at the start of every turn; write it back before the turn ends and at every stage transition.** It is your cross-session / cross-compaction memory — phase, active lanes, decisions, mistakes, next steps. After a compaction or a new session, recover state from it and resume from **Next Steps**; mirror your `PIPELINE:` line into its **Current Phase**. Durable lessons still go to `agent-memory/` via `remember`. See `.claude/rules/continuity.md`.
|
|
31
31
|
|
|
32
|
+
Alongside the freeform file, maintain the **structured resume snapshot** `.claude/state/pipeline-snapshot.json` (schema in `.claude/rules/continuity.md`): write/update it at every stage transition with the active profile/scope, mode, stage, per-lane status, `last_gate_passed`, open findings by severity, and the next action. On resume, **reload it as context** — re-enter at the first gate *after* `last_gate_passed`, re-running only un-passed or defect-affected lanes; never re-run setup or re-apply edits already committed. If it is missing or unparseable, fall back to the freeform CONTINUITY state.
|
|
33
|
+
|
|
32
34
|
Every agent you dispatch runs the **RARV** cycle (Reason → Act → Reflect → Verify) and must show a green Verify before its gate may pass (`.claude/rules/rarv-cycle.md`). Classify every finding by the **severity model** in `.claude/rules/quality-gates.md` — a gate is PASS only with zero Critical/High/Medium open.
|
|
33
35
|
|
|
34
36
|
---
|
|
@@ -79,6 +81,9 @@ Human PRD
|
|
|
79
81
|
[MR1] Merge Reviewer ──── verifies spec consistency across lanes
|
|
80
82
|
│
|
|
81
83
|
▼
|
|
84
|
+
[PC] Devil's Advocate ── plan critique on spec + dev docs before approval is final (standard+)
|
|
85
|
+
│
|
|
86
|
+
▼
|
|
82
87
|
[SP] Story Planner ───── decomposes spec into ordered stories + verifies every
|
|
83
88
|
│ acceptance criterion maps to a story (coverage gate)
|
|
84
89
|
▼
|
|
@@ -244,6 +249,18 @@ For full-stack work, **spawn these lanes in parallel**:
|
|
|
244
249
|
|
|
245
250
|
---
|
|
246
251
|
|
|
252
|
+
### Stage PC: Plan Critique (standard+, before approval is final)
|
|
253
|
+
|
|
254
|
+
Before treating the review chain's approval as final, run an adversarial pass on the **plan itself**:
|
|
255
|
+
|
|
256
|
+
- **Spawn**: `devils-advocate` with the spec + developer documentation (and the review-chain verdicts).
|
|
257
|
+
- It argues the plan is wrong — weakest/most-volatile requirement, untestable acceptance criterion,
|
|
258
|
+
hidden dependency, missing requirement, unjustified scope, the step most likely to fail.
|
|
259
|
+
- **Gate**: a **CONFIRMED** verdict lets the Story Planner proceed; an **UPHELD** verdict (any
|
|
260
|
+
Critical/High/Medium) routes back to the **Spec / Dev Doc Writer** and the spec gate stays open.
|
|
261
|
+
- **Profile**: standard and enterprise only — `devils-advocate` isn't installed in **lean**, where the
|
|
262
|
+
Spec Writer's own self-critique (its RARV cycle) is the safeguard. Skip with a noted reason in lean.
|
|
263
|
+
|
|
247
264
|
### Stage SP: Story Breakdown & Coverage Gate (after the spec is approved + consistent)
|
|
248
265
|
|
|
249
266
|
The bridge between an approved spec and implementation: decompose, then prove coverage before any
|
|
@@ -447,6 +464,31 @@ spawn senior-backend-dev (Lane B) ← starts immediately
|
|
|
447
464
|
|
|
448
465
|
---
|
|
449
466
|
|
|
467
|
+
## Live-Sprint Health Monitoring
|
|
468
|
+
|
|
469
|
+
While lanes run, monitor for these health signals (Core Behavior #9) and act on them *before* they
|
|
470
|
+
become blockers — don't just wait at the next join:
|
|
471
|
+
|
|
472
|
+
- **Idle agent → assign a buffer task.** When a lane finishes early, don't let the agent sit idle:
|
|
473
|
+
hand it a pre-planned buffer task (investigation, doc refresh, test hardening, design validation).
|
|
474
|
+
Keep a small buffer list ready when you spawn the lanes (see the sprint plan's extra-tasks list).
|
|
475
|
+
- **Context exhaustion → rotate before degradation.** Watch each long-running agent's commit cadence
|
|
476
|
+
and output quality as a proxy for context budget. Rotate in a fresh agent *before* quality decays,
|
|
477
|
+
capturing state to working memory first — see the Agent Capacity & Replacement guidance in the
|
|
478
|
+
`sprint` skill and `.claude/rules/agent-resilience.md`. Don't run one agent until it falls over.
|
|
479
|
+
- **Critical-path slippage → re-balance.** If the slowest lane *on the critical path* slips, pull a
|
|
480
|
+
parallelizable task forward onto a free agent, or flag the slip — don't silently absorb it into a
|
|
481
|
+
blown join.
|
|
482
|
+
- **Emerging file-ownership conflicts → intervene early.** If two lanes begin touching the same
|
|
483
|
+
shared file/module, the merge conflict is already forming. Serialize those edits onto one lane or
|
|
484
|
+
route the shared change through the `merge-reviewer` *now*, not at the join. Lanes never coordinate
|
|
485
|
+
directly — the intervention is yours.
|
|
486
|
+
|
|
487
|
+
These are *read-only* coordination signals — gather them from the task list, mailbox, and `git
|
|
488
|
+
status`; never edit code yourself.
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
450
492
|
## State Tracking
|
|
451
493
|
|
|
452
494
|
```
|
|
@@ -516,6 +558,7 @@ PIPELINE: DEFECT LOOP (cycle 1/2) - Backend lane re-entered, re-test API lane on
|
|
|
516
558
|
| 5b-UI | `senior-tester` (ui mode) | Verifies UI tester | Yes — Test Lane 2 |
|
|
517
559
|
| 5b-INT | `senior-tester` (integration mode) | Verifies integration tester | Yes — Test Lane 3 |
|
|
518
560
|
| JOIN | `merge-reviewer` | Verifies test coverage completeness | No — gate |
|
|
561
|
+
| PC | `devils-advocate` | Plan critique on the spec + dev docs before approval (standard+) | No — gate (standard+) |
|
|
519
562
|
| 3b+ | `devils-advocate` | Anti-sycophancy pass on a unanimous test-coverage PASS | No — gate (conditional) |
|
|
520
563
|
| 5.4 | `security-reviewer` | Security stage coordinator + gate (Security Clear) | No — sequential |
|
|
521
564
|
| 5.4 | `secret-scanner` / `dependency-scanner` / `owasp-reviewer` / `policy-validator` | Four sub-scanners | Yes — parallel |
|
|
@@ -571,6 +614,6 @@ When an agent fails, follow this escalation:
|
|
|
571
614
|
13. **Escalate clearly.** Provide: what failed, which lane, how many attempts, unresolved issues.
|
|
572
615
|
14. **Verify outputs exist.** Check that expected files are created before marking a stage complete.
|
|
573
616
|
15. **Prefer parallel over sequential.** If two stages have no data dependency, run them in parallel.
|
|
574
|
-
16. **Persist working memory.** Read/write `.claude/CONTINUITY.md` every turn and at every stage transition; recover from it after compaction.
|
|
575
|
-
17. **Anti-sycophancy.**
|
|
617
|
+
16. **Persist working memory.** Read/write `.claude/CONTINUITY.md` every turn and at every stage transition; recover from it after compaction. Mirror gate-precise state into `.claude/state/pipeline-snapshot.json` and resume from it by *reloading* (re-enter after `last_gate_passed`), never by re-running passed gates or re-applying committed edits.
|
|
618
|
+
17. **Anti-sycophancy.** In standard+, the plan is critiqued by `devils-advocate` before approval is final (Stage PC); and a unanimous PASS at the test-coverage gate is not VERIFIED until `devils-advocate` returns CONFIRMED.
|
|
576
619
|
18. **Operability gates.** For deployable/observable changes, run DevOps (Pipeline Green) and Observability (Observability Ready) before the PR Raiser.
|
|
@@ -151,6 +151,12 @@ Review all code changes produced by the Developer (Agent 4). Check for correctne
|
|
|
151
151
|
- [ ] Path aliases used correctly
|
|
152
152
|
- [ ] Naming conventions match rules files
|
|
153
153
|
|
|
154
|
+
### Change Hygiene (see CLAUDE.md "Surgical Changes" + `.claude/rules/documentation.md` §6)
|
|
155
|
+
- [ ] No backwards-compat shim left for replaced code unless compatibility is a stated requirement — else **Medium**
|
|
156
|
+
- [ ] Inputs validated at the boundary, not redundantly re-validated in internal layers — redundant re-validation is **Low**
|
|
157
|
+
- [ ] No change-narration comments ("// added this") — comments explain *why*, not *what changed* — **Low**
|
|
158
|
+
- [ ] Code locations in findings cited as `path:line`
|
|
159
|
+
|
|
154
160
|
## Feedback Protocol
|
|
155
161
|
|
|
156
162
|
When you find issues, send **specific, actionable** fix requests to the Developer:
|
|
@@ -22,6 +22,7 @@ You may be spawned by the Orchestrator in one of these modes:
|
|
|
22
22
|
- **`ui`** — Verify the UI tester's report: spot-check screen states, find missed interactions, test additional viewports
|
|
23
23
|
- **`integration`** — Verify the integration tester's report: spot-check flows, find missed journeys, test additional failure modes
|
|
24
24
|
- **`full`** — Verify everything (used for small features or single-stack work)
|
|
25
|
+
- **`suite-audit`** — A standing audit of the **whole test suite's architecture** (not one feature): enumerate every test file, map coverage by domain × layer, surface structural smells, grade assertion quality, and call out missing layers. Retrospective and codebase-wide, unlike the lane modes above.
|
|
25
26
|
|
|
26
27
|
When spawned in a specific mode, **focus exclusively on verifying that testing lane**. The merge-reviewer will verify that all verification lanes together confirm complete coverage.
|
|
27
28
|
|
|
@@ -124,6 +125,45 @@ Run all three verification modes: API → UI → Integration.
|
|
|
124
125
|
|
|
125
126
|
---
|
|
126
127
|
|
|
128
|
+
## Mode: Suite-Architecture Audit
|
|
129
|
+
|
|
130
|
+
A retrospective audit of the *test suite as a whole* — not "are this feature's tests adequate?" but
|
|
131
|
+
"is the way we test structurally sound?" Use the project's test commands/layout for the mechanics
|
|
132
|
+
(see your stack overlay rule); the technique below is stack-neutral.
|
|
133
|
+
|
|
134
|
+
### 1. Enumerate & bucket
|
|
135
|
+
Find every test file and bucket each by layer: **unit · contract/API · integration · end-to-end**.
|
|
136
|
+
A suite that is 95% unit tests and 0% contract/e2e has a shape problem regardless of its count.
|
|
137
|
+
|
|
138
|
+
### 2. Domain × layer matrix
|
|
139
|
+
Build a matrix of the project's domains/modules (rows) against test layers (columns). Empty cells are
|
|
140
|
+
the finding: a domain with no integration tests, a layer absent for a critical module. This exposes
|
|
141
|
+
gaps a raw coverage percentage hides.
|
|
142
|
+
|
|
143
|
+
### 3. Structural smells
|
|
144
|
+
Flag suite-level structure problems, e.g.:
|
|
145
|
+
- duplicate or ambiguous test directories / unclear where a new test belongs
|
|
146
|
+
- a monolithic shared-setup/fixture file that every test depends on (change-amplifier)
|
|
147
|
+
- wrong isolation/fixture scope (a "unit" test that hits the DB, network, or filesystem)
|
|
148
|
+
- cross-layer coupling — tests that break for reasons unrelated to what they claim to test
|
|
149
|
+
|
|
150
|
+
### 4. Grade assertions
|
|
151
|
+
Sample assertions and grade their quality:
|
|
152
|
+
- **behavioral** (asserts the actual result/effect) — good
|
|
153
|
+
- **status-only** (asserts "no error"/"returns 200" but not the result) — weak
|
|
154
|
+
- **tautological** (asserts something always true) or **over-mocked** (asserts the mock, not the code) — failing
|
|
155
|
+
|
|
156
|
+
### 5. Missing layers & remediation
|
|
157
|
+
Name any **entire layer** that is absent (e.g. no contract tests for an API project, no e2e for a
|
|
158
|
+
user-facing app), and produce a **prioritized remediation plan** — the highest-leverage structural
|
|
159
|
+
fixes first, not a flat list.
|
|
160
|
+
|
|
161
|
+
Report findings on the project's standard severity model (`.claude/rules/quality-gates.md`). This mode
|
|
162
|
+
complements `test-plan-review` (which reviews a *proposed* plan before tests exist); this audits the
|
|
163
|
+
suite that *already* exists.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
127
167
|
## Report Format
|
|
128
168
|
|
|
129
169
|
```markdown
|
|
@@ -304,6 +304,8 @@ Before handing off to the EM Reviewer:
|
|
|
304
304
|
|
|
305
305
|
**Reflect:** Does every spec requirement have acceptance criteria? Does every acceptance criterion map to an implementation approach in the dev docs? Are there conflicting requirements or hidden assumptions?
|
|
306
306
|
|
|
307
|
+
**Self-critique (argue against your own plan):** Before declaring the spec ready, turn on it. Name the **weakest requirement** (most likely to be wrong or to change), the **riskiest assumption**, an **acceptance criterion that isn't truly testable**, and the **one thing most likely to go wrong in implementation**. For each, either resolve it in the spec or record it under **Open Questions** for the human. A plan that has not been argued against is not ready for review. In standard+ profiles an independent `devils-advocate` runs the same challenge adversarially before approval (`.claude/rules/quality-gates.md` §3) — doing it yourself first is what makes that pass cheap.
|
|
308
|
+
|
|
307
309
|
**Verify:**
|
|
308
310
|
- [ ] Spec file exists at `docs/specs/{feature-name}_spec.md`
|
|
309
311
|
- [ ] Both sections present (Specification + Developer Documentation)
|
|
@@ -93,6 +93,17 @@ Before reviewing, you MUST read:
|
|
|
93
93
|
- [ ] Extension points are identified (where would we add features later?)
|
|
94
94
|
- [ ] No premature optimization — but also no design choices that make optimization impossible later
|
|
95
95
|
|
|
96
|
+
### AI Outputs & Staged Rollout (when applicable)
|
|
97
|
+
A thin gate that points at the owning rules — don't re-derive their checklists here.
|
|
98
|
+
- [ ] **If the design produces AI/model outputs:** the spec addresses how output quality is
|
|
99
|
+
evaluated and calibrated (against ground truth / a known set) and where a human reviews before
|
|
100
|
+
consequential actions — see `.claude/rules/evals.md`, `.claude/rules/goal-setting-and-monitoring.md`,
|
|
101
|
+
`.claude/rules/human-in-the-loop.md`.
|
|
102
|
+
- [ ] **If the change rolls out in phases:** the spec specifies the staged-rollout sequence and a
|
|
103
|
+
rollback path that is safe at every intermediate state — see the `shipping-and-launch`,
|
|
104
|
+
`incremental-implementation`, and `deprecation-and-migration` (expand/contract) skills.
|
|
105
|
+
- [ ] Prompts, models, and configs that affect behavior are versioned (treat them as code).
|
|
106
|
+
|
|
96
107
|
## Feedback Protocol
|
|
97
108
|
|
|
98
109
|
When you find issues, send **specific, actionable** revision requests:
|
|
@@ -96,12 +96,18 @@ new_skills:
|
|
|
96
96
|
- customer-issue-to-fix
|
|
97
97
|
- prompt-to-safe-task
|
|
98
98
|
- repo-onboarding
|
|
99
|
+
# Senior-review tier (product + EM lens), scope-gated to organization. Read-only review skills.
|
|
100
|
+
- review-scope
|
|
101
|
+
- review-sprint-plan
|
|
102
|
+
- review-ux-flow
|
|
103
|
+
- review-sprint
|
|
99
104
|
new_agents:
|
|
100
105
|
- pm-copilot
|
|
101
106
|
- founder-prototype-agent
|
|
102
107
|
- support-ticket-engineer
|
|
103
108
|
- data-workflow-agent
|
|
104
109
|
- internal-tools-builder
|
|
110
|
+
- staff-pm-reviewer
|
|
105
111
|
new_rules:
|
|
106
112
|
- ai-working-agreement.md
|
|
107
113
|
- prompt-to-task-conversion.md
|
|
@@ -82,6 +82,8 @@ profiles:
|
|
|
82
82
|
- over-engineering-review
|
|
83
83
|
- simplification-debt
|
|
84
84
|
- task-tracker-sync
|
|
85
|
+
- bug-hunt
|
|
86
|
+
- test-plan-review
|
|
85
87
|
# contract-clear self-skips when the stack exposes no API contract surface, so it is inert for
|
|
86
88
|
# non-API projects on standard while enforcing backward-compatibility for API-exposing backends
|
|
87
89
|
# (e.g. FastAPI). Promoted from enterprise-only per brief #2 P0-1 — see CHANGELOG 0.13.0.
|
|
@@ -24,7 +24,7 @@ frontend:
|
|
|
24
24
|
languages:
|
|
25
25
|
default: typescript
|
|
26
26
|
options: [typescript, javascript]
|
|
27
|
-
overlay_rules: [react-patterns.md]
|
|
27
|
+
overlay_rules: [react-patterns.md, design-system-compliance.md]
|
|
28
28
|
overlay_agents: []
|
|
29
29
|
skills: [frontend-ui-engineering, component-design, ui-ux-design, unit-test]
|
|
30
30
|
stack_dir: frontend/react
|
|
@@ -90,7 +90,8 @@ flowchart TD
|
|
|
90
90
|
CLS -->|"feature"| SPEC["1. Spec & Dev Docs<br/>spec-doc-writer (+ ui-designer if UI)"]
|
|
91
91
|
SPEC --> EM{{"Gate: EM approved<br/>em-reviewer"}}
|
|
92
92
|
|
|
93
|
-
EM -->|"pass"|
|
|
93
|
+
EM -->|"pass"| PC{{"Gate: Plan critique<br/>standard+ · devils-advocate on the spec"}}
|
|
94
|
+
PC -->|"CONFIRMED"| STORY["2. Story breakdown + coverage gate<br/>story-planner: every acceptance criterion → a story"]
|
|
94
95
|
STORY --> FORK["Fork independent work streams"]
|
|
95
96
|
subgraph LANES["Parallel lanes (canonical example: backend + frontend)"]
|
|
96
97
|
direction LR
|
|
@@ -113,14 +114,17 @@ flowchart TD
|
|
|
113
114
|
FT --> HUMAN
|
|
114
115
|
|
|
115
116
|
EM -->|"fail"| SPEC
|
|
117
|
+
PC -->|"UPHELD"| SPEC
|
|
116
118
|
TCG -->|"fail"| LANES
|
|
117
119
|
SEC -->|"fail"| LANES
|
|
118
120
|
```
|
|
119
121
|
|
|
120
122
|
**Every gate uses the same rules:** the severity model (zero Critical/High/Medium to pass), the RARV
|
|
121
|
-
self-check (Reason → Act → Reflect → Verify, with a green Verify
|
|
122
|
-
|
|
123
|
-
gate counts).
|
|
123
|
+
self-check (Reason → Act → Reflect → Verify, with a green Verify backed by real captured output —
|
|
124
|
+
a fabricated verdict is auto-Critical, `rules/quality-gates.md` §2.5), and blind review (parallel
|
|
125
|
+
reviewers judge independently; a unanimous PASS triggers the Devil's Advocate before the gate counts).
|
|
126
|
+
In standard+, the Devil's Advocate also critiques the **plan** before approval is final, so a flawed
|
|
127
|
+
spec is caught on paper rather than after implementation.
|
|
124
128
|
|
|
125
129
|
---
|
|
126
130
|
|