claude-code-kit 0.7.1__tar.gz → 0.8.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.7.1 → claude_code_kit-0.8.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/CHANGELOG.md +39 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/PKG-INFO +1 -1
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/catalog/profiles.yaml +3 -1
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/hooks.json +2 -1
- claude_code_kit-0.8.0/hooks/scripts/load-autonomy.sh +21 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/pyproject.toml +1 -1
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/documentation.md +4 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/evals.md +21 -0
- claude_code_kit-0.8.0/skills/over-engineering-review/SKILL.md +99 -0
- claude_code_kit-0.8.0/skills/simplification-debt/SKILL.md +71 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/hooks.py +6 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/.gitignore +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/LICENSE +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/developer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/tester.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/catalog/stacks.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/commands/init.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/commands/status.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/docs/agents.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/testing.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/settings.json +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/templates/stacks/frontend/react/rules/react-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.8.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.8.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,45 @@ 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.8.0] — 2026-06-15
|
|
8
|
+
|
|
9
|
+
Adds a **minimalism / anti-over-engineering** layer distilled from a field review of the
|
|
10
|
+
[ponytail](https://github.com/DietrichGebert/ponytail) plugin. Most of ponytail's philosophy (YAGNI,
|
|
11
|
+
stdlib-first, surgical diffs) was already enforced by `templates/CLAUDE.md` "Simplicity First",
|
|
12
|
+
`skills/code-simplification`, and `rules/rarv-cycle`, so — per golden rule #1 (reuse, don't duplicate)
|
|
13
|
+
— only the genuinely-missing *mechanisms* were added. No application code, no Docker; new components
|
|
14
|
+
are wired through the catalog.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- **`skills/over-engineering-review`** (`standard`+): a complexity-**only**, report-**only** scan that
|
|
18
|
+
returns a terse delete-list (`delete:/stdlib:/native:/yagni:/shrink:` tags, each naming the
|
|
19
|
+
replacement) over a diff or a whole repo, ending with `net: -N lines possible` or `Lean already.
|
|
20
|
+
Ship.`. Complements the multi-axis `code-review-and-quality` (it isolates the complexity axis) and
|
|
21
|
+
stops short of the behavior-preserving refactor that `code-simplification` performs. Never flags the
|
|
22
|
+
kit's required test or the safety carve-outs.
|
|
23
|
+
- **`skills/simplification-debt`** (`standard`+): harvests deliberately-deferred shortcuts
|
|
24
|
+
(`TODO(TICKET)`, `FIXME`, and inline `shortcut: ceiling — upgrade` markers) into one ledger grouped
|
|
25
|
+
by file, and flags any marker that names **no upgrade trigger** as a silent-rot risk. Report-only;
|
|
26
|
+
persists to a file only when asked.
|
|
27
|
+
- **`load-autonomy` hook** (`SessionStart`, `standard`+): surfaces the repo's active autonomy level
|
|
28
|
+
(read from the install snapshot) into context each session, so `rules/autonomy-levels.md` is visible
|
|
29
|
+
and persistent rather than purely instructional. Degrades to a no-op without `jq`. Registered in the
|
|
30
|
+
hook registry and the plugin `hooks/hooks.json`.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- **`rules/evals.md`** gains section 6: run repeated trials and report the **median of N**, and
|
|
34
|
+
**separate measurement metrics** (record-and-pass: LOC, cost, latency) **from gate metrics**
|
|
35
|
+
(execute-and-fail: run the output, assert it) — with the ponytail benchmark cited as a worked example.
|
|
36
|
+
- **`rules/documentation.md`** now blesses an inline upgrade-path shortcut marker
|
|
37
|
+
(`# shortcut: ceiling — upgrade path`) as an alternative to a ticketed `TODO`, and points at the
|
|
38
|
+
`simplification-debt` skill that harvests them.
|
|
39
|
+
- **CI now publishes on merge to `main`, gated by a version check.** `publish.yml` also triggers on
|
|
40
|
+
every push to `main` (in addition to version tags, releases, and manual dispatch). A `version-check`
|
|
41
|
+
job compares `pyproject.toml`'s version against PyPI and only builds/publishes when the version is
|
|
42
|
+
new; an unchanged version is skipped cleanly (PyPI versions are immutable). The publisher also passes
|
|
43
|
+
`skip-existing: true` as a race guard. Net effect: bump the version in a PR, merge it, and the
|
|
44
|
+
release ships automatically — no manual tag required.
|
|
45
|
+
|
|
7
46
|
## [0.7.1] — 2026-06-09
|
|
8
47
|
|
|
9
48
|
A parity fix for the no-pip fallback scaffolder so the plugin's `/claude-kit:init` command works
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.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
|
|
@@ -79,8 +79,10 @@ profiles:
|
|
|
79
79
|
- incident-postmortem
|
|
80
80
|
- threat-model
|
|
81
81
|
- accessibility-review
|
|
82
|
+
- over-engineering-review
|
|
83
|
+
- simplification-debt
|
|
82
84
|
gates: [spec-complete, em-approved, code-review, build-green, test-coverage, security-clear]
|
|
83
|
-
hooks: [load-continuity, load-learnings, skill-routing, learning-detection, guard-rm-rf, guard-push-main, protect-secrets, guard-commit-secrets, warn-shared-modules, lint-fix, type-check]
|
|
85
|
+
hooks: [load-continuity, load-learnings, load-autonomy, skill-routing, learning-detection, guard-rm-rf, guard-push-main, protect-secrets, guard-commit-secrets, warn-shared-modules, lint-fix, type-check]
|
|
84
86
|
|
|
85
87
|
enterprise:
|
|
86
88
|
label: "Enterprise — adds DevOps, Observability, full audit + acceptance"
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"matcher": "",
|
|
5
5
|
"hooks": [
|
|
6
6
|
{ "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-continuity.sh\"" },
|
|
7
|
-
{ "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-learnings.sh\"" }
|
|
7
|
+
{ "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-learnings.sh\"" },
|
|
8
|
+
{ "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-autonomy.sh\"" }
|
|
8
9
|
]
|
|
9
10
|
}
|
|
10
11
|
],
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# SessionStart hook: surface the repo's active autonomy level so every session operates within it
|
|
3
|
+
# instead of forgetting the dial. The level is chosen at install time and recorded in the config
|
|
4
|
+
# snapshot; this just makes it visible each session. See .claude/rules/autonomy-levels.md.
|
|
5
|
+
#
|
|
6
|
+
# Degrades to a no-op when jq isn't present or no level is recorded (never blocks startup).
|
|
7
|
+
|
|
8
|
+
ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
|
|
9
|
+
OPTS="$ROOT/.claude/config/init-options.json"
|
|
10
|
+
|
|
11
|
+
[ -f "$OPTS" ] || exit 0
|
|
12
|
+
command -v jq >/dev/null 2>&1 || exit 0
|
|
13
|
+
|
|
14
|
+
LEVEL=$(jq -r '.selection.autonomy // empty' "$OPTS" 2>/dev/null)
|
|
15
|
+
[ -n "$LEVEL" ] || exit 0
|
|
16
|
+
|
|
17
|
+
echo "## Active autonomy level: $LEVEL"
|
|
18
|
+
echo
|
|
19
|
+
echo "Operate within the \`$LEVEL\` autonomy level for this repo: it bounds how much you may do before a human acts. See .claude/rules/autonomy-levels.md for what this level permits and what still needs human sign-off."
|
|
20
|
+
|
|
21
|
+
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.8.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"
|
|
@@ -260,6 +260,10 @@ class UserCreate(BaseModel):
|
|
|
260
260
|
- **Performance decisions**: `# Eager-load to prevent N+1 on the list page`
|
|
261
261
|
- **Security decisions**: `# Rate limit to 5 req/min to prevent credential stuffing`
|
|
262
262
|
- **TODO with ticket**: `# TODO(PROJ-123): Replace with proper RBAC once permissions service is built`
|
|
263
|
+
- **Deliberate shortcut with an upgrade path**: name the ceiling and the trigger inline, as an
|
|
264
|
+
alternative to an external ticket: `# shortcut: global lock — per-account locks if throughput matters`.
|
|
265
|
+
A deferral with no trigger is the kind that silently rots; the `simplification-debt` skill harvests
|
|
266
|
+
these markers into a ledger and flags any that name no upgrade path.
|
|
263
267
|
|
|
264
268
|
### Do NOT Comment
|
|
265
269
|
- What the code does when it's obvious from the code itself
|
|
@@ -47,6 +47,27 @@ the one that matches how the feature is actually used.
|
|
|
47
47
|
(`.claude/rules/quality-gates.md`).
|
|
48
48
|
- **Capability** — pushes the frontier; tracks progress on hard cases you don't pass yet.
|
|
49
49
|
|
|
50
|
+
## 6. Run repeated trials, and split measurement from gate
|
|
51
|
+
|
|
52
|
+
A single run of a non-deterministic feature tells you almost nothing. Two practices keep the numbers
|
|
53
|
+
honest:
|
|
54
|
+
|
|
55
|
+
- **Repeat and aggregate.** Run each case **N times** (commonly 5–10) and report the **median**, not
|
|
56
|
+
the mean — the median is robust to the occasional wild outlier a model produces. Report N alongside
|
|
57
|
+
the result; a "90%" from one run and from twenty runs are not the same claim.
|
|
58
|
+
- **Separate metrics that *measure* from metrics that *gate*.** A **measurement** metric records a
|
|
59
|
+
number and always passes (lines of code, token cost, latency, output length) — it's there to track a
|
|
60
|
+
trend, not to block. A **gate** metric actually exercises the output and **fails** when it breaks
|
|
61
|
+
(run the generated code, assert the result, check the file state). Don't let a measurement masquerade
|
|
62
|
+
as a gate: a solution that scores beautifully on "fewer lines" but doesn't run must still **fail**,
|
|
63
|
+
because the correctness gate executed it. Wire only gate metrics into `.claude/rules/quality-gates.md`;
|
|
64
|
+
keep measurements as dashboards.
|
|
65
|
+
|
|
66
|
+
> Worked example: the [ponytail](https://github.com/DietrichGebert/ponytail) benchmark runs 3 arms ×
|
|
67
|
+
> 3 models × 5 tasks at 10 runs each (median reported), with a line-count *measurement* that always
|
|
68
|
+
> passes beside a *correctness gate* that spawns the runtime to actually execute the generated code.
|
|
69
|
+
> A concrete instance of this section's two practices.
|
|
70
|
+
|
|
50
71
|
## Rules
|
|
51
72
|
|
|
52
73
|
1. **No prompt/rule/tool/model change ships without an eval run** that covers the affected behavior.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: over-engineering-review
|
|
3
|
+
description: Scans code for over-engineering ONLY and returns a terse delete-list — what to cut and what replaces it — without applying any change. Use when the user asks "what can we delete", "is this over-engineered", "find the bloat", "lean review", "trim this", or wants a complexity-only pass over a diff or a whole repo. Complements (does not replace) the multi-axis code-review-and-quality skill, and stops short of the refactoring that code-simplification performs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Over-Engineering Review
|
|
7
|
+
|
|
8
|
+
> A single-lens scan inspired by the [ponytail](https://github.com/DietrichGebert/ponytail) plugin's
|
|
9
|
+
> review/audit commands. Adapted as a stack-agnostic, report-only skill. It is deliberately **narrow**:
|
|
10
|
+
> it hunts complexity and nothing else.
|
|
11
|
+
|
|
12
|
+
## What this is (and is not)
|
|
13
|
+
|
|
14
|
+
- **This skill:** one lens — over-engineering. Output is a **delete-list**: one line per finding,
|
|
15
|
+
naming what to cut and the leaner replacement. It **reports; it does not edit**.
|
|
16
|
+
- **Not `code-review-and-quality`:** that is the full multi-axis gate (correctness, security,
|
|
17
|
+
performance, architecture, readability) you run before merge. Use it for the real review. Use *this*
|
|
18
|
+
when you want the complexity axis alone, in a scannable form, with no other noise.
|
|
19
|
+
- **Not `code-simplification`:** that skill *applies* the refactor and preserves behavior step by step.
|
|
20
|
+
This skill produces the list; hand the list to `code-simplification` (or a developer) to execute.
|
|
21
|
+
|
|
22
|
+
## When to use
|
|
23
|
+
|
|
24
|
+
- "What can we delete from this?" / "Is this over-engineered?" / "Find the bloat."
|
|
25
|
+
- A pre-merge lean pass on a diff, before the full review.
|
|
26
|
+
- A periodic whole-repo audit for accreted complexity.
|
|
27
|
+
|
|
28
|
+
## Scope
|
|
29
|
+
|
|
30
|
+
- **Diff mode (default):** scan the current change (`git diff`, staged, or a PR). Prefix findings with
|
|
31
|
+
the line; for multi-file diffs prefix with `file:line`.
|
|
32
|
+
- **Repo mode:** scan the whole tree. Rank findings biggest-cut-first.
|
|
33
|
+
|
|
34
|
+
State which mode you ran in one line at the top.
|
|
35
|
+
|
|
36
|
+
## The five tags
|
|
37
|
+
|
|
38
|
+
Every finding carries exactly one tag and names its replacement:
|
|
39
|
+
|
|
40
|
+
- `delete:` — dead code, unused flexibility, a speculative feature. Replacement: nothing.
|
|
41
|
+
- `stdlib:` — a hand-rolled thing the language's standard library already ships. Name the function.
|
|
42
|
+
- `native:` — a dependency or code doing what the platform already does (a built-in input type, a CSS
|
|
43
|
+
feature, a DB constraint, a framework primitive). Name the feature.
|
|
44
|
+
- `yagni:` — an abstraction with one implementation, a config nobody sets, a layer with one caller,
|
|
45
|
+
a factory with one product, a wrapper that only delegates.
|
|
46
|
+
- `shrink:` — same logic, fewer lines. Show the shorter form.
|
|
47
|
+
|
|
48
|
+
## What to hunt (repo mode checklist)
|
|
49
|
+
|
|
50
|
+
Dependencies the stdlib or platform already ships · single-implementation interfaces · factories with
|
|
51
|
+
one product · wrappers that only delegate · modules exporting one thing · dead flags and config ·
|
|
52
|
+
hand-rolled stdlib · speculative "for later" scaffolding.
|
|
53
|
+
|
|
54
|
+
## Output format
|
|
55
|
+
|
|
56
|
+
One line per finding. Diff mode:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
L<line>: <tag> <what>. <replacement>.
|
|
60
|
+
file:L<line>: <tag> <what>. <replacement>. # multi-file
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Repo mode, ranked biggest-cut-first:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
<tag> <what to cut>. <replacement>. [path]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
End with the only metric that matters:
|
|
70
|
+
|
|
71
|
+
- diff mode: `net: -<N> lines possible.`
|
|
72
|
+
- repo mode: `net: -<N> lines, -<M> deps possible.`
|
|
73
|
+
|
|
74
|
+
If there is nothing worth cutting, say `Lean already. Ship.` and stop. Do not invent findings to look
|
|
75
|
+
thorough — a clean report is a valid report.
|
|
76
|
+
|
|
77
|
+
### Examples (stack-neutral)
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
L12-38: stdlib: 27-line e-mail validator. An "@"/structure check is one line; real validation is the confirmation step.
|
|
81
|
+
L4: native: a date-picker dependency for one field. The platform's built-in date input, 0 deps.
|
|
82
|
+
repo/store.*:L88: yagni: AbstractRepository with one implementation. Inline it until a second exists. [src/store]
|
|
83
|
+
L52-71: delete: retry wrapper around an idempotent local call. Nothing replaces it.
|
|
84
|
+
L30-44: shrink: manual loop building a map. The stdlib zip/dict constructor, 1 line.
|
|
85
|
+
net: -120 lines, -1 dep possible.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Boundaries (do not over-cut)
|
|
89
|
+
|
|
90
|
+
- **Complexity only.** Correctness bugs, security holes, and performance go to a normal review pass
|
|
91
|
+
(`code-review-and-quality`) — not this one. If you spot one, note it in a single line under a
|
|
92
|
+
`# out of scope:` heading; don't fold it into the delete-list.
|
|
93
|
+
- **Never flag the required check.** This kit mandates a runnable test/verification for non-trivial
|
|
94
|
+
logic (`.claude/rules/testing.md`, `quality-gates.md`). The smallest test that proves the logic is
|
|
95
|
+
**not** bloat — never list it for deletion.
|
|
96
|
+
- **Never flag the carve-outs.** Input validation at trust boundaries, error handling that prevents
|
|
97
|
+
data loss, security controls, and accessibility are not over-engineering. Leave them.
|
|
98
|
+
- **Report only.** This skill lists findings and applies nothing. Approving and executing the cuts is a
|
|
99
|
+
separate, deliberate step (`code-simplification` for behavior-preserving edits).
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: simplification-debt
|
|
3
|
+
description: Harvests deliberately-deferred shortcuts from the codebase into one debt ledger, so "later" does not quietly become "never". Greps for TODO/FIXME/HACK markers and inline upgrade-path notes, groups them by file, and flags any shortcut that names no upgrade trigger as a silent-rot risk. Use when the user says "what did we defer", "list the shortcuts", "tech-debt ledger", "what's marked to do later", or "simplification debt". Reports only — changes nothing unless asked to persist the ledger.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Simplification Debt
|
|
7
|
+
|
|
8
|
+
> Inspired by the [ponytail](https://github.com/DietrichGebert/ponytail) plugin's debt-harvest idea.
|
|
9
|
+
> A deliberate shortcut is fine — an *untracked* one rots. This skill collects them into one place so a
|
|
10
|
+
> deferral stays visible until someone revisits it.
|
|
11
|
+
|
|
12
|
+
## The convention it harvests
|
|
13
|
+
|
|
14
|
+
A deliberate shortcut should record two things at the point it's taken: its **ceiling** (the limit it
|
|
15
|
+
hits) and its **upgrade path** (the trigger to revisit). claude-kit recognizes two equivalent forms
|
|
16
|
+
(see `.claude/rules/documentation.md`):
|
|
17
|
+
|
|
18
|
+
- **Ticketed:** `TODO(PROJ-123): naive O(n²) scan; switch to an index if the list grows.`
|
|
19
|
+
- **Inline upgrade path:** `# shortcut: global lock — per-account locks if throughput matters.`
|
|
20
|
+
|
|
21
|
+
Both are legitimate. A shortcut with **no** trigger ("TODO: fix later") is the one that rots.
|
|
22
|
+
|
|
23
|
+
## Scan
|
|
24
|
+
|
|
25
|
+
Grep the repo for shortcut markers, skipping vendored and build output (`node_modules`, `.git`,
|
|
26
|
+
`dist`, `build`, `vendor`, `target`, etc.). The pattern is language-neutral — markers live in comments,
|
|
27
|
+
so match common comment prefixes (`#`, `//`, `--`, `;`, `<!--`):
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
grep -rniE '(#|//|--|;|<!--)[[:space:]]*(TODO|FIXME|HACK|XXX|shortcut|ponytail):' . \
|
|
31
|
+
--exclude-dir={.git,node_modules,dist,build,vendor,target,.venv}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Add your stack's comment prefix if it differs. Each hit is one ledger row. Matching on the comment
|
|
35
|
+
prefix keeps prose that merely *mentions* the convention out of the ledger.
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
|
|
39
|
+
One row per marker, grouped by file:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
<file>:<line> — <what was simplified>. ceiling: <the limit named>. upgrade: <the trigger to revisit>.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Pull the ceiling and trigger straight from the comment when the `<ceiling>, <upgrade>` form is used.
|
|
46
|
+
Want an owner per row? add `git blame -L<line>,<line> <file>`.
|
|
47
|
+
|
|
48
|
+
**Flag the rot risk:** any marker that names no upgrade path or trigger gets a `no-trigger` tag — those
|
|
49
|
+
are the deferrals that silently become permanent.
|
|
50
|
+
|
|
51
|
+
End with a one-line tally:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
<N> markers, <M> with no trigger.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Nothing found: `No deferred shortcuts. Clean ledger.`
|
|
58
|
+
|
|
59
|
+
## Persisting (only if asked)
|
|
60
|
+
|
|
61
|
+
By default this reports to the conversation and changes nothing. If the user wants it tracked, write the
|
|
62
|
+
ledger to a file they choose (e.g. `SIMPLIFICATION-DEBT.md` at the repo root, or an entry under the
|
|
63
|
+
artifacts dir). Don't create the file unprompted.
|
|
64
|
+
|
|
65
|
+
## Boundaries
|
|
66
|
+
|
|
67
|
+
- **Reads and reports only.** It never edits code or removes markers.
|
|
68
|
+
- **Not a linter.** It surfaces *intentional* shortcuts to keep them honest; it does not judge code it
|
|
69
|
+
wasn't told about.
|
|
70
|
+
- Pairs with `over-engineering-review` (find complexity to cut now) and `code-simplification` (perform
|
|
71
|
+
the cut). This skill is about the shortcuts you *chose* to leave behind.
|
|
@@ -88,6 +88,12 @@ HOOK_REGISTRY: dict[str, dict[str, Any]] = {
|
|
|
88
88
|
"entry": _script_entry("load-learnings.sh"),
|
|
89
89
|
"script": "load-learnings.sh",
|
|
90
90
|
},
|
|
91
|
+
"load-autonomy": {
|
|
92
|
+
"event": "SessionStart",
|
|
93
|
+
"matcher": "",
|
|
94
|
+
"entry": _script_entry("load-autonomy.sh"),
|
|
95
|
+
"script": "load-autonomy.sh",
|
|
96
|
+
},
|
|
91
97
|
"skill-routing": {
|
|
92
98
|
"event": "UserPromptSubmit",
|
|
93
99
|
"matcher": "",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/accessibility-checklist.md
RENAMED
|
File without changes
|
{claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/_references/orchestration-patterns.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_kit-0.7.1 → claude_code_kit-0.8.0}/skills/browser-testing-with-devtools/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|