@hustle-together/api-dev-tools 3.10.0 → 3.11.1

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.
Files changed (97) hide show
  1. package/.claude/api-dev-state.json +159 -0
  2. package/.claude/commands/README.md +185 -0
  3. package/.claude/commands/add-command.md +209 -0
  4. package/.claude/commands/api-create.md +499 -0
  5. package/.claude/commands/api-env.md +50 -0
  6. package/.claude/commands/api-interview.md +331 -0
  7. package/.claude/commands/api-research.md +331 -0
  8. package/.claude/commands/api-status.md +259 -0
  9. package/.claude/commands/api-verify.md +231 -0
  10. package/.claude/commands/beepboop.md +97 -0
  11. package/.claude/commands/busycommit.md +112 -0
  12. package/.claude/commands/commit.md +83 -0
  13. package/.claude/commands/cycle.md +142 -0
  14. package/.claude/commands/gap.md +86 -0
  15. package/.claude/commands/green.md +142 -0
  16. package/.claude/commands/issue.md +192 -0
  17. package/.claude/commands/plan.md +168 -0
  18. package/.claude/commands/pr.md +122 -0
  19. package/.claude/commands/red.md +142 -0
  20. package/.claude/commands/refactor.md +142 -0
  21. package/.claude/commands/spike.md +142 -0
  22. package/.claude/commands/summarize.md +94 -0
  23. package/.claude/commands/tdd.md +144 -0
  24. package/.claude/commands/worktree-add.md +315 -0
  25. package/.claude/commands/worktree-cleanup.md +281 -0
  26. package/.claude/hooks/api-workflow-check.py +227 -0
  27. package/.claude/hooks/enforce-deep-research.py +185 -0
  28. package/.claude/hooks/enforce-disambiguation.py +155 -0
  29. package/.claude/hooks/enforce-documentation.py +192 -0
  30. package/.claude/hooks/enforce-environment.py +253 -0
  31. package/.claude/hooks/enforce-external-research.py +328 -0
  32. package/.claude/hooks/enforce-interview.py +421 -0
  33. package/.claude/hooks/enforce-refactor.py +189 -0
  34. package/.claude/hooks/enforce-research.py +159 -0
  35. package/.claude/hooks/enforce-schema.py +186 -0
  36. package/.claude/hooks/enforce-scope.py +160 -0
  37. package/.claude/hooks/enforce-tdd-red.py +250 -0
  38. package/.claude/hooks/enforce-verify.py +186 -0
  39. package/.claude/hooks/periodic-reground.py +154 -0
  40. package/.claude/hooks/session-startup.py +151 -0
  41. package/.claude/hooks/track-tool-use.py +626 -0
  42. package/.claude/hooks/verify-after-green.py +282 -0
  43. package/.claude/hooks/verify-implementation.py +225 -0
  44. package/.claude/research/index.json +6 -0
  45. package/.claude/settings.json +93 -0
  46. package/.claude/settings.local.json +11 -0
  47. package/.claude-plugin/marketplace.json +112 -0
  48. package/.skills/README.md +291 -0
  49. package/.skills/_shared/convert-commands.py +192 -0
  50. package/.skills/_shared/hooks/api-workflow-check.py +227 -0
  51. package/.skills/_shared/hooks/enforce-deep-research.py +185 -0
  52. package/.skills/_shared/hooks/enforce-disambiguation.py +155 -0
  53. package/.skills/_shared/hooks/enforce-documentation.py +192 -0
  54. package/.skills/_shared/hooks/enforce-environment.py +253 -0
  55. package/.skills/_shared/hooks/enforce-external-research.py +328 -0
  56. package/.skills/_shared/hooks/enforce-interview.py +421 -0
  57. package/.skills/_shared/hooks/enforce-refactor.py +189 -0
  58. package/.skills/_shared/hooks/enforce-research.py +159 -0
  59. package/.skills/_shared/hooks/enforce-schema.py +186 -0
  60. package/.skills/_shared/hooks/enforce-scope.py +160 -0
  61. package/.skills/_shared/hooks/enforce-tdd-red.py +250 -0
  62. package/.skills/_shared/hooks/enforce-verify.py +186 -0
  63. package/.skills/_shared/hooks/periodic-reground.py +154 -0
  64. package/.skills/_shared/hooks/session-startup.py +151 -0
  65. package/.skills/_shared/hooks/track-tool-use.py +626 -0
  66. package/.skills/_shared/hooks/verify-after-green.py +282 -0
  67. package/.skills/_shared/hooks/verify-implementation.py +225 -0
  68. package/.skills/_shared/install.sh +114 -0
  69. package/.skills/_shared/settings.json +93 -0
  70. package/.skills/add-command/SKILL.md +222 -0
  71. package/.skills/api-create/SKILL.md +512 -0
  72. package/.skills/api-env/SKILL.md +63 -0
  73. package/.skills/api-interview/SKILL.md +344 -0
  74. package/.skills/api-research/SKILL.md +344 -0
  75. package/.skills/api-status/SKILL.md +272 -0
  76. package/.skills/api-verify/SKILL.md +244 -0
  77. package/.skills/beepboop/SKILL.md +110 -0
  78. package/.skills/busycommit/SKILL.md +125 -0
  79. package/.skills/commit/SKILL.md +96 -0
  80. package/.skills/cycle/SKILL.md +155 -0
  81. package/.skills/gap/SKILL.md +99 -0
  82. package/.skills/green/SKILL.md +155 -0
  83. package/.skills/issue/SKILL.md +205 -0
  84. package/.skills/plan/SKILL.md +181 -0
  85. package/.skills/pr/SKILL.md +135 -0
  86. package/.skills/red/SKILL.md +155 -0
  87. package/.skills/refactor/SKILL.md +155 -0
  88. package/.skills/spike/SKILL.md +155 -0
  89. package/.skills/summarize/SKILL.md +107 -0
  90. package/.skills/tdd/SKILL.md +157 -0
  91. package/.skills/update-todos/SKILL.md +228 -0
  92. package/.skills/worktree-add/SKILL.md +328 -0
  93. package/.skills/worktree-cleanup/SKILL.md +294 -0
  94. package/CHANGELOG.md +97 -0
  95. package/README.md +66 -20
  96. package/bin/cli.js +7 -6
  97. package/package.json +22 -11
