@hustle-together/api-dev-tools 3.10.1 → 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.
- package/.claude/api-dev-state.json +159 -0
- package/.claude/commands/README.md +185 -0
- package/.claude/commands/add-command.md +209 -0
- package/.claude/commands/api-create.md +499 -0
- package/.claude/commands/api-env.md +50 -0
- package/.claude/commands/api-interview.md +331 -0
- package/.claude/commands/api-research.md +331 -0
- package/.claude/commands/api-status.md +259 -0
- package/.claude/commands/api-verify.md +231 -0
- package/.claude/commands/beepboop.md +97 -0
- package/.claude/commands/busycommit.md +112 -0
- package/.claude/commands/commit.md +83 -0
- package/.claude/commands/cycle.md +142 -0
- package/.claude/commands/gap.md +86 -0
- package/.claude/commands/green.md +142 -0
- package/.claude/commands/issue.md +192 -0
- package/.claude/commands/plan.md +168 -0
- package/.claude/commands/pr.md +122 -0
- package/.claude/commands/red.md +142 -0
- package/.claude/commands/refactor.md +142 -0
- package/.claude/commands/spike.md +142 -0
- package/.claude/commands/summarize.md +94 -0
- package/.claude/commands/tdd.md +144 -0
- package/.claude/commands/worktree-add.md +315 -0
- package/.claude/commands/worktree-cleanup.md +281 -0
- package/.claude/hooks/api-workflow-check.py +227 -0
- package/.claude/hooks/enforce-deep-research.py +185 -0
- package/.claude/hooks/enforce-disambiguation.py +155 -0
- package/.claude/hooks/enforce-documentation.py +192 -0
- package/.claude/hooks/enforce-environment.py +253 -0
- package/.claude/hooks/enforce-external-research.py +328 -0
- package/.claude/hooks/enforce-interview.py +421 -0
- package/.claude/hooks/enforce-refactor.py +189 -0
- package/.claude/hooks/enforce-research.py +159 -0
- package/.claude/hooks/enforce-schema.py +186 -0
- package/.claude/hooks/enforce-scope.py +160 -0
- package/.claude/hooks/enforce-tdd-red.py +250 -0
- package/.claude/hooks/enforce-verify.py +186 -0
- package/.claude/hooks/periodic-reground.py +154 -0
- package/.claude/hooks/session-startup.py +151 -0
- package/.claude/hooks/track-tool-use.py +626 -0
- package/.claude/hooks/verify-after-green.py +282 -0
- package/.claude/hooks/verify-implementation.py +225 -0
- package/.claude/research/index.json +6 -0
- package/.claude/settings.json +93 -0
- package/.claude/settings.local.json +11 -0
- package/.claude-plugin/marketplace.json +112 -0
- package/.skills/README.md +291 -0
- package/.skills/_shared/convert-commands.py +192 -0
- package/.skills/_shared/hooks/api-workflow-check.py +227 -0
- package/.skills/_shared/hooks/enforce-deep-research.py +185 -0
- package/.skills/_shared/hooks/enforce-disambiguation.py +155 -0
- package/.skills/_shared/hooks/enforce-documentation.py +192 -0
- package/.skills/_shared/hooks/enforce-environment.py +253 -0
- package/.skills/_shared/hooks/enforce-external-research.py +328 -0
- package/.skills/_shared/hooks/enforce-interview.py +421 -0
- package/.skills/_shared/hooks/enforce-refactor.py +189 -0
- package/.skills/_shared/hooks/enforce-research.py +159 -0
- package/.skills/_shared/hooks/enforce-schema.py +186 -0
- package/.skills/_shared/hooks/enforce-scope.py +160 -0
- package/.skills/_shared/hooks/enforce-tdd-red.py +250 -0
- package/.skills/_shared/hooks/enforce-verify.py +186 -0
- package/.skills/_shared/hooks/periodic-reground.py +154 -0
- package/.skills/_shared/hooks/session-startup.py +151 -0
- package/.skills/_shared/hooks/track-tool-use.py +626 -0
- package/.skills/_shared/hooks/verify-after-green.py +282 -0
- package/.skills/_shared/hooks/verify-implementation.py +225 -0
- package/.skills/_shared/install.sh +114 -0
- package/.skills/_shared/settings.json +93 -0
- package/.skills/add-command/SKILL.md +222 -0
- package/.skills/api-create/SKILL.md +512 -0
- package/.skills/api-env/SKILL.md +63 -0
- package/.skills/api-interview/SKILL.md +344 -0
- package/.skills/api-research/SKILL.md +344 -0
- package/.skills/api-status/SKILL.md +272 -0
- package/.skills/api-verify/SKILL.md +244 -0
- package/.skills/beepboop/SKILL.md +110 -0
- package/.skills/busycommit/SKILL.md +125 -0
- package/.skills/commit/SKILL.md +96 -0
- package/.skills/cycle/SKILL.md +155 -0
- package/.skills/gap/SKILL.md +99 -0
- package/.skills/green/SKILL.md +155 -0
- package/.skills/issue/SKILL.md +205 -0
- package/.skills/plan/SKILL.md +181 -0
- package/.skills/pr/SKILL.md +135 -0
- package/.skills/red/SKILL.md +155 -0
- package/.skills/refactor/SKILL.md +155 -0
- package/.skills/spike/SKILL.md +155 -0
- package/.skills/summarize/SKILL.md +107 -0
- package/.skills/tdd/SKILL.md +157 -0
- package/.skills/update-todos/SKILL.md +228 -0
- package/.skills/worktree-add/SKILL.md +328 -0
- package/.skills/worktree-cleanup/SKILL.md +294 -0
- package/CHANGELOG.md +97 -0
- package/README.md +58 -17
- 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()
|