@softspark/ai-toolkit 1.0.0
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.
- package/AGENTS.md +412 -0
- package/CHANGELOG.md +68 -0
- package/LICENSE +21 -0
- package/README.md +632 -0
- package/action.yml +53 -0
- package/app/.claude-plugin/plugin.json +44 -0
- package/app/ARCHITECTURE.md +306 -0
- package/app/CLAUDE.md.template +23 -0
- package/app/agents/ai-engineer.md +128 -0
- package/app/agents/backend-specialist.md +193 -0
- package/app/agents/business-intelligence.md +54 -0
- package/app/agents/chaos-monkey.md +67 -0
- package/app/agents/chief-of-staff.md +51 -0
- package/app/agents/code-archaeologist.md +127 -0
- package/app/agents/code-reviewer.md +184 -0
- package/app/agents/command-expert.md +131 -0
- package/app/agents/data-analyst.md +205 -0
- package/app/agents/data-scientist.md +151 -0
- package/app/agents/database-architect.md +317 -0
- package/app/agents/debugger.md +238 -0
- package/app/agents/devops-implementer.md +194 -0
- package/app/agents/documenter.md +364 -0
- package/app/agents/explorer-agent.md +145 -0
- package/app/agents/fact-checker.md +172 -0
- package/app/agents/frontend-specialist.md +209 -0
- package/app/agents/game-developer.md +216 -0
- package/app/agents/incident-responder.md +226 -0
- package/app/agents/infrastructure-architect.md +127 -0
- package/app/agents/infrastructure-validator.md +247 -0
- package/app/agents/llm-ops-engineer.md +237 -0
- package/app/agents/mcp-expert.md +228 -0
- package/app/agents/mcp-server-architect.md +195 -0
- package/app/agents/mcp-testing-engineer.md +292 -0
- package/app/agents/meta-architect.md +58 -0
- package/app/agents/ml-engineer.md +136 -0
- package/app/agents/mobile-developer.md +190 -0
- package/app/agents/night-watchman.md +55 -0
- package/app/agents/nlp-engineer.md +154 -0
- package/app/agents/orchestrator.md +437 -0
- package/app/agents/performance-optimizer.md +254 -0
- package/app/agents/predictive-analyst.md +57 -0
- package/app/agents/product-manager.md +194 -0
- package/app/agents/project-planner.md +287 -0
- package/app/agents/prompt-engineer.md +103 -0
- package/app/agents/qa-automation-engineer.md +182 -0
- package/app/agents/rag-engineer.md +201 -0
- package/app/agents/research-synthesizer.md +138 -0
- package/app/agents/search-specialist.md +101 -0
- package/app/agents/security-architect.md +62 -0
- package/app/agents/security-auditor.md +293 -0
- package/app/agents/seo-specialist.md +111 -0
- package/app/agents/system-governor.md +57 -0
- package/app/agents/tech-lead.md +62 -0
- package/app/agents/technical-researcher.md +103 -0
- package/app/agents/test-engineer.md +264 -0
- package/app/constitution.md +38 -0
- package/app/hooks/_profile-check.sh +11 -0
- package/app/hooks/guard-destructive.sh +74 -0
- package/app/hooks/guard-path.sh +73 -0
- package/app/hooks/post-tool-use.sh +35 -0
- package/app/hooks/pre-compact.sh +31 -0
- package/app/hooks/quality-check.sh +22 -0
- package/app/hooks/quality-gate.sh +49 -0
- package/app/hooks/save-session.sh +24 -0
- package/app/hooks/session-end.sh +37 -0
- package/app/hooks/session-start.sh +29 -0
- package/app/hooks/subagent-start.sh +16 -0
- package/app/hooks/subagent-stop.sh +16 -0
- package/app/hooks/track-usage.sh +50 -0
- package/app/hooks/user-prompt-submit.sh +25 -0
- package/app/hooks.json +178 -0
- package/app/mcp-defaults.json +23 -0
- package/app/output-styles/golden-rules.md +43 -0
- package/app/plugins/README.md +19 -0
- package/app/plugins/csharp-pack/README.md +11 -0
- package/app/plugins/csharp-pack/plugin.json +18 -0
- package/app/plugins/enterprise-pack/README.md +16 -0
- package/app/plugins/enterprise-pack/hooks/output-style.sh +6 -0
- package/app/plugins/enterprise-pack/hooks/status-line.sh +8 -0
- package/app/plugins/enterprise-pack/plugin.json +24 -0
- package/app/plugins/frontend-pack/README.md +14 -0
- package/app/plugins/frontend-pack/plugin.json +22 -0
- package/app/plugins/java-pack/README.md +11 -0
- package/app/plugins/java-pack/plugin.json +18 -0
- package/app/plugins/kotlin-pack/README.md +11 -0
- package/app/plugins/kotlin-pack/plugin.json +18 -0
- package/app/plugins/memory-pack/README.md +24 -0
- package/app/plugins/memory-pack/hooks/observation-capture.sh +67 -0
- package/app/plugins/memory-pack/hooks/session-summary.sh +71 -0
- package/app/plugins/memory-pack/plugin.json +22 -0
- package/app/plugins/memory-pack/scripts/init_db.py +81 -0
- package/app/plugins/memory-pack/scripts/strip_private.py +22 -0
- package/app/plugins/memory-pack/skills/mem-search/SKILL.md +70 -0
- package/app/plugins/research-pack/README.md +14 -0
- package/app/plugins/research-pack/plugin.json +22 -0
- package/app/plugins/ruby-pack/README.md +11 -0
- package/app/plugins/ruby-pack/plugin.json +18 -0
- package/app/plugins/rust-pack/README.md +11 -0
- package/app/plugins/rust-pack/plugin.json +18 -0
- package/app/plugins/security-pack/README.md +15 -0
- package/app/plugins/security-pack/plugin.json +23 -0
- package/app/plugins/swift-pack/README.md +11 -0
- package/app/plugins/swift-pack/plugin.json +18 -0
- package/app/rules/claude-toolkit-rules.md +21 -0
- package/app/rules/git-conventions.md +5 -0
- package/app/rules/quality-gates.md +10 -0
- package/app/skills/_lib/__init__.py +1 -0
- package/app/skills/_lib/detect_utils.py +150 -0
- package/app/skills/agent-creator/SKILL.md +82 -0
- package/app/skills/analyze/SKILL.md +92 -0
- package/app/skills/analyze/scripts/complexity.py +165 -0
- package/app/skills/api-patterns/SKILL.md +305 -0
- package/app/skills/app-builder/SKILL.md +187 -0
- package/app/skills/architecture-audit/SKILL.md +141 -0
- package/app/skills/architecture-decision/SKILL.md +55 -0
- package/app/skills/architecture-decision/templates/adr-template.md +36 -0
- package/app/skills/biz-scan/SKILL.md +30 -0
- package/app/skills/briefing/SKILL.md +27 -0
- package/app/skills/build/SKILL.md +97 -0
- package/app/skills/build/scripts/detect-build.py +151 -0
- package/app/skills/chaos/SKILL.md +32 -0
- package/app/skills/ci/SKILL.md +77 -0
- package/app/skills/ci/scripts/ci-detect.py +135 -0
- package/app/skills/ci/templates/github-actions-node.yml +38 -0
- package/app/skills/ci/templates/github-actions-python.yml +42 -0
- package/app/skills/ci-cd-patterns/SKILL.md +299 -0
- package/app/skills/clean-code/SKILL.md +110 -0
- package/app/skills/clean-code/reference/dart.md +18 -0
- package/app/skills/clean-code/reference/go.md +23 -0
- package/app/skills/clean-code/reference/php.md +32 -0
- package/app/skills/clean-code/reference/python.md +180 -0
- package/app/skills/clean-code/reference/typescript.md +26 -0
- package/app/skills/command-creator/SKILL.md +83 -0
- package/app/skills/commit/SKILL.md +98 -0
- package/app/skills/commit/scripts/pre-commit-check.py +87 -0
- package/app/skills/commit/templates/conventional-commit.md +52 -0
- package/app/skills/csharp-patterns/SKILL.md +450 -0
- package/app/skills/database-patterns/SKILL.md +297 -0
- package/app/skills/debug/SKILL.md +154 -0
- package/app/skills/debug/scripts/error-parser.py +187 -0
- package/app/skills/debugging-tactics/SKILL.md +136 -0
- package/app/skills/deploy/SKILL.md +130 -0
- package/app/skills/deploy/scripts/pre_deploy_check.py +171 -0
- package/app/skills/deploy/templates/deployment-checklist.md +31 -0
- package/app/skills/design-an-interface/SKILL.md +105 -0
- package/app/skills/design-engineering/SKILL.md +260 -0
- package/app/skills/docker-devops/SKILL.md +303 -0
- package/app/skills/docs/SKILL.md +145 -0
- package/app/skills/docs/scripts/doc-inventory.py +176 -0
- package/app/skills/docs/templates/adr-template.md +36 -0
- package/app/skills/docs/templates/readme-template.md +67 -0
- package/app/skills/documentation-standards/SKILL.md +191 -0
- package/app/skills/ecommerce-patterns/SKILL.md +209 -0
- package/app/skills/evaluate/SKILL.md +132 -0
- package/app/skills/evolve/SKILL.md +27 -0
- package/app/skills/explain/SKILL.md +54 -0
- package/app/skills/explain/scripts/dependency-graph.py +215 -0
- package/app/skills/explore/SKILL.md +112 -0
- package/app/skills/explore/scripts/visualize.py +117 -0
- package/app/skills/fix/SKILL.md +78 -0
- package/app/skills/fix/scripts/error-classifier.py +191 -0
- package/app/skills/flutter-patterns/SKILL.md +254 -0
- package/app/skills/git-mastery/SKILL.md +70 -0
- package/app/skills/grill-me/SKILL.md +38 -0
- package/app/skills/health/SKILL.md +91 -0
- package/app/skills/health/scripts/health_check.py +162 -0
- package/app/skills/hive-mind/SKILL.md +56 -0
- package/app/skills/hook-creator/SKILL.md +107 -0
- package/app/skills/index/SKILL.md +74 -0
- package/app/skills/instinct-review/SKILL.md +77 -0
- package/app/skills/java-patterns/SKILL.md +442 -0
- package/app/skills/kotlin-patterns/SKILL.md +446 -0
- package/app/skills/lint/SKILL.md +103 -0
- package/app/skills/lint/scripts/detect-linters.py +112 -0
- package/app/skills/mcp-patterns/SKILL.md +270 -0
- package/app/skills/mem-search/SKILL.md +70 -0
- package/app/skills/migrate/SKILL.md +90 -0
- package/app/skills/migrate/scripts/migration-status.py +195 -0
- package/app/skills/migration-patterns/SKILL.md +260 -0
- package/app/skills/night-watch/SKILL.md +28 -0
- package/app/skills/observability-patterns/SKILL.md +203 -0
- package/app/skills/onboard/SKILL.md +76 -0
- package/app/skills/orchestrate/SKILL.md +86 -0
- package/app/skills/panic/SKILL.md +30 -0
- package/app/skills/performance-profiling/SKILL.md +59 -0
- package/app/skills/plan/SKILL.md +110 -0
- package/app/skills/plan/templates/plan-template.md +40 -0
- package/app/skills/plan-writing/SKILL.md +201 -0
- package/app/skills/plugin-creator/SKILL.md +78 -0
- package/app/skills/pr/SKILL.md +129 -0
- package/app/skills/pr/scripts/pr-summary.py +175 -0
- package/app/skills/prd-to-issues/SKILL.md +108 -0
- package/app/skills/prd-to-plan/SKILL.md +120 -0
- package/app/skills/predict/SKILL.md +30 -0
- package/app/skills/qa-session/SKILL.md +110 -0
- package/app/skills/rag-patterns/SKILL.md +203 -0
- package/app/skills/refactor/SKILL.md +124 -0
- package/app/skills/refactor/scripts/refactor-scan.py +210 -0
- package/app/skills/refactor-plan/SKILL.md +112 -0
- package/app/skills/repeat/SKILL.md +149 -0
- package/app/skills/research-mastery/SKILL.md +56 -0
- package/app/skills/review/SKILL.md +141 -0
- package/app/skills/review/scripts/diff-analyzer.py +170 -0
- package/app/skills/rollback/SKILL.md +87 -0
- package/app/skills/rollback/scripts/rollback_info.py +149 -0
- package/app/skills/ruby-patterns/SKILL.md +454 -0
- package/app/skills/rust-patterns/SKILL.md +446 -0
- package/app/skills/search/SKILL.md +64 -0
- package/app/skills/security-patterns/SKILL.md +91 -0
- package/app/skills/security-patterns/reference/authentication.md +37 -0
- package/app/skills/security-patterns/reference/authorization.md +22 -0
- package/app/skills/security-patterns/reference/input-validation.md +30 -0
- package/app/skills/security-patterns/reference/oauth-csrf-audit.md +131 -0
- package/app/skills/skill-creator/SKILL.md +154 -0
- package/app/skills/skill-creator/templates/dashboard/index.html +130 -0
- package/app/skills/skill-creator/templates/reasoning-engine/assets/example.json +12 -0
- package/app/skills/skill-creator/templates/reasoning-engine/search.py +110 -0
- package/app/skills/subagent-development/SKILL.md +225 -0
- package/app/skills/subagent-development/reference/code-quality-reviewer-prompt.md +145 -0
- package/app/skills/subagent-development/reference/implementer-prompt.md +118 -0
- package/app/skills/subagent-development/reference/spec-reviewer-prompt.md +100 -0
- package/app/skills/swarm/SKILL.md +81 -0
- package/app/skills/swift-patterns/SKILL.md +500 -0
- package/app/skills/tdd/SKILL.md +174 -0
- package/app/skills/tdd/reference/deep-modules.md +32 -0
- package/app/skills/tdd/reference/interface-design.md +32 -0
- package/app/skills/tdd/reference/mocking.md +52 -0
- package/app/skills/tdd/reference/refactoring.md +10 -0
- package/app/skills/tdd/reference/tests.md +59 -0
- package/app/skills/teams/SKILL.md +101 -0
- package/app/skills/test/SKILL.md +107 -0
- package/app/skills/test/scripts/detect-runner.py +113 -0
- package/app/skills/testing-patterns/SKILL.md +73 -0
- package/app/skills/testing-patterns/reference/flutter-testing.md +33 -0
- package/app/skills/testing-patterns/reference/go-testing.md +52 -0
- package/app/skills/testing-patterns/reference/php-phpunit.md +39 -0
- package/app/skills/testing-patterns/reference/python-pytest.md +228 -0
- package/app/skills/testing-patterns/reference/typescript-vitest.md +50 -0
- package/app/skills/triage-issue/SKILL.md +120 -0
- package/app/skills/typescript-patterns/SKILL.md +256 -0
- package/app/skills/ubiquitous-language/SKILL.md +74 -0
- package/app/skills/verification-before-completion/SKILL.md +108 -0
- package/app/skills/workflow/SKILL.md +250 -0
- package/app/skills/write-a-prd/SKILL.md +129 -0
- package/app/skills/write-a-prd/reference/visual-companion.md +78 -0
- package/app/skills/write-a-prd/scripts/frame-template.html +111 -0
- package/app/skills/write-a-prd/scripts/visual-server.cjs +79 -0
- package/app/templates/skill/generator/SKILL.md.template +40 -0
- package/app/templates/skill/knowledge/SKILL.md.template +52 -0
- package/app/templates/skill/linter/SKILL.md.template +34 -0
- package/app/templates/skill/reviewer/SKILL.md.template +51 -0
- package/app/templates/skill/workflow/SKILL.md.template +49 -0
- package/benchmarks/README.md +111 -0
- package/benchmarks/ecosystem-dashboard.json +148 -0
- package/benchmarks/ecosystem-harvest.json +148 -0
- package/benchmarks/results.json +38 -0
- package/benchmarks/run.py +351 -0
- package/bin/ai-toolkit.js +345 -0
- package/kb/best-practices/README.md +11 -0
- package/kb/howto/README.md +11 -0
- package/kb/procedures/maintenance-sop.md +306 -0
- package/kb/reference/agents-catalog.md +124 -0
- package/kb/reference/anti-pattern-registry-format.md +221 -0
- package/kb/reference/architecture-overview.md +232 -0
- package/kb/reference/benchmark-config.md +62 -0
- package/kb/reference/ci-integration.md +66 -0
- package/kb/reference/claude-ecosystem-benchmark-snapshot.md +80 -0
- package/kb/reference/claude-ecosystem-expansion-foundations.md +102 -0
- package/kb/reference/commands-catalog.md +21 -0
- package/kb/reference/distribution-model.md +63 -0
- package/kb/reference/global-install-model.md +56 -0
- package/kb/reference/hierarchical-override-pattern.md +200 -0
- package/kb/reference/hooks-catalog.md +306 -0
- package/kb/reference/integrations.md +88 -0
- package/kb/reference/language-packs.md +52 -0
- package/kb/reference/merge-friendly-install-model.md +58 -0
- package/kb/reference/plugin-pack-conventions.md +151 -0
- package/kb/reference/quick-wins-implementation-summary.md +70 -0
- package/kb/reference/skill-templates.md +50 -0
- package/kb/reference/skills-catalog.md +215 -0
- package/kb/reference/skills-unification.md +57 -0
- package/kb/reference/stats.md +69 -0
- package/kb/reference/sync.md +76 -0
- package/kb/troubleshooting/README.md +11 -0
- package/llms-full.txt +3068 -0
- package/llms.txt +39 -0
- package/package.json +75 -0
- package/scripts/_common.py +160 -0
- package/scripts/add_rule.py +50 -0
- package/scripts/benchmark_config.py +127 -0
- package/scripts/benchmark_ecosystem.py +288 -0
- package/scripts/check_deps.py +260 -0
- package/scripts/create_skill.py +118 -0
- package/scripts/doctor.py +504 -0
- package/scripts/eject.py +113 -0
- package/scripts/emission.py +256 -0
- package/scripts/evaluate_skills.py +260 -0
- package/scripts/frontmatter.py +58 -0
- package/scripts/generate_agents_md.py +91 -0
- package/scripts/generate_aider_conf.py +51 -0
- package/scripts/generate_cline.py +35 -0
- package/scripts/generate_copilot.py +30 -0
- package/scripts/generate_cursor_rules.py +35 -0
- package/scripts/generate_gemini.py +28 -0
- package/scripts/generate_llms_txt.py +164 -0
- package/scripts/generate_roo_modes.py +80 -0
- package/scripts/generate_windsurf.py +35 -0
- package/scripts/generator_base.py +140 -0
- package/scripts/harvest_ecosystem.py +50 -0
- package/scripts/inject_rule_cli.py +101 -0
- package/scripts/inject_section_cli.py +47 -0
- package/scripts/injection.py +180 -0
- package/scripts/install.py +236 -0
- package/scripts/install_git_hooks.py +71 -0
- package/scripts/install_steps/__init__.py +5 -0
- package/scripts/install_steps/ai_tools.py +261 -0
- package/scripts/install_steps/hooks.py +90 -0
- package/scripts/install_steps/markers.py +79 -0
- package/scripts/install_steps/symlinks.py +87 -0
- package/scripts/merge-hooks.py +192 -0
- package/scripts/plugin.py +642 -0
- package/scripts/plugin_schema.py +138 -0
- package/scripts/remove_rule.py +58 -0
- package/scripts/stats.py +81 -0
- package/scripts/sync.py +215 -0
- package/scripts/uninstall.py +292 -0
- package/scripts/validate.py +700 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "AI Toolkit - CI Integration"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
tags: [ci, github-actions, automation, validation]
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
created: "2026-03-29"
|
|
8
|
+
last_updated: "2026-03-29"
|
|
9
|
+
description: "Reusable GitHub Action for ai-toolkit validation in CI pipelines."
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# CI Integration
|
|
13
|
+
|
|
14
|
+
## GitHub Action
|
|
15
|
+
|
|
16
|
+
Validate your toolkit setup in CI using the reusable composite action.
|
|
17
|
+
|
|
18
|
+
### Basic Usage
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
# .github/workflows/validate-toolkit.yml
|
|
22
|
+
name: Validate AI Toolkit
|
|
23
|
+
on: [push, pull_request]
|
|
24
|
+
jobs:
|
|
25
|
+
validate:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
- uses: softspark/ai-toolkit@v1
|
|
30
|
+
with:
|
|
31
|
+
command: validate
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Inputs
|
|
35
|
+
|
|
36
|
+
| Input | Default | Description |
|
|
37
|
+
|-------|---------|-------------|
|
|
38
|
+
| `toolkit-version` | `latest` | npm version of @softspark/ai-toolkit |
|
|
39
|
+
| `node-version` | `20` | Node.js version |
|
|
40
|
+
| `command` | `validate` | Command to run (`validate` or `doctor`) |
|
|
41
|
+
|
|
42
|
+
### Outputs
|
|
43
|
+
|
|
44
|
+
| Output | Description |
|
|
45
|
+
|--------|-------------|
|
|
46
|
+
| `status` | `pass` or `fail` |
|
|
47
|
+
|
|
48
|
+
## Alternative: npx
|
|
49
|
+
|
|
50
|
+
For simpler setups without the action:
|
|
51
|
+
|
|
52
|
+
```yaml
|
|
53
|
+
- uses: actions/setup-node@v4
|
|
54
|
+
with:
|
|
55
|
+
node-version: 20
|
|
56
|
+
- run: npx @softspark/ai-toolkit validate
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## What Gets Validated
|
|
60
|
+
|
|
61
|
+
- Agent frontmatter (name, description, tools, model)
|
|
62
|
+
- Skill frontmatter (name, description, format, references)
|
|
63
|
+
- Hook event names against whitelist
|
|
64
|
+
- Plugin pack manifests (JSON validity, asset references)
|
|
65
|
+
- Metadata contracts (README badges vs actual counts)
|
|
66
|
+
- Core file presence (LICENSE, CHANGELOG, SECURITY)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Claude Ecosystem Benchmark Snapshot"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
tags: [benchmark, ecosystem, claude-code, competitive-analysis, roadmap]
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
created: "2026-03-28"
|
|
8
|
+
last_updated: "2026-04-01"
|
|
9
|
+
description: "Repeatable benchmark snapshot of official Claude Code and selected external repositories used to guide ai-toolkit expansion decisions."
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Claude Ecosystem Benchmark Snapshot
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
This document records the external repositories that `ai-toolkit` uses as benchmark inputs for ecosystem expansion work. It complements the planning documents by turning the benchmark set into a stable, repeatable reference.
|
|
17
|
+
|
|
18
|
+
## Source Set
|
|
19
|
+
|
|
20
|
+
- `anthropics/claude-code`
|
|
21
|
+
- `affaan-m/everything-claude-code`
|
|
22
|
+
- `ChrisWiles/claude-code-showcase`
|
|
23
|
+
- `disler/claude-code-hooks-mastery`
|
|
24
|
+
- `codeaholicguy/ai-devkit`
|
|
25
|
+
- `alirezarezvani/claude-code-skill-factory`
|
|
26
|
+
|
|
27
|
+
## Snapshot (2026-03-28)
|
|
28
|
+
|
|
29
|
+
| Repository | Category | Why it matters |
|
|
30
|
+
|------------|----------|----------------|
|
|
31
|
+
| `anthropics/claude-code` | official | Canonical plugin layout, command development, hook development, feature workflows |
|
|
32
|
+
| `affaan-m/everything-claude-code` | ecosystem-scale | Scale benchmark for commands, agents, and packaging patterns |
|
|
33
|
+
| `ChrisWiles/claude-code-showcase` | practical-showcase | Strong examples of edit-time automation and branch safety hooks |
|
|
34
|
+
| `disler/claude-code-hooks-mastery` | hooks-reference | Strong reference for lifecycle breadth and operational hook patterns |
|
|
35
|
+
| `codeaholicguy/ai-devkit` | cross-tool | Cross-tool toolkit positioning benchmark |
|
|
36
|
+
| `alirezarezvani/claude-code-skill-factory` | meta-tooling | Creator workflow and factory-style inspiration |
|
|
37
|
+
|
|
38
|
+
## Operational Use
|
|
39
|
+
|
|
40
|
+
Use the benchmark script for a repeatable snapshot:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python3 scripts/benchmark_ecosystem.py --offline
|
|
44
|
+
python3 scripts/benchmark_ecosystem.py --format json
|
|
45
|
+
python3 scripts/benchmark_ecosystem.py --dashboard-json
|
|
46
|
+
python3 scripts/harvest_ecosystem.py --offline
|
|
47
|
+
python3 scripts/benchmark_ecosystem.py --out /tmp/claude-ecosystem-benchmark.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The script prefers live GitHub metadata when available and falls back to the embedded snapshot when offline.
|
|
51
|
+
|
|
52
|
+
Machine-readable artifacts:
|
|
53
|
+
|
|
54
|
+
- `benchmarks/ecosystem-dashboard.json` — curated dashboard summary with freshness and comparison matrix
|
|
55
|
+
- `benchmarks/ecosystem-harvest.json` — latest harvested benchmark JSON for roadmap / changelog reuse
|
|
56
|
+
|
|
57
|
+
## Adoption Matrix
|
|
58
|
+
|
|
59
|
+
| Pattern | Current ai-toolkit State | Benchmark Signal | Priority |
|
|
60
|
+
|---------|--------------------------|------------------|----------|
|
|
61
|
+
| Plugin manifest | Present | Strong in official Claude Code | High |
|
|
62
|
+
| Hook creator workflow | Present | Reinforced by official plugin-dev assets | High |
|
|
63
|
+
| Command creator workflow | Present | Reinforced by command-development patterns | High |
|
|
64
|
+
| Agent creator workflow | Present | Reinforced by agent-development patterns | High |
|
|
65
|
+
| Lifecycle breadth (`PreCompact`) | Present | Validated by hooks-focused repos | High |
|
|
66
|
+
| Lifecycle breadth (`PostToolUse`) | Present | Strong benchmark signal | High |
|
|
67
|
+
| Lifecycle breadth (`UserPromptSubmit`) | Present | Prompt-governance benchmark signal | High |
|
|
68
|
+
| Lifecycle breadth (`SubagentStart` / `SubagentStop`) | Present | Strong subagent instrumentation signal | Medium |
|
|
69
|
+
| Lifecycle breadth (`SessionEnd`) | Present | Needed for handoff / cleanup patterns | Medium |
|
|
70
|
+
| Ecosystem benchmark script | Present | Needed for repeatable comparison | High |
|
|
71
|
+
| Harvesting script + dashboard JSON | Present | Repeatable evidence for roadmap and release notes | High |
|
|
72
|
+
| Domain plugin packs | Present (experimental) | Validates modular packaging direction | Medium |
|
|
73
|
+
| Policy packs | Not yet implemented | Strong but still optional | Later |
|
|
74
|
+
|
|
75
|
+
## Notes
|
|
76
|
+
|
|
77
|
+
- This snapshot is intentionally small and curated.
|
|
78
|
+
- The goal is decision quality, not ecosystem collection for its own sake.
|
|
79
|
+
- Large benchmark repositories are references, not implementation blueprints.
|
|
80
|
+
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Claude Ecosystem Expansion Foundations"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
tags: [benchmark, claude-code, ecosystem, hooks, plugins, architecture]
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
created: "2026-03-27"
|
|
8
|
+
last_updated: "2026-04-01"
|
|
9
|
+
description: "Reference summary of the ecosystem signals and implementation foundations adopted in ai-toolkit."
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Claude Ecosystem Expansion Foundations
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
This document captures the architectural foundations adopted in `ai-toolkit` after reviewing:
|
|
17
|
+
|
|
18
|
+
1. the current toolkit repository,
|
|
19
|
+
2. official Claude Code patterns,
|
|
20
|
+
3. selected external benchmark repositories.
|
|
21
|
+
|
|
22
|
+
The outcome is a toolkit that is now positioned as a more modular, Claude-native, benchmark-backed system with stronger lifecycle automation and extension tooling.
|
|
23
|
+
|
|
24
|
+
## Implemented Foundations
|
|
25
|
+
|
|
26
|
+
### 1. Plugin-oriented structure
|
|
27
|
+
|
|
28
|
+
`ai-toolkit` now treats plugin packaging as a first-class capability.
|
|
29
|
+
|
|
30
|
+
Implemented artifacts:
|
|
31
|
+
- `app/.claude-plugin/plugin.json`
|
|
32
|
+
- `app/plugins/`
|
|
33
|
+
- `app/skills/plugin-creator/SKILL.md`
|
|
34
|
+
- `kb/reference/plugin-pack-conventions.md`
|
|
35
|
+
|
|
36
|
+
### 2. Broader lifecycle coverage
|
|
37
|
+
|
|
38
|
+
The toolkit now covers prompt, edit, subagent, compaction, and session-end phases.
|
|
39
|
+
|
|
40
|
+
Implemented events:
|
|
41
|
+
- `SessionStart`
|
|
42
|
+
- `Notification`
|
|
43
|
+
- `PreToolUse`
|
|
44
|
+
- `UserPromptSubmit`
|
|
45
|
+
- `PostToolUse`
|
|
46
|
+
- `Stop`
|
|
47
|
+
- `TaskCompleted`
|
|
48
|
+
- `TeammateIdle`
|
|
49
|
+
- `SubagentStart`
|
|
50
|
+
- `SubagentStop`
|
|
51
|
+
- `PreCompact`
|
|
52
|
+
- `SessionEnd`
|
|
53
|
+
|
|
54
|
+
### 3. Creator workflows
|
|
55
|
+
|
|
56
|
+
The toolkit now includes first-class creator workflows for extension work:
|
|
57
|
+
- `hook-creator`
|
|
58
|
+
- `command-creator`
|
|
59
|
+
- `agent-creator`
|
|
60
|
+
- `plugin-creator`
|
|
61
|
+
|
|
62
|
+
### 4. Benchmark-backed maintenance
|
|
63
|
+
|
|
64
|
+
External ecosystem research is operationalized through repeatable scripts and machine-readable artifacts.
|
|
65
|
+
|
|
66
|
+
Implemented artifacts:
|
|
67
|
+
- `scripts/benchmark_ecosystem.py`
|
|
68
|
+
- `scripts/harvest_ecosystem.py`
|
|
69
|
+
- `benchmarks/ecosystem-dashboard.json`
|
|
70
|
+
- `benchmarks/ecosystem-harvest.json`
|
|
71
|
+
- `kb/reference/claude-ecosystem-benchmark-snapshot.md`
|
|
72
|
+
|
|
73
|
+
## Benchmark Inputs
|
|
74
|
+
|
|
75
|
+
The reference benchmark set is intentionally curated:
|
|
76
|
+
- `anthropics/claude-code`
|
|
77
|
+
- `affaan-m/everything-claude-code`
|
|
78
|
+
- `ChrisWiles/claude-code-showcase`
|
|
79
|
+
- `disler/claude-code-hooks-mastery`
|
|
80
|
+
- `codeaholicguy/ai-devkit`
|
|
81
|
+
- `alirezarezvani/claude-code-skill-factory`
|
|
82
|
+
|
|
83
|
+
## Adopted Outcomes
|
|
84
|
+
|
|
85
|
+
| Area | Adopted in ai-toolkit |
|
|
86
|
+
|------|------------------------|
|
|
87
|
+
| Plugin manifests | Yes |
|
|
88
|
+
| Domain plugin packs | Yes (experimental) |
|
|
89
|
+
| Hook creator workflow | Yes |
|
|
90
|
+
| Command creator workflow | Yes |
|
|
91
|
+
| Agent creator workflow | Yes |
|
|
92
|
+
| Plugin creator workflow | Yes |
|
|
93
|
+
| Post-edit feedback hooks | Yes |
|
|
94
|
+
| Prompt governance hook | Yes |
|
|
95
|
+
| Subagent lifecycle hooks | Yes |
|
|
96
|
+
| Session-end handoff | Yes |
|
|
97
|
+
| Benchmark dashboard JSON | Yes |
|
|
98
|
+
| Harvesting workflow | Yes |
|
|
99
|
+
|
|
100
|
+
## Current Position
|
|
101
|
+
|
|
102
|
+
`ai-toolkit` is now documented and implemented as a complete, production-ready toolkit baseline rather than a staged roadmap. Future changes should be treated as normal product evolution, not backlog catch-up.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "AI Toolkit - Commands Catalog (DEPRECATED)"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
tags: [commands, deprecated]
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
created: "2026-03-23"
|
|
8
|
+
last_updated: "2026-03-28"
|
|
9
|
+
description: "DEPRECATED: All slash commands are implemented as skills. See skills-catalog.md for the current catalog."
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Commands Catalog (DEPRECATED)
|
|
13
|
+
|
|
14
|
+
All slash commands have been migrated to skills.
|
|
15
|
+
|
|
16
|
+
See **[Skills Catalog](skills-catalog.md)** for the complete list of 85 skills, including:
|
|
17
|
+
- **27 Task Skills** — formerly standalone commands and creator workflows (e.g., `/commit`, `/test`, `/deploy`, `/hook-creator`, `/plugin-creator`)
|
|
18
|
+
- **27 Hybrid Skills** — slash commands that also provide agent knowledge (e.g., `/review`, `/debug`, `/plan`, `/tdd`, `/write-a-prd`)
|
|
19
|
+
- **31 Knowledge Skills** — domain patterns auto-loaded by agents
|
|
20
|
+
|
|
21
|
+
Slash command syntax (`/command`) continues to work. The underlying implementation moved from `app/commands/` to `app/skills/`.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Distribution Model"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
tags: [architecture, distribution, symlinks, npm, install]
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
created: "2026-03-23"
|
|
8
|
+
last_updated: "2026-03-28"
|
|
9
|
+
description: "Reference description of how ai-toolkit is delivered and propagated on a developer machine."
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Distribution Model
|
|
13
|
+
|
|
14
|
+
## Summary
|
|
15
|
+
|
|
16
|
+
`ai-toolkit` uses a split delivery model:
|
|
17
|
+
|
|
18
|
+
- **npm package** for delivery to the machine,
|
|
19
|
+
- **filesystem symlinks and merged files** for propagation into Claude Code directories.
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
npm install -g @softspark/ai-toolkit → delivers toolkit files
|
|
23
|
+
ai-toolkit install → links / merges into ~/.claude/
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Why this model exists
|
|
27
|
+
|
|
28
|
+
The toolkit must be reusable across many projects while remaining easy to update from one place.
|
|
29
|
+
|
|
30
|
+
This model gives:
|
|
31
|
+
- standard installation and versioning,
|
|
32
|
+
- instant propagation for symlinked assets,
|
|
33
|
+
- predictable update flow for merged / copied assets,
|
|
34
|
+
- one source of truth per machine.
|
|
35
|
+
|
|
36
|
+
## Adopted Strategies
|
|
37
|
+
|
|
38
|
+
| Layer | Mechanism | Result |
|
|
39
|
+
|------|-----------|--------|
|
|
40
|
+
| Delivery | npm package | standard install / update UX |
|
|
41
|
+
| Agents | per-file symlinks | zero-overhead propagation |
|
|
42
|
+
| Skills | per-directory symlinks | zero-overhead propagation |
|
|
43
|
+
| Hooks | copied scripts + merged JSON | safe runtime integration |
|
|
44
|
+
| Docs / rules | marker injection | user content preserved |
|
|
45
|
+
|
|
46
|
+
## Trade-offs
|
|
47
|
+
|
|
48
|
+
### Positive
|
|
49
|
+
- easy installation
|
|
50
|
+
- clear update path
|
|
51
|
+
- global reuse across projects
|
|
52
|
+
- low propagation overhead
|
|
53
|
+
|
|
54
|
+
### Negative
|
|
55
|
+
- symlink targets depend on a valid global install location
|
|
56
|
+
- merged / copied assets require `ai-toolkit update` after source changes
|
|
57
|
+
- all projects on a machine share the same installed toolkit version
|
|
58
|
+
|
|
59
|
+
## Related Documents
|
|
60
|
+
|
|
61
|
+
- `kb/reference/global-install-model.md`
|
|
62
|
+
- `kb/reference/merge-friendly-install-model.md`
|
|
63
|
+
- `kb/reference/architecture-overview.md`
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Global Install Model"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
tags: [install, global, claude, local-setup]
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
created: "2026-03-26"
|
|
8
|
+
last_updated: "2026-03-28"
|
|
9
|
+
description: "Reference description of the global install target, local project setup, and command responsibilities in ai-toolkit."
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Global Install Model
|
|
13
|
+
|
|
14
|
+
## Summary
|
|
15
|
+
|
|
16
|
+
`ai-toolkit` installs globally into `~/.claude/` by default.
|
|
17
|
+
|
|
18
|
+
That means one machine-level install provides agents, skills, hooks, and rules to every project without committing toolkit boilerplate into each repository.
|
|
19
|
+
|
|
20
|
+
## Command Responsibilities
|
|
21
|
+
|
|
22
|
+
| Command | Target | Purpose |
|
|
23
|
+
|---------|--------|---------|
|
|
24
|
+
| `ai-toolkit install` | `~/.claude/` | first-time machine setup |
|
|
25
|
+
| `ai-toolkit update` | `~/.claude/` | re-apply after package or rule changes |
|
|
26
|
+
| `ai-toolkit install --local` | current project | create local `CLAUDE.md`, `.claude/settings.local.json`, and inject constitution + Copilot + Cline + Roo Code + Aider configs. Installs git hooks fallback. |
|
|
27
|
+
| `ai-toolkit update --local` | current project | refresh those local project files |
|
|
28
|
+
| `ai-toolkit add-rule` | `~/.ai-toolkit/rules/` | register a global rule |
|
|
29
|
+
| `ai-toolkit remove-rule` | `~/.ai-toolkit/rules/` | unregister a global rule |
|
|
30
|
+
|
|
31
|
+
## Why global install is the default
|
|
32
|
+
|
|
33
|
+
- less setup friction,
|
|
34
|
+
- no repeated per-project install step,
|
|
35
|
+
- easier machine-level upgrades,
|
|
36
|
+
- correct alignment with Claude Code user-level paths.
|
|
37
|
+
|
|
38
|
+
## What remains project-local
|
|
39
|
+
|
|
40
|
+
These files still stay local to a repository:
|
|
41
|
+
- `CLAUDE.md`
|
|
42
|
+
- `.claude/settings.local.json`
|
|
43
|
+
- `.claude/constitution.md`
|
|
44
|
+
- `.github/copilot-instructions.md`
|
|
45
|
+
- `.clinerules`
|
|
46
|
+
- `.roomodes`
|
|
47
|
+
- `.aider.conf.yml`
|
|
48
|
+
- `.git/hooks/pre-commit` (fallback)
|
|
49
|
+
- project-specific documentation or safety overlays
|
|
50
|
+
|
|
51
|
+
Hooks do **not** live in project-local settings. They are merged only into global `~/.claude/settings.json`.
|
|
52
|
+
|
|
53
|
+
## Related Documents
|
|
54
|
+
|
|
55
|
+
- `kb/reference/distribution-model.md`
|
|
56
|
+
- `kb/reference/merge-friendly-install-model.md`
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Hierarchical Override Pattern"
|
|
3
|
+
category: reference
|
|
4
|
+
service: ai-toolkit
|
|
5
|
+
description: "Convention for SKILL.md + reference/*.md relationship with explicit override semantics."
|
|
6
|
+
tags: [skills, architecture, patterns, override]
|
|
7
|
+
created: 2026-04-01
|
|
8
|
+
last_updated: 2026-04-01
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Hierarchical Override Pattern
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
Skills in ai-toolkit follow a two-level content hierarchy: a master `SKILL.md`
|
|
16
|
+
file that defines global defaults and the main instruction flow, and optional
|
|
17
|
+
`reference/*.md` files that extend and specialize without contradicting the
|
|
18
|
+
master.
|
|
19
|
+
|
|
20
|
+
This document defines the conventions, override semantics, and splitting
|
|
21
|
+
criteria for this pattern.
|
|
22
|
+
|
|
23
|
+
## Architecture
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
app/skills/<skill-name>/
|
|
27
|
+
SKILL.md # Master: global defaults, main flow
|
|
28
|
+
reference/
|
|
29
|
+
domain-a.md # Extension: adds detail for domain A
|
|
30
|
+
domain-b.md # Extension: adds detail for domain B
|
|
31
|
+
visual-companion.md # Extension: visual/UI-specific guidance
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Roles
|
|
35
|
+
|
|
36
|
+
### SKILL.md (Master)
|
|
37
|
+
|
|
38
|
+
The `SKILL.md` file is the single source of truth for a skill. It defines:
|
|
39
|
+
|
|
40
|
+
- **Purpose and scope** of the skill.
|
|
41
|
+
- **Global defaults** that apply unless overridden by context.
|
|
42
|
+
- **Main instruction flow** -- the step-by-step process the agent follows.
|
|
43
|
+
- **Cross-references** to reference files (explicit `see reference/X.md` links).
|
|
44
|
+
- **Invocation metadata** (frontmatter: `disable-model-invocation`, etc.).
|
|
45
|
+
|
|
46
|
+
The master file is always loaded. It is the entry point for the agent.
|
|
47
|
+
|
|
48
|
+
### reference/*.md (Extensions)
|
|
49
|
+
|
|
50
|
+
Reference files extend the master by providing:
|
|
51
|
+
|
|
52
|
+
- **Domain-specific detail** that would bloat the master.
|
|
53
|
+
- **Lookup tables** (e.g., language-specific patterns, framework configs).
|
|
54
|
+
- **Specialized workflows** that apply in narrow contexts.
|
|
55
|
+
- **Examples and templates** too long for inline inclusion.
|
|
56
|
+
|
|
57
|
+
Reference files are loaded on demand -- only when the agent determines the
|
|
58
|
+
context requires them, or when the master explicitly references them.
|
|
59
|
+
|
|
60
|
+
## Override Semantics
|
|
61
|
+
|
|
62
|
+
The relationship between master and reference files follows strict rules:
|
|
63
|
+
|
|
64
|
+
### Rule 1: Reference files ADD, never REPLACE
|
|
65
|
+
|
|
66
|
+
A reference file must not contradict the master. It adds specificity within the
|
|
67
|
+
boundaries the master defines.
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
SKILL.md says: "Use type hints on all public APIs"
|
|
71
|
+
reference/go.md: "Use Go's built-in type system; exported functions are public APIs"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This is valid -- it specializes the general rule for Go without contradicting it.
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
SKILL.md says: "Always validate input at the API boundary"
|
|
78
|
+
reference/perf.md: "Skip validation for internal microservice calls"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
This is INVALID -- it contradicts the master. If an exception is needed, it must
|
|
82
|
+
be documented in the master itself with explicit conditions.
|
|
83
|
+
|
|
84
|
+
### Rule 2: Master defines the contract, references fill in the details
|
|
85
|
+
|
|
86
|
+
Think of it as interface vs. implementation:
|
|
87
|
+
|
|
88
|
+
| Layer | Defines | Example |
|
|
89
|
+
|-------|---------|---------|
|
|
90
|
+
| Master | "Validate all inputs" | General principle |
|
|
91
|
+
| Reference | "In Python, use Pydantic v2 BaseModel with Field validators" | Concrete implementation |
|
|
92
|
+
|
|
93
|
+
### Rule 3: Conflicts are resolved by the master
|
|
94
|
+
|
|
95
|
+
If a reference file and the master appear to conflict, the master wins. This
|
|
96
|
+
should be treated as a bug in the reference file and corrected.
|
|
97
|
+
|
|
98
|
+
### Rule 4: References may cross-reference each other
|
|
99
|
+
|
|
100
|
+
Reference files can link to other reference files, but the dependency graph
|
|
101
|
+
should remain shallow (max 2 levels deep). Deep chains make maintenance
|
|
102
|
+
difficult.
|
|
103
|
+
|
|
104
|
+
## When to Split
|
|
105
|
+
|
|
106
|
+
Split content from `SKILL.md` into `reference/*.md` when:
|
|
107
|
+
|
|
108
|
+
| Criterion | Threshold |
|
|
109
|
+
|-----------|-----------|
|
|
110
|
+
| **Total line count** | Master exceeds 300 lines |
|
|
111
|
+
| **Distinct sub-domains** | Content covers 3+ distinct domains (languages, frameworks, concerns) |
|
|
112
|
+
| **Lookup tables** | Tables with 20+ rows that serve as reference material |
|
|
113
|
+
| **Reuse potential** | Content could be useful to multiple skills |
|
|
114
|
+
| **Update frequency** | A section changes much more frequently than the rest |
|
|
115
|
+
|
|
116
|
+
Do NOT split when:
|
|
117
|
+
|
|
118
|
+
- The master is under 300 lines and covers a single domain.
|
|
119
|
+
- The "reference" content is only a few paragraphs.
|
|
120
|
+
- Splitting would force the agent to always load multiple files for basic
|
|
121
|
+
operation.
|
|
122
|
+
|
|
123
|
+
## Examples from Existing Skills
|
|
124
|
+
|
|
125
|
+
### write-a-prd
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
app/skills/write-a-prd/
|
|
129
|
+
SKILL.md # Main PRD creation flow
|
|
130
|
+
reference/visual-companion.md # Visual/UI-specific PRD guidance
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- `SKILL.md` defines the interview-driven PRD process, output format, and
|
|
134
|
+
quality criteria.
|
|
135
|
+
- `reference/visual-companion.md` extends with guidance for PRDs that involve
|
|
136
|
+
visual interfaces -- design system references, wireframe conventions,
|
|
137
|
+
accessibility requirements.
|
|
138
|
+
- The master references it: `"For visual products, see reference/visual-companion.md"`
|
|
139
|
+
|
|
140
|
+
### clean-code
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
app/skills/clean-code/
|
|
144
|
+
SKILL.md # Universal clean code principles
|
|
145
|
+
reference/python.md # Python-specific patterns
|
|
146
|
+
reference/typescript.md # TypeScript-specific patterns
|
|
147
|
+
reference/php.md # PHP-specific patterns
|
|
148
|
+
reference/go.md # Go-specific patterns
|
|
149
|
+
reference/dart.md # Dart/Flutter-specific patterns
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
- `SKILL.md` defines language-agnostic principles (naming, SRP, DRY).
|
|
153
|
+
- Each `reference/<lang>.md` provides language-specific idioms, linting config,
|
|
154
|
+
and type system patterns.
|
|
155
|
+
- The master links to them: `"For Python patterns, see reference/python.md"`
|
|
156
|
+
|
|
157
|
+
### testing-patterns
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
app/skills/testing-patterns/
|
|
161
|
+
SKILL.md # Universal testing principles (AAA, org, targets)
|
|
162
|
+
reference/python-pytest.md # pytest specifics
|
|
163
|
+
reference/typescript-vitest.md # Vitest/Jest specifics
|
|
164
|
+
reference/php-phpunit.md # PHPUnit specifics
|
|
165
|
+
reference/go-testing.md # Go testing specifics
|
|
166
|
+
reference/flutter-testing.md # Flutter/Dart testing specifics
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Same pattern: master defines the universal structure, references specialize per
|
|
170
|
+
ecosystem.
|
|
171
|
+
|
|
172
|
+
## Authoring Guidelines
|
|
173
|
+
|
|
174
|
+
1. **Master first.** Always write the `SKILL.md` completely before splitting.
|
|
175
|
+
Premature splitting leads to fragmented, hard-to-follow skills.
|
|
176
|
+
|
|
177
|
+
2. **Explicit cross-references.** Every reference file must be linked from the
|
|
178
|
+
master with a clear sentence explaining when to consult it.
|
|
179
|
+
|
|
180
|
+
3. **Self-contained references.** A reference file should be useful on its own
|
|
181
|
+
for someone who has already read the master. Do not assume the reader will
|
|
182
|
+
re-read the master alongside it.
|
|
183
|
+
|
|
184
|
+
4. **Consistent frontmatter.** Reference files do not need frontmatter unless
|
|
185
|
+
they are independently searchable. If they are, use the same YAML format as
|
|
186
|
+
the master.
|
|
187
|
+
|
|
188
|
+
5. **Naming convention.** Use kebab-case filenames that describe the domain:
|
|
189
|
+
`python.md`, `visual-companion.md`, `database-patterns.md`. Avoid generic
|
|
190
|
+
names like `extra.md` or `notes.md`.
|
|
191
|
+
|
|
192
|
+
## Anti-Patterns
|
|
193
|
+
|
|
194
|
+
| Anti-Pattern | Problem | Fix |
|
|
195
|
+
|--------------|---------|-----|
|
|
196
|
+
| Reference contradicts master | Agent gets conflicting instructions | Move exception to master with conditions |
|
|
197
|
+
| Master too thin | Agent lacks context without loading all references | Keep core flow in master, only split detail |
|
|
198
|
+
| Circular references | Infinite loading, confused agent | Keep dependency graph acyclic and shallow |
|
|
199
|
+
| Unnamed splits | `misc.md`, `extra.md` -- no signal about content | Use descriptive domain-based names |
|
|
200
|
+
| Over-splitting | 10+ reference files for a simple skill | Consolidate until the 300-line / 3-domain threshold justifies splitting |
|