@@ -0,0 +1,112 @@
1
+ {
2
+ "name": "api-dev-tools",
3
+ "owner": {
4
+ "name": "Hustle Together",
5
+ "email": "contact@hustletogether.dev"
6
+ },
7
+ "description": "Interview-driven, research-first API development toolkit with 13-phase TDD workflow, enforcement hooks, and continuous verification loops. Includes 23 agent skills for API creation, testing, documentation, and deployment.",
8
+ "version": "3.11.0",
9
+ "repository": "https://github.com/hustle-together/api-dev-tools",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "api",
13
+ "tdd",
14
+ "workflow",
15
+ "research",
16
+ "interview",
17
+ "verification",
18
+ "hooks",
19
+ "mcp",
20
+ "agent-skills",
21
+ "testing",
22
+ "documentation"
23
+ ],
24
+ "plugins": [
25
+ {
26
+ "name": "api-dev-tools",
27
+ "source": ".",
28
+ "description": "Complete API development workflow with 13 phases, 23 skills, and 18 enforcement hooks",
29
+ "version": "3.11.0",
30
+ "author": {
31
+ "name": "Hustle Together",
32
+ "email": "contact@hustletogether.dev"
33
+ },
34
+ "category": "development",
35
+ "tags": ["api", "tdd", "workflow", "testing", "research"]
36
+ }
37
+ ],
38
+ "installation": {
39
+ "requirements": {
40
+ "claude_code": ">=1.0.0",
41
+ "python": ">=3.9",
42
+ "node": ">=18.0.0",
43
+ "pnpm": ">=10.11.0"
44
+ },
45
+ "mcp_servers": [
46
+ {
47
+ "name": "context7",
48
+ "description": "Documentation search and discovery",
49
+ "required": true,
50
+ "install": "Add to Claude Code MCP settings"
51
+ },
52
+ {
53
+ "name": "github",
54
+ "description": "GitHub integration for PRs and issues",
55
+ "required": true,
56
+ "install": "Add to Claude Code MCP settings"
57
+ }
58
+ ],
59
+ "post_install_instructions": [
60
+ "1. Copy .skills/_shared/hooks/ to .claude/hooks/ in your project",
61
+ "2. Copy .skills/_shared/settings.json to .claude/settings.json",
62
+ "3. Create .claude/api-dev-state.json from template",
63
+ "4. Create .claude/research/ directory",
64
+ "5. Install required MCP servers (Context7, GitHub)",
65
+ "6. Run '/api-status' to verify installation"
66
+ ]
67
+ },
68
+ "documentation": {
69
+ "readme": "https://github.com/hustle-together/api-dev-tools/blob/main/README.md",
70
+ "changelog": "https://github.com/hustle-together/api-dev-tools/blob/main/CHANGELOG.md",
71
+ "guides": {
72
+ "quickstart": "https://github.com/hustle-together/api-dev-tools/blob/main/.claude/commands/README.md",
73
+ "workflow": "https://github.com/hustle-together/api-dev-tools/blob/main/ENHANCEMENT_ROADMAP_v3.11.0.md",
74
+ "skills": "https://github.com/hustle-together/api-dev-tools/blob/main/.skills/README.md"
75
+ }
76
+ },
77
+ "skills": {
78
+ "api_development": [
79
+ "api-create",
80
+ "api-interview",
81
+ "api-research",
82
+ "api-verify",
83
+ "api-env",
84
+ "api-status"
85
+ ],
86
+ "tdd_workflow": [
87
+ "red",
88
+ "green",
89
+ "refactor",
90
+ "cycle"
91
+ ],
92
+ "planning": [
93
+ "plan",
94
+ "gap",
95
+ "issue"
96
+ ],
97
+ "git_operations": [
98
+ "commit",
99
+ "pr",
100
+ "busycommit",
101
+ "worktree-add",
102
+ "worktree-cleanup"
103
+ ],
104
+ "workflow_utilities": [
105
+ "spike",
106
+ "beepboop",
107
+ "tdd",
108
+ "summarize",
109
+ "add-command"
110
+ ]
111
+ }
112
+ }
@@ -0,0 +1,291 @@
1
+ # API Development Tools - Agent Skills
2
+
3
+ **Version:** 3.11.0
4
+ **Standard:** [Agent Skills Open Format](https://agentskills.io)
5
+ **Platform:** Cross-platform (Claude Code, VS Code, Cursor, ChatGPT, GitHub Copilot)
6
+
7
+ ## 🚀 Quick Start
8
+
9
+ ### Installation via Claude Code Plugin
10
+
11
+ ```bash
12
+ /plugin marketplace add hustle-together/api-dev-tools
13
+ /plugin install api-dev-tools
14
+ ```
15
+
16
+ ### Installation via NPM
17
+
18
+ ```bash
19
+ npx @hustle-together/api-dev-tools --scope=project
20
+ ```
21
+
22
+ ### Manual Installation
23
+
24
+ 1. Clone the repository
25
+ 2. Copy `.skills/` to `~/.claude/skills/` (personal) or `.claude/skills/` (project)
26
+ 3. Copy `.skills/_shared/hooks/` to `.claude/hooks/` (for enforcement)
27
+ 4. Copy `.skills/_shared/settings.json` to `.claude/settings.json`
28
+ 5. Create `.claude/api-dev-state.json` (see template below)
29
+ 6. Create `.claude/research/` directory
30
+
31
+ ## 📚 Available Skills (23 Total)
32
+
33
+ ### API Development (6 skills)
34
+
35
+ | Skill | Usage | Description |
36
+ |-------|-------|-------------|
37
+ | **api-create** | `/api-create [endpoint]` | Complete 13-phase API workflow with interview, research, TDD, verification |
38
+ | **api-interview** | `/api-interview [endpoint]` | Structured requirements gathering with questions FROM research findings |
39
+ | **api-research** | `/api-research [library]` | Adaptive documentation research with 7-day caching |
40
+ | **api-verify** | `/api-verify [endpoint]` | Re-research after tests pass to catch implementation gaps |
41
+ | **api-env** | `/api-env [endpoint]` | Check API keys and environment variables |
42
+ | **api-status** | `/api-status [endpoint]` | Track progress through 13 phases |
43
+
44
+ ### TDD Workflow (4 skills)
45
+
46
+ | Skill | Usage | Description |
47
+ |-------|-------|-------------|
48
+ | **red** | `/red` | Write ONE failing test (defines success before implementation) |
49
+ | **green** | `/green` | Minimal implementation to pass tests (no over-engineering) |
50
+ | **refactor** | `/refactor` | Clean up code while keeping tests green |
51
+ | **cycle** | `/cycle [description]` | Complete Red → Green → Refactor loop |
52
+
53
+ ### Planning & Analysis (3 skills)
54
+
55
+ | Skill | Usage | Description |
56
+ |-------|-------|-------------|
57
+ | **plan** | `/plan [feature]` | Create implementation plan with PRD-style discovery |
58
+ | **gap** | `/gap` | Analyze code vs requirements for missing pieces |
59
+ | **issue** | `/issue [url]` | Create TDD plan from GitHub issue |
60
+
61
+ ### Git Operations (5 skills)
62
+
63
+ | Skill | Usage | Description |
64
+ |-------|-------|-------------|
65
+ | **commit** | `/commit` | Semantic commit with co-author attribution |
66
+ | **pr** | `/pr` | Create pull request with summary and test plan |
67
+ | **busycommit** | `/busycommit` | Multiple atomic commits for complex changesets |
68
+ | **worktree-add** | `/worktree-add [branch/issue]` | Add git worktree from branch or issue |
69
+ | **worktree-cleanup** | `/worktree-cleanup` | Clean up merged worktrees |
70
+
71
+ ### Workflow Utilities (5 skills)
72
+
73
+ | Skill | Usage | Description |
74
+ |-------|-------|-------------|
75
+ | **spike** | `/spike` | Exploratory coding before formal TDD |
76
+ | **tdd** | `/tdd` | Remind agent about TDD practices |
77
+ | **beepboop** | `/beepboop` | Transparent AI attribution markers |
78
+ | **summarize** | `/summarize` | Conversation progress summary |
79
+ | **add-command** | `/add-command` | Guide for creating new skills |
80
+
81
+ ## 🏗️ Architecture
82
+
83
+ ### 13-Phase Workflow
84
+
85
+ ```
86
+ Phase 1: DISAMBIGUATION - Clarify ambiguous terms before research
87
+ Phase 2: SCOPE - Confirm understanding of endpoint
88
+ Phase 3: INITIAL RESEARCH - 2-3 targeted searches (Context7, WebSearch)
89
+ Phase 4: INTERVIEW - Questions FROM discovered params
90
+ Phase 5: DEEP RESEARCH - Adaptive propose-approve searches
91
+ Phase 6: SCHEMA - Zod schema from research + interview
92
+ Phase 7: ENVIRONMENT - Verify API keys exist
93
+ Phase 8: TDD RED - Write failing tests from schema
94
+ Phase 9: TDD GREEN - Minimal implementation to pass
95
+ Phase 10: VERIFY - Re-research docs, compare to implementation
96
+ Phase 11: TDD REFACTOR - Clean up code while tests pass
97
+ Phase 12: DOCUMENTATION - Update manifests, cache research
98
+ Phase 13: COMPLETION - Final verification, commit
99
+ ```
100
+
101
+ ### Loop-Back Architecture
102
+
103
+ Every verification phase can loop back if not successful:
104
+ - Phase 1: Loop if disambiguation unclear
105
+ - Phase 3: Loop if more research needed
106
+ - Phase 4: Loop if interview incomplete
107
+ - Phase 6: Loop if schema incorrect
108
+ - Phase 8: Loop if test plan needs changes
109
+ - Phase 10: Loop if gaps found in implementation
110
+ - Phase 12: Loop if documentation incomplete
111
+
112
+ ### State Tracking
113
+
114
+ All progress tracked in `.claude/api-dev-state.json`:
115
+
116
+ ```json
117
+ {
118
+ "version": "3.0.0",
119
+ "endpoint": null,
120
+ "turn_count": 0,
121
+ "phases": {},
122
+ "research_index": {}
123
+ }
124
+ ```
125
+
126
+ ### Research Cache
127
+
128
+ Documentation cached in `.claude/research/` with 7-day freshness:
129
+
130
+ ```
131
+ .claude/research/
132
+ ├── brandfetch/
133
+ │ ├── 2025-12-08_initial.md
134
+ │ ├── 2025-12-08_deep.md
135
+ │ └── CURRENT.md
136
+ └── index.json ← Freshness tracking
137
+ ```
138
+
139
+ ## ⚙️ Requirements
140
+
141
+ ### Required
142
+
143
+ - **Claude Code**: 1.0.0 or higher (or compatible platform)
144
+ - **Python**: 3.9+ (for enforcement hooks)
145
+ - **Node.js**: 18+ (for package management)
146
+ - **pnpm**: 10.11.0+ (package manager)
147
+
148
+ ### MCP Servers (Recommended)
149
+
150
+ - **Context7**: Documentation search and discovery
151
+ - **GitHub**: PR and issue integration
152
+
153
+ ### Optional but Recommended
154
+
155
+ - **Enforcement Hooks**: 18 Python scripts that enforce workflow rules
156
+ - **Settings.json**: Hook registration for lifecycle events
157
+
158
+ ## 🔒 Enforcement Hooks (Optional)
159
+
160
+ For full workflow enforcement, install hooks to `.claude/hooks/`:
161
+
162
+ ### Hook Types
163
+
164
+ | Event | Hooks | Purpose |
165
+ |-------|-------|---------|
166
+ | **SessionStart** | session-startup.py | Inject state context at session start |
167
+ | **UserPromptSubmit** | enforce-external-research.py | Detect API terms, require research |
168
+ | **PreToolUse** | enforce-research.py<br>enforce-interview.py<br>verify-implementation.py | Block writes until research/interview done<br>Inject interview decisions<br>Require test file before route |
169
+ | **PostToolUse** | track-tool-use.py<br>periodic-reground.py<br>verify-after-green.py | Log research, count turns<br>Re-ground every 7 turns<br>Trigger Phase 10 after test pass |
170
+ | **Stop** | api-workflow-check.py | Block if phases incomplete |
171
+
172
+ ### What Hooks Enforce
173
+
174
+ 1. **Research Before Implementation**: Cannot write code without researching documentation
175
+ 2. **Interview Before Schema**: Cannot create Zod schema without user interview
176
+ 3. **Tests Before Implementation**: Cannot write route without test file
177
+ 4. **Verification After Green**: Automatically triggers re-research after tests pass
178
+ 5. **Documentation Completeness**: Blocks completion if docs not updated
179
+ 6. **7-Turn Re-grounding**: Prevents context dilution in long sessions
180
+
181
+ ## 🎯 Key Principles
182
+
183
+ 1. **Loop Until Green** - Every verification phase loops back if not successful
184
+ 2. **Questions FROM Research** - Never use generic template questions
185
+ 3. **Adaptive Research** - Propose searches based on context, not shotgun
186
+ 4. **7-Turn Re-grounding** - Context injected every 7 turns to prevent dilution
187
+ 5. **Verify After Green** - Re-research to catch memory-based implementation errors
188
+
189
+ ## 📖 Usage Examples
190
+
191
+ ### Example 1: Create New API Endpoint
192
+
193
+ ```bash
194
+ # Fully automated workflow
195
+ /api-create my-endpoint
196
+
197
+ # Follows all 13 phases automatically
198
+ # Asks for user input at each checkpoint
199
+ # Loops back if verification fails
200
+ # Creates tests, implementation, docs
201
+ ```
202
+
203
+ ### Example 2: Manual Step-by-Step
204
+
205
+ ```bash
206
+ # Research external API
207
+ /api-research stripe
208
+
209
+ # Interview for requirements
210
+ /api-interview payment
211
+
212
+ # Check environment
213
+ /api-env payment
214
+
215
+ # TDD workflow
216
+ /red
217
+ /green
218
+ /refactor
219
+
220
+ # Verify implementation
221
+ /api-verify payment
222
+
223
+ # Commit
224
+ /commit
225
+ ```
226
+
227
+ ### Example 3: From GitHub Issue
228
+
229
+ ```bash
230
+ # Create plan from issue
231
+ /issue https://github.com/org/repo/issues/123
232
+
233
+ # Execute plan
234
+ /cycle implement feature from issue
235
+
236
+ # Create PR
237
+ /pr
238
+ ```
239
+
240
+ ## 🌍 Platform Compatibility
241
+
242
+ ### ✅ Full Support (with hooks)
243
+
244
+ - **Claude Code**: Complete workflow with all enforcement hooks
245
+
246
+ ### ✅ Partial Support (skills only)
247
+
248
+ - **VS Code with GitHub Copilot**: Skills work, manual hook setup required
249
+ - **Cursor**: Skills work, manual hook setup required
250
+ - **ChatGPT**: Skills work, no hook support
251
+ - **Any Agent Skills-compatible platform**: Basic skill usage
252
+
253
+ ### Hook Setup for Non-Claude Code Platforms
254
+
255
+ 1. Copy `.skills/_shared/hooks/` to your project
256
+ 2. Copy `.skills/_shared/settings.json` to your project
257
+ 3. Configure your IDE/platform to run hooks (varies by platform)
258
+ 4. Hooks are OPTIONAL for basic usage
259
+ 5. Hooks are REQUIRED for full workflow enforcement
260
+
261
+ ## 📦 Distribution
262
+
263
+ - **GitHub**: [hustle-together/api-dev-tools](https://github.com/hustle-together/api-dev-tools)
264
+ - **NPM**: [@hustle-together/api-dev-tools](https://npmjs.com/package/@hustle-together/api-dev-tools)
265
+ - **SkillsMP**: [skillsmp.com](https://skillsmp.com) (pending submission)
266
+
267
+ ## 📄 License
268
+
269
+ MIT License - See [LICENSE](../../LICENSE) file
270
+
271
+ ## 🤝 Contributing
272
+
273
+ See [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines
274
+
275
+ ## 📞 Support
276
+
277
+ - **Issues**: [GitHub Issues](https://github.com/hustle-together/api-dev-tools/issues)
278
+ - **Discussions**: [GitHub Discussions](https://github.com/hustle-together/api-dev-tools/discussions)
279
+ - **Email**: contact@hustletogether.dev
280
+
281
+ ## 🔗 Resources
282
+
283
+ - [Agent Skills Specification](https://agentskills.io/specification)
284
+ - [Claude Code Documentation](https://code.claude.com/docs)
285
+ - [Enhancement Roadmap](../../ENHANCEMENT_ROADMAP_v3.11.0.md)
286
+ - [Skills Migration Checklist](../../SKILLS_MIGRATION_CHECKLIST.md)
287
+
288
+ ---
289
+
290
+ **Built with ❤️ by Hustle Together**
291
+ *Empowering developers with interview-driven, research-first API development*
@@ -0,0 +1,192 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Convert .claude/commands/*.md files to .skills/*/SKILL.md format
4
+ Adds YAML frontmatter while preserving all original content
5
+ """
6
+ import os
7
+ import re
8
+ from pathlib import Path
9
+
10
+ # Skill metadata templates
11
+ SKILL_METADATA = {
12
+ "api-interview": {
13
+ "description": "Structured interview for API requirements gathering. Questions generated FROM research findings, not templates. Use when you need to understand API parameter preferences, error handling, formats, and user decisions. Keywords: interview, requirements, api, questions, research, decisions",
14
+ "category": "development",
15
+ "tags": ["api", "interview", "requirements", "research"],
16
+ },
17
+ "api-research": {
18
+ "description": "Adaptive propose-approve research workflow for API documentation discovery. Use when researching external APIs, SDKs, or libraries. Caches research with 7-day freshness tracking. Keywords: research, documentation, api, discovery, cache, adaptive",
19
+ "category": "research",
20
+ "tags": ["api", "research", "documentation", "discovery", "cache"],
21
+ },
22
+ "api-verify": {
23
+ "description": "Manual Phase 10 verification - re-research documentation after tests pass to catch memory-based implementation errors. Compares implementation to docs, reports gaps. Use after TDD Green phase. Keywords: verification, testing, documentation, gaps, quality",
24
+ "category": "testing",
25
+ "tags": ["verification", "testing", "documentation", "quality"],
26
+ },
27
+ "api-env": {
28
+ "description": "Check required API keys and environment variables. Supports server env vars, NEXT_PUBLIC_ vars, and custom headers. Use before starting implementation. Keywords: environment, api-keys, configuration, setup, validation",
29
+ "category": "development",
30
+ "tags": ["environment", "api-keys", "configuration", "setup"],
31
+ },
32
+ "api-status": {
33
+ "description": "Track implementation progress through 13 phases. Shows completed, in-progress, and pending phases. Displays interview decisions and research cache info. Keywords: status, progress, tracking, phases, workflow",
34
+ "category": "workflow",
35
+ "tags": ["status", "progress", "tracking", "workflow"],
36
+ },
37
+ "red": {
38
+ "description": "TDD Red Phase - write ONE failing test that defines success before writing implementation. Use at the start of feature development to prevent over-engineering. Keywords: tdd, testing, red-phase, test-driven, failure",
39
+ "category": "testing",
40
+ "tags": ["tdd", "testing", "red-phase", "test-driven"],
41
+ },
42
+ "green": {
43
+ "description": "TDD Green Phase - write minimal implementation code to make the failing test pass. No over-engineering, just enough to pass. Use after writing failing tests. Keywords: tdd, testing, green-phase, implementation, minimal",
44
+ "category": "testing",
45
+ "tags": ["tdd", "testing", "green-phase", "implementation"],
46
+ },
47
+ "refactor": {
48
+ "description": "TDD Refactor Phase - improve code structure, readability, and performance while keeping all tests green. Use after tests pass to clean up code. Keywords: tdd, refactoring, cleanup, optimization, quality",
49
+ "category": "testing",
50
+ "tags": ["tdd", "refactoring", "cleanup", "optimization"],
51
+ },
52
+ "cycle": {
53
+ "description": "Execute complete TDD cycle - Red (write failing test) → Green (minimal implementation) → Refactor (cleanup). Use for feature development with single command. Keywords: tdd, cycle, workflow, testing, automation",
54
+ "category": "workflow",
55
+ "tags": ["tdd", "cycle", "workflow", "testing"],
56
+ },
57
+ "plan": {
58
+ "description": "Create implementation plan from feature or requirement with PRD-style discovery and TDD acceptance criteria. Generates step-by-step checklist. Use before starting complex features. Keywords: planning, prd, requirements, checklist, strategy",
59
+ "category": "planning",
60
+ "tags": ["planning", "prd", "requirements", "strategy"],
61
+ },
62
+ "gap": {
63
+ "description": "Analyze conversation context for unaddressed items and gaps. Scans code vs requirements to find missing pieces. Use during code review or planning. Keywords: analysis, gaps, requirements, review, completeness",
64
+ "category": "analysis",
65
+ "tags": ["analysis", "gaps", "requirements", "review"],
66
+ },
67
+ "issue": {
68
+ "description": "Analyze GitHub issue and create TDD implementation plan. Converts issue requirements into executable tasks with acceptance criteria. Use when starting work from issues. Keywords: github, issues, planning, tdd, requirements",
69
+ "category": "workflow",
70
+ "tags": ["github", "issues", "planning", "tdd"],
71
+ },
72
+ "commit": {
73
+ "description": "Create semantic git commit following project standards with co-author attribution. Analyzes staged changes, suggests commit message. Use after completing features. Keywords: git, commit, semantic, versioning, attribution",
74
+ "category": "git",
75
+ "tags": ["git", "commit", "semantic", "versioning"],
76
+ },
77
+ "pr": {
78
+ "description": "Create pull request using GitHub MCP. Generates PR summary from all commits, creates test plan. Use after pushing feature branch. Keywords: github, pull-request, pr, collaboration, review",
79
+ "category": "git",
80
+ "tags": ["github", "pull-request", "pr", "collaboration"],
81
+ },
82
+ "spike": {
83
+ "description": "Execute TDD Spike Phase - exploratory coding to understand problem space before formal TDD. Use when requirements are unclear or architecture needs exploration. Keywords: spike, exploration, prototyping, learning, architecture",
84
+ "category": "workflow",
85
+ "tags": ["spike", "exploration", "prototyping", "learning"],
86
+ },
87
+ "beepboop": {
88
+ "description": "Communicate AI-generated content with transparent attribution. Adds markers indicating AI authorship. Use when sharing AI-generated code or content. Keywords: attribution, transparency, ai-generated, ethics, communication",
89
+ "category": "workflow",
90
+ "tags": ["attribution", "transparency", "ai-generated", "ethics"],
91
+ },
92
+ "worktree-add": {
93
+ "description": "Add new git worktree from branch name or GitHub issue URL. Copies settings, installs deps, opens in IDE. Use for parallel feature development. Keywords: git, worktree, parallel, workflow, branches",
94
+ "category": "git",
95
+ "tags": ["git", "worktree", "parallel", "workflow"],
96
+ },
97
+ "worktree-cleanup": {
98
+ "description": "Clean up merged worktrees by verifying PR/issue status, consolidating settings, removing stale worktrees. Use after merging features. Keywords: git, worktree, cleanup, maintenance, branches",
99
+ "category": "git",
100
+ "tags": ["git", "worktree", "cleanup", "maintenance"],
101
+ },
102
+ "busycommit": {
103
+ "description": "Create multiple atomic git commits, one logical change at a time. Analyzes changes and separates into meaningful commits. Use for complex changesets. Keywords: git, commit, atomic, granular, organization",
104
+ "category": "git",
105
+ "tags": ["git", "commit", "atomic", "granular"],
106
+ },
107
+ "add-command": {
108
+ "description": "Guide for creating new slash commands or agent skills. Provides templates and best practices. Use when extending the toolkit. Keywords: meta, commands, skills, templates, development",
109
+ "category": "meta",
110
+ "tags": ["meta", "commands", "skills", "templates"],
111
+ },
112
+ "tdd": {
113
+ "description": "Remind agent about TDD approach and continue conversation. Reinforces test-first methodology. Use when agent deviates from TDD practices. Keywords: tdd, reminder, methodology, testing, practices",
114
+ "category": "workflow",
115
+ "tags": ["tdd", "reminder", "methodology", "testing"],
116
+ },
117
+ "summarize": {
118
+ "description": "Summarize conversation progress and next steps. Provides overview of completed work and remaining tasks. Use at end of sessions or before breaks. Keywords: summary, progress, overview, tracking, communication",
119
+ "category": "workflow",
120
+ "tags": ["summary", "progress", "overview", "tracking"],
121
+ },
122
+ }
123
+
124
+ def extract_title(content: str) -> str:
125
+ """Extract title from markdown heading"""
126
+ match = re.search(r'^#\s+(.+)$', content, re.MULTILINE)
127
+ return match.group(1) if match else "Untitled"
128
+
129
+ def convert_command_to_skill(command_file: Path, skills_dir: Path):
130
+ """Convert a command .md file to SKILL.md format"""
131
+ # Read original command
132
+ content = command_file.read_text()
133
+
134
+ # Extract skill name from filename
135
+ skill_name = command_file.stem
136
+
137
+ # Skip README and already converted
138
+ if skill_name in ["README", "api-create"]:
139
+ print(f"⏭️ Skipping {skill_name}")
140
+ return
141
+
142
+ # Get metadata or use defaults
143
+ metadata = SKILL_METADATA.get(skill_name, {
144
+ "description": f"{skill_name} command. Use when working with {skill_name} related tasks.",
145
+ "category": "workflow",
146
+ "tags": [skill_name],
147
+ })
148
+
149
+ # Create YAML frontmatter
150
+ frontmatter = f"""---
151
+ name: {skill_name}
152
+ description: {metadata['description']}
153
+ license: MIT
154
+ compatibility: Requires Claude Code with MCP servers (Context7, GitHub), Python 3.9+ for hooks, pnpm 10.11.0+
155
+ metadata:
156
+ version: "3.0.0"
157
+ category: "{metadata['category']}"
158
+ tags: {metadata['tags']}
159
+ author: "Hustle Together"
160
+ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read Write Edit Bash TodoWrite
161
+ ---
162
+
163
+ """
164
+
165
+ # Combine frontmatter + original content
166
+ skill_content = frontmatter + content
167
+
168
+ # Create skill directory and write SKILL.md
169
+ skill_dir = skills_dir / skill_name
170
+ skill_dir.mkdir(exist_ok=True)
171
+ skill_file = skill_dir / "SKILL.md"
172
+ skill_file.write_text(skill_content)
173
+
174
+ print(f"✅ Converted {skill_name}")
175
+
176
+ def main():
177
+ # Set up paths
178
+ repo_root = Path(__file__).parent.parent.parent
179
+ commands_dir = repo_root / ".claude" / "commands"
180
+ skills_dir = repo_root / ".skills"
181
+
182
+ print("🔄 Converting commands to Agent Skills format...\n")
183
+
184
+ # Convert all command files
185
+ for command_file in sorted(commands_dir.glob("*.md")):
186
+ convert_command_to_skill(command_file, skills_dir)
187
+
188
+ print("\n✨ Conversion complete!")
189
+ print(f"📁 Skills created in: {skills_dir}")
190
+
191
+ if __name__ == "__main__":
192
+ main()