claude-code-kit 0.58.0__tar.gz → 0.58.2__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.58.0 → claude_code_kit-0.58.2}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/CHANGELOG.md +546 -1
- claude_code_kit-0.58.2/PKG-INFO +341 -0
- claude_code_kit-0.58.2/README.md +308 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/acceptance-reviewer.md +6 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/auditor.md +6 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/dependency-scanner.md +9 -5
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/developer.md +10 -16
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/devils-advocate.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/e2e-tester.md +12 -12
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/em-reviewer.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/incident-responder.md +2 -3
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/merge-reviewer.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/orchestrator.md +111 -34
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/owasp-reviewer.md +2 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/policy-validator.md +2 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/sdlc-code-reviewer.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/secret-scanner.md +2 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/security-reviewer.md +4 -4
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/senior-backend-dev.md +19 -3
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/senior-frontend-dev.md +15 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/catalog/mcp.yaml +3 -3
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/catalog/profiles.yaml +3 -6
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/catalog/stacks.yaml +19 -3
- claude_code_kit-0.58.2/commands/init.md +98 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/agents.md +65 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/architecture.md +3 -3
- claude_code_kit-0.58.2/docs/autonomous-operation.md +194 -0
- claude_code_kit-0.58.2/docs/cli.md +51 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/cursor-export.md +7 -3
- claude_code_kit-0.58.2/docs/influences.md +95 -0
- claude_code_kit-0.58.2/docs/install.md +140 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/road-to-1.0.md +1 -1
- claude_code_kit-0.58.2/docs/rules-context-budget.md +177 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/skill-audit.md +38 -4
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/hooks.json +2 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/capture-learnings.sh +10 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/guard-destructive-git.sh +21 -4
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/guard-kubectl-delete.sh +3 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/guard-push-main.sh +6 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/guard-secrets.sh +6 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/lint-fix.sh +21 -4
- claude_code_kit-0.58.2/hooks/scripts/type-check.sh +47 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/validate-frontmatter.sh +19 -8
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/warn-large-edits.sh +8 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/warn-llm-io.sh +11 -7
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/warn-missing-tests.sh +5 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/warn-sensitive-files.sh +14 -4
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/warn-shared-modules.sh +17 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/pyproject.toml +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/mandatory-workflow.md +5 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/model-tiers.md +35 -4
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/quality-gates.md +5 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/wave-orchestration.md +31 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/check_docs_consistency.py +19 -10
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/init.sh +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/SKILL.md +14 -286
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-compose/SKILL.md +12 -365
- claude_code_kit-0.58.2/skills/docker-compose/references/compose-skeletons.md +370 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/SKILL.md +10 -108
- claude_code_kit-0.58.2/skills/grafana-dashboards-and-alerts/references/red-dashboard-skeleton.md +114 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/remember/SKILL.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/sdlc/SKILL.md +12 -6
- claude_code_kit-0.58.2/skills/security-and-hardening/SKILL.md +286 -0
- claude_code_kit-0.58.2/skills/security-and-hardening/references/input-validation-and-uploads.md +112 -0
- claude_code_kit-0.58.2/skills/security-and-hardening/references/llm-guardrails.md +45 -0
- claude_code_kit-0.58.2/skills/security-and-hardening/references/owasp-top10-prevention.md +262 -0
- claude_code_kit-0.58.2/skills/security-and-hardening/references/supply-chain-and-dependencies.md +103 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/catalog.py +5 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/cli.py +28 -12
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/export.py +67 -13
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/hooks.py +43 -8
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/prompts.py +51 -17
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/scaffold.py +75 -6
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/upgrader.py +37 -12
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/CLAUDE.md +13 -5
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/CLAUDE.stack.md.tmpl +26 -14
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/README.claude-sdlc.md.tmpl +39 -31
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/agents/data-workflow-agent.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/agents/founder-prototype-agent.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/agents/internal-tools-builder.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/agents/pm-copilot.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/agents/staff-pm-reviewer.md +1 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/agents/support-ticket-engineer.md +1 -1
- claude_code_kit-0.58.2/templates/scripts/sdlc-loop.sh +71 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/settings.json +2 -1
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/backend/go/net-http/rules/go-patterns.md +5 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +5 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +2 -2
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/postgres/rules/database-performance.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/postgres/rules/postgres-patterns.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/design-system-compliance.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/react-patterns.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/ui-components.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/ui-design-system.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/ui-layout-and-motion.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/ux-dashboard-patterns.md +8 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/frontend/react/rules/ux-patterns.md +8 -0
- claude_code_kit-0.58.0/PKG-INFO +0 -894
- claude_code_kit-0.58.0/README.md +0 -861
- claude_code_kit-0.58.0/commands/init.md +0 -63
- claude_code_kit-0.58.0/hooks/scripts/type-check.sh +0 -23
- claude_code_kit-0.58.0/skills/security-and-hardening/SKILL.md +0 -718
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/.gitignore +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/CLAUDE.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/LICENSE +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/story-planner.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/tester.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/catalog/org.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/commands/abort.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/commands/sdlc.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/commands/status.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/KNOWN_LIMITATIONS.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/RELEASE-POLICY.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/awesome-prs.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/demo-script.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/directory-submission.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/github-about.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/posts.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/launch/seed-issues.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/stack-skills/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/code-organization.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/continuity.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/documentation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/evals.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/resilience-engineering.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/testing.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/rules/tool-design.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/catalog-capture.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/catalog-mcp.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/catalog-org.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/catalog-profiles.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/catalog-stacks.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/mcp-lock.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/org-pack.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/schemas/pipeline-snapshot.schema.json +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/backfill-releases.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/check_mcp_pins.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/check_rule_sizes.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/check_skill_descriptions.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dependency-verification/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/references/ai-readiness.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/references/drift-detection.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/references/governance-and-adoption.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/references/system-health-and-maturity.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/design-system-ops/references/token-architecture.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/doc-consolidation/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/library-review/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/references/collector.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/references/correlation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/references/gotchas.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/references/instrumentation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/references/sampling.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/otel-tracing/references/tempo.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/safety-critical-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/shell-review/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/references/cli.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/references/determinism.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/references/gotchas.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/references/languages.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/references/testing.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/temporal-developer/references/versioning.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/detect.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/report.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/schemas.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/export/sdlc-workflow-guide.md.tmpl +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.58.0 → claude_code_kit-0.58.2}/templates/stacks/db/postgres/agents/postgres-specialist.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.58.
|
|
13
|
+
"version": "0.58.2",
|
|
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.58.
|
|
3
|
+
"version": "0.58.2",
|
|
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,7 +4,552 @@ 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.58.
|
|
7
|
+
## [0.58.2] — 2026-07-08
|
|
8
|
+
|
|
9
|
+
**The advisory hook layer is now actually visible, and the scaffolded docs stop advertising
|
|
10
|
+
things the install doesn't have.** A third multi-agent review round (17 agents; every finding
|
|
11
|
+
re-verified against the official Claude Code hooks reference + changelog before any code) found
|
|
12
|
+
one genuinely new defect class the previous rounds missed: six advisory hooks "warned" on exit-0
|
|
13
|
+
**stderr**, which on PreToolUse/PostToolUse goes to the debug log only — the model never saw a
|
|
14
|
+
single warning. 9 findings, all implemented; 0 new agents/skills/rules; resolver untouched.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **Advisory hooks now reach the model** — `warn-large-edits`, `warn-sensitive-files`,
|
|
19
|
+
`warn-llm-io`, `warn-shared-modules`, `warn-missing-tests`, and `validate-frontmatter` emit
|
|
20
|
+
`hookSpecificOutput.additionalContext` JSON on stdout (the documented visible channel; the
|
|
21
|
+
warning text is unchanged). On Claude Code versions predating the field it is ignored — the
|
|
22
|
+
scripts degrade to exactly the old behavior, never an error.
|
|
23
|
+
- **`capture-learnings.sh` end mode fits the SessionEnd budget** — the transcript scan + capture
|
|
24
|
+
spawn now detaches into the background after marking the session done, so the hook returns in
|
|
25
|
+
milliseconds instead of racing the 1.5 s SessionEnd default; the registry also grows per-hook
|
|
26
|
+
`timeout` support (the capture entry declares 30 s) for scaffolded installs.
|
|
27
|
+
- **`type-check.sh` no longer fabricates type errors on machines without the toolchain** — the
|
|
28
|
+
tsc branch requires a local `node_modules/.bin/tsc`; a missing toolchain is a silent skip.
|
|
29
|
+
- **`guard-destructive-git.sh` rule 3 is per-segment and staged-restore-aware** —
|
|
30
|
+
`git restore --staged .` (index-only, non-destructive) is exempted, `--worktree`/`-W`
|
|
31
|
+
variants still block, `-s` (= `--source`) gets no exemption, and a safe unstage in a compound
|
|
32
|
+
command can no longer mask a destructive discard in a later segment.
|
|
33
|
+
- **`prompts.from_config` defaults are lane-aware** — a config that names a backend language but
|
|
34
|
+
no framework (`backend: go`, `backend: {language: go}`) now gets that lane's catalog default
|
|
35
|
+
(`net-http`), and `frontend: none` gets language `none` — matching the interactive flow instead
|
|
36
|
+
of silently inheriting the global default's `fastapi`/`typescript`. Data-driven lookup via
|
|
37
|
+
`catalog.list_options`; `resolve()` unchanged.
|
|
38
|
+
- **`mode:` → `permissionMode:` in all six org personas + the acceptance-reviewer gains
|
|
39
|
+
`permissionMode: plan`** — `mode:` is not a Claude Code frontmatter key and was silently
|
|
40
|
+
ignored, leaving the personas without the read-only confinement their prompts promised. A new
|
|
41
|
+
payload-wide frontmatter test (`test_agent_frontmatter.py`) pins the whole class shut.
|
|
42
|
+
- **The acceptance-reviewer joins the scribe pattern** — it returns the acceptance report in its
|
|
43
|
+
handoff and the Orchestrator persists it (orchestrator Stage 5.6 + `quality-gates.md` now say
|
|
44
|
+
so explicitly), closing the last read-only-agent-writes-files contradiction from 0.58.1.
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- **Scaffolded `CLAUDE.md` is profile-honest** — a new profile-gating paragraph states that
|
|
49
|
+
phases whose reviewer agents aren't installed are `SKIPPED (not in profile)` and never counted
|
|
50
|
+
as PASS, and the Roles list is scoped to "where your profile installs them". A lean install no
|
|
51
|
+
longer reads a charter mandating ~12 agents it doesn't have.
|
|
52
|
+
- **Scaffolded `README.claude-sdlc.md` advertises only commands that exist** — all 11 phantom
|
|
53
|
+
slash commands swept to the real payload skills that own each behavior (e.g.
|
|
54
|
+
`/refactor-safely` → `/code-simplification`, `/write-tests` → `/test-driven-development`,
|
|
55
|
+
`/security-review` → `/security-verification`); the five org-only playbooks, the org personas,
|
|
56
|
+
their capability-matrix rows, and the org examples render only in organization scope; the
|
|
57
|
+
`.claude/org-packs/README.md` governance pointer renders only when packs were generated. A new
|
|
58
|
+
drift test renders both scopes and fails CI on any advertised command with no payload skill.
|
|
59
|
+
- **Docs honesty on plugin confinement** — `docs/agents.md` + README now state that
|
|
60
|
+
`permissionMode` binds only for scaffolded `.claude/agents/` installs; plugin-loaded agents
|
|
61
|
+
ignore it (their prompts still forbid writes).
|
|
62
|
+
|
|
63
|
+
### Not adopted (deliberately)
|
|
64
|
+
|
|
65
|
+
- **The "lint-fix nudges on clean files" sub-claim** — refuted first-hand: the hook exits
|
|
66
|
+
silently when the linter makes no changes; no fix needed.
|
|
67
|
+
- **The "capture-learnings double-capture" sub-claim** — the existing `mkdir`-based done-marker
|
|
68
|
+
lock already bounds concurrent end-mode runs to one capture; the detach fix preserves it.
|
|
69
|
+
- **Creating 11 new skills to back the phantom commands** — the commands were renamed to existing
|
|
70
|
+
skills instead; growing the skill surface is a positioning decision the owner makes, not a
|
|
71
|
+
drive-by fix.
|
|
72
|
+
- **A fully Jinja-rendered, profile-aware roles table in scaffolded `CLAUDE.md`** — the
|
|
73
|
+
one-paragraph gating statement fixes the dishonesty at a fraction of the template complexity;
|
|
74
|
+
the rendered-variant idea stays on the shelf as an optional follow-up.
|
|
75
|
+
|
|
76
|
+
## [0.58.1] — 2026-07-07
|
|
77
|
+
|
|
78
|
+
**Pipeline agents can now actually persist what their prompts mandate.** An industry-review pass
|
|
79
|
+
(4 web researchers + 4 repo specialists, adversarially synthesized) found the kit's flagship
|
|
80
|
+
resumable-pipeline promise structurally broken: nine agents ran `permissionMode: plan` (read-only)
|
|
81
|
+
while their prompts *required* file writes — the orchestrator's `CONTINUITY.md` +
|
|
82
|
+
`.claude/state/pipeline-snapshot.json` updates, every security scanner's `docs/security/*` report,
|
|
83
|
+
the merge-reviewer's API change report, and the incident-responder's incident log. Plus the docs-truth sweep the same review surfaced.
|
|
84
|
+
0 new agents/skills/rules. Catalog data edits only where features required them: `stacks.yaml`
|
|
85
|
+
gains the `none` frontend/backend lanes and `profiles.yaml` trims six stack-coupled skills from
|
|
86
|
+
the standard core (they now arrive via the selected stack's lane instead) — no resolver changes.
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
|
|
90
|
+
- **README rebuilt as a pitch with pointers — 902 → 306 lines** (owner-requested simplification;
|
|
91
|
+
a two-agent docs review — first-impression critic + information architect — ranked the damage
|
|
92
|
+
first). Nothing was deleted from the project: the 24-row adoption-history table + the three
|
|
93
|
+
org-review deep dives moved to new `docs/influences.md`; install depth (all 8 init questions,
|
|
94
|
+
`init.yaml`, Windows, plugin-update steps, what-lands tree, stacks/memory detail) to new
|
|
95
|
+
`docs/install.md`; the CLI table + safe-upgrade mechanics + troubleshooting to new
|
|
96
|
+
`docs/cli.md`; the 28-agent roster to `docs/agents.md` (which previously had only the by-phase
|
|
97
|
+
view). The 190-line "Feature details" section and the duplicate source-of-truth mermaid were
|
|
98
|
+
pure duplication of surviving sections / `docs/architecture.md` and were dropped; the hero was
|
|
99
|
+
rewritten in plain language (no "gate"/"verdict" jargon before definition); comparison-table
|
|
100
|
+
cells capped near two lines. All honest-claims content survives in place (Skip-it-if, the
|
|
101
|
+
three trust caveats, export fidelity, the enterprise `skills: all` admission, the real-run
|
|
102
|
+
evidence — now promoted into Quick start). `check_docs_consistency.py`'s `_ANCHORS` was edited
|
|
103
|
+
in lockstep: every component count stays pinned ≥1× in the README, the roster/overlay anchors
|
|
104
|
+
re-point to `docs/agents.md` / `docs/install.md`, and the redundant duplicate pins (the same
|
|
105
|
+
number 3–4× in one file) went away with the duplicated prose.
|
|
106
|
+
- **CI/issue-triggered runs get a design contract instead of a vendor YAML** (round-2 R18, the
|
|
107
|
+
landscape item; every claim verified against the GitHub API first: spec-kit 0.12.4 (2026-07-02)
|
|
108
|
+
shipped the label-driven `bug-fix` (#3258) and `bug-test` (#3257) agentic workflows and 0.12.2
|
|
109
|
+
the bounded fan-out (#3224); PR #3258's design was read in full). New
|
|
110
|
+
`docs/autonomous-operation.md` §6 records the five lines to hold when wiring `/sdlc` to CI —
|
|
111
|
+
a human-applied **label is the authorization** (never issue content); issue text is untrusted
|
|
112
|
+
input (`env:`, never `run:` interpolation, adversarial-assumption permissions); stages consume
|
|
113
|
+
the prior stage's artifact and *stop and ask* when it's missing; **draft-PR** delivery under the
|
|
114
|
+
`autonomous-pr` ceiling (`Refs`, never `Closes`); §3-style bounds (budget, minimal token, branch
|
|
115
|
+
protection). Shipping an actual GitHub workflow template was **deliberately deferred** — it
|
|
116
|
+
would be the kit's first CI-vendor-specific artifact and the posture, not the boilerplate, is
|
|
117
|
+
the durable part. The README spec-kit comparison row is refreshed to describe 0.12.x honestly
|
|
118
|
+
(workflow engine, extension catalog, label-driven CI stages) and state the complementary split:
|
|
119
|
+
their CI stages, this kit's in-session gate depth.
|
|
120
|
+
- **The bounded headless loop ships as an installed artifact** — `.claude/scripts/sdlc-loop.sh`
|
|
121
|
+
(from new `templates/scripts/`, wired in both installers: `scaffold.install_sdlc` copies + chmods
|
|
122
|
+
it, and the no-pip `init.sh` fallback installs it too). Prompted by a verified landscape shift:
|
|
123
|
+
BMAD-METHOD v6.10.0 (2026-07-03) graduated its unattended dev loop from experimental to an
|
|
124
|
+
installer-selectable module (`bmad-loop` + the `bmad-dev-auto` single-iteration worker polled off
|
|
125
|
+
a spec-frontmatter state machine) — the same architecture the kit already had as `/sdlc` +
|
|
126
|
+
`CONTINUITY.md` + `pipeline-snapshot.json`, except the kit's loop runner was an untested code
|
|
127
|
+
block in `docs/autonomous-operation.md` §3. Now it's a tested file: each iteration runs
|
|
128
|
+
`claude -p` under the one-gate contract with three brakes (iteration cap, per-iteration
|
|
129
|
+
`--max-budget-usd`, stall detection → nonzero exit **for a human**); the exit condition
|
|
130
|
+
self-configures from the execution-ordered `gates:` list in `stack-catalog.snapshot.yaml`
|
|
131
|
+
(last entry = finish line) and every knob is an `SDLC_*` env var — which is why it ships
|
|
132
|
+
kit-owned (upgrades keep the brakes current; hand-edits still get checksum-sidecar protection).
|
|
133
|
+
After the fallback install (no catalog resolution → no snapshot) it *refuses to guess* a finish
|
|
134
|
+
line and requires `SDLC_FINAL_GATE` explicitly. Eight behavioral tests run the real script with
|
|
135
|
+
a fake `claude` shim (completion, last-not-first gate autodetection against the exact
|
|
136
|
+
`yaml.safe_dump` shape scaffold writes, env override, stall, iteration cap, finish-line refusal,
|
|
137
|
+
project-root guard, nonzero-claude tolerance); CI shellcheck now covers `templates/scripts/`;
|
|
138
|
+
§3 keeps the rationale and points at the shipped file as source of truth.
|
|
139
|
+
- **Native dynamic workflows routed against the wave pattern** (verified against the official
|
|
140
|
+
workflows doc + the Claude Code changelog: engine introduced **2.1.154**, trigger keyword renamed
|
|
141
|
+
`workflow` → `ultracode` at 2.1.160, size guideline setting at 2.1.202). The round-2 review found
|
|
142
|
+
all four program-scale routing sites silent on Claude Code's in-product dynamic-workflows engine —
|
|
143
|
+
a reader could think the wave pattern competes with it. Now `rules/wave-orchestration.md` gains a
|
|
144
|
+
"Native dynamic workflows as the wave substrate" section built on the docs' own constraint (the
|
|
145
|
+
runtime accepts **no mid-run user input**; its advice for sign-off between stages is one workflow
|
|
146
|
+
per stage — which maps one-to-one onto *one workflow run per wave, humans between runs*): the rule
|
|
147
|
+
is the **contract** (manifest, gate-runners, inventory approval), the engine is an **execution
|
|
148
|
+
substrate** a wave's fan-out may run on; irreversible steps never go inside a run; committed
|
|
149
|
+
artifacts stay the durable record because resume is session-scoped; and availability is never
|
|
150
|
+
assumed (paid-plan-gated, Pro opt-in, org-disableable) so Agent-tool fan-out remains the default.
|
|
151
|
+
The orchestrator's Mode E, the `/sdlc` classification step, and the `mandatory-workflow.md`
|
|
152
|
+
"Which Workflow?" table each gain a short pointer (the table's is a naming disambiguation:
|
|
153
|
+
dynamic workflows are not a fourth row).
|
|
154
|
+
- **The stack→collection-skill mapping, measured** — `docs/skill-audit.md` gains the classification
|
|
155
|
+
the audit's own "evaluate `skills: stack-relevant`" item called for: all 48 collection skills
|
|
156
|
+
classified against the lanes actually selectable today. Headline: **22 of 48 are
|
|
157
|
+
infra/platform-orthogonal** (Kafka/Temporal/Redis/GCP/k8s/observability — choices `init`'s three
|
|
158
|
+
stack questions never ask about) and 4 more are stack-generic, so a lane-based filter installs
|
|
159
|
+
**46 of 48 for the default react+fastapi+postgres selection** (only the two planned-stack Node
|
|
160
|
+
skills drop) — refuting the audit's "roughly a dozen-plus instead of 48" estimate. The only
|
|
161
|
+
selection where filtering is material is go backend-only (26 of 48). The table ships as the
|
|
162
|
+
reusable input for a future **infrastructure axis** at init, which is the real lever.
|
|
163
|
+
- **Collection-skill size sweep** (the deferred follow-up from the skills-hygiene pass; measured
|
|
164
|
+
per-file first). All five oversized collection SKILL.md files turned out to already ship
|
|
165
|
+
`references/` — the earlier "no references/ yet" note was an artifact of a truncated directory
|
|
166
|
+
listing — and the fat in each was a `## Skeleton / example` section of complete worked files
|
|
167
|
+
injected on every trigger. Three fixed: **`docker-compose` 606 → 253** (the four full compose
|
|
168
|
+
files — base, dev, prod-test, profiles — moved verbatim to new `references/compose-skeletons.md`
|
|
169
|
+
behind an annotated pointer); **`grafana-dashboards-and-alerts` 535 → 437** (the RED dashboard
|
|
170
|
+
JSON + three-stage unified alert rule moved verbatim to new
|
|
171
|
+
`references/red-dashboard-skeleton.md`); **`containerization-and-deployment` 534 → 262** (its
|
|
172
|
+
five skeletons were verbatim *duplicates* of content already in its own references — grep-verified
|
|
173
|
+
block-by-block before deletion — so the section became a per-skeleton pointer map with zero
|
|
174
|
+
content loss). Two refused for consistency with the earlier `manual-test` (516) refusal:
|
|
175
|
+
`langfuse-llm-tracing` (508) and `redis-caching-patterns` (505) sit 1–2% over the ~500-line
|
|
176
|
+
guidance, under the same not-worth-the-cohesion-cost threshold.
|
|
177
|
+
- **Hooks-layer modernization review resolved with evidence** — the industry review's four
|
|
178
|
+
gen_hooks claims (left unverified when the hooks-specialist research agent died mid-workflow)
|
|
179
|
+
were each checked against the official hooks reference + the Claude Code changelog; **all four
|
|
180
|
+
were refuted or refused** (see *Not adopted*), so the hook layer ships unchanged — deliberately.
|
|
181
|
+
The verified facts are now recorded where they prevent re-litigation: a format-decisions comment
|
|
182
|
+
above `HOOK_REGISTRY` (exact-match matcher semantics; the exec-form 2.1.139 floor; exit-code-2
|
|
183
|
+
blocking is not deprecated), and `docs/autonomous-operation.md` §3 now documents `/goal` — Claude
|
|
184
|
+
Code's *built-in* session-scoped prompt-based Stop gate — as the zero-config alternative to the
|
|
185
|
+
bounded loop for single interactive sessions. All five registry events re-verified present in
|
|
186
|
+
the current event list (no drift).
|
|
187
|
+
- **`docs/autonomous-operation.md` — autonomy grounded in the shipped CLI, not folklore** (every
|
|
188
|
+
flag and mode verified against Claude Code 2.1.178 `--help` + the official permissions docs
|
|
189
|
+
before writing). Headless `claude -p` documented with its three safety-relevant property changes
|
|
190
|
+
(prompts become denials, the trust dialog is skipped, invalid settings are *silently ignored* —
|
|
191
|
+
so validate before the run, not after); the `--bare` caveat spelled out concretely for a kit
|
|
192
|
+
project (it skips hooks **and** CLAUDE.md auto-discovery, so SessionStart context, every guard
|
|
193
|
+
hook, and the rules contract all vanish — including `load-autonomy.sh`, meaning a bare run
|
|
194
|
+
doesn't know its own ceiling); a bounded headless-loop pattern built on the kit's real resume
|
|
195
|
+
seam (`CONTINUITY.md` + `pipeline-snapshot.json` `last_gate_passed`) with three deliberate
|
|
196
|
+
brakes (iteration cap, `--max-budget-usd`, stall detection → nonzero exit for a human); the
|
|
197
|
+
five `autonomy-levels.md` levels mapped onto the six real permission modes (`acceptEdits` ·
|
|
198
|
+
`auto` · `bypassPermissions` · `manual` · `dontAsk` · `plan`), with `bypassPermissions`
|
|
199
|
+
explicitly mapped to **no** kit level (its own docs restrict it to isolated sandboxes) and
|
|
200
|
+
`enterprise-controlled` pinned via managed-settings `disableBypassPermissionsMode`; and an
|
|
201
|
+
anti-gaming table wiring five unattended-log warning signs to the shipped defenses
|
|
202
|
+
(`quality-gates.md` §2.5 evidence requirement, `continuity.md` verify-before-trust,
|
|
203
|
+
blind-review/Devil's-Advocate, `audit-log`). Correction to the review's claim recorded inline:
|
|
204
|
+
the CLI has **no `--max-turns`** flag (2.1.178; that's an Agent SDK feature) — iteration caps
|
|
205
|
+
belong in the loop script.
|
|
206
|
+
- **Skills hygiene: progressive disclosure for the heaviest core skill + honest triggers** (every
|
|
207
|
+
review claim measured first). `security-and-hardening/SKILL.md` — at 718 lines the largest
|
|
208
|
+
SKILL.md in the payload, injected wholesale on every trigger — is split along its decision seam:
|
|
209
|
+
the boundaries / per-class rules / checklists / red-flags layer stays in SKILL.md (286 lines),
|
|
210
|
+
and the code patterns and deep-dive practices move **verbatim** (license attributions included)
|
|
211
|
+
to four on-demand `references/` files — OWASP per-class patterns + continuous least-privilege ·
|
|
212
|
+
input-validation/uploads/archive-extraction/ReDoS · supply-chain triage/SBOM/reproducible-builds/
|
|
213
|
+
missing-patch · LLM guardrail specifics — the same convention 20+ collection skills already
|
|
214
|
+
follow. Everything external actors deep-link into the file (`warn-llm-io.sh` and
|
|
215
|
+
`owasp-reviewer` → *LLM / AI Feature Security*, `dependency-scanner` → *Triaging Dependency
|
|
216
|
+
Audit Results*, the scaffold test's three anchors) stays in SKILL.md under its original title.
|
|
217
|
+
Trigger honesty: `containerization-and-deployment`'s description stops claiming its four
|
|
218
|
+
siblings' territory (multi-stage builds → `dockerfile-backend`, compose local dev →
|
|
219
|
+
`docker-compose`) and owns the overview role explicitly; `remember`'s dangling "injects the
|
|
220
|
+
index below" now names what the hook actually injects (`.claude/agent-memory/MEMORY.md`).
|
|
221
|
+
- **Cost transparency** — `docs/agents.md` gains a "What a run costs" section measured from the
|
|
222
|
+
shipped frontmatter (4 `opus` agents — `orchestrator`, `developer`, `devils-advocate`,
|
|
223
|
+
`owasp-reviewer` — everything else `sonnet`, the Fast tier deliberately unassigned), with the
|
|
224
|
+
practical levers: the profile is the biggest knob (lean runs only 2 of the 4 `opus` agents), and
|
|
225
|
+
tier escalation stays investigation-gated. **Fan-out is now announced before it happens**: the
|
|
226
|
+
orchestrator (Spawning parallel agents), the `sdlc` skill (step 3), and the wave-orchestration
|
|
227
|
+
rule (Cost discipline) all require stating the planned lane/agent count and model tiers — in
|
|
228
|
+
chat and CONTINUITY.md — before any parallel phase forks, so a human can veto the scale before
|
|
229
|
+
tokens are spent.
|
|
230
|
+
- **Stack-true installs: `none` lanes + frontend skills ride the frontend stack** (every sub-claim
|
|
231
|
+
verified first). `catalog/stacks.yaml` gains `none` entries for frontend, backend, and database —
|
|
232
|
+
previously a pure-backend project was *forced* to select React and received 8 React overlay
|
|
233
|
+
rules, frontend skills, and npm commands in its CLAUDE.md. A `none` entry ships no
|
|
234
|
+
overlays/skills/commands/stack_dir, so the branch-free resolver makes it a true no-op lane; new
|
|
235
|
+
`has_frontend`/`has_backend`/`has_database` context flags (derived from stack_dir presence — data,
|
|
236
|
+
not stack names) let `CLAUDE.stack.md.tmpl` + `README.claude-sdlc.md.tmpl` render clean charters
|
|
237
|
+
for any combination, including all-`none`. The six frontend-specific skills
|
|
238
|
+
(`frontend-ui-engineering`, `component-design`, `ui-ux-design`, `unit-test` "frontend components
|
|
239
|
+
and hooks", `api-integration` client-side data fetching — verified by reading each skill's
|
|
240
|
+
content, and previously mis-filed under the *backend* stacks — and `manual-test` headed-browser
|
|
241
|
+
QA) moved from the standard profile core to the React entry's `skills:` union: a backend-only
|
|
242
|
+
standard install is six skills lighter, the default-stack standard count is unchanged (42), and
|
|
243
|
+
lean's default-stack count goes 14 → 15 (README + skill-audit updated; skill-audit's stale
|
|
244
|
+
35-rules column also fixed to 36). The `none` combinations automatically join the
|
|
245
|
+
profile×stack×scope self-test matrix. The interactive frontend-language question is skipped for
|
|
246
|
+
a lane with no languages. Deferred to a future pass: the `skills: stack-relevant` enterprise
|
|
247
|
+
filter (needs a collection-skill→stack mapping measured, not assumed).
|
|
248
|
+
- **`init` now emits a root `AGENTS.md`** — the cross-tool agent-instructions convention behind the
|
|
249
|
+
most-requested Claude Code integration (anthropics/claude-code#6235, 4.3k 👍, re-verified OPEN and
|
|
250
|
+
still non-native before adoption: Claude Code reads `CLAUDE.md` only, so this file serves the
|
|
251
|
+
*other* agents in the repo — Cursor, Copilot, Codex — with zero double-load risk). The scaffolder
|
|
252
|
+
reuses the `export` projection verbatim (charter + single-agent SDLC checklist + rule index +
|
|
253
|
+
fidelity note), never clobbers a pre-existing `AGENTS.md` (sidecar), and records the file as
|
|
254
|
+
`user-editable` so `upgrade` preserves edits. **User-file writes are now idempotent** across
|
|
255
|
+
`init` and `export`: a byte-identical existing file is reported as "already current" instead of
|
|
256
|
+
spraying `.claude-kit` sidecars on every re-run — real differences still sidecar.
|
|
257
|
+
- **Path-scoped overlay rules** — 12 of the 13 stack overlay rule files now open with `paths:` YAML
|
|
258
|
+
frontmatter (Claude Code's official scoped rule loading, verified against
|
|
259
|
+
code.claude.com/docs/en/memory before adoption), so React/FastAPI/Go/Postgres guidance enters
|
|
260
|
+
context only when Claude touches matching files instead of riding every session. Globs live in the
|
|
261
|
+
overlay files themselves — the stack-agnostic core rules stay deliberately unscoped (always-on
|
|
262
|
+
contract), and `mongodb-patterns.md` stays unscoped on purpose: a document store has no reliable
|
|
263
|
+
file signal, and a glob that never matches would mean the rule *never* loads (the same judgment
|
|
264
|
+
`export._DB_GLOBS` already encodes). The Cursor exporter now projects a rule's own `paths:` list
|
|
265
|
+
verbatim into `.mdc` `globs` (comma-joined; list form chosen over brace expansion precisely so it
|
|
266
|
+
ports) and strips the source block so no export carries a double frontmatter; the language/db
|
|
267
|
+
table remains as fallback for frontmatter-less overlays. New `tests/test_rule_frontmatter.py`
|
|
268
|
+
pins all four invariants (scoped overlays valid, Mongo exception, core rules clean, scaffold
|
|
269
|
+
copies verbatim).
|
|
270
|
+
- **Rule-count drift guards in CI** — `scripts/check_docs_consistency.py` now anchors the overlay
|
|
271
|
+
rule-file count, the README's default-stack worked example (25 core + 11 overlays = 36), and the
|
|
272
|
+
rule counts quoted in `docs/architecture.md`, so the count drift fixed below cannot recur silently.
|
|
273
|
+
|
|
274
|
+
### Added (continued — round-2 test-gap closure)
|
|
275
|
+
|
|
276
|
+
- **The interactive `init` parsers finally have tests that answer questions** (round-2 R5; a
|
|
277
|
+
line-tracer proof showed only the EOFError→default branch ever executed — the numeric-selection,
|
|
278
|
+
re-prompt, multi-select, and yes/no paths a real human hits had zero coverage). 18 new cases in
|
|
279
|
+
`tests/test_prompts.py` monkeypatch `input()`: `_choose_one` by number and by id, re-prompt-until-
|
|
280
|
+
valid (bad id, out-of-range number), planned lanes visible-but-unselectable with live-only
|
|
281
|
+
numbering; `_ask_bool`'s eight recognised answers plus garbage→default; `_choose_many` empty/
|
|
282
|
+
`none`, mixed ids+numbers, order-preserving dedup, unknown-token warnings; and three end-to-end
|
|
283
|
+
`interactive()` flows — the full default path driven by numbers and ids, the `none` frontend
|
|
284
|
+
lane proving the language question is skipped (answer alignment breaks if it leaks back), and
|
|
285
|
+
the organization scope unlocking the teams/autonomy/strictness/packs block.
|
|
286
|
+
|
|
287
|
+
- **Behavioral tests for the eleven remaining never-executed hook scripts** (round-2 R4; the
|
|
288
|
+
verifier had proved only 4 of 18 scripts were ever run by tests). New `tests/test_hook_scripts.py`
|
|
289
|
+
(31 cases) executes each script against real stdin JSON, temp project dirs, and live git repos:
|
|
290
|
+
the SessionStart loaders (continuity small/capped/template-seeded/silent, learnings
|
|
291
|
+
index/empty/10th-session consolidation nudge, autonomy level surfaced/silent), the audit log
|
|
292
|
+
(append shape, 120-char target truncation, garbage-stdin survival), the four `warn-*` advisories
|
|
293
|
+
(flag + stay-silent cases, always exit 0), `validate-frontmatter` (agent/skill field warnings),
|
|
294
|
+
`validate-settings` (blocks only an invalid settings-JSON write), and the Stop hooks' degrade
|
|
295
|
+
paths — plus a behavioral proof of the P0-3 scoping guarantee: `lint-fix.sh` formats the changed
|
|
296
|
+
file while a committed, untouched file stays byte-identical.
|
|
297
|
+
|
|
298
|
+
### Added (continued — round-2 landscape adoption)
|
|
299
|
+
|
|
300
|
+
- **The tier policy gained its enforcement lever — documented with its real limits** (round-2 R10;
|
|
301
|
+
syntax and semantics verified in the permissions reference, feature changelog-pinned to
|
|
302
|
+
2.1.178). `model-tiers.md` closes with "Enforcing the tier policy": deny/ask rules matching tool
|
|
303
|
+
input parameters (`Agent(model:opus)`), the wildcard form for full model IDs, and — the caveat
|
|
304
|
+
the review missed — that an *omitted* parameter never matches, so the kit's Critical-tier agents
|
|
305
|
+
(opus **in frontmatter**, not in the spawning call) are gated by agent-**name** rules
|
|
306
|
+
(`Agent(devils-advocate)`) or a frontmatter edit, not by a `model:` rule. The kit still ships
|
|
307
|
+
zero permission rules (posture belongs to the user). `docs/autonomous-operation.md` §4 adds the
|
|
308
|
+
headless variant: under `-p` prompts become denials, so `deny` is the operative form, with
|
|
309
|
+
`--max-budget-usd` as the how-much backstop beside the which-spend shape.
|
|
310
|
+
|
|
311
|
+
### Fixed
|
|
312
|
+
|
|
313
|
+
- **🚨 Rules context-budget finding: measured, attributed, spec'd (fix pending a design
|
|
314
|
+
decision).** Claude Code natively auto-loads `.claude/rules/*.md` — rules without `paths:`
|
|
315
|
+
frontmatter load **at launch** at CLAUDE.md priority (official memory docs; shipped in CC
|
|
316
|
+
2.0.64, i.e. the kit's whole life). Empirically measured with headless `-p` runs: a default
|
|
317
|
+
scaffolded project injects **103,916 tokens** at session start over an empty-dir baseline,
|
|
318
|
+
and removing `.claude/rules/` attributes **97,031 of that (93%) to the 25 unscoped core
|
|
319
|
+
rules** — everything else the kit installs totals a genuinely lean 6,885. This inverts the
|
|
320
|
+
"lean CLAUDE.md, on-demand rules" positioning. The load-at-launch semantics were *partially*
|
|
321
|
+
known — an earlier pass scoped 12 of 13 overlay rules for exactly this reason — but the core
|
|
322
|
+
set was declared an "always-on contract" without ever measuring its cost, CLAUDE.md kept
|
|
323
|
+
claiming on-demand, and no live session inside a scaffolded project had ever been measured
|
|
324
|
+
(the kit repo itself has no `.claude/rules/`, so dogfooding never felt it). Shipped now:
|
|
325
|
+
`docs/rules-context-budget.md` — verified semantics, the full measurement table, per-rule
|
|
326
|
+
weights, four candidate directions with a recommendation, the blast-radius list, and the
|
|
327
|
+
reproducible methodology — plus a worked **Direction A appendix**: the full 522-citation
|
|
328
|
+
graph (quality-gates 89 · human-in-the-loop 50 · risk-classification 46 are contracts →
|
|
329
|
+
covenant; the heavy how-tos all have existing skills as destinations, reuse-first) and a
|
|
330
|
+
measured covenant estimate of **~7.9k tokens, a 92% cut**, inside the ≤10k target. The
|
|
331
|
+
redesign itself is deliberately **not** rushed into this
|
|
332
|
+
release (it reshapes the payload layout and the README's headline claims); likewise the
|
|
333
|
+
documented mongodb-overlay exception stays untouched — reconsidering that ~3k-token trade
|
|
334
|
+
belongs inside the redesign, not a side patch against a test-pinned decision.
|
|
335
|
+
- **MCP pin freshness (issue #63)** — the two pins the monthly check flagged were bumped after
|
|
336
|
+
changelog review, per the pins' own bump-deliberately contract: `@playwright/mcp`
|
|
337
|
+
0.0.76 → **0.0.77** (tag diff verified: five housekeeping commits — dev-dep bump, docs, engine
|
|
338
|
+
roll; no tool/invocation changes; no GitHub release exists for it yet, so the npm publish +
|
|
339
|
+
`v0.0.76...v0.0.77` compare was the review) and `@azure/mcp` 3.0.0-beta.21 → **3.0.0-beta.23**
|
|
340
|
+
(beta.22 argument cleanup + fixes, beta.23 adds read-only Resilience/Terraform toolsets; the
|
|
341
|
+
`server start` invocation shape unchanged). Pin-snapshot date refreshed to 2026-07-07;
|
|
342
|
+
`check_mcp_pins.py --check-latest` now reports all pins at the registry latest.
|
|
343
|
+
- **Round-2 low block (R13–R17) — five small truthfulness fixes, each reproduced before touching:**
|
|
344
|
+
(R13) `export` said "Wrote 39 file(s)" on a re-export that wrote nothing (mtime-proved) —
|
|
345
|
+
`export_targets` now returns `(written, already_current)` and only files that touched disk count
|
|
346
|
+
as written; the CLI prints `= <path> (already current)` lines, an honest "Wrote N file(s); M
|
|
347
|
+
already current" summary, and the `--json` payload gains `already_current` (pinned by an
|
|
348
|
+
mtime-asserting idempotency test). (R14) exported `AGENTS.md`/`000-project.mdc`/Copilot
|
|
349
|
+
instructions opened with "the agnostic pipeline rules **above** apply" when the charter is the
|
|
350
|
+
top of the document — the shared `CLAUDE.stack.md.tmpl` sentence is now position-neutral
|
|
351
|
+
(truthful in the installed CLAUDE.md too, where the rules genuinely are above). (R15) `status`
|
|
352
|
+
said 43 skills where init/validate say 42 — its counter treated the shared
|
|
353
|
+
`skills/_references/` support dir as a skill; it now counts SKILL.md-bearing directories,
|
|
354
|
+
matching validate (agreement pinned by a test). (R16) the README "All commands" table presented
|
|
355
|
+
`package-org-pack`/`install-org-pack` as working; they are hidden planned stubs that exit 2 —
|
|
356
|
+
the row now says so. (R17) the README init-flow Q6 MCP enumeration omitted Sentry, Repowise,
|
|
357
|
+
and the Google security fragments — now listed, with `claude-kit list-options` as the
|
|
358
|
+
authoritative source.
|
|
359
|
+
- **Stop hooks now feed their findings back to Claude instead of discarding them** (round-2 R9;
|
|
360
|
+
verified against the official hooks reference + the Claude Code changelog before adopting —
|
|
361
|
+
same discipline as the exec-form refusal, opposite verdict because the failure mode differs).
|
|
362
|
+
`type-check.sh` and `lint-fix.sh` printed failures to stdout and exited 0, but Stop-hook plain
|
|
363
|
+
stdout goes to the debug log only — the checks burned CPU with no effect. They now return
|
|
364
|
+
`hookSpecificOutput.additionalContext` JSON (Claude Code ≥ 2.1.163, changelog-pinned): the turn
|
|
365
|
+
continues as labeled "Stop hook feedback" so Claude fixes the failures before finishing,
|
|
366
|
+
bounded by the platform's 8-continuation cap **and** a `stop_hook_active` gate (one nudge per
|
|
367
|
+
stop chain, the hooks reference's own loop-protection practice — an unfixable failure can't
|
|
368
|
+
ping-pong the session). Adoptable where exec-form wasn't: on older versions the unread field
|
|
369
|
+
degrades to exactly the previous discard behavior, no guard is silently lost; without jq the
|
|
370
|
+
legacy plain-stdout path remains. Never `decision:block` — the kit's no-hard-block stance for
|
|
371
|
+
Stop hooks stands. Hermetic tests fake the toolchain with an `npm` shim (deterministic failure
|
|
372
|
+
output, JSON shape + one-nudge gating pinned for both scripts).
|
|
373
|
+
- **Same-version upgrade/init no longer churns sidecars or claims a "new version" exists**
|
|
374
|
+
(round-2 R6, cmp/mtime-verified by the empirical-UX lens: after one legitimate `CLAUDE.md`
|
|
375
|
+
edit, every run rewrote a byte-identical sidecar, announced "kept; new version →
|
|
376
|
+
CLAUDE.md.claude-kit", and `init`'s merge closed with "upgrade complete"). Now: when the
|
|
377
|
+
sidecar already holds exactly the kit's current copy the rewrite is skipped and the line reads
|
|
378
|
+
"your edits kept; sidecar already current" (mtime-pinned untouched); a written sidecar says
|
|
379
|
+
"kit's version →" (never "new version" — same-version runs have none) plus a one-time INFO
|
|
380
|
+
hint (`diff <file> <file>.claude-kit`, merge, delete); a stale/tampered sidecar is still
|
|
381
|
+
healed (content compare, not existence); and the merge path reports "merge complete" /
|
|
382
|
+
"nothing to merge". The diff preview's keep verb/note updated to match.
|
|
383
|
+
- **`upgrade --force` now actually does what it documents** (found by writing round-2 R7's
|
|
384
|
+
crash-path tests; reproduced empirically first). The docstring and CLI promised "overwrite
|
|
385
|
+
user-modified user-editable files instead of writing sidecars", but a user-edited user-editable
|
|
386
|
+
file always produces a `keep` action, and `_apply`'s keep branch ignored `force` — the flag was
|
|
387
|
+
a no-op for exactly the files it exists for (the force-guarded `update` condition was
|
|
388
|
+
unreachable). The keep branch now honors force: the user's copy is backed up to
|
|
389
|
+
`.claude-kit.bak-N/`, the canonical file restored, no sidecar. Default (no-force) behavior
|
|
390
|
+
unchanged and pinned by a control test. R7's other gaps are covered too: a **mid-apply crash**
|
|
391
|
+
(via a counting shutil shim confined to the upgrader module — the tree is left genuinely
|
|
392
|
+
half-upgraded, the journal stays open, and a plain re-run converges) and a **cross-version
|
|
393
|
+
upgrade** (consistent aged install: old content + matching old record → silent refresh, no
|
|
394
|
+
backups, version transition surfaced).
|
|
395
|
+
- **`guard-secrets.sh` no longer blocks committing `.env.example`-style placeholder files**
|
|
396
|
+
(surfaced by writing the guard's first behavioral tests, R2; reproduced empirically first).
|
|
397
|
+
The filename pattern `\.env($|\.)` — written to catch `.env.local`/`.env.production`, which do
|
|
398
|
+
hold real values — also caught `.env.example`, a names-only onboarding file most repos commit
|
|
399
|
+
deliberately. `.env.example`/`.sample`/`.template`/`.dist` are now spared via a negating grep
|
|
400
|
+
(POSIX ERE has no lookahead), applying the guard's own names-not-values philosophy to
|
|
401
|
+
filenames. Real env files still block; pinned by four new spare cases.
|
|
402
|
+
- **Guard scripts: quoted tokens no longer evade the word-boundary match** (round-2 test-gaps
|
|
403
|
+
review, R3; the verifier proved the bypass by piping real PreToolUse JSON). Shell word-splitting
|
|
404
|
+
keeps quote characters as literal token text, so `git push origin "main"` / `'main'` / `"+main"` /
|
|
405
|
+
`"HEAD:refs/heads/main"` — and even `"git" push origin main` — sailed past `guard-push-main.sh`,
|
|
406
|
+
`git checkout "."` past `guard-destructive-git.sh` rule 3, and `kubectl "delete" pod` past
|
|
407
|
+
`guard-kubectl-delete.sh`. All three now strip shell quoting chars (`"` `'` `\`) before matching —
|
|
408
|
+
safe because these guards only *match* the text, never execute it, so after stripping they see
|
|
409
|
+
what the shell would hand to git/kubectl. Legit branches that merely contain the substring stay
|
|
410
|
+
spared (`"feature/main-ui"`, `"remaster-ui"`). Pinned by 22 new behavioral test cases, including
|
|
411
|
+
the first *executed* tests for `guard-kubectl-delete.sh` (it previously had wiring-only coverage).
|
|
412
|
+
- **`init --config` with malformed YAML now fails friendly** (round-2 empirical-UX review; the
|
|
413
|
+
finder and an adversarial verifier each reproduced a ~150-line rich traceback through cli.py →
|
|
414
|
+
prompts.py → five PyYAML frames). `prompts.from_config` now converts `yaml.YAMLError` into the
|
|
415
|
+
same one-line `ValueError` the CLI already renders for its sibling error paths — output is now
|
|
416
|
+
`error: config file is not valid YAML: mapping values are not allowed here … line N, column M`,
|
|
417
|
+
exit 2, no partial install. Fixed at the parse site (not the CLI except-tuple) so every
|
|
418
|
+
`from_config` caller inherits the friendly path; regression-tested at both layers.
|
|
419
|
+
- **Orchestrator: gate set now conditions on the installed profile, ghosts removed, three
|
|
420
|
+
installed-but-never-spawned agents wired in** (every claim verified against the files first):
|
|
421
|
+
a **lean** install ships 5 agents (`orchestrator, developer, sdlc-code-reviewer, tester,
|
|
422
|
+
pr-raiser`) yet the orchestrator's NEVER-skip rules mandated ui-designer / technical-architect /
|
|
423
|
+
em-reviewer / merge-reviewer / senior-tester stages that don't exist there — every lean run had
|
|
424
|
+
to either violate a NEVER rule or stall. New **Active Gate Set** section: derive the run's gate
|
|
425
|
+
set from the installed roster + profile at Stage 0 (`SKIPPED (not in profile)` is noted, never
|
|
426
|
+
silent, never PASS; everything active stays mandatory), matching the `sdlc` skill's existing
|
|
427
|
+
profile table. Removed the ghost **Design Specialist** (D2) and the separate **Spec
|
|
428
|
+
Writer/Dev Doc Writer** stages from the diagram, feedback loops, comms pattern, state examples,
|
|
429
|
+
and rule 5 — the roster has only the combined `ui-designer` and `spec-doc-writer` (same ghost
|
|
430
|
+
fixed in `em-reviewer.md`). Wired in the three standard+ agents the pipeline never spawned:
|
|
431
|
+
`unit-tester` authors the 4c unit suites per lane, `e2e-tester` is a conditional 4th testing
|
|
432
|
+
lane (never installs frameworks), and `acceptance-reviewer` is new **Stage 5.6** gating on the
|
|
433
|
+
enterprise `acceptance` token — which `rules/quality-gates.md` line 116 already assumed runs.
|
|
434
|
+
New **Gate ↔ Stage Map** table gives `pipeline-snapshot.json` its canonical
|
|
435
|
+
`last_gate_passed` tokens (aligned with `catalog/profiles.yaml` + the `sdlc` skill).
|
|
436
|
+
- **Agent executability bundle** (each defect verified against the file before fixing):
|
|
437
|
+
`sdlc-code-reviewer` gains `Bash` — its own protocol names `git diff --name-only` "the checklist
|
|
438
|
+
of record" but its tool list couldn't run git. `auditor` drops its `tools:` allowlist (it excluded
|
|
439
|
+
the very Chrome-DevTools MCP tools the whole workflow drives) and moves `haiku` → `sonnet`
|
|
440
|
+
(multi-step browser-MCP orchestration is not "mechanical reporting"); `model-tiers.md` updated to
|
|
441
|
+
match, read-only now stated as explicit discipline. `developer`'s prerequisite health checks are
|
|
442
|
+
now conditional and stack-neutral — the old version hardcoded `localhost:8000/3000/5173` and
|
|
443
|
+
demanded a healthy stack "before writing any code", deadlocking fresh checkouts on pure code+test
|
|
444
|
+
tasks. `senior-backend-dev` / `senior-frontend-dev` gain the **Spec Review Mode** the
|
|
445
|
+
orchestrator's stages 3a-BE/3a-FE always expected of them (explicit `APPROVED`/`REVISE` verdict,
|
|
446
|
+
max-3-iterations contract); `senior-backend-dev`'s three dangling skill references
|
|
447
|
+
(`api-endpoint`, `database-migration`, `backend-unit-test` — none exist) now point at real
|
|
448
|
+
content. `e2e-tester` no longer installs packages unprompted — missing frameworks are reported
|
|
449
|
+
and routed through the developer lane per `dependency-verification` + the manifest-approval rule.
|
|
450
|
+
- **`/claude-kit:init` now actually works from Claude Code** — the plugin command told Claude to run
|
|
451
|
+
the CLI's *interactive* flow, but the Bash tool has no TTY: with no path argument the CLI aborted
|
|
452
|
+
outright (`input()` → EOFError), and with one it silently installed the **default stack without
|
|
453
|
+
asking a single question**. `commands/init.md` now instructs Claude to interview the user in chat
|
|
454
|
+
(AskUserQuestion; all 7 questions incl. the capture privacy note), write a temp `init.yaml`, and
|
|
455
|
+
run `init --config <file>` non-interactively — or pass through `--defaults`/`--config` verbatim
|
|
456
|
+
when given. The CLI probe chain also gains the third console script (`claude-sdlc`), and
|
|
457
|
+
`cli.py`'s target-path prompt is now EOF-tolerant (falls back to `.` like every other prompt
|
|
458
|
+
instead of aborting). README's quickstart claim updated to match, plus a worked `init.yaml`
|
|
459
|
+
example — the `--config` schema was previously documented only in source.
|
|
460
|
+
- **Docs-truth sweep** (every number re-verified on disk before fixing): the README said **35**
|
|
461
|
+
rules per profile and "**10** overlay rule sets" — reality is **36** installed for the default
|
|
462
|
+
React+FastAPI+PostgreSQL stack and **13** overlay rule files; `docs/architecture.md` said **24**
|
|
463
|
+
rules in two places (25 exist); `docs/launch/road-to-1.0.md` hardcoded **v0.57.0** (now points at
|
|
464
|
+
the CHANGELOG so it can't drift); `/claude-kit:abort` was missing from both command lists (README +
|
|
465
|
+
architecture) — a user whose run went sideways had no documented escape hatch; the README init-flow
|
|
466
|
+
list stopped at 6 questions while `init` actually asks 8 — the undocumented two now listed are
|
|
467
|
+
**learning capture** (with its privacy note and the `CLAUDE_KIT_NO_AUTOCAPTURE=1` opt-out) and
|
|
468
|
+
**usage scope** (organization scope asks four follow-ups); new troubleshooting row for
|
|
469
|
+
`pip install claude-kit` → the package is **`claude-code-kit`**; and `claude-kit --help` no longer
|
|
470
|
+
advertises the experimental `research` group whose only command is hidden (it now hides with it).
|
|
471
|
+
|
|
472
|
+
- **`orchestrator`** — dropped `permissionMode: plan`, granted `Write`/`Edit`, and added an explicit
|
|
473
|
+
**write-confinement hard rule**: state and gate evidence only (`.claude/CONTINUITY.md`,
|
|
474
|
+
`.claude/state/`, `.claude/artifacts/`, and gate reports handed back by read-only reviewers) —
|
|
475
|
+
never source code, tests, configs, or feature docs. The orchestrator is now the declared **scribe**
|
|
476
|
+
for read-only gate agents: it persists their returned reports verbatim and records their verdicts /
|
|
477
|
+
durable lessons on their behalf. "Never writes code" remains a hard rule.
|
|
478
|
+
- **`incident-responder`** — dropped `permissionMode: plan`, granted `Write`/`Edit` confined to the
|
|
479
|
+
incident log (`docs/incidents/`) and `CONTINUITY.md`. Its charter (keep the running log current at
|
|
480
|
+
every status change) was impossible read-only; mitigation stays delegated and human-gated.
|
|
481
|
+
- **Read-only gates made honest instead of self-contradictory** — `secret-scanner`,
|
|
482
|
+
`owasp-reviewer`, `policy-validator`, `dependency-scanner`, `security-reviewer`,
|
|
483
|
+
`devils-advocate`, `merge-reviewer` (and the postgres overlay `db-performance-reviewer`) keep
|
|
484
|
+
`permissionMode: plan`, but every "write your report to `docs/…`" / "log to CONTINUITY.md" /
|
|
485
|
+
"promote to agent-memory" mandate is rewritten as **return-in-handoff**: the spawner
|
|
486
|
+
(security-reviewer → Orchestrator) persists reports and learnings for them.
|
|
487
|
+
- **`dependency-scanner` no longer installs tooling** — the METHOD's `pip install pip-audit` line
|
|
488
|
+
(a mutation its own CONSTRAINT 3 forbids and plan mode blocks) is replaced with
|
|
489
|
+
use-only-if-present + degrade-to-manifest-review, matching the kit's degrade-to-no-op posture.
|
|
490
|
+
|
|
491
|
+
### Not adopted (deliberately)
|
|
492
|
+
|
|
493
|
+
- **Compressing the orchestrator prompt to ~350 lines** (suggested by the review alongside the
|
|
494
|
+
gate-set fix) — refused: the verified defects were ghosts, missing wiring, and unconditioned
|
|
495
|
+
gates, not length. Every remaining section is load-bearing (wave mode, defect loop, health
|
|
496
|
+
monitoring, skill routing); the fix *added* ~60 lines of correctness rather than deleting
|
|
497
|
+
content to hit an arbitrary number.
|
|
498
|
+
- **Granting Write to the security scanners/reviewers** so they could keep writing their own
|
|
499
|
+
reports — read-only gates are a design asset (a reviewer that can edit the code it reviews is a
|
|
500
|
+
weaker gate); the scribe pattern preserves the artifact trail without weakening the boundary.
|
|
501
|
+
- **Routing orchestrator state through a new `ckit-state` helper binary** — the plan-mode block
|
|
502
|
+
applies to mutating Bash too, so a CLI detour would not have fixed the contradiction; a direct,
|
|
503
|
+
confined Write grant is simpler and matches how the kit already trusts `developer`/`pr-raiser`
|
|
504
|
+
with `acceptEdits`.
|
|
505
|
+
- **`owasp-reviewer` `opus` → `sonnet`** (suggested by the review) — refused: `model-tiers.md` §Notes
|
|
506
|
+
already documents keeping it `opus` for vulnerability reasoning as a deliberate exception to its
|
|
507
|
+
`sonnet` sibling scanners. A reviewer suggestion doesn't outrank a documented decision.
|
|
508
|
+
- **Dropping `Edit` from `tester`/`senior-tester`** — refused: they author test artifacts and
|
|
509
|
+
fixtures; the grant is load-bearing. No evidence of misuse was presented.
|
|
510
|
+
- **Rewriting `.claude/skills/_references/…` links as relative `../_references/` paths** (the review
|
|
511
|
+
claimed the hardcoded form "breaks in plugin context") — refused: `scaffold.py` installs
|
|
512
|
+
`_references/` at exactly that canonical path *on purpose* (its own comment says so), and prose
|
|
513
|
+
paths are resolved against the project CWD, so the relative form would break the scaffolded
|
|
514
|
+
install — the primary context — to serve plugin-without-init sessions where *every* `.claude/`
|
|
515
|
+
reference (rules included) dangles equally. That's the documented plugin+init model, not a
|
|
516
|
+
path-style bug.
|
|
517
|
+
- **The `skills: stack-relevant` profile value itself** — deferred with its premise corrected by
|
|
518
|
+
measurement (see the mapping table in `docs/skill-audit.md`): lane-based filtering yields a ~4%
|
|
519
|
+
reduction for the default stack because 26 of the 48 collection skills encode infrastructure
|
|
520
|
+
choices no stack question captures. Shipping the profile value anyway would have added a resolver
|
|
521
|
+
special-value and a `stacks.yaml` mapping that silently delivers almost nothing for most users.
|
|
522
|
+
The meaningful version requires an infra axis at init (Kafka? Temporal? GCP? k8s?) — a feature
|
|
523
|
+
design left for a deliberate future pass, with the measured table as its input. `skills: all`
|
|
524
|
+
stays the enterprise default, trade-off documented.
|
|
525
|
+
- **All four hooks-modernization claims from the industry review** (re-verified against the
|
|
526
|
+
official hooks reference + the anthropics/claude-code changelog after the original research
|
|
527
|
+
agent died unverified): **(1) exec-form hook commands** (`args: [...]`) — refused *for now*:
|
|
528
|
+
docs-recommended for path placeholders, but introduced only in Claude Code **2.1.139**; on any
|
|
529
|
+
older version an `args` entry degrades to bare `bash` consuming hook JSON on stdin — every guard
|
|
530
|
+
silently dead — while the kit's double-quoted shell form is already space/char-safe. Revisit
|
|
531
|
+
when the floor ages. **(2) `permissionDecision` JSON outputs with auto-allow for read-only
|
|
532
|
+
commands** — mechanism verified real, adoption refused: exit-code-2 blocking remains a fully
|
|
533
|
+
supported signaling path (only *top-level* decision/reason is deprecated, PreToolUse-only), the
|
|
534
|
+
JSON form adds a stdout-purity constraint to every bash guard for zero behavioral gain, and a
|
|
535
|
+
plugin auto-*allowing* commands would loosen the user's own permission posture from inside a
|
|
536
|
+
dependency. **(3) anchored `^name$` matchers** — refuted by the docs: matchers made only of
|
|
537
|
+
exact-match-set characters (`Bash`, `Read`, `Edit|Write`) are compared as exact strings, not
|
|
538
|
+
unanchored regexes; anchoring would move them onto the regex path for nothing. (Related
|
|
539
|
+
observation recorded: exact matching means `Edit|Write` does not cover `NotebookEdit` — left
|
|
540
|
+
as-is; no notebook overlay exists to warrant it.) **(4) a prompt-type Stop gate** — refused:
|
|
541
|
+
the product ships `/goal` as exactly that (a built-in session-scoped prompt-based Stop hook,
|
|
542
|
+
8-consecutive-block cap); an always-on plugin Stop gate would tax every turn of every user with
|
|
543
|
+
a model call to duplicate it. Documented `/goal` instead.
|
|
544
|
+
- **Splitting `manual-test` (516 lines) and the five oversized stack-collection SKILL.md files**
|
|
545
|
+
(`docker-compose` 606 · `grafana-dashboards-and-alerts` 535 · `containerization-and-deployment`
|
|
546
|
+
534 · `langfuse-llm-tracing` 508 · `redis-caching-patterns` 505) — deferred, not rushed:
|
|
547
|
+
`manual-test` is 3% over the ~500-line guidance and a split costs more cohesion than it buys;
|
|
548
|
+
the collection five deserve one measured sweep of their own. Claim correction recorded: the
|
|
549
|
+
review's "no references/ split" was false for the collection (20+ skills already ship
|
|
550
|
+
`references/`) — it was true only of `security-and-hardening`.
|
|
551
|
+
|
|
552
|
+
|
|
8
553
|
|
|
9
554
|
**Wave orchestration — program-scale runs, explicit skill routing, and the inventory-approval
|
|
10
555
|
pattern.** Adopts the program-management patterns from Ryan Carson's public writeup of a
|