claude-code-kit 0.60.0__tar.gz → 0.62.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/CHANGELOG.md +148 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/PKG-INFO +1 -1
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/orchestrator.md +6 -3
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/commands/init.md +13 -3
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/eval-harness.md +44 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/influences.md +1 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/directory-submission.md +54 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/org-capabilities.md +17 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/guard-kubectl-delete.sh +1 -0
- claude_code_kit-0.62.0/hooks/scripts/warn-missing-tests.sh +90 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/pyproject.toml +1 -1
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/agent-guardrails.md +17 -2
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/autonomy-levels.md +10 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/evals.md +32 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/goal-setting-and-monitoring.md +9 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/tool-design.md +104 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/wave-orchestration.md +8 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/context-engineering/SKILL.md +63 -3
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/documentation-and-adrs/SKILL.md +16 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-ui-engineering/SKILL.md +17 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/refresh-docs/SKILL.md +35 -18
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/README.md +4 -0
- claude_code_kit-0.60.0/hooks/scripts/warn-missing-tests.sh +0 -28
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/.gitignore +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/LICENSE +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/developer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/tester.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/catalog/stacks.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/commands/abort.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/commands/status.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/KNOWN_LIMITATIONS.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/RELEASE-POLICY.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/agents.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/autonomous-operation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/cli.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/cursor-export.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/install.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/awesome-prs.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/demo-script.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/github-about.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/posts.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/road-to-1.0.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/launch/seed-issues.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/rules-context-budget.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/skill-audit.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/stack-skills/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/guard-push-main.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/resilience-engineering.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/rules/testing.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/catalog-capture.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/catalog-mcp.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/catalog-org.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/catalog-profiles.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/catalog-stacks.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/mcp-lock.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/org-pack.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/schemas/pipeline-snapshot.schema.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/backfill-releases.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/check_cross_references.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/check_mcp_pins.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/check_rule_sizes.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/check_skill_descriptions.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dependency-verification/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/deploy/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/references/ai-readiness.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/references/drift-detection.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/references/governance-and-adoption.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/references/system-health-and-maturity.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/design-system-ops/references/token-architecture.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/doc-consolidation/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-compose/references/compose-skeletons.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/references/red-dashboard-skeleton.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/library-review/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/references/collector.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/references/correlation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/references/gotchas.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/references/instrumentation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/references/sampling.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/otel-tracing/references/tempo.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/safety-critical-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/security-and-hardening/references/input-validation-and-uploads.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/security-and-hardening/references/llm-guardrails.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/security-and-hardening/references/owasp-top10-prevention.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/security-and-hardening/references/supply-chain-and-dependencies.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/shell-review/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/references/cli.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/references/determinism.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/references/gotchas.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/references/languages.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/references/testing.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/temporal-developer/references/versioning.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/detect.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/export.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/report.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/schemas.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/export/sdlc-workflow-guide.md.tmpl +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/scripts/sdlc-loop.sh +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/settings.json +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/ui-components.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/ui-layout-and-motion.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/ux-dashboard-patterns.md +0 -0
- {claude_code_kit-0.60.0 → claude_code_kit-0.62.0}/templates/stacks/frontend/react/rules/ux-patterns.md +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "claude-kit",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker): install CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json, then run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.62.0",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.62.0",
|
|
4
4
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker). `claude-kit init` asks ordered questions and installs CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with working memory and a self-improving learnings loop.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Arjunsingh Yadav",
|
|
@@ -4,6 +4,154 @@ 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.62.0] — 2026-07-15
|
|
8
|
+
|
|
9
|
+
**OSS-adoption wave 3 — the two L-sized consolidation items that close out the implement-now
|
|
10
|
+
backlog from the 1,345-repo scan** (waves 1–2 = 0.60.0/0.61.0 below). Same discipline: everything
|
|
11
|
+
re-derived as stack-agnostic prose; referenced, never vendored. With this release the scan's
|
|
12
|
+
20-item implement-now backlog is **fully shipped**; the remaining 10 ideas are user-gated
|
|
13
|
+
(listed under "Not adopted" in the 0.60.0 entry) and await an owner decision.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **`context-engineering` skill consolidation pass** (merges 8 verified proposals):
|
|
18
|
+
- **Five primitives** (was four) — new "Think in code" primitive: when the question is
|
|
19
|
+
aggregation over data, one throwaway script that prints only the answer replaces the
|
|
20
|
+
thousand lines the agent would otherwise read (from `gsd-build/get-shit-done`).
|
|
21
|
+
- **Content-type-aware compression recipes** in Tool-output offloading — JSON arrays keep
|
|
22
|
+
first/last few + 100% of errors/outliers/relevant matches; logs keep errors/failures/summary
|
|
23
|
+
and drop PASSED noise; search results keep exact + diverse hits; diffs keep hunks only — with
|
|
24
|
+
a **~200-token floor** below which compression costs more than it saves, and the
|
|
25
|
+
**reversible-marker discipline**: full original to a file, inline marker with the dropped-item
|
|
26
|
+
count + retrieval path — a compression the agent can't undo is a deletion (Apache-2.0
|
|
27
|
+
`headroomlabs-ai/headroom`).
|
|
28
|
+
- **"Retrieval discipline: read symbols, not files"** — a three-rung ladder: symbol-level
|
|
29
|
+
retrieval first (harness LSP / IDE / the `serena` MCP fragment; one atomic go-to-definition
|
|
30
|
+
replaces the 8–12-step open-scroll-grep dance), semantic search + code-graph navigation
|
|
31
|
+
second, grep only for exhaustive literal jobs; prefer chunks that *define* a symbol over ones
|
|
32
|
+
that mention it (MIT `oraios/serena` · `MinishLab/semble`).
|
|
33
|
+
- **"Making the budget visible"** (native statusline API; `jarrodwatts/claude-hud` referenced)
|
|
34
|
+
and **"Observable symptoms of subagent context pressure"** (silent partial completion,
|
|
35
|
+
increasing vagueness, skipped protocol steps — verify handoffs against the task's
|
|
36
|
+
**must-haves, not file existence**), echoed in the orchestrator's rotate-before-degradation
|
|
37
|
+
bullet.
|
|
38
|
+
- **Tribal-standards sub-step** in the comprehension pipeline — the four-part tribal test (new
|
|
39
|
+
dev guesses wrong / corrected in review / has a why / stable) and the one-pattern-at-a-time
|
|
40
|
+
elicitation loop (from `buildermethods/agent-os`).
|
|
41
|
+
- **`tool-design` rule expansion pass** (merges 7 verified proposals; 9.7k → 17.2k chars):
|
|
42
|
+
- **§9 Anchor edits to content, not position** — content hash captured at read, re-verified at
|
|
43
|
+
apply, fail fast with a drift report (fuzzy recovery opt-in only); a byte-identical edit
|
|
44
|
+
returns "the bug is elsewhere" and N consecutive no-ops is a hard error (MIT
|
|
45
|
+
`can1357/oh-my-pi`).
|
|
46
|
+
- **§10 Write the tool description like an API contract** — surface not machinery; the six-part
|
|
47
|
+
anatomy (purpose, input grammar, 3–8 worked examples, agent-owned failure shapes, WRONG/RIGHT
|
|
48
|
+
pairs, recap); evidence-based pruning — "the model could infer this" is necessary but never
|
|
49
|
+
sufficient to cut a line (MIT `gsd-build/get-shit-done`).
|
|
50
|
+
- **§11 Errors an agent can parse — and denials an agent can act on** — success/error envelope
|
|
51
|
+
split, wire-stable category IDs with exit codes derived from category, actionable hint
|
|
52
|
+
carrying the exact recovery command, never branch on an upstream `code == 0` (MIT
|
|
53
|
+
`larksuite/cli`); plus the **deny-message rubric**: every denial states CASE A (redirect —
|
|
54
|
+
name the approved route) or CASE B (policy — stop, don't route around).
|
|
55
|
+
- **§1 pre-run MCP audit** (schema cost compounds per-turn × per-subagent;
|
|
56
|
+
`enabledMcpjsonServers`/`disabledMcpjsonServers` carry a server without loading it —
|
|
57
|
+
`mksglu/context-mode`, referenced) and **§4 "Compress at the source"** (compact modes first:
|
|
58
|
+
failures-only, `--quiet`/`--porcelain`, JSON + selector, dedup-with-count, one-line success
|
|
59
|
+
acks — Apache-2.0 `rtk-ai/rtk`) + the reversible-compression marker (producer-side twin of
|
|
60
|
+
the context-engineering rule).
|
|
61
|
+
- **`docs/influences.md`** gains the 1,345-repo OSS adoption scan row (sources, licenses, and the
|
|
62
|
+
0.60.0–0.62.0 landing map).
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
|
|
66
|
+
- **`guard-kubectl-delete.sh`** deny message gains the explicit CASE B clause the new §11 rubric
|
|
67
|
+
requires: "a human operator must run it directly — do not work around this guard." (The kit's
|
|
68
|
+
other three guards already named their approved routes; content-only edit, hook registry
|
|
69
|
+
untouched.)
|
|
70
|
+
- **`agents/orchestrator.md`** rotate-before-degradation bullet now names the three context-
|
|
71
|
+
pressure symptoms and requires handoff verification against must-haves, not file existence.
|
|
72
|
+
|
|
73
|
+
### Not adopted (deliberately)
|
|
74
|
+
|
|
75
|
+
- **The 10 user-gated backlog items remain gated** (Stop-hook guard, warn-context-flood hook,
|
|
76
|
+
DESIGN.md template, marketplace split, skills export target, React perf overlay, visual-report
|
|
77
|
+
skill, detect-correction hook, org skill-governance rule, whole-payload compression pass) —
|
|
78
|
+
each changes kit behavior, scope, or structure in a way the owner should decide, not a scan.
|
|
79
|
+
Full rationale in the 0.60.0 entry.
|
|
80
|
+
- **Vendoring any scanned code** — every adoption in waves 1–3 is re-derived prose with source
|
|
81
|
+
attribution; `rtk`, `claude-hud`, `context-mode`, `serena`, and `semble` are referenced or
|
|
82
|
+
wired as opt-in MCP fragments, never copied in.
|
|
83
|
+
- **Renumbering `tool-design` sections** — the new material lands as §9–§11 after the existing
|
|
84
|
+
§1–§8 so cross-references from other rules/skills stay stable.
|
|
85
|
+
|
|
86
|
+
## [0.61.0] — 2026-07-15
|
|
87
|
+
|
|
88
|
+
**OSS-adoption wave 2 — nine more items from the 1,345-repo scan backlog** (wave 1 = 0.60.0 below).
|
|
89
|
+
Same discipline: everything re-derived as stack-agnostic prose/data; nothing vendored.
|
|
90
|
+
|
|
91
|
+
### Added
|
|
92
|
+
|
|
93
|
+
- **`agent-guardrails` hardening pass** (completes the three guardrails items begun in 0.60.0):
|
|
94
|
+
the unfamiliar-CLI protocol (`--help` on the *exact leaf command* before first use — validation
|
|
95
|
+
is not transitive from parent groups; single-item schema discovery before unconstrained list
|
|
96
|
+
queries), cloud control-plane categories added to the §3 Block tier (IAM/role-binding, billing,
|
|
97
|
+
org governance, KMS-class key ops, enabling paid APIs, autonomous IaC apply — dry-run/preview
|
|
98
|
+
mandatory where offered), and a graceful-degradation token ladder in the §4 resource bounds
|
|
99
|
+
(warn fraction → wrap-up, hard-stop fraction → final answer, ceiling coupled to compaction).
|
|
100
|
+
- **Evals upgrade** (`rules/evals.md` §9–10 + `docs/eval-harness.md`): evals as one versioned
|
|
101
|
+
declarative config gated in CI (path filters, parsed JSON/JUnit pass-rate, prompt-set-hash
|
|
102
|
+
response cache, SHA + run-id lineage); colocate a skill's evals beside its `SKILL.md` with
|
|
103
|
+
with/without-skill A/B judged on the skill's own claims. The harness doc gains the
|
|
104
|
+
skill-activation eval (trigger F1 + Wilson/Clopper-Pearson/bootstrap certification — the
|
|
105
|
+
routing-layer failure mode neither arm measured), the falsifiability discipline (assertions must
|
|
106
|
+
fail in baseline; Signal/Baseline/Unreachable/Regression quadrants; labeled delta bands;
|
|
107
|
+
path-scoped isolation caveat), and fixed-overhead accounting (always-injected prose is a
|
|
108
|
+
per-turn flat tax; billing A/B is the only honest end-to-end number).
|
|
109
|
+
- **Pre-run budget declarations**: `goal-setting-and-monitoring` §4 budgets the run from its
|
|
110
|
+
orchestration shape (>2× single-agent needs written justification; estimate-vs-actual recorded;
|
|
111
|
+
on-exceed action declared up front) and `wave-orchestration`'s manifest extends
|
|
112
|
+
announce-the-spend to a full per-wave envelope (hard spawn cap, per-worker max turns, wall-clock
|
|
113
|
+
timeout, token ceiling) declared as data.
|
|
114
|
+
- **Org governance**: `autonomy-levels` precedence — repo/user overrides may only **tighten**
|
|
115
|
+
(autonomy = min, allow = intersect, deny = union); `docs/org-capabilities.md` gains the **bypass
|
|
116
|
+
contract** — every legitimate bypass surface named in one table with its guardrail
|
|
117
|
+
(`upgrade --force`, sidecar take-ownership, breakglass, `bypassPermissions` + its org disable).
|
|
118
|
+
- **Evidence-based `warn-missing-tests` hook**: convention-named test-file search (same dir +
|
|
119
|
+
`tests//test//__tests__` walking up) silences the old blanket nag when a test exists; specific
|
|
120
|
+
messages otherwise ("no test file for X" vs "no RED test recorded — write it first" via
|
|
121
|
+
`.pytest_cache`); curated skip list for generated/infra trees. Still advisory; still no-ops
|
|
122
|
+
without `jq`.
|
|
123
|
+
- **`/claude-kit:init` self-install loop**: a missing CLI now offers "Install claude-code-kit now
|
|
124
|
+
(Recommended)" (pipx, else pip) with re-detection before proceeding; skip/failure/no-installer
|
|
125
|
+
keep the stop-with-instructions behavior.
|
|
126
|
+
- **Doc-skill upgrades**: `refresh-docs` diffs the documented surface against the code surface and
|
|
127
|
+
classifies each divergence (`missing_in_docs` / `missing_in_code` / `signature_mismatch` /
|
|
128
|
+
`description_mismatch`, severity-guided); `documentation-and-adrs` gains the derived-artifact
|
|
129
|
+
discipline (edit the structured source, regenerate the deliverable, label source-vs-derived,
|
|
130
|
+
drift-check in CI).
|
|
131
|
+
- **Design intent capture** (`frontend-ui-engineering`): one concrete world-reference over
|
|
132
|
+
adjective lists; short intentional Do's/Don'ts; tokens are context serving the reference, not
|
|
133
|
+
rendering instructions.
|
|
134
|
+
- **Directory-review self-audit** (`docs/launch/directory-submission.md`): the reviewer's pass/fail
|
|
135
|
+
criteria plus the audit run against the kit's own registry — all 21 hooks tabulated (event,
|
|
136
|
+
gated/advisory, network, plugin-vs-starter); finding: zero direct network calls, one disclosed
|
|
137
|
+
indirect family (learning capture's background `claude` job, opt-out
|
|
138
|
+
`CLAUDE_KIT_NO_AUTOCAPTURE=1`).
|
|
139
|
+
|
|
140
|
+
### Fixed
|
|
141
|
+
|
|
142
|
+
- `refresh-docs` shipped another project's literal doc paths and a nonexistent `frontend-dev`
|
|
143
|
+
agent name in its examples — now marked as example shapes / corrected to general-purpose
|
|
144
|
+
subagents.
|
|
145
|
+
|
|
146
|
+
### Not adopted (deliberately)
|
|
147
|
+
|
|
148
|
+
- **The two L-sized scan items** — the `context-engineering` consolidation (8 merged proposals)
|
|
149
|
+
and the `tool-design` expansion (7 merged proposals) — are deferred to their own focused wave:
|
|
150
|
+
they overlap each other on the same two files and deserve a single coherent editing pass, not a
|
|
151
|
+
tail-end squeeze.
|
|
152
|
+
- **The 10 user-gated items** remain gated (list in the 0.60.0 block below) — unchanged, awaiting
|
|
153
|
+
owner decisions.
|
|
154
|
+
|
|
7
155
|
## [0.60.0] — 2026-07-15
|
|
8
156
|
|
|
9
157
|
**OSS-adoption wave 1 — the first tranche from a 1,345-repo scan.** 39 provenance-tagged GitHub
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.62.0
|
|
4
4
|
Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/ajyadav013/claude-kit
|
|
@@ -581,9 +581,12 @@ become blockers — don't just wait at the next join:
|
|
|
581
581
|
hand it a pre-planned buffer task (investigation, doc refresh, test hardening, design validation).
|
|
582
582
|
Keep a small buffer list ready when you spawn the lanes (see the sprint plan's extra-tasks list).
|
|
583
583
|
- **Context exhaustion → rotate before degradation.** Watch each long-running agent's commit cadence
|
|
584
|
-
and output quality as a proxy for context budget.
|
|
585
|
-
|
|
586
|
-
|
|
584
|
+
and output quality as a proxy for context budget. The observable pressure symptoms (per the
|
|
585
|
+
`context-engineering` skill): silent partial completion, increasing vagueness, skipped protocol
|
|
586
|
+
steps. Rotate in a fresh agent *before* quality decays, capturing state to working memory first —
|
|
587
|
+
and verify the rotated-out agent's handoff against the task's **must-haves, not file existence**.
|
|
588
|
+
See the Agent Capacity & Replacement guidance in the `sprint` skill and
|
|
589
|
+
`.claude/rules/agent-resilience.md`. Don't run one agent until it falls over.
|
|
587
590
|
- **Critical-path slippage → re-balance.** If the slowest lane *on the critical path* slips, pull a
|
|
588
591
|
parallelizable task forward onto a free agent, or flag the slip — don't silently absorb it into a
|
|
589
592
|
blown join.
|
|
@@ -17,9 +17,19 @@ command -v claude-kit >/dev/null 2>&1 && echo "CKIT_CLI=claude-kit" \
|
|
|
17
17
|
|| echo "CKIT_CLI_MISSING"; }; }
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
**If the output is `CKIT_CLI_MISSING`,
|
|
21
|
-
under any of its names.
|
|
22
|
-
|
|
20
|
+
**If the output is `CKIT_CLI_MISSING`, offer to install it — never scaffold without it.** The CLI
|
|
21
|
+
is not installed under any of its names. When an installer is available on PATH (`pipx`, else
|
|
22
|
+
`pip`/`pip3`), ask ONE AskUserQuestion with the install option first:
|
|
23
|
+
|
|
24
|
+
- **"Install claude-code-kit now (Recommended)"** — on accept, run `pipx install claude-code-kit`
|
|
25
|
+
(fall back to `pip install claude-code-kit` when pipx is absent), then **re-run the detection
|
|
26
|
+
block above** and proceed only if a CLI name now resolves.
|
|
27
|
+
- **"Skip"** — or if the install fails, or no installer is on PATH: STOP — do not scaffold
|
|
28
|
+
anything. Tell the user the CLI is required, show both install commands below, and have them
|
|
29
|
+
re-run `/claude-kit:init`. Do not silently fall back to a partial install.
|
|
30
|
+
|
|
31
|
+
Never ask when the CLI is already present, and never ask when no installer exists on PATH (nothing
|
|
32
|
+
to offer — go straight to the stop-with-instructions):
|
|
23
33
|
|
|
24
34
|
- Recommended: `pipx install claude-code-kit`
|
|
25
35
|
- Or: `pip install claude-code-kit`
|
|
@@ -48,6 +48,50 @@ class Y, Z% of the time."
|
|
|
48
48
|
> The pipeline costs more per task by design (more agents, more gates). The question this harness
|
|
49
49
|
> answers is whether the **defects caught** (and their severity) justify that delta **for your task mix**.
|
|
50
50
|
|
|
51
|
+
## Skill-activation eval (the routing layer)
|
|
52
|
+
|
|
53
|
+
The arms above grade what happens *after* a skill or rule fires. A separate failure mode sits in
|
|
54
|
+
front of both: does the skill **activate when it should — and stay quiet when it shouldn't**?
|
|
55
|
+
Neither arm measures routing; add it as its own small suite.
|
|
56
|
+
|
|
57
|
+
- **Trigger F1.** Build two prompt lists per skill: *should-activate* (phrasings a real user would
|
|
58
|
+
use) and *should-not-activate* (near-misses from neighboring domains). Run both, score activation
|
|
59
|
+
as binary, report **precision / recall / F1**. A skill with great content and 40% recall is a
|
|
60
|
+
great document nobody reads; one that fires on near-misses taxes every unrelated task.
|
|
61
|
+
- **Monte Carlo certification for any number you publish.** Activation is stochastic — run each list
|
|
62
|
+
repeatedly and report the **Wilson confidence interval** on the activation rate, a
|
|
63
|
+
**Clopper-Pearson bound** on the should-activate failure rate (the conservative "at worst" claim),
|
|
64
|
+
and a **bootstrap consistency** check across resamples. "Activates 19/20, 95% CI [86%, 99%]" is a
|
|
65
|
+
claim; "it seems to trigger" is not.
|
|
66
|
+
|
|
67
|
+
## Falsifiability discipline (before you trust any delta)
|
|
68
|
+
|
|
69
|
+
- **The falsifiability gate.** Every assertion must **fail in the baseline arm** at least sometimes —
|
|
70
|
+
an assertion that passes in both arms measures the model, not the pipeline, and supports no claim.
|
|
71
|
+
Drop it or sharpen it.
|
|
72
|
+
- **Quadrant-classify each row before averaging anything:** **Signal** (fails A, passes B — the
|
|
73
|
+
pipeline earned it) · **Baseline** (passes both — too easy, doesn't count) · **Unreachable**
|
|
74
|
+
(fails both — can't discriminate at this model tier) · **Regression** (passes A, fails B — the
|
|
75
|
+
pipeline *hurt*; investigate before shipping). Only Signal rows support a value claim; every
|
|
76
|
+
Regression row is a finding in its own right.
|
|
77
|
+
- **Label delta bands.** Report deltas with a qualitative band (noise / weak / strong at your N)
|
|
78
|
+
rather than celebrating a 3% move the confidence interval can't distinguish from zero.
|
|
79
|
+
- **Path-scoped isolation caveat.** If a rule/overlay is path-scoped (loads only when matching files
|
|
80
|
+
are touched), confirm both arms actually touch those paths — otherwise the comparison silently
|
|
81
|
+
measures *activation*, not content.
|
|
82
|
+
|
|
83
|
+
## Fixed-overhead accounting
|
|
84
|
+
|
|
85
|
+
Always-injected prose is a **flat tax on every turn**, paid whether or not the content helps that
|
|
86
|
+
turn (measure your own install — see `docs/rules-context-budget.md`; even a single always-on rule
|
|
87
|
+
file costs on the order of 1–1.5k tokens per turn, and a full rule set far more). So the eval
|
|
88
|
+
question is not "does the pipeline help" but "does the help **beat the tax** for your task mix":
|
|
89
|
+
|
|
90
|
+
- Put the per-turn injected overhead in the Cost table, not only per-task totals.
|
|
91
|
+
- The only honest end-to-end number is a **billing A/B** — the same task mix with and without,
|
|
92
|
+
compared on what you were actually charged. Token figures extrapolated from a single run are
|
|
93
|
+
estimates: label them **est.**
|
|
94
|
+
|
|
51
95
|
## Honesty rules
|
|
52
96
|
|
|
53
97
|
- **Never publish numbers you did not run.** A "90%" from one run and from twenty runs are not the same
|
|
@@ -31,6 +31,7 @@ non-duplicative gaps**, minimally and catalog-wired.
|
|
|
31
31
|
| **[google](https://github.com/google) org review** (all 2,881 repos) | Reproducible-build verification & source-level missing-patch detection; secure-by-construction injection defense; archive-extraction & ReDoS hardening; multi-party authorization / breakglass; coverage-guided & continuous fuzzing; parameterized + semantic-equality + parallel/flaky testing; compile-time logic-bug & license-header lint layers + deterministic block sorting; multi-window burn-rate alerting & log rate-limiting; long-document extraction; prompt-as-code; statistical browser benchmarking; durable atomic writes; record-replay API testing; first-party SecOps MCP servers | Prose extensions across `security-and-hardening` (reproducible-build · missing-patch · secure-by-construction · archive · ReDoS), `human-in-the-loop` (MPA/breakglass), `testing` (fuzzing · parameterized · semantic-equality · parallel/flaky), `linting-and-formatting` (logic-bug + license-header layers · block sorting), `devops-observability` (burn-rate · log rate-limit), `context-engineering` (long-doc extraction), `reasoning-techniques` (prompt-as-code), `performance-optimization` (statistical benchmarking), `tool-design` (durable atomic writes), `api-integration` (record-replay) + **4 first-party SecOps MCP fragments** (Chronicle SIEM · GTI · SCC · SOAR) — **0 new agents/skills/rules** (from oss-rebuild · vanir · safe-active-record/mug · safearchive · re2 · building-secure-and-reliable-systems · patrick · go-cmp · atheris/honggfuzz/clusterfuzzlite · gtest-parallel · error-prone · addlicense · keep-sorted · prometheus-slo-burn · flogger · langextract · dotprompt · tachometer · renameio · test-server · mcp-security) | `0.51.0` |
|
|
32
32
|
| **[facebook](https://github.com/facebook) (Meta) org review** (all 168 repos) | Interprocedural taint / data-flow security analysis (source→sink across functions); continuous A/B performance-regression CI gate; defense-in-depth agent-sandbox enforcement (argument validation + OS-level backstop) | Prose extensions to `linting-and-formatting` (taint/data-flow layer), `devops-observability` (perf-regression gate), `agent-guardrails` (§4 layered sandbox enforcement) — **0 new agents/skills/rules** (from pyre-check/Pysa · mariana-trench · FAI-PEP · mcpguard-dynamic; the org is mostly libraries/frameworks, so the verify pass *dropped* the rest — `DNE-TaaC`, `mbt`, plus already-covered `infer`/`mariana-trench`-as-tool, `fbt`, `memlab`, …) | `0.52.0` |
|
|
33
33
|
| **[Netflix](https://github.com/Netflix) · [aws](https://github.com/aws) · [apple](https://github.com/apple) org review** (all **1,214** repos) | Service-level resilience the kit lacked entirely — stability patterns (timeout/retry-budget/circuit-breaker/bulkhead) + adaptive concurrency limiting, chaos engineering, and bounded-clock distributed time; failure-domain-aware progressive rollout; deterministic simulation testing; a formal RFC process (working-backwards + API bar-raiser); continuous usage-based least-privilege | The **new `resilience-engineering` rule** (chaos + stability patterns + bounded clocks, from `Netflix/concurrency-limits` · `Netflix/chaosmonkey` · `aws/clock-bound`); plus prose extensions to `devops-observability` (failure-domain rollout, from `aws/zone-aware-controllers-for-k8s`), `testing` (deterministic simulation testing, from `apple/foundationdb`), `spec-driven-development` (RFC track, from `aws/aws-cdk-rfcs`), and `security-and-hardening` (continuous least-privilege, from `Netflix/repokid`) — **1 new rule, 0 new agents/skills** (the orgs are overwhelmingly SDKs/CLIs/services, so the survey kept only 7 of 1,214) | `0.53.0` |
|
|
34
|
+
| **1,345-repo OSS adoption scan** (39 provenance-tagged searches across the AI/Claude/MCP/context ecosystem; 76 verified adoption ideas → 30-item backlog) | Agent-config supply-chain vetting + toxic-flow legs taxonomy; hidden-Unicode detection; content-type-aware **reversible** output compression (~200-token floor) + "think in code" (from Apache-2.0 `headroomlabs-ai/headroom` · `gsd-build/get-shit-done`; deterministic shell-side companion `rtk-ai/rtk`, referenced); symbol-first retrieval ladder (from MIT `oraios/serena` · `MinishLab/semble`); budget-visible statusline HUDs (`jarrodwatts/claude-hud`, referenced); tribal-standards elicitation (from `buildermethods/agent-os`); evidence-based test nagging + falsifiability eval discipline (from `maxritter/pilot-shell`); colocated skill evals (from `darkrishabh/agent-skills-eval`) | Waves across `dependency-verification` (vetting canon), `catalog/mcp.yaml` (+5 fragments → 22, all leg-annotated), `validator.py` (Unicode scan + INFO channel), **new `check_cross_references.py` CI gardener**, `context-engineering` (compression recipes · 5th primitive · retrieval ladder · budget visibility · pressure symptoms · tribal test), `tool-design`, `evals` §9–10 + `eval-harness`, `agent-guardrails` §3/§4, orchestrator VALIDATE, consolidate-learnings Promote, and ~10 more files — **0 new agents/skills, 1 new CI script** | `0.60.0`–`0.62.0` |
|
|
34
35
|
|
|
35
36
|
> Each adoption is detailed in the [CHANGELOG](../CHANGELOG.md) — including, for every review, what we
|
|
36
37
|
> deliberately **did not** add because the kit already covered it.
|
|
@@ -68,10 +68,64 @@ Before submitting, **re-check the live documentation** at the URLs below. Plugin
|
|
|
68
68
|
- Plugin marketplaces: [code.claude.com/docs/en/plugin-marketplaces](https://code.claude.com/docs/en/plugin-marketplaces)
|
|
69
69
|
- Plugin reference: [code.claude.com/docs/en/plugins-reference](https://code.claude.com/docs/en/plugins-reference)
|
|
70
70
|
|
|
71
|
+
## Directory Review Self-Audit
|
|
72
|
+
|
|
73
|
+
Directory reviewers apply pass/fail criteria a submitter can run against themselves first. Three
|
|
74
|
+
that decide outcomes:
|
|
75
|
+
|
|
76
|
+
1. **Description-matches-behavior (the surprise test).** For every hook, command, and skill: would
|
|
77
|
+
a user who read only its description be *surprised* by anything it actually does? Any surprise
|
|
78
|
+
is a fix-before-submitting.
|
|
79
|
+
2. **Undisclosed outbound calls = automatic fail.** Every network touch (direct or via a spawned
|
|
80
|
+
tool) must be disclosed in the component's description *and* have an opt-out.
|
|
81
|
+
3. **The whole shipped payload is in scope — including directories the plugin doesn't load.**
|
|
82
|
+
A git-source install clones everything (`scripts/`, `templates/`, `catalog/`, `examples/`), so
|
|
83
|
+
the audit covers the full tree, not just auto-discovered components.
|
|
84
|
+
|
|
85
|
+
### First-party hook audit (run against this kit's own registry)
|
|
86
|
+
|
|
87
|
+
All hooks in the shipped registry, in the reviewer's format — `EVENT:hook — gated|advisory —
|
|
88
|
+
network`. **gated** = can block the action (exit 2 / deny); **advisory** = warn-or-context only,
|
|
89
|
+
always exits 0. Every script degrades to a no-op without `jq`. Regenerate this table when the
|
|
90
|
+
registry changes (`src/claude_kit/hooks.py` is the source of truth; `gen_hooks.py --check` pins the
|
|
91
|
+
generated configs).
|
|
92
|
+
|
|
93
|
+
| Hook | Event | Mode | Network | In plugin hooks.json |
|
|
94
|
+
|------|-------|------|---------|----------------------|
|
|
95
|
+
| load-continuity | SessionStart | advisory | no | yes |
|
|
96
|
+
| load-learnings | SessionStart | advisory | no | yes |
|
|
97
|
+
| load-autonomy | SessionStart | advisory | no | yes |
|
|
98
|
+
| capture-learnings-catchup | SessionStart | advisory | **indirect** — spawns a background `claude` job (model API); disclosed, opt-out `CLAUDE_KIT_NO_AUTOCAPTURE=1` | yes |
|
|
99
|
+
| guard-rm-rf | PreToolUse | **gated** (inline) | no | yes |
|
|
100
|
+
| guard-push-main | PreToolUse | **gated** | no | yes |
|
|
101
|
+
| guard-destructive-git | PreToolUse | **gated** | no | yes |
|
|
102
|
+
| protect-secrets | PreToolUse | **gated** (inline) | no | yes |
|
|
103
|
+
| guard-commit-secrets | PreToolUse | **gated** | no | yes |
|
|
104
|
+
| validate-settings | PreToolUse | **gated** | no | yes |
|
|
105
|
+
| warn-shared-modules | PreToolUse | advisory | no | yes |
|
|
106
|
+
| warn-llm-io | PreToolUse | advisory | no | yes |
|
|
107
|
+
| warn-sensitive-files | PreToolUse | advisory | no | yes |
|
|
108
|
+
| warn-large-edits | PreToolUse | advisory | no | starter only |
|
|
109
|
+
| validate-frontmatter | PreToolUse | advisory | no | starter only |
|
|
110
|
+
| warn-missing-tests | PostToolUse | advisory | no | starter only |
|
|
111
|
+
| audit-log | PostToolUse | advisory | no | starter only |
|
|
112
|
+
| lint-fix | Stop | advisory (runs the project's linter) | no | yes |
|
|
113
|
+
| type-check | Stop | advisory (runs the project's type-checker) | no | yes |
|
|
114
|
+
| capture-learnings-stop | Stop | advisory | indirect — same `claude` job + opt-out as above | starter only |
|
|
115
|
+
| capture-learnings | SessionEnd | advisory | indirect — same `claude` job + opt-out as above | yes |
|
|
116
|
+
|
|
117
|
+
**Audit result:** 21 registry hooks (16 ride the plugin's `hooks.json`; the rest install via the
|
|
118
|
+
scaffolded starter `settings.json`). One behavior family touches the network, *indirectly*, via a
|
|
119
|
+
spawned `claude` background job (learning capture) — disclosed in the init interview, surfaced by
|
|
120
|
+
`doctor`, and opt-out via `CLAUDE_KIT_NO_AUTOCAPTURE=1`. No hook makes a direct outbound call. All
|
|
121
|
+
gated hooks are deterministic string/path guards with no data egress. This passes criteria 1–3
|
|
122
|
+
above as of the audit date; re-run after any hook change.
|
|
123
|
+
|
|
71
124
|
## Owner Submission Checklist
|
|
72
125
|
|
|
73
126
|
- [ ] Run `claude plugin validate .` and `claude plugin validate . --strict`
|
|
74
127
|
- [ ] Fix any validation errors (warnings are optional)
|
|
128
|
+
- [ ] Re-run the Directory Review Self-Audit above (hook table current, no undisclosed network, no description surprises)
|
|
75
129
|
- [ ] Verify the live submission form and documentation links above
|
|
76
130
|
- [ ] Consider the optional manifest hygiene items (not required)
|
|
77
131
|
- [ ] Choose submission path: solo (platform.claude.com) or organization (claude.ai)
|
|
@@ -189,6 +189,23 @@ via `/deprecation-and-migration`; have security/DevOps approve hooks and sensiti
|
|
|
189
189
|
and roll out repo-by-repo with `claude-kit diff` → `claude-kit upgrade`; run different autonomy levels
|
|
190
190
|
per repo; capture recurring prompts (→ skills) and mistakes (→ rules) via the `remember` skill.
|
|
191
191
|
|
|
192
|
+
### Precedence & the bypass contract
|
|
193
|
+
|
|
194
|
+
**Overrides only tighten.** Repo- and user-level settings may lower autonomy, add gates/denies, or
|
|
195
|
+
escalate a warn to a block — never the reverse (allow = intersect, deny = union, autonomy =
|
|
196
|
+
min(org, repo)); see `.claude/rules/autonomy-levels.md` "Precedence". The corollary is that every
|
|
197
|
+
*legitimate* way around the policy must be **named**, so none is discoverable-only. The kit's real
|
|
198
|
+
bypass surfaces are exactly these:
|
|
199
|
+
|
|
200
|
+
| Bypass surface | What it bypasses | Guardrail around it |
|
|
201
|
+
|----------------|------------------|---------------------|
|
|
202
|
+
| `claude-kit upgrade --force` | edit-preserving upgrade (overwrites drifted kit files) | drifted originals are backed up as sidecars; diff first |
|
|
203
|
+
| Sidecar take-ownership (keep your edit, discard the kit's `.claude-kit` sidecar) | kit ownership of a file | the manifest marks it user-owned from then on — upgrades stop touching it |
|
|
204
|
+
| Breakglass (emergency human override) | a gate or block during an incident | scoped + logged per `.claude/rules/human-in-the-loop.md`; reviewed afterwards |
|
|
205
|
+
| `bypassPermissions` mode | Claude Code's permission prompts | org-side `disableBypassPermissionsMode` can remove it entirely |
|
|
206
|
+
|
|
207
|
+
Anything not on this list that circumvents policy is a finding, not a feature.
|
|
208
|
+
|
|
192
209
|
### Planned
|
|
193
210
|
|
|
194
211
|
`claude-sdlc package-org-pack` / `install-org-pack` are registered as **planned** stubs — they will
|
|
@@ -33,6 +33,7 @@ if printf '%s' "$CMD" | tr -d '"\047\134' | tr ';|&' '\n\n\n' \
|
|
|
33
33
|
echo "BLOCKED: 'kubectl delete' is disabled by claude-kit -- destructive deletes must not run from an agent session." >&2
|
|
34
34
|
echo " Use a reversible alternative: 'kubectl scale --replicas=0' to stop a workload, 'kubectl rollout undo' to roll back," >&2
|
|
35
35
|
echo " or remove the resource from the Git/Helm source and let the pipeline reconcile." >&2
|
|
36
|
+
echo " If a true delete is genuinely required, a human operator must run it directly -- do not work around this guard." >&2
|
|
36
37
|
echo " Read-only checks still work ('kubectl auth can-i delete <res>', 'kubectl get/describe'). (guard-kubectl-delete.sh)" >&2
|
|
37
38
|
exit 2
|
|
38
39
|
fi
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# PostToolUse(Edit|Write): after a source-code change, check for EVIDENCE of tests before nudging.
|
|
3
|
+
# Evidence-based, not a blanket reminder: looks for a sibling/convention-named test file
|
|
4
|
+
# (test_<stem>.py, <stem>_test.py, <stem>.test|spec.<ext>, <stem>_test.go, <stem>Test(s).cs, ...)
|
|
5
|
+
# in the same dir and in tests//test//__tests__ dirs walking up from the file; if a test file
|
|
6
|
+
# exists, checks .pytest_cache/v/cache/lastfailed for a recorded RED test for the module (Python).
|
|
7
|
+
# Emits a SPECIFIC message only when evidence is absent; stays quiet when a test file exists.
|
|
8
|
+
# Advisory only (always exits 0). Quiet for test files, docs, config, generated/infra trees, and
|
|
9
|
+
# the .claude/ config itself. Degrades to a no-op without jq.
|
|
10
|
+
# The reminder returns as hookSpecificOutput.additionalContext JSON on stdout (Claude reads it next
|
|
11
|
+
# to the tool result, per the current hooks reference) -- exit-0 stderr is debug-log-only.
|
|
12
|
+
command -v jq >/dev/null 2>&1 || exit 0
|
|
13
|
+
INPUT="$(cat)"
|
|
14
|
+
FILE_PATH="$(echo "$INPUT" | jq -r '.tool_input.file_path // .tool_response.filePath // empty' 2>/dev/null || true)"
|
|
15
|
+
[ -z "$FILE_PATH" ] || [ "$FILE_PATH" = "null" ] && exit 0
|
|
16
|
+
|
|
17
|
+
low="$(printf '%s' "$FILE_PATH" | tr '[:upper:]' '[:lower:]')"
|
|
18
|
+
|
|
19
|
+
# Skip non-source: tests, docs, config, markdown, and the kit's own config.
|
|
20
|
+
case "$low" in
|
|
21
|
+
*test*|*spec*|*.md|*.markdown|*.json|*.ya?ml|*.toml|*.ini|*.cfg|*.txt|*.lock|*/.claude/*)
|
|
22
|
+
exit 0 ;;
|
|
23
|
+
esac
|
|
24
|
+
|
|
25
|
+
# Curated skip list: trees that legitimately ship without sibling tests (generated, infra, vendored).
|
|
26
|
+
case "$low" in
|
|
27
|
+
*/migrations/*|*/alembic/*|*/terraform/*|*/generated/*|*/proto/*|*/infra/*|*/dist/*|*/build/*|*/node_modules/*|*/vendor/*|*/.venv/*)
|
|
28
|
+
exit 0 ;;
|
|
29
|
+
esac
|
|
30
|
+
|
|
31
|
+
# Only check recognisable source files.
|
|
32
|
+
case "$low" in
|
|
33
|
+
*.py|*.ts|*.tsx|*.js|*.jsx|*.go|*.rs|*.rb|*.java|*.kt|*.cs|*.php|*.swift|*.scala|*.c|*.cc|*.cpp|*.h|*.hpp) : ;;
|
|
34
|
+
*) exit 0 ;;
|
|
35
|
+
esac
|
|
36
|
+
|
|
37
|
+
base="$(basename "$FILE_PATH")"
|
|
38
|
+
dir="$(dirname "$FILE_PATH")"
|
|
39
|
+
stem="${base%.*}"
|
|
40
|
+
ext="${base##*.}"
|
|
41
|
+
|
|
42
|
+
# Test-file name candidates per ecosystem convention.
|
|
43
|
+
cands=()
|
|
44
|
+
case "$ext" in
|
|
45
|
+
py) cands=("test_${stem}.py" "${stem}_test.py") ;;
|
|
46
|
+
go) cands=("${stem}_test.go") ;;
|
|
47
|
+
cs) cands=("${stem}Tests.cs" "${stem}Test.cs") ;;
|
|
48
|
+
rb) cands=("${stem}_spec.rb" "${stem}_test.rb") ;;
|
|
49
|
+
ts|tsx|js|jsx) cands=("${stem}.test.${ext}" "${stem}.spec.${ext}") ;;
|
|
50
|
+
*) cands=("test_${stem}.${ext}" "${stem}_test.${ext}" "${stem}.test.${ext}" "${stem}.spec.${ext}") ;;
|
|
51
|
+
esac
|
|
52
|
+
|
|
53
|
+
# Evidence search: sibling in the same dir, then tests//test//__tests__ dirs walking up (bounded).
|
|
54
|
+
found=""
|
|
55
|
+
for cand in "${cands[@]}"; do
|
|
56
|
+
[ -f "$dir/$cand" ] && { found=1; break; }
|
|
57
|
+
done
|
|
58
|
+
if [ -z "$found" ]; then
|
|
59
|
+
d="$dir"
|
|
60
|
+
for _ in 1 2 3 4 5 6; do
|
|
61
|
+
for td in tests test __tests__; do
|
|
62
|
+
[ -d "$d/$td" ] || continue
|
|
63
|
+
for cand in "${cands[@]}"; do
|
|
64
|
+
if find "$d/$td" -maxdepth 4 -name "$cand" -print -quit 2>/dev/null | grep -q .; then
|
|
65
|
+
found=1
|
|
66
|
+
break 3
|
|
67
|
+
fi
|
|
68
|
+
done
|
|
69
|
+
done
|
|
70
|
+
parent="$(dirname "$d")"
|
|
71
|
+
[ "$parent" = "$d" ] && break
|
|
72
|
+
d="$parent"
|
|
73
|
+
done
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
W=""
|
|
77
|
+
if [ -z "$found" ]; then
|
|
78
|
+
W="REMINDER: no test file found for $FILE_PATH (searched sibling + tests//test//__tests__ conventions: ${cands[*]}) -- create one before marking work complete (.claude/rules/testing.md)."
|
|
79
|
+
elif [ "$ext" = "py" ] && [ -f ".pytest_cache/v/cache/lastfailed" ]; then
|
|
80
|
+
# A test file exists; for Python, check whether a RED test was ever recorded for this module.
|
|
81
|
+
if ! jq -r 'keys[]' .pytest_cache/v/cache/lastfailed 2>/dev/null | grep -q "$stem"; then
|
|
82
|
+
W="NOTE: tests exist for $stem but no failing test was recorded for it -- if this change adds behavior, write the RED test first (.claude/rules/testing.md)."
|
|
83
|
+
fi
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
if [ -n "$W" ]; then
|
|
87
|
+
# stdout must be ONLY the JSON object for Claude Code to process it.
|
|
88
|
+
jq -n --arg ctx "$W" '{hookSpecificOutput: {hookEventName: "PostToolUse", additionalContext: $ctx}}'
|
|
89
|
+
fi
|
|
90
|
+
exit 0
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-code-kit"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.62.0"
|
|
8
8
|
description = "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -72,6 +72,13 @@ Before declaring a stage done or handing to the next agent/human:
|
|
|
72
72
|
filesystem or data guarantee; and any client-side flag is **secondary to the real authorization
|
|
73
73
|
boundary** — the backend's IAM/role grants are what actually limit blast radius, so scope those
|
|
74
74
|
first and treat the flag as a second layer, never the first.
|
|
75
|
+
- **Unfamiliar-CLI protocol — validate the leaf, then discover the schema.** Before first use of a
|
|
76
|
+
CLI subcommand you haven't run in this project, read `--help` on the **exact leaf command** you are
|
|
77
|
+
about to invoke — validation is not transitive from a parent group (`tool db --help` tells you
|
|
78
|
+
nothing about `tool db restore`'s destructive flags). And before any unconstrained list/query
|
|
79
|
+
call, do **single-item schema discovery** first (`--limit 1` + machine-readable output), then
|
|
80
|
+
re-query projected to only the fields you need — you learn the response shape without flooding
|
|
81
|
+
your context or hammering the backend.
|
|
75
82
|
- **Destructive or outward-facing actions are gated.** Deleting/overwriting files you didn't create,
|
|
76
83
|
force-pushing, deploying, publishing, or sending data to an external service are **human decision
|
|
77
84
|
points** — see `.claude/rules/human-in-the-loop.md`. Confirm first.
|
|
@@ -86,7 +93,11 @@ and act on it — do not improvise a destructive step because it seems convenien
|
|
|
86
93
|
- **Block — never autonomously.** Force-push, rewriting already-published history, deleting a branch
|
|
87
94
|
or tag, a destructive schema change against live data (`DROP` / `TRUNCATE` / column drop / a
|
|
88
95
|
narrowing or `NOT NULL` on existing rows), bulk or recursive deletion, or disabling a safety
|
|
89
|
-
control.
|
|
96
|
+
control. In cloud control planes the same tier covers: **IAM / role-binding changes, billing
|
|
97
|
+
changes, org-level governance edits, KMS-class key operations** (schedule-delete, disable,
|
|
98
|
+
rotation changes), **enabling paid APIs/services, and an autonomous IaC apply** — where the tool
|
|
99
|
+
offers a dry-run/preview/plan mode, running it is mandatory and its output goes to the human with
|
|
100
|
+
the request. These need explicit human authorization first — the **restricted** tier of
|
|
90
101
|
`.claude/rules/risk-classification.md`. Several are also stopped deterministically by
|
|
91
102
|
`hooks/scripts/guard-destructive-git.sh` and the `rm -rf` / push-to-main guards.
|
|
92
103
|
- **Confirm — pause and get a yes.** Deleting or overwriting a file you did not create, applying a
|
|
@@ -126,7 +137,11 @@ agent on a broken foundation.* Before worrying about prompt injection, enforce t
|
|
|
126
137
|
default (never "the whole disk, minus a deny-list").
|
|
127
138
|
- **Network** — deny outbound by default; allowlist only the hosts the task genuinely needs.
|
|
128
139
|
- **Resource bounds** — wall-clock timeout plus memory/output caps, so a runaway or adversarial step
|
|
129
|
-
fails *closed* instead of hanging or flooding.
|
|
140
|
+
fails *closed* instead of hanging or flooding. For token budgets, degrade **gracefully** rather
|
|
141
|
+
than cliff-stopping: a warn fraction (~80%) injects a wrap-up signal (finish the current step,
|
|
142
|
+
persist state), a hard-stop fraction forces a final answer from what is in hand, and the ceiling
|
|
143
|
+
is set with compaction in mind — when compaction is active the ceiling bounds a *window*, not
|
|
144
|
+
the run, so couple the two deliberately.
|
|
130
145
|
- **Versioned & runtime-updatable** — keep the policy as data you can tighten mid-run (ties to §5's
|
|
131
146
|
revocable authz) and review afterward, not constants baked into the agent.
|
|
132
147
|
|
|
@@ -13,6 +13,16 @@ deterministic parts are enforced by hooks and `settings.permissions`, the rest i
|
|
|
13
13
|
| **autonomous-pr** | create branches + PR-ready changes | **merge** — human review is required before merge |
|
|
14
14
|
| **enterprise-controlled** | work only through strict gates with an audit trail | edit sensitive files without approval; complete without the security + review agents passing |
|
|
15
15
|
|
|
16
|
+
## Precedence — overrides may only tighten
|
|
17
|
+
|
|
18
|
+
When org policy and a repo- or user-level setting disagree, the resolution is always the **stricter**
|
|
19
|
+
of the two: effective autonomy = **min(org, repo)**; allow-lists **intersect**; deny-lists **union**;
|
|
20
|
+
a warn may be escalated to a block locally, but a block is never downgraded to a warn. A repo can
|
|
21
|
+
run *more* cautiously than its org demands, never less — there is no repo-level "loosen" switch.
|
|
22
|
+
Legitimate exceptions go through the named bypass surfaces (the "Bypass contract" in
|
|
23
|
+
`docs/org-capabilities.md` of the claude-kit repo), which are explicit and auditable — not a quiet
|
|
24
|
+
config override.
|
|
25
|
+
|
|
16
26
|
## Rules
|
|
17
27
|
|
|
18
28
|
- **Never exceed the active level.** If a task needs more autonomy than granted, stop and ask — do not
|
|
@@ -142,6 +142,38 @@ A single-turn eval will not catch this; claude-kit's own agents run over long mu
|
|
|
142
142
|
> [`microsoft/lost_in_conversation`](https://github.com/microsoft/lost_in_conversation). Re-derived in
|
|
143
143
|
> prose; not vendored.
|
|
144
144
|
|
|
145
|
+
## 9. Evals as versioned, declarative config — gated in CI
|
|
146
|
+
|
|
147
|
+
Keep the eval suite as **one declarative config file in the repo** — cases × graders × pass
|
|
148
|
+
thresholds together (the shape popularized by promptfoo-style runners; any runner with those three
|
|
149
|
+
parts qualifies). Config-as-data is what makes the Rules below enforceable: the eval diff rides in
|
|
150
|
+
the same PR as the behavior change, and CI — not memory — runs it.
|
|
151
|
+
|
|
152
|
+
- **Trigger on behavior-changing paths.** Path-filter the CI job to the files that change model
|
|
153
|
+
behavior (prompts, rules, skills, agent definitions, model/tier config) so the suite runs when it
|
|
154
|
+
must and stays out of unrelated PRs.
|
|
155
|
+
- **Gate on parsed results, not exit codes alone.** Emit machine-readable output (JSON / JUnit),
|
|
156
|
+
parse the pass rate, and fail the job against the declared threshold — that is what turns the eval
|
|
157
|
+
into a *gate* (§6) instead of a log line.
|
|
158
|
+
- **Cache responses keyed on the prompt-set hash.** Reruns whose inputs didn't change replay from
|
|
159
|
+
cache — CI stays fast and cheap, and a score delta isolates the change you actually made.
|
|
160
|
+
- **Record lineage.** Stamp every run with the git SHA and a run id, so any score is traceable to
|
|
161
|
+
the exact config + code that produced it.
|
|
162
|
+
|
|
163
|
+
## 10. Colocate a skill's evals with the skill
|
|
164
|
+
|
|
165
|
+
A skill's eval lives **beside the skill** — an `evals/evals.json` next to its `SKILL.md` declaring
|
|
166
|
+
the cases (the emerging agent-skills colocation convention) — not in a central suite it will drift
|
|
167
|
+
from. Two properties matter more than the file layout:
|
|
168
|
+
|
|
169
|
+
- **A/B against the skill's absence.** Each case runs *with* and *without* the skill and is judged
|
|
170
|
+
on assertions the skill's own prose claims (cited criteria, not vibes). A skill that does not
|
|
171
|
+
measurably beat its absence on its own claims is context cost with no return — the same
|
|
172
|
+
with/without method as the kit-level harness (`docs/eval-harness.md` in the claude-kit repo),
|
|
173
|
+
applied per skill.
|
|
174
|
+
- **Runners are referenced, not bundled.** Ready runners exist for exactly this layout (e.g.
|
|
175
|
+
`agent-skills-eval`); any tool that executes colocated cases with/without the skill qualifies.
|
|
176
|
+
|
|
145
177
|
## Rules
|
|
146
178
|
|
|
147
179
|
1. **No prompt/rule/tool/model change ships without an eval run** that covers the affected behavior.
|
|
@@ -80,6 +80,15 @@ This turns "I think the run is progressing" into a measured session you can grad
|
|
|
80
80
|
(`.claude/rules/evals.md`) and trend. (This is *agent-run* telemetry; **app and LLM** observability
|
|
81
81
|
live in the `observability-and-logging`, `otel-tracing`, and `langfuse-llm-tracing` skills.)
|
|
82
82
|
|
|
83
|
+
**Budget the run before you launch it.** Spend is a criterion too — declare it up front like any
|
|
84
|
+
other goal, derived from the orchestration shape: single agent ≈ 1×, maker-checker ≈ 2×,
|
|
85
|
+
parallel-N ≈ N+1× (workers + a merge pass), debate-R ≈ 1+R×. Anything over ~2× the single-agent
|
|
86
|
+
baseline needs a written justification before tokens go out, not an apology after. Record
|
|
87
|
+
**estimate vs actual** in the run telemetry above, and define the **on-exceed action** with the
|
|
88
|
+
budget: stop spawning, checkpoint state to `.claude/CONTINUITY.md`, and escalate per
|
|
89
|
+
`.claude/rules/human-in-the-loop.md` — never silently run past the number you announced. (Wave-scale
|
|
90
|
+
declarations live in `.claude/rules/wave-orchestration.md`'s manifest.)
|
|
91
|
+
|
|
83
92
|
> Stack-agnostic adaptation of the agent-session instrumentation pattern in the Apache-2.0
|
|
84
93
|
> [`alibaba/loongsuite-js`](https://github.com/alibaba/loongsuite-js) (session→turn→tool/LLM span
|
|
85
94
|
> hierarchy via runtime hooks, GenAI semantic-convention attributes). Re-derived in prose; not vendored.
|