agileflow 3.3.0 → 3.4.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.
Files changed (121) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +6 -6
  3. package/lib/skill-loader.js +0 -1
  4. package/package.json +1 -1
  5. package/scripts/agileflow-statusline.sh +81 -0
  6. package/scripts/claude-tmux.sh +113 -22
  7. package/scripts/claude-watchdog.sh +225 -0
  8. package/scripts/generators/agent-registry.js +14 -1
  9. package/scripts/generators/inject-babysit.js +22 -9
  10. package/scripts/generators/inject-help.js +19 -9
  11. package/scripts/lib/audit-cleanup.js +250 -0
  12. package/scripts/lib/audit-registry.js +248 -0
  13. package/scripts/lib/feature-catalog.js +3 -3
  14. package/scripts/lib/gate-enforcer.js +295 -0
  15. package/scripts/lib/model-profiles.js +98 -0
  16. package/scripts/lib/signal-detectors.js +1 -1
  17. package/scripts/lib/skill-catalog.js +557 -0
  18. package/scripts/lib/skill-recommender.js +311 -0
  19. package/scripts/lib/tdd-phase-manager.js +455 -0
  20. package/scripts/lib/team-events.js +34 -3
  21. package/scripts/lib/tmux-group-colors.js +113 -0
  22. package/scripts/messaging-bridge.js +209 -1
  23. package/scripts/spawn-audit-sessions.js +549 -0
  24. package/scripts/team-manager.js +37 -16
  25. package/scripts/tmux-close-windows.sh +180 -0
  26. package/src/core/agents/ads-audit-budget.md +181 -0
  27. package/src/core/agents/ads-audit-compliance.md +169 -0
  28. package/src/core/agents/ads-audit-creative.md +164 -0
  29. package/src/core/agents/ads-audit-google.md +226 -0
  30. package/src/core/agents/ads-audit-meta.md +183 -0
  31. package/src/core/agents/ads-audit-tracking.md +197 -0
  32. package/src/core/agents/ads-consensus.md +322 -0
  33. package/src/core/agents/brainstorm-analyzer-features.md +169 -0
  34. package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
  35. package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
  36. package/src/core/agents/brainstorm-analyzer-market.md +147 -0
  37. package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
  38. package/src/core/agents/brainstorm-consensus.md +237 -0
  39. package/src/core/agents/completeness-consensus.md +5 -5
  40. package/src/core/agents/perf-consensus.md +2 -2
  41. package/src/core/agents/security-consensus.md +2 -2
  42. package/src/core/agents/seo-analyzer-content.md +167 -0
  43. package/src/core/agents/seo-analyzer-images.md +187 -0
  44. package/src/core/agents/seo-analyzer-performance.md +206 -0
  45. package/src/core/agents/seo-analyzer-schema.md +176 -0
  46. package/src/core/agents/seo-analyzer-sitemap.md +172 -0
  47. package/src/core/agents/seo-analyzer-technical.md +144 -0
  48. package/src/core/agents/seo-consensus.md +289 -0
  49. package/src/core/agents/test-consensus.md +2 -2
  50. package/src/core/commands/ads/audit.md +375 -0
  51. package/src/core/commands/ads/budget.md +97 -0
  52. package/src/core/commands/ads/competitor.md +112 -0
  53. package/src/core/commands/ads/creative.md +85 -0
  54. package/src/core/commands/ads/google.md +112 -0
  55. package/src/core/commands/ads/landing.md +119 -0
  56. package/src/core/commands/ads/linkedin.md +112 -0
  57. package/src/core/commands/ads/meta.md +91 -0
  58. package/src/core/commands/ads/microsoft.md +115 -0
  59. package/src/core/commands/ads/plan.md +321 -0
  60. package/src/core/commands/ads/tiktok.md +129 -0
  61. package/src/core/commands/ads/youtube.md +124 -0
  62. package/src/core/commands/ads.md +128 -0
  63. package/src/core/commands/babysit.md +249 -1284
  64. package/src/core/commands/{audit → code}/completeness.md +35 -25
  65. package/src/core/commands/{audit → code}/legal.md +26 -16
  66. package/src/core/commands/{audit → code}/logic.md +27 -16
  67. package/src/core/commands/{audit → code}/performance.md +30 -20
  68. package/src/core/commands/{audit → code}/security.md +32 -19
  69. package/src/core/commands/{audit → code}/test.md +30 -20
  70. package/src/core/commands/{discovery → ideate}/brief.md +12 -12
  71. package/src/core/commands/{discovery/new.md → ideate/discover.md} +13 -13
  72. package/src/core/commands/ideate/features.md +435 -0
  73. package/src/core/commands/seo/audit.md +373 -0
  74. package/src/core/commands/seo/competitor.md +174 -0
  75. package/src/core/commands/seo/content.md +107 -0
  76. package/src/core/commands/seo/geo.md +229 -0
  77. package/src/core/commands/seo/hreflang.md +140 -0
  78. package/src/core/commands/seo/images.md +96 -0
  79. package/src/core/commands/seo/page.md +198 -0
  80. package/src/core/commands/seo/plan.md +163 -0
  81. package/src/core/commands/seo/programmatic.md +131 -0
  82. package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
  83. package/src/core/commands/seo/references/eeat-framework.md +110 -0
  84. package/src/core/commands/seo/references/quality-gates.md +91 -0
  85. package/src/core/commands/seo/references/schema-types.md +102 -0
  86. package/src/core/commands/seo/schema.md +183 -0
  87. package/src/core/commands/seo/sitemap.md +97 -0
  88. package/src/core/commands/seo/technical.md +100 -0
  89. package/src/core/commands/seo.md +107 -0
  90. package/src/core/commands/skill/list.md +68 -212
  91. package/src/core/commands/skill/recommend.md +216 -0
  92. package/src/core/commands/tdd-next.md +238 -0
  93. package/src/core/commands/tdd.md +210 -0
  94. package/src/core/experts/_core-expertise.yaml +105 -0
  95. package/src/core/experts/analytics/expertise.yaml +5 -99
  96. package/src/core/experts/codebase-query/expertise.yaml +3 -72
  97. package/src/core/experts/compliance/expertise.yaml +6 -72
  98. package/src/core/experts/database/expertise.yaml +9 -52
  99. package/src/core/experts/documentation/expertise.yaml +7 -140
  100. package/src/core/experts/integrations/expertise.yaml +7 -127
  101. package/src/core/experts/mentor/expertise.yaml +8 -35
  102. package/src/core/experts/monitoring/expertise.yaml +7 -49
  103. package/src/core/experts/performance/expertise.yaml +1 -26
  104. package/src/core/experts/security/expertise.yaml +9 -34
  105. package/src/core/experts/ui/expertise.yaml +6 -36
  106. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
  107. package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
  108. package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
  109. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
  110. package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
  111. package/src/core/templates/agileflow-metadata.json +15 -1
  112. package/tools/cli/installers/ide/_base-ide.js +42 -5
  113. package/tools/cli/installers/ide/claude-code.js +3 -3
  114. package/tools/cli/lib/content-injector.js +160 -12
  115. package/tools/cli/lib/docs-setup.js +1 -1
  116. package/src/core/commands/skill/create.md +0 -698
  117. package/src/core/commands/skill/delete.md +0 -316
  118. package/src/core/commands/skill/edit.md +0 -359
  119. package/src/core/commands/skill/test.md +0 -394
  120. package/src/core/commands/skill/upgrade.md +0 -552
  121. package/src/core/templates/skill-template.md +0 -117
