agileflow 3.2.1 → 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 (134) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +6 -6
  3. package/lib/feature-flags.js +32 -4
  4. package/lib/skill-loader.js +0 -1
  5. package/package.json +1 -1
  6. package/scripts/agileflow-statusline.sh +81 -0
  7. package/scripts/babysit-clear-restore.js +154 -0
  8. package/scripts/claude-tmux.sh +120 -24
  9. package/scripts/claude-watchdog.sh +225 -0
  10. package/scripts/generators/agent-registry.js +14 -1
  11. package/scripts/generators/inject-babysit.js +22 -9
  12. package/scripts/generators/inject-help.js +19 -9
  13. package/scripts/lib/README-portable-tasks.md +424 -0
  14. package/scripts/lib/audit-cleanup.js +250 -0
  15. package/scripts/lib/audit-registry.js +248 -0
  16. package/scripts/lib/configure-detect.js +20 -0
  17. package/scripts/lib/feature-catalog.js +13 -2
  18. package/scripts/lib/gate-enforcer.js +295 -0
  19. package/scripts/lib/model-profiles.js +98 -0
  20. package/scripts/lib/signal-detectors.js +1 -1
  21. package/scripts/lib/skill-catalog.js +557 -0
  22. package/scripts/lib/skill-recommender.js +311 -0
  23. package/scripts/lib/tdd-phase-manager.js +455 -0
  24. package/scripts/lib/team-events.js +76 -8
  25. package/scripts/lib/tmux-group-colors.js +113 -0
  26. package/scripts/messaging-bridge.js +209 -1
  27. package/scripts/spawn-audit-sessions.js +549 -0
  28. package/scripts/team-manager.js +37 -16
  29. package/scripts/tmux-close-windows.sh +180 -0
  30. package/scripts/tmux-restore-window.sh +67 -0
  31. package/scripts/tmux-save-closed-window.sh +35 -0
  32. package/src/core/agents/ads-audit-budget.md +181 -0
  33. package/src/core/agents/ads-audit-compliance.md +169 -0
  34. package/src/core/agents/ads-audit-creative.md +164 -0
  35. package/src/core/agents/ads-audit-google.md +226 -0
  36. package/src/core/agents/ads-audit-meta.md +183 -0
  37. package/src/core/agents/ads-audit-tracking.md +197 -0
  38. package/src/core/agents/ads-consensus.md +322 -0
  39. package/src/core/agents/brainstorm-analyzer-features.md +169 -0
  40. package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
  41. package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
  42. package/src/core/agents/brainstorm-analyzer-market.md +147 -0
  43. package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
  44. package/src/core/agents/brainstorm-consensus.md +237 -0
  45. package/src/core/agents/completeness-analyzer-api.md +190 -0
  46. package/src/core/agents/completeness-analyzer-conditional.md +201 -0
  47. package/src/core/agents/completeness-analyzer-handlers.md +159 -0
  48. package/src/core/agents/completeness-analyzer-imports.md +159 -0
  49. package/src/core/agents/completeness-analyzer-routes.md +182 -0
  50. package/src/core/agents/completeness-analyzer-state.md +188 -0
  51. package/src/core/agents/completeness-analyzer-stubs.md +198 -0
  52. package/src/core/agents/completeness-consensus.md +286 -0
  53. package/src/core/agents/perf-consensus.md +2 -2
  54. package/src/core/agents/security-consensus.md +2 -2
  55. package/src/core/agents/seo-analyzer-content.md +167 -0
  56. package/src/core/agents/seo-analyzer-images.md +187 -0
  57. package/src/core/agents/seo-analyzer-performance.md +206 -0
  58. package/src/core/agents/seo-analyzer-schema.md +176 -0
  59. package/src/core/agents/seo-analyzer-sitemap.md +172 -0
  60. package/src/core/agents/seo-analyzer-technical.md +144 -0
  61. package/src/core/agents/seo-consensus.md +289 -0
  62. package/src/core/agents/test-consensus.md +2 -2
  63. package/src/core/commands/ads/audit.md +375 -0
  64. package/src/core/commands/ads/budget.md +97 -0
  65. package/src/core/commands/ads/competitor.md +112 -0
  66. package/src/core/commands/ads/creative.md +85 -0
  67. package/src/core/commands/ads/google.md +112 -0
  68. package/src/core/commands/ads/landing.md +119 -0
  69. package/src/core/commands/ads/linkedin.md +112 -0
  70. package/src/core/commands/ads/meta.md +91 -0
  71. package/src/core/commands/ads/microsoft.md +115 -0
  72. package/src/core/commands/ads/plan.md +321 -0
  73. package/src/core/commands/ads/tiktok.md +129 -0
  74. package/src/core/commands/ads/youtube.md +124 -0
  75. package/src/core/commands/ads.md +128 -0
  76. package/src/core/commands/babysit.md +250 -1344
  77. package/src/core/commands/code/completeness.md +466 -0
  78. package/src/core/commands/{audit → code}/legal.md +26 -16
  79. package/src/core/commands/{audit → code}/logic.md +27 -16
  80. package/src/core/commands/{audit → code}/performance.md +30 -20
  81. package/src/core/commands/{audit → code}/security.md +32 -19
  82. package/src/core/commands/{audit → code}/test.md +30 -20
  83. package/src/core/commands/{discovery → ideate}/brief.md +12 -12
  84. package/src/core/commands/{discovery/new.md → ideate/discover.md} +13 -13
  85. package/src/core/commands/ideate/features.md +435 -0
  86. package/src/core/commands/seo/audit.md +373 -0
  87. package/src/core/commands/seo/competitor.md +174 -0
  88. package/src/core/commands/seo/content.md +107 -0
  89. package/src/core/commands/seo/geo.md +229 -0
  90. package/src/core/commands/seo/hreflang.md +140 -0
  91. package/src/core/commands/seo/images.md +96 -0
  92. package/src/core/commands/seo/page.md +198 -0
  93. package/src/core/commands/seo/plan.md +163 -0
  94. package/src/core/commands/seo/programmatic.md +131 -0
  95. package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
  96. package/src/core/commands/seo/references/eeat-framework.md +110 -0
  97. package/src/core/commands/seo/references/quality-gates.md +91 -0
  98. package/src/core/commands/seo/references/schema-types.md +102 -0
  99. package/src/core/commands/seo/schema.md +183 -0
  100. package/src/core/commands/seo/sitemap.md +97 -0
  101. package/src/core/commands/seo/technical.md +100 -0
  102. package/src/core/commands/seo.md +107 -0
  103. package/src/core/commands/skill/list.md +68 -212
  104. package/src/core/commands/skill/recommend.md +216 -0
  105. package/src/core/commands/tdd-next.md +238 -0
  106. package/src/core/commands/tdd.md +210 -0
  107. package/src/core/experts/_core-expertise.yaml +105 -0
  108. package/src/core/experts/analytics/expertise.yaml +5 -99
  109. package/src/core/experts/codebase-query/expertise.yaml +3 -72
  110. package/src/core/experts/compliance/expertise.yaml +6 -72
  111. package/src/core/experts/database/expertise.yaml +9 -52
  112. package/src/core/experts/documentation/expertise.yaml +7 -140
  113. package/src/core/experts/integrations/expertise.yaml +7 -127
  114. package/src/core/experts/mentor/expertise.yaml +8 -35
  115. package/src/core/experts/monitoring/expertise.yaml +7 -49
  116. package/src/core/experts/performance/expertise.yaml +1 -26
  117. package/src/core/experts/security/expertise.yaml +9 -34
  118. package/src/core/experts/ui/expertise.yaml +6 -36
  119. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
  120. package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
  121. package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
  122. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
  123. package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
  124. package/src/core/templates/agileflow-metadata.json +15 -1
  125. package/tools/cli/installers/ide/_base-ide.js +42 -5
  126. package/tools/cli/installers/ide/claude-code.js +13 -4
  127. package/tools/cli/lib/content-injector.js +160 -12
  128. package/tools/cli/lib/docs-setup.js +1 -1
  129. package/src/core/commands/skill/create.md +0 -698
  130. package/src/core/commands/skill/delete.md +0 -316
  131. package/src/core/commands/skill/edit.md +0 -359
  132. package/src/core/commands/skill/test.md +0 -394
  133. package/src/core/commands/skill/upgrade.md +0 -552
  134. package/src/core/templates/skill-template.md +0 -117