@@ -1,283 +1,139 @@
1
1
  ---
2
- description: List all installed skills with their descriptions and status
2
+ description: List installed skills and browse recommended skills from the marketplace
3
3
  argument-hint: "(no arguments)"
4
4
  compact_context:
5
5
  priority: medium
6
6
  preserve_rules:
7
- - "ACTIVE COMMAND: /agileflow:skill:list - Shows installed skills inventory"
8
- - "MUST scan .claude/skills/ directory for all skill subdirectories"
7
+ - "ACTIVE COMMAND: /agileflow:skill:list - Shows installed + recommended skills"
8
+ - "MUST scan .claude/skills/ directory for installed skill subdirectories"
9
9
  - "MUST extract name/description from each SKILL.md frontmatter"
10
- - "MUST count supporting files (cookbook/*, references.md, .mcp.json)"
11
- - "MUST show MCP status indicator if .mcp.json exists"
12
- - "MUST offer skill management actions after listing"
10
+ - "MUST show recommended skills based on detected tech stack"
11
+ - "MUST provide install commands for marketplace skills"
12
+ - "MUST offer actions: recommend more, browse marketplace, done"
13
13
  state_fields:
14
14
  - skills_found_count
15
- - has_mcp_skills
15
+ - recommendations_shown
16
16
  ---