@@ -1,394 +0,0 @@
1
- ---
2
- description: Verify a skill works correctly by testing its activation and functionality
3
- argument-hint: "[<name>]"
4
- compact_context:
5
- priority: medium
6
- preserve_rules:
7
- - "ACTIVE COMMAND: /agileflow:skill:test - Validates skill structure and functionality"
8
- - "MUST list available skills if SKILL_NAME not provided"
9
- - "MUST run structure validation checks (file existence, frontmatter, sizes)"
10
- - "MUST run content validation checks (section presence, file references)"
11
- - "MUST offer optional activation test with sample prompts"
12
- - "MUST generate test report with pass/fail/warning indicators"
13
- - "MUST suggest fixes for validation failures"
14
- state_fields:
15
- - selected_skill
16
- - validation_results
17
- - test_report_generated
18
- ---
19
-
20
- # /agileflow:skill:test
21
-
22
- Test a skill to verify it activates correctly and produces expected results.
23
-
24
- ---
25
-
26
- <!-- COMPACT_SUMMARY_START -->
27
-
28
- ## 🚨 COMPACT SUMMARY - /agileflow:skill:test IS ACTIVE
29
-
30
- **CRITICAL**: This command validates skills through structure, content, and optional activation testing.
31
-
32
- ### 🚨 RULE #1: Select Skill
33
- If SKILL_NAME not provided:
34
- ```bash
35
- ls -d .claude/skills/*/ | xargs -I {} basename {}
36
- ```
37
- Show options and ask user which to test.
38
-
39
- ### 🚨 RULE #2: Run Structure Validation
40
- Check these in order:
41
- ```
42
- ✅ SKILL.md exists (file present)
43
- ✅ Frontmatter has name and description
44
- ✅ references.md exists
45
- ⚠️ cookbook/ directory (ok if missing for simple skills)
46
- ⚠️ .mcp.json (ok if MCP not configured)
47
- ```
48
-
49
- ### 🚨 RULE #3: Run Content Validation
50
- Check these in order:
51
- ```
52
- ✅ "When to Use" section present
53
- ✅ Description under 1024 characters
54
- ✅ SKILL.md under 500 lines
55
- ✅ All cookbook files referenced in SKILL.md actually exist
56
- ```
57
-
58
- ### 🚨 RULE #4: Show Validation Results
59
- Display in report format:
60
- ```
61
- 🧪 Testing: skill-name
62
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
63
- Structure: ✅ PASS (5/5 checks)
64
- Content: ✅ PASS (4/4 checks)
65
- MCP Config: ⚠️ NOT CONFIGURED
66
-
67
- Overall: ✅ SKILL IS FUNCTIONAL
68
- ```
69
-
70
- ### 🚨 RULE #5: Offer Activation Test (Optional)
71
- Ask after structure/content validation:
72
- ```
73
- Would you like to test skill activation with sample prompts?
74
- - Yes, test activation (Recommended)
75
- - Skip activation test
76
- - View SKILL.md content
77
- ```
78
-
79
- ### 🚨 RULE #6: Run Activation Test (if requested)
80
- 1. Extract sample triggers from "When to Use" section
81
- 2. Present 2-3 test prompts to user
82
- 3. Ask user to pick one or provide custom
83
- 4. Execute skill by reading SKILL.md and following instructions
84
- 5. Report activation results
85
-
86
- ### 🚨 RULE #7: Generate Final Report
87
- Report MUST include:
88
- - Structure validation pass/fail
89
- - Content validation pass/fail
90
- - Activation test pass/fail (if run)
91
- - Issues found (if any)
92
- - Recommendations (if any)
93
- - Overall status: PASS/WARNINGS/FAIL
94
-
95
- ### Validation Checks Table
96
- | Category | Check | Pass Condition |
97
- |----------|-------|----------------|
98
- | Structure | SKILL.md exists | File present |
99
- | Structure | Frontmatter valid | Has name + description |
100
- | Structure | references.md | File exists (optional) |
101
- | Structure | cookbook/ | Directory exists (optional) |
102
- | Content | When to Use | Section present with triggers |
103
- | Content | Description | Under 1024 characters |
104
- | Content | SKILL.md size | Under 500 lines |
105
- | Content | Cookbook refs | All files exist |
106
- | MCP | JSON valid | Parses without errors |
107
- | MCP | mcpServers | Object present |
108
-
109
- ### Test Report Format
110
- ```
111
- 🧪 Skill Test Report: <skill-name>
112
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
-
114
- STRUCTURE VALIDATION
115
- ✅ SKILL.md exists
116
- ✅ Frontmatter valid
117
- ⚠️ references.md exists
118
- ✅ cookbook/ directory
119
-
120
- CONTENT VALIDATION
121
- ✅ "When to Use" section
122
- ✅ Description < 1024 chars (456)
123
- ✅ SKILL.md < 500 lines (287)
124
- ✅ Cookbook refs valid
125
-
126
- OVERALL: ✅ PASS
127
- ```
128
-
129
- ### Anti-Patterns
130
- - ❌ DON'T skip structure validation (foundation of quality)
131
- - ❌ DON'T fail on missing optional files (warn instead)
132
- - ❌ DON'T run activation test without user consent
133
- - ❌ DON'T generate complex test prompts (keep simple)
134
- - ❌ DON'T forget to suggest fixes for failures
135
-
136
- ### REMEMBER AFTER COMPACTION
137
- - Test has 2-3 phases: Structure → Content → [Activation if requested]
138
- - Always generate full report with pass/fail indicators
139
- - Activation test is optional (ask first)
140
- - Warn on optional files missing, fail on required files
141
- - Suggest fixes for any validation failures
142
-
143
- <!-- COMPACT_SUMMARY_END -->
144
-
145
- ---
146
-
147
- ## Workflow
148
-
149
- ### STEP 1: Select skill to test
150
-
151
- If SKILL_NAME not provided, list available skills:
152
-
153
- ```bash
154
- ls -d .claude/skills/*/ 2>/dev/null | xargs -I {} basename {}
155
- ```
156
-
157
- Then ask user:
158
-
159
- ```xml
160
- <invoke name="AskUserQuestion">
161
- <parameter name="questions">[{
162
- "question": "Which skill would you like to test?",
163
- "header": "Select Skill",
164
- "multiSelect": false,
165
- "options": [
166
- {"label": "<skill-1>", "description": "<description from frontmatter>"},
167
- {"label": "<skill-2>", "description": "<description from frontmatter>"},
168
- {"label": "<skill-3>", "description": "<description from frontmatter>"}
169
- ]
170
- }]</parameter>
171
- </invoke>
172
- ```
173
-
174
- ### STEP 2: Read skill metadata
175
-
176
- Read SKILL.md and extract:
177
- - Name and description
178
- - "When to Use" section (activation triggers)
179
- - Cookbook entries (if any)
180
- - Quick reference section
181
-
182
- ### STEP 3: Run validation checks
183
-
184
- ```
185
- 🧪 Testing: supabase-swift
186
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
187
-
188
- Structure Validation:
189
- ✅ SKILL.md exists
190
- ✅ Frontmatter has name and description
191
- ✅ references.md exists
192
- ✅ cookbook/ directory found (2 entries)
193
- ⚠️ No .mcp.json (MCP not configured)
194
-
195
- Content Validation:
196
- ✅ "When to Use" section present
197
- ✅ Description under 1024 characters
198
- ✅ SKILL.md under 500 lines (current: 287)
199
- ✅ All cookbook files referenced in SKILL.md
200
-
201
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
202
- ```
203
-
204
- ### STEP 4: Test activation (optional)
205
-
206
- ```xml
207
- <invoke name="AskUserQuestion">
208
- <parameter name="questions">[{
209
- "question": "Would you like to test skill activation with a sample prompt?",
210
- "header": "Activation Test",
211
- "multiSelect": false,
212
- "options": [
213
- {"label": "Yes, test activation (Recommended)", "description": "I'll simulate using the skill"},
214
- {"label": "Skip activation test", "description": "Structure validation is enough"},
215
- {"label": "View SKILL.md content", "description": "Read the full skill instructions"}
216
- ]
217
- }]</parameter>
218
- </invoke>
219
- ```
220
-
221
- If user wants activation test:
222
-
223
- 1. **Extract sample triggers** from "When to Use" section
224
- 2. **Present test prompts** based on triggers:
225
- ```
226
- Sample prompts that should activate this skill:
227
-
228
- 1. "Help me set up Supabase authentication in Swift"
229
- 2. "Create CRUD operations for my database"
230
- 3. "How do I query Supabase from iOS?"
231
- ```
232
- 3. **Ask user to pick one** or provide custom prompt
233
- 4. **Execute the skill** by reading SKILL.md and following instructions
234
- 5. **Report results**
235
-
236
- ### STEP 5: Show test results
237
-
238
- ```
239
- 🧪 Test Results: supabase-swift
240
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
241
-
242
- Structure: ✅ PASS (5/5 checks)
243
- Content: ✅ PASS (4/4 checks)
244
- Activation: ✅ PASS (skill triggered correctly)
245
- MCP Config: ⚠️ NOT CONFIGURED
246
-
247
- Overall: ✅ SKILL IS FUNCTIONAL
248
-
249
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
250
- ```
251
-
252
- ### STEP 6: Offer next actions
253
-
254
- ```xml
255
- <invoke name="AskUserQuestion">
256
- <parameter name="questions">[{
257
- "question": "What would you like to do?",
258
- "header": "Next Action",
259
- "multiSelect": false,
260
- "options": [
261
- {"label": "Test another skill", "description": "Validate a different skill"},
262
- {"label": "Edit this skill", "description": "Fix issues or improve"},
263
- {"label": "Use this skill now", "description": "Start working with it"},
264
- {"label": "Done", "description": "Exit skill testing"}
265
- ]
266
- }]</parameter>
267
- </invoke>
268
- ```
269
-
270
- ---
271
-
272
- ## Validation Checks
273
-
274
- ### Structure Checks
275
-
276
- | Check | Pass Condition |
277
- |-------|----------------|
278
- | SKILL.md exists | File present in skill directory |
279
- | Frontmatter valid | Has `name:` and `description:` |
280
- | references.md | File exists (optional but recommended) |
281
- | cookbook/ | Directory exists if referenced in SKILL.md |
282
- | .mcp.json | Valid JSON if present |
283
-
284
- ### Content Checks
285
-
286
- | Check | Pass Condition |
287
- |-------|----------------|
288
- | When to Use | Section present with activation triggers |
289
- | Description length | Under 1024 characters |
290
- | SKILL.md size | Under 500 lines |
291
- | Cookbook references | All referenced files exist |
292
- | No broken links | All local file references valid |
293
-
294
- ### MCP Checks (if .mcp.json exists)
295
-
296
- | Check | Pass Condition |
297
- |-------|----------------|
298
- | Valid JSON | Parses without errors |
299
- | Has mcpServers | Contains mcpServers object |
300
- | Command exists | Command is npx or valid executable |
301
- | Env vars documented | Any ${VAR} has comments |
302
-
303
- ---
304
-
305
- ## Test Report Format
306
-
307
- ```
308
- 🧪 Skill Test Report: <skill-name>
309
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
310
-
311
- STRUCTURE VALIDATION
312
- [✅|❌] SKILL.md exists
313
- [✅|❌] Frontmatter valid (name, description)
314
- [✅|⚠️] references.md exists
315
- [✅|⚠️] cookbook/ directory
316
- [✅|⚠️] .mcp.json present
317
-
318
- CONTENT VALIDATION
319
- [✅|❌] "When to Use" section
320
- [✅|❌] Description < 1024 chars (<current> chars)
321
- [✅|❌] SKILL.md < 500 lines (<current> lines)
322
- [✅|❌] All cookbook files exist
323
-
324
- ACTIVATION TEST
325
- [✅|❌] Skill triggered on test prompt
326
- [✅|❌] Produced expected output format
327
-
328
- ISSUES FOUND
329
- - <issue 1>
330
- - <issue 2>
331
-
332
- RECOMMENDATIONS
333
- - <suggestion 1>
334
- - <suggestion 2>
335
-
336
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
337
- Overall: [✅ PASS | ⚠️ WARNINGS | ❌ FAIL]
338
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
339
- ```
340
-
341
- ---
342
-
343
- ## Error Handling
344
-
345
- ### Skill Not Found
346
- ```
347
- ❌ Skill "<name>" not found.
348
-
349
- Available skills:
350
- - ui-components
351
- - api-integration
352
-
353
- Use /agileflow:skill:list to see all skills.
354
- ```
355
-
356
- ### No Skills Installed
357
- ```
358
- ❌ No skills to test.
359
-
360
- Create a skill first: /agileflow:skill:create
361
- ```
362
-
363
- ### Validation Failed
364
- ```
365
- ❌ Skill "<name>" has issues:
366
-
367
- ❌ Missing SKILL.md frontmatter
368
- ❌ Description exceeds 1024 characters (1523)
369
- ⚠️ No "When to Use" section
370
-
371
- Fix with: /agileflow:skill:edit <name>
372
- ```
373
-
374
- ---
375
-
376
- ## Usage
377
-
378
- ```bash
379
- # Interactive mode
380
- /agileflow:skill:test
381
-
382
- # Test specific skill
383
- /agileflow:skill:test supabase-swift
384
- ```
385
-
386
- ---
387
-
388
- ## Related Commands
389
-
390
- - `/agileflow:skill:create` - Create a new skill
391
- - `/agileflow:skill:list` - List all installed skills
392
- - `/agileflow:skill:edit` - Edit existing skill
393
- - `/agileflow:skill:upgrade` - Add learning capability
394
- - `/agileflow:skill:delete` - Remove an installed skill