17
17
 
18
18
  # /agileflow:skill:list
19
19
 
20
- Display all skills installed in `.claude/skills/` with their metadata.
20
+ Display installed skills and recommended skills from the skills.sh marketplace.
21
21
 
22
22
  ---
23
23
 
24
24
  <!-- COMPACT_SUMMARY_START -->
25
25
 
26
- ## 🚨 COMPACT SUMMARY - /agileflow:skill:list IS ACTIVE
26
+ ## COMPACT SUMMARY - /agileflow:skill:list IS ACTIVE
27
27
 
28
- **CRITICAL**: This command inventories all installed skills and their metadata.
28
+ **CRITICAL**: This command shows installed skills AND marketplace recommendations.
29
29
 
30
- ### 🚨 RULE #1: Check Directory Exists
31
- ```bash
32
- ls -la .claude/skills/ 2>/dev/null
33
- ```
34
- If directory missing or empty, show helpful message to create a skill.
35
-
36
- ### 🚨 RULE #2: Scan Each Skill
37
- For EACH subdirectory in `.claude/skills/`:
38
- 1. Read SKILL.md frontmatter for `name:` and `description:`
39
- 2. Count supporting files:
40
- - cookbook/*.md (all files)
41
- - references.md (if exists)
42
- - .mcp.json (if exists)
43
- 3. Check for MCP: If `.mcp.json` exists, mark "MCP: ✓"
44
-
45
- ### 🚨 RULE #3: Format Output
46
- Display in clean table format:
47
- ```
48
- 📦 Installed Skills (N total)
49
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
50
- skill-name Description here MCP: ✓
51
- └─ X files: file1, file2, file3
52
- ```
30
+ ### RULE #1: Show Installed Skills
31
+ Scan `.claude/skills/` for subdirectories with SKILL.md. For each:
32
+ - Extract name/description from frontmatter
33
+ - Count files (cookbook/*, references.md)
34
+ - Display in clean format
53
35
 
54
- ### 🚨 RULE #4: Show File Count
55
- - Total files per skill (SKILL.md + references.md + cookbook/*.md + .mcp.json)
56
- - List cookbook files by name (only cookbook/, not full path)
57
- - Note MCP configuration status
36
+ ### RULE #2: Show Recommended Skills
37
+ Based on the project's tech stack (from package.json and project files):
38
+ - Detect frameworks, databases, testing, styling
39
+ - Match against curated skills catalog
40
+ - Show top matches with install commands
58
41
 
59
- ### 🚨 RULE #5: Offer Actions After Listing
60
- After showing all skills, ask:
61
- ```
62
- What would you like to do?
63
- - Create new skill
64
- - Edit a skill
65
- - Delete a skill
66
- - Test a skill
67
- - Done
68
- ```
42
+ ### RULE #3: Provide Install Commands
43
+ Each recommended skill shows: `npx skills add owner/repo`
69
44
 
70
- ### Critical Output Elements
71
- | Element | Shows |
72
- |---------|-------|
73
- | Total count | "N total" in header |
74
- | Skill names | From SKILL.md `name:` field |
75
- | Description | From SKILL.md `description:` field |
76
- | File count | Total files in skill directory |
77
- | MCP status | "✓" if .mcp.json exists, nothing otherwise |
78
-
79
- ### Anti-Patterns
80
- - ❌ DON'T fail if directory doesn't exist (create helpful message)
81
- - ❌ DON'T list hidden files or system files
82
- - ❌ DON'T show full file paths (just filenames)
83
- - ❌ DON'T try to parse corrupt SKILL.md (skip with warning)
84
- - ❌ DON'T forget to offer next actions
85
-
86
- ### REMEMBER AFTER COMPACTION
87
- - List is inventory-only, no modifications
88
- - Always scan .claude/skills/ directory
89
- - Extract metadata from SKILL.md frontmatter
90
- - Show file counts and MCP status indicators
91
- - Offer management actions after listing
45
+ ### RULE #4: Offer Actions
46
+ After listing, offer: Get more recommendations, Browse marketplace, Done
92
47
 
93
48
  <!-- COMPACT_SUMMARY_END -->
94
49
 
95
50
  ---
96
51
 
97
- ## Output Format
98
-
99
- ```
100
- 📦 Installed Skills (X total)
101
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
102
-
103
- SKILL NAME DESCRIPTION FILES
104
- ─────────────────────────────────────────────────────────────────────
105
- supabase-swift Supabase database operations 4 files
106
- └─ cookbook/crud-operations.md, cookbook/auth.md
107
-
108
- ui-components React component patterns 3 files
109
- └─ cookbook/create-component.md
110
-
111
- api-integration REST API client patterns 2 files
112
-
113
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
114
- ```
115
-
116
- ---
117
-
118
52
  ## Workflow
119
53
 
120
- ### STEP 1: Check for skills directory
54
+ ### STEP 1: Show installed skills
55
+
56
+ Scan `.claude/skills/` for subdirectories:
121
57
 
122
58
  ```bash
123
59
  ls -la .claude/skills/ 2>/dev/null
124
60
  ```
125
61
 
126
- If directory doesn't exist or is empty:
127
- ```
128
- No skills installed yet.
129
-
130
- To create a skill, run: /agileflow:skill:create
131
- ```
132
-
133
- ### STEP 2: Scan each skill directory
134
-
135
- For each subdirectory in `.claude/skills/`:
136
-
137
- 1. **Read SKILL.md frontmatter** to extract:
138
- - `name` - skill identifier
139
- - `description` - skill purpose
140
-
141
- 2. **Count supporting files**:
142
- - cookbook/*.md
143
- - tools/*
144
- - .mcp.json (if present)
145
- - references.md (if present)
146
-
147
- 3. **Check for MCP integration**:
148
- - If `.mcp.json` exists, note "MCP: ✓"
149
-
150
- ### STEP 3: Format output
151
-
152
- ```
153
- 📦 Installed Skills (3 total)
154
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
155
-
156
- supabase-swift MCP: ✓
157
- Supabase database operations for Swift apps
158
- └─ 4 files: cookbook/crud.md, cookbook/auth.md, references.md, .mcp.json
159
-
160
- ui-components
161
- React component patterns with accessibility
162
- └─ 3 files: cookbook/create.md, cookbook/styling.md, references.md
62
+ For each subdirectory with SKILL.md:
63
+ 1. Read frontmatter for `name:` and `description:`
64
+ 2. Count supporting files (cookbook/*, references.md)
163
65
 
164
- api-integration
165
- REST API client patterns with error handling
166
- └─ 2 files: SKILL.md, references.md
167
-
168
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
+ Display format:
169
67
  ```
68
+ Installed Skills (N total)
170
69
 
171
- ### STEP 4: Offer next actions
70
+ skill-name - Description here
71
+ Files: SKILL.md, references.md, cookbook/use-case.md
172
72
 
173
- ```xml
174
- <invoke name="AskUserQuestion">
175
- <parameter name="questions">[{
176
- "question": "What would you like to do?",
177
- "header": "Skill Actions",
178
- "multiSelect": false,
179
- "options": [
180
- {"label": "Create new skill", "description": "Generate a new skill with research"},
181
- {"label": "Edit a skill", "description": "Modify an existing skill"},
182
- {"label": "Delete a skill", "description": "Remove a skill"},
183
- {"label": "Test a skill", "description": "Verify a skill works correctly"},
184
- {"label": "Done", "description": "Exit skill management"}
185
- ]
186
- }]</parameter>
187
- </invoke>
73
+ another-skill - Another description
74
+ Files: SKILL.md, cookbook/workflow.md
188
75
  ```
189
76
 
190
- ---
191
-
192
- ## Skill Metadata Parsing
193
-
194
- **SKILL.md Frontmatter Example:**
195
- ```yaml
196
- ---
197
- name: supabase-swift
198
- description: Use when building Swift apps with Supabase database operations
199
- ---
77
+ If no skills installed:
200
78
  ```
201
-
202
- **Parse with:**
203
- ```bash
204
- head -10 .claude/skills/<skill>/SKILL.md | grep -E "^(name|description):"
79
+ No skills installed yet.
80
+ Install from the marketplace with: npx skills add owner/repo
81
+ Or browse recommendations: /agileflow:skill:recommend
205
82
  ```
206
83
 
207
- ---
84
+ ### STEP 2: Detect tech stack
208
85
 
209
- ## Error Handling
86
+ Read `package.json` dependencies and scan project files to detect:
87
+ - **Frameworks**: React, Next.js, Vue, Svelte, Express, FastAPI, etc.
88
+ - **Databases**: Prisma, Supabase, MongoDB, PostgreSQL, Redis, etc.
89
+ - **Testing**: Jest, Vitest, Playwright, Cypress, pytest, etc.
90
+ - **Styling**: Tailwind, styled-components, Sass, etc.
91
+ - **Languages**: TypeScript, Python, Go, PHP, etc.
210
92
 
211
- ### No Skills Directory
212
- ```
213
- 📦 No skills installed yet.
93
+ ### STEP 3: Show top recommendations
214
94
 
215
- Skills are stored in .claude/skills/ and can be created with:
216
- /agileflow:skill:create
95
+ Based on detected stack, show top 3-5 matching skills:
217
96
 
218
- This will research best practices and generate a contextual skill.
219
97
  ```
98
+ Recommended for Your Stack
220
99
 
221
- ### Invalid Skill (Missing SKILL.md)
222
- Skip directories without SKILL.md and note:
223
- ```
224
- ⚠️ Skipped: <dirname>/ (missing SKILL.md)
225
- ```
100
+ Detected: React, Next.js, TypeScript, Tailwind, Prisma, Jest
226
101
 
227
- ### Corrupted Frontmatter
228
- If frontmatter can't be parsed:
229
- ```
230
- ⚠️ <skill>: Could not parse frontmatter
231
- ```
102
+ Frontend:
103
+ next-best-practices (95% match) - Next.js App Router, RSC, and data fetching
104
+ Install: npx skills add vercel/next-skills
232
105
 
233
- ---
106
+ react-best-practices (90% match) - React patterns, hooks, and components
107
+ Install: npx skills add vercel/agent-skills
234
108
 
235
- ## Usage
109
+ Database:
110
+ prisma-orm (85% match) - Prisma schema design and query patterns
111
+ Install: npx skills add mcpmarket/skills
236
112
 
237
- ```bash
238
- # List all installed skills
239
- /agileflow:skill:list
113
+ Testing:
114
+ jest-testing (80% match) - Jest unit and integration testing patterns
115
+ Install: npx skills add anthropics/skills
240
116
  ```
241
117
 
242
- ---
243
-
244
- ## POST-LISTING ACTIONS
245
-
246
- After displaying the skill inventory, offer actions:
118
+ ### STEP 4: Offer actions
247
119
 
248
120
  ```xml
249
121
  <invoke name="AskUserQuestion">
250
122
  <parameter name="questions">[{
251
123
  "question": "What would you like to do?",
252
- "header": "Actions",
124
+ "header": "Skills",
253
125
  "multiSelect": false,
254
126
  "options": [
255
- {"label": "Create new skill", "description": "Build a research-backed custom skill"},
256
- {"label": "Test a skill", "description": "Verify a skill works correctly"},
257
- {"label": "Edit a skill", "description": "Modify an existing skill"},
258
- {"label": "Done", "description": "Exit"}
127
+ {"label": "Get more recommendations", "description": "Run /agileflow:skill:recommend for full results"},
128
+ {"label": "Browse marketplace", "description": "Run npx skills find to browse all skills"},
129
+ {"label": "Done", "description": "Exit skill listing"}
259
130
  ]
260
131
  }]</parameter>
261
132
  </invoke>
262
133
  ```
263
134
 
264
- **If "Create new skill"**:
265
- - Run `/agileflow:skill:create`
266
-
267
- **If "Test a skill"**:
268
- - Ask which skill to test
269
- - Run `/agileflow:skill:test SKILL=<selected>`
270
-
271
- **If "Edit a skill"**:
272
- - Ask which skill to edit
273
- - Run `/agileflow:skill:edit SKILL=<selected>`
274
-
275
135
  ---
276
136
 
277
137
  ## Related Commands
278
138
 
279
- - `/agileflow:skill:create` - Build new research-backed skill
280
- - `/agileflow:skill:test` - Test a skill with sample inputs
281
- - `/agileflow:skill:edit` - Modify an existing skill
282
- - `/agileflow:skill:delete` - Remove a skill
283
- - `/agileflow:skill:upgrade` - Update skill with new patterns
139
+ - `/agileflow:skill:recommend` - Full recommendation engine with detailed matching
@@ -0,0 +1,216 @@
1
+ ---
2
+ description: Get skill recommendations based on your project's tech stack
3
+ argument-hint: "[keyword]"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:skill:recommend - Tech stack skill recommendations"
8
+ - "MUST detect tech stack from package.json, project files"
9
+ - "MUST match against curated skill catalog (~60 vetted skills)"
10
+ - "MUST show ranked recommendations with install commands"
11
+ - "MUST filter out already-installed skills"
12
+ - "MUST offer live search via npx skills search for broader results"
13
+ state_fields:
14
+ - detected_stack
15
+ - recommendations_count
16
+ ---
17
+
18
+ # /agileflow:skill:recommend
19
+
20
+ Get personalized skill recommendations based on your project's detected tech stack. Matches against a curated catalog of ~60 vetted skills from skills.sh, with optional live marketplace search.
21
+
22
+ ---
23
+
24
+ <!-- COMPACT_SUMMARY_START -->
25
+
26
+ ## COMPACT SUMMARY - /agileflow:skill:recommend IS ACTIVE
27
+
28
+ **CRITICAL**: Detect tech stack, recommend matching skills from curated catalog.
29
+
30
+ ### RULE #1: Detect Tech Stack
31
+ Read package.json deps + scan for project files (Dockerfile, go.mod, etc.)
32
+ Detect: frameworks, databases, testing, styling, languages, devops
33
+
34
+ ### RULE #2: Match Against Catalog
35
+ Score each curated skill by tag overlap with detected stack.
36
+ Show top matches per category with relevance percentage.
37
+
38
+ ### RULE #3: Filter Installed
39
+ Scan .claude/skills/ and exclude already-installed skills.
40
+
41
+ ### RULE #4: Show Install Commands
42
+ Each result: `npx skills add owner/repo`
43
+
44
+ ### RULE #5: Offer Live Search
45
+ For broader results: `npx skills search <keyword>`
46
+
47
+ <!-- COMPACT_SUMMARY_END -->
48
+
49
+ ---
50
+
51
+ ## Workflow
52
+
53
+ ### STEP 1: Detect tech stack
54
+
55
+ Read `package.json` to identify dependencies:
56
+
57
+ ```bash
58
+ cat package.json 2>/dev/null | head -100
59
+ ```
60
+
61
+ Also check for:
62
+ - `requirements.txt`, `pyproject.toml` (Python)
63
+ - `go.mod` (Go)
64
+ - `composer.json` (PHP)
65
+ - `Dockerfile` (Docker)
66
+ - `.github/workflows/` (GitHub Actions)
67
+ - `vercel.json` (Vercel)
68
+ - `terraform/`, `main.tf` (Terraform)
69
+ - `k8s/`, `kubernetes/` (Kubernetes)
70
+
71
+ Map dependencies to technology tags:
72
+
73
+ | Dependency | Tags |
74
+ |-----------|------|
75
+ | `next` | next, nextjs, react, app-router |
76
+ | `react` | react, jsx, hooks |
77
+ | `vue` | vue, vuejs, vue3 |
78
+ | `@angular/core` | angular, rxjs |
79
+ | `express` | express, expressjs, node |
80
+ | `tailwindcss` | tailwind, tailwindcss, css |
81
+ | `prisma` | prisma, orm, database |
82
+ | `@supabase/supabase-js` | supabase, postgres, auth |
83
+ | `jest` | jest, testing, javascript |
84
+ | `vitest` | vitest, vite, testing |
85
+ | `playwright` | playwright, e2e, testing |
86
+ | `typescript` | typescript, ts |
87
+
88
+ ### STEP 2: Check installed skills
89
+
90
+ ```bash
91
+ ls .claude/skills/ 2>/dev/null
92
+ ```
93
+
94
+ Collect names of installed skills to filter from recommendations.
95
+
96
+ ### STEP 3: Match and rank skills
97
+
98
+ The curated catalog contains ~60 skills across 6 categories:
99
+ - **Frontend** (13): React, Next.js, Vue, Svelte, Angular, Tailwind, TypeScript
100
+ - **Backend** (11): GraphQL, Express, FastAPI, Node.js, Go, microservices
101
+ - **Database** (8): Prisma, Supabase, MongoDB, PostgreSQL, Redis, Drizzle
102
+ - **Testing** (10): TDD, Jest, Playwright, Cypress, pytest, Vitest
103
+ - **DevOps** (9): GitHub Actions, Docker, Kubernetes, Terraform, Vercel
104
+ - **Security** (8): OWASP, code review, auth, input validation
105
+
106
+ Score each skill: count how many of the skill's tags match the detected stack.
107
+ Sort by score descending within each category.
108
+
109
+ ### STEP 4: Display recommendations
110
+
111
+ Show detected stack first, then recommendations by category:
112
+
113
+ ```
114
+ Detected Tech Stack
115
+ Frameworks: react, next, typescript
116
+ Databases: prisma, postgresql
117
+ Testing: jest, playwright
118
+ Styling: tailwind
119
+ DevOps: github-actions, docker
120
+
121
+ Recommended Skills (12 matches)
122
+
123
+ Frontend
124
+ next-best-practices (95% match) - Next.js App Router, RSC, and data fetching
125
+ Install: npx skills add vercel/next-skills
126
+
127
+ react-best-practices (90% match) - React patterns, hooks, and component architecture
128
+ Install: npx skills add vercel/agent-skills
129
+
130
+ tailwind-mastery (85% match) - Tailwind CSS utility patterns and custom configurations
131
+ Install: npx skills add anthropics/skills
132
+
133
+ Database
134
+ prisma-orm (90% match) - Prisma schema design, migrations, and query patterns
135
+ Install: npx skills add mcpmarket/skills
136
+
137
+ postgresql-advanced (75% match) - PostgreSQL advanced queries and performance
138
+ Install: npx skills add anthropics/skills
139
+
140
+ Testing
141
+ jest-testing (85% match) - Jest unit and integration testing patterns
142
+ Install: npx skills add anthropics/skills
143
+
144
+ playwright-automation (80% match) - Playwright e2e testing and browser automation
145
+ Install: npx skills add anthropics/skills
146
+
147
+ DevOps
148
+ github-actions (75% match) - GitHub Actions workflow design and optimization
149
+ Install: npx skills add anthropics/skills
150
+
151
+ dockerfile-best-practices (70% match) - Dockerfile optimization and security
152
+ Install: npx skills add anthropics/skills
153
+ ```
154
+
155
+ ### STEP 5: Offer actions
156
+
157
+ If the user provided a keyword argument, also search the curated catalog by keyword.
158
+
159
+ ```xml
160
+ <invoke name="AskUserQuestion">
161
+ <parameter name="questions">[{
162
+ "question": "What would you like to do?",
163
+ "header": "Install",
164
+ "multiSelect": false,
165
+ "options": [
166
+ {"label": "Install a skill", "description": "Copy the install command for a recommended skill"},
167
+ {"label": "Search marketplace", "description": "Run npx skills search <keyword> for broader results"},
168
+ {"label": "Browse all skills", "description": "Run npx skills find to see the full marketplace"},
169
+ {"label": "Done", "description": "Exit recommendations"}
170
+ ]
171
+ }]</parameter>
172
+ </invoke>
173
+ ```
174
+
175
+ **If "Install a skill"**: Ask which skill, then provide the exact `npx skills add` command.
176
+
177
+ **If "Search marketplace"**: Ask for a keyword, then run `npx skills search <keyword>`.
178
+
179
+ **If "Browse all skills"**: Run `npx skills find`.
180
+
181
+ ---
182
+
183
+ ## Optional Keyword Argument
184
+
185
+ If called with a keyword:
186
+ ```bash
187
+ /agileflow:skill:recommend react
188
+ ```
189
+
190
+ Filter recommendations to skills matching that keyword in name, description, or tags.
191
+
192
+ ---
193
+
194
+ ## Error Handling
195
+
196
+ ### No package.json
197
+ ```
198
+ Could not detect tech stack (no package.json found).
199
+ You can still browse the marketplace:
200
+ npx skills find
201
+ npx skills search <keyword>
202
+ ```
203
+
204
+ ### No Matches
205
+ ```
206
+ No curated skills match your tech stack.
207
+ Try searching the marketplace:
208
+ npx skills search <your-technology>
209
+ npx skills find
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Related Commands
215
+
216
+ - `/agileflow:skill:list` - View installed skills with marketplace preview