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.
- package/CHANGELOG.md +5 -0
- package/README.md +6 -6
- package/lib/skill-loader.js +0 -1
- package/package.json +1 -1
- package/scripts/agileflow-statusline.sh +81 -0
- package/scripts/claude-tmux.sh +113 -22
- package/scripts/claude-watchdog.sh +225 -0
- package/scripts/generators/agent-registry.js +14 -1
- package/scripts/generators/inject-babysit.js +22 -9
- package/scripts/generators/inject-help.js +19 -9
- package/scripts/lib/audit-cleanup.js +250 -0
- package/scripts/lib/audit-registry.js +248 -0
- package/scripts/lib/feature-catalog.js +3 -3
- package/scripts/lib/gate-enforcer.js +295 -0
- package/scripts/lib/model-profiles.js +98 -0
- package/scripts/lib/signal-detectors.js +1 -1
- package/scripts/lib/skill-catalog.js +557 -0
- package/scripts/lib/skill-recommender.js +311 -0
- package/scripts/lib/tdd-phase-manager.js +455 -0
- package/scripts/lib/team-events.js +34 -3
- package/scripts/lib/tmux-group-colors.js +113 -0
- package/scripts/messaging-bridge.js +209 -1
- package/scripts/spawn-audit-sessions.js +549 -0
- package/scripts/team-manager.js +37 -16
- package/scripts/tmux-close-windows.sh +180 -0
- package/src/core/agents/ads-audit-budget.md +181 -0
- package/src/core/agents/ads-audit-compliance.md +169 -0
- package/src/core/agents/ads-audit-creative.md +164 -0
- package/src/core/agents/ads-audit-google.md +226 -0
- package/src/core/agents/ads-audit-meta.md +183 -0
- package/src/core/agents/ads-audit-tracking.md +197 -0
- package/src/core/agents/ads-consensus.md +322 -0
- package/src/core/agents/brainstorm-analyzer-features.md +169 -0
- package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
- package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
- package/src/core/agents/brainstorm-analyzer-market.md +147 -0
- package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
- package/src/core/agents/brainstorm-consensus.md +237 -0
- package/src/core/agents/completeness-consensus.md +5 -5
- package/src/core/agents/perf-consensus.md +2 -2
- package/src/core/agents/security-consensus.md +2 -2
- package/src/core/agents/seo-analyzer-content.md +167 -0
- package/src/core/agents/seo-analyzer-images.md +187 -0
- package/src/core/agents/seo-analyzer-performance.md +206 -0
- package/src/core/agents/seo-analyzer-schema.md +176 -0
- package/src/core/agents/seo-analyzer-sitemap.md +172 -0
- package/src/core/agents/seo-analyzer-technical.md +144 -0
- package/src/core/agents/seo-consensus.md +289 -0
- package/src/core/agents/test-consensus.md +2 -2
- package/src/core/commands/ads/audit.md +375 -0
- package/src/core/commands/ads/budget.md +97 -0
- package/src/core/commands/ads/competitor.md +112 -0
- package/src/core/commands/ads/creative.md +85 -0
- package/src/core/commands/ads/google.md +112 -0
- package/src/core/commands/ads/landing.md +119 -0
- package/src/core/commands/ads/linkedin.md +112 -0
- package/src/core/commands/ads/meta.md +91 -0
- package/src/core/commands/ads/microsoft.md +115 -0
- package/src/core/commands/ads/plan.md +321 -0
- package/src/core/commands/ads/tiktok.md +129 -0
- package/src/core/commands/ads/youtube.md +124 -0
- package/src/core/commands/ads.md +128 -0
- package/src/core/commands/babysit.md +249 -1284
- package/src/core/commands/{audit → code}/completeness.md +35 -25
- package/src/core/commands/{audit → code}/legal.md +26 -16
- package/src/core/commands/{audit → code}/logic.md +27 -16
- package/src/core/commands/{audit → code}/performance.md +30 -20
- package/src/core/commands/{audit → code}/security.md +32 -19
- package/src/core/commands/{audit → code}/test.md +30 -20
- package/src/core/commands/{discovery → ideate}/brief.md +12 -12
- package/src/core/commands/{discovery/new.md → ideate/discover.md} +13 -13
- package/src/core/commands/ideate/features.md +435 -0
- package/src/core/commands/seo/audit.md +373 -0
- package/src/core/commands/seo/competitor.md +174 -0
- package/src/core/commands/seo/content.md +107 -0
- package/src/core/commands/seo/geo.md +229 -0
- package/src/core/commands/seo/hreflang.md +140 -0
- package/src/core/commands/seo/images.md +96 -0
- package/src/core/commands/seo/page.md +198 -0
- package/src/core/commands/seo/plan.md +163 -0
- package/src/core/commands/seo/programmatic.md +131 -0
- package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
- package/src/core/commands/seo/references/eeat-framework.md +110 -0
- package/src/core/commands/seo/references/quality-gates.md +91 -0
- package/src/core/commands/seo/references/schema-types.md +102 -0
- package/src/core/commands/seo/schema.md +183 -0
- package/src/core/commands/seo/sitemap.md +97 -0
- package/src/core/commands/seo/technical.md +100 -0
- package/src/core/commands/seo.md +107 -0
- package/src/core/commands/skill/list.md +68 -212
- package/src/core/commands/skill/recommend.md +216 -0
- package/src/core/commands/tdd-next.md +238 -0
- package/src/core/commands/tdd.md +210 -0
- package/src/core/experts/_core-expertise.yaml +105 -0
- package/src/core/experts/analytics/expertise.yaml +5 -99
- package/src/core/experts/codebase-query/expertise.yaml +3 -72
- package/src/core/experts/compliance/expertise.yaml +6 -72
- package/src/core/experts/database/expertise.yaml +9 -52
- package/src/core/experts/documentation/expertise.yaml +7 -140
- package/src/core/experts/integrations/expertise.yaml +7 -127
- package/src/core/experts/mentor/expertise.yaml +8 -35
- package/src/core/experts/monitoring/expertise.yaml +7 -49
- package/src/core/experts/performance/expertise.yaml +1 -26
- package/src/core/experts/security/expertise.yaml +9 -34
- package/src/core/experts/ui/expertise.yaml +6 -36
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
- package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
- package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
- package/src/core/templates/agileflow-metadata.json +15 -1
- package/tools/cli/installers/ide/_base-ide.js +42 -5
- package/tools/cli/installers/ide/claude-code.js +3 -3
- package/tools/cli/lib/content-injector.js +160 -12
- package/tools/cli/lib/docs-setup.js +1 -1
- package/src/core/commands/skill/create.md +0 -698
- package/src/core/commands/skill/delete.md +0 -316
- package/src/core/commands/skill/edit.md +0 -359
- package/src/core/commands/skill/test.md +0 -394
- package/src/core/commands/skill/upgrade.md +0 -552
- package/src/core/templates/skill-template.md +0 -117
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Remove an installed skill from .claude/skills/
|
|
3
|
-
argument-hint: "[<name>]"
|
|
4
|
-
compact_context:
|
|
5
|
-
priority: medium
|
|
6
|
-
preserve_rules:
|
|
7
|
-
- "ACTIVE COMMAND: /agileflow:skill:delete - Removes installed skills"
|
|
8
|
-
- "MUST list available skills if SKILL_NAME not provided"
|
|
9
|
-
- "MUST show exactly what will be deleted (tree view of files)"
|
|
10
|
-
- "MUST ask for explicit confirmation before deletion (no undo)"
|
|
11
|
-
- "MUST offer backup option before deletion"
|
|
12
|
-
- "MUST create backup in .claude/skills-backup/ if requested"
|
|
13
|
-
- "NEVER delete without explicit user confirmation"
|
|
14
|
-
state_fields:
|
|
15
|
-
- selected_skill_for_deletion
|
|
16
|
-
- backup_created
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
# /agileflow:skill:delete
|
|
20
|
-
|
|
21
|
-
Remove a skill from `.claude/skills/`.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
26
|
-
|
|
27
|
-
## 🚨 COMPACT SUMMARY - /agileflow:skill:delete IS ACTIVE
|
|
28
|
-
|
|
29
|
-
**CRITICAL**: This command deletes skills with full safety features and backup options.
|
|
30
|
-
|
|
31
|
-
### 🚨 RULE #1: Select Skill
|
|
32
|
-
If SKILL_NAME not provided:
|
|
33
|
-
```bash
|
|
34
|
-
ls -d .claude/skills/*/ | xargs -I {} basename {}
|
|
35
|
-
```
|
|
36
|
-
Show options and ask user which to delete.
|
|
37
|
-
|
|
38
|
-
### 🚨 RULE #2: Show Exactly What Will Be Deleted
|
|
39
|
-
Display complete tree view:
|
|
40
|
-
```
|
|
41
|
-
⚠️ About to delete: skill-name
|
|
42
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
43
|
-
This will permanently remove:
|
|
44
|
-
.claude/skills/skill-name/
|
|
45
|
-
├── SKILL.md
|
|
46
|
-
├── references.md
|
|
47
|
-
├── cookbook/
|
|
48
|
-
│ ├── use-case-1.md
|
|
49
|
-
│ └── use-case-2.md
|
|
50
|
-
└── .mcp.json
|
|
51
|
-
|
|
52
|
-
Total: 5 files in 2 directories
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### 🚨 RULE #3: Ask for Confirmation
|
|
56
|
-
Multiple confirmation levels:
|
|
57
|
-
1. **First ask**: "Are you sure?" (show file tree)
|
|
58
|
-
2. **Options**:
|
|
59
|
-
- "Yes, delete permanently" - Proceed with deletion
|
|
60
|
-
- "No, keep it" - Cancel
|
|
61
|
-
- "Export first" - Create backup first
|
|
62
|
-
|
|
63
|
-
### 🚨 RULE #4: Handle Backup Request
|
|
64
|
-
If user chooses "Export first":
|
|
65
|
-
```bash
|
|
66
|
-
mkdir -p .claude/skills-backup/
|
|
67
|
-
cp -r .claude/skills/<skill> .claude/skills-backup/<skill>-$(date +%Y%m%d-%H%M%S)/
|
|
68
|
-
```
|
|
69
|
-
Show backup location, then return to confirmation.
|
|
70
|
-
|
|
71
|
-
### 🚨 RULE #5: Execute Deletion
|
|
72
|
-
After confirmed deletion:
|
|
73
|
-
```bash
|
|
74
|
-
rm -rf .claude/skills/<skill>/
|
|
75
|
-
```
|
|
76
|
-
Show confirmation message with success emoji.
|
|
77
|
-
|
|
78
|
-
### 🚨 RULE #6: Offer Next Actions
|
|
79
|
-
After deletion, ask:
|
|
80
|
-
```
|
|
81
|
-
What would you like to do next?
|
|
82
|
-
- Delete another skill
|
|
83
|
-
- Create new skill
|
|
84
|
-
- List remaining skills
|
|
85
|
-
- Done
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Safety Features
|
|
89
|
-
| Feature | Purpose |
|
|
90
|
-
|---------|---------|
|
|
91
|
-
| Show file tree | User sees EXACTLY what's deleted |
|
|
92
|
-
| Explicit confirmation | Can't accidentally delete |
|
|
93
|
-
| Backup option | Can recover if needed |
|
|
94
|
-
| One at a time | No batch delete accidents |
|
|
95
|
-
| Timestamp in backup | Identify which version backed up |
|
|
96
|
-
|
|
97
|
-
### Backup Location
|
|
98
|
-
```
|
|
99
|
-
.claude/skills-backup/<skill>-<YYYYMMDD-HHMMSS>/
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Example:
|
|
103
|
-
```
|
|
104
|
-
.claude/skills-backup/supabase-swift-20251227-143052/
|
|
105
|
-
├── SKILL.md
|
|
106
|
-
├── references.md
|
|
107
|
-
├── cookbook/
|
|
108
|
-
└── .mcp.json
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Anti-Patterns
|
|
112
|
-
- ❌ DON'T delete without showing file tree
|
|
113
|
-
- ❌ DON'T proceed without explicit confirmation
|
|
114
|
-
- ❌ DON'T skip backup option offer
|
|
115
|
-
- ❌ DON'T allow batch/wildcard deletes (one at a time)
|
|
116
|
-
- ❌ DON'T delete without confirming again if backup created
|
|
117
|
-
|
|
118
|
-
### REMEMBER AFTER COMPACTION
|
|
119
|
-
- Delete is always: Select → Show tree → Ask confirm → [Backup if requested] → Delete → Show next actions
|
|
120
|
-
- NEVER delete without explicit confirmation
|
|
121
|
-
- Always offer backup option before deletion
|
|
122
|
-
- Backup goes to .claude/skills-backup/ with timestamp
|
|
123
|
-
- One skill at a time (no batch delete)
|
|
124
|
-
|
|
125
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Workflow
|
|
130
|
-
|
|
131
|
-
### STEP 1: Select skill to delete
|
|
132
|
-
|
|
133
|
-
If SKILL_NAME not provided, list available skills:
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
ls -d .claude/skills/*/ 2>/dev/null | xargs -I {} basename {}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Then ask user:
|
|
140
|
-
|
|
141
|
-
```xml
|
|
142
|
-
<invoke name="AskUserQuestion">
|
|
143
|
-
<parameter name="questions">[{
|
|
144
|
-
"question": "Which skill would you like to delete?",
|
|
145
|
-
"header": "Select Skill",
|
|
146
|
-
"multiSelect": false,
|
|
147
|
-
"options": [
|
|
148
|
-
{"label": "<skill-1>", "description": "<description from frontmatter>"},
|
|
149
|
-
{"label": "<skill-2>", "description": "<description from frontmatter>"},
|
|
150
|
-
{"label": "<skill-3>", "description": "<description from frontmatter>"}
|
|
151
|
-
]
|
|
152
|
-
}]</parameter>
|
|
153
|
-
</invoke>
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### STEP 2: Show skill contents
|
|
157
|
-
|
|
158
|
-
Display what will be deleted:
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
⚠️ About to delete: supabase-swift
|
|
162
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
163
|
-
|
|
164
|
-
This will permanently remove:
|
|
165
|
-
.claude/skills/supabase-swift/
|
|
166
|
-
├── SKILL.md
|
|
167
|
-
├── references.md
|
|
168
|
-
├── cookbook/
|
|
169
|
-
│ ├── crud-operations.md
|
|
170
|
-
│ └── authentication.md
|
|
171
|
-
└── .mcp.json
|
|
172
|
-
|
|
173
|
-
Total: 5 files in 2 directories
|
|
174
|
-
|
|
175
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### STEP 3: Confirm deletion
|
|
179
|
-
|
|
180
|
-
```xml
|
|
181
|
-
<invoke name="AskUserQuestion">
|
|
182
|
-
<parameter name="questions">[{
|
|
183
|
-
"question": "Are you sure you want to delete this skill? This cannot be undone.",
|
|
184
|
-
"header": "Confirm Delete",
|
|
185
|
-
"multiSelect": false,
|
|
186
|
-
"options": [
|
|
187
|
-
{"label": "Yes, delete permanently", "description": "Remove the skill and all its files"},
|
|
188
|
-
{"label": "No, keep it", "description": "Cancel and return"},
|
|
189
|
-
{"label": "Export first", "description": "Save a backup before deleting"}
|
|
190
|
-
]
|
|
191
|
-
}]</parameter>
|
|
192
|
-
</invoke>
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### STEP 4: Handle export (if requested)
|
|
196
|
-
|
|
197
|
-
If user chose "Export first":
|
|
198
|
-
|
|
199
|
-
1. Create backup directory: `.claude/skills-backup/`
|
|
200
|
-
2. Copy skill to backup with timestamp:
|
|
201
|
-
```bash
|
|
202
|
-
cp -r .claude/skills/<skill> .claude/skills-backup/<skill>-$(date +%Y%m%d-%H%M%S)/
|
|
203
|
-
```
|
|
204
|
-
3. Show backup location
|
|
205
|
-
4. Return to confirmation
|
|
206
|
-
|
|
207
|
-
### STEP 5: Delete skill
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
rm -rf .claude/skills/<skill>/
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### STEP 6: Confirm deletion
|
|
214
|
-
|
|
215
|
-
```
|
|
216
|
-
✅ Deleted: supabase-swift
|
|
217
|
-
|
|
218
|
-
The skill has been permanently removed from .claude/skills/
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
### STEP 7: Offer next actions
|
|
222
|
-
|
|
223
|
-
```xml
|
|
224
|
-
<invoke name="AskUserQuestion">
|
|
225
|
-
<parameter name="questions">[{
|
|
226
|
-
"question": "What would you like to do next?",
|
|
227
|
-
"header": "Next Action",
|
|
228
|
-
"multiSelect": false,
|
|
229
|
-
"options": [
|
|
230
|
-
{"label": "Delete another skill", "description": "Remove more skills"},
|
|
231
|
-
{"label": "Create new skill", "description": "Generate a replacement skill"},
|
|
232
|
-
{"label": "List remaining skills", "description": "See what's still installed"},
|
|
233
|
-
{"label": "Done", "description": "Exit skill management"}
|
|
234
|
-
]
|
|
235
|
-
}]</parameter>
|
|
236
|
-
</invoke>
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## Backup Location
|
|
242
|
-
|
|
243
|
-
Backups are stored in:
|
|
244
|
-
```
|
|
245
|
-
.claude/skills-backup/<skill>-<timestamp>/
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
Example:
|
|
249
|
-
```
|
|
250
|
-
.claude/skills-backup/supabase-swift-20251227-143052/
|
|
251
|
-
├── SKILL.md
|
|
252
|
-
├── references.md
|
|
253
|
-
├── cookbook/
|
|
254
|
-
└── .mcp.json
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## Error Handling
|
|
260
|
-
|
|
261
|
-
### Skill Not Found
|
|
262
|
-
```
|
|
263
|
-
❌ Skill "<name>" not found.
|
|
264
|
-
|
|
265
|
-
Available skills:
|
|
266
|
-
- ui-components
|
|
267
|
-
- api-integration
|
|
268
|
-
|
|
269
|
-
Use /agileflow:skill:list to see all skills.
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
### No Skills Installed
|
|
273
|
-
```
|
|
274
|
-
❌ No skills to delete.
|
|
275
|
-
|
|
276
|
-
No skills are currently installed in .claude/skills/
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### Delete Failed
|
|
280
|
-
```
|
|
281
|
-
❌ Failed to delete skill: <error message>
|
|
282
|
-
|
|
283
|
-
The skill directory may be in use or have permission issues.
|
|
284
|
-
Try manually: rm -rf .claude/skills/<skill>/
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
---
|
|
288
|
-
|
|
289
|
-
## Safety Features
|
|
290
|
-
|
|
291
|
-
1. **Always confirm** - Never delete without explicit confirmation
|
|
292
|
-
2. **Show contents** - Display exactly what will be removed
|
|
293
|
-
3. **Export option** - Allow backup before deletion
|
|
294
|
-
4. **No batch delete** - One skill at a time for safety
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## Usage
|
|
299
|
-
|
|
300
|
-
```bash
|
|
301
|
-
# Interactive mode
|
|
302
|
-
/agileflow:skill:delete
|
|
303
|
-
|
|
304
|
-
# Delete specific skill
|
|
305
|
-
/agileflow:skill:delete supabase-swift
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## Related Commands
|
|
311
|
-
|
|
312
|
-
- `/agileflow:skill:create` - Create a new skill
|
|
313
|
-
- `/agileflow:skill:list` - List all installed skills
|
|
314
|
-
- `/agileflow:skill:edit` - Edit existing skill
|
|
315
|
-
- `/agileflow:skill:upgrade` - Add learning capability
|
|
316
|
-
- `/agileflow:skill:test` - Test skill functionality
|
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Edit an existing skill's SKILL.md, cookbook entries, or references
|
|
3
|
-
argument-hint: "[<name>]"
|
|
4
|
-
compact_context:
|
|
5
|
-
priority: medium
|
|
6
|
-
preserve_rules:
|
|
7
|
-
- "ACTIVE COMMAND: /agileflow:skill:edit - Modifies existing skills"
|
|
8
|
-
- "MUST list available skills if SKILL_NAME not provided"
|
|
9
|
-
- "MUST show skill structure before asking what to edit"
|
|
10
|
-
- "MUST offer special edits: rename, add cookbook, full rewrite (Plan Mode)"
|
|
11
|
-
- "MUST preview changes with diff before writing"
|
|
12
|
-
- "MUST ask for confirmation before any file writes"
|
|
13
|
-
- "For full rewrite: MUST enter Plan Mode and research before regenerating"
|
|
14
|
-
state_fields:
|
|
15
|
-
- selected_skill
|
|
16
|
-
- edit_target_file
|
|
17
|
-
- has_changes_pending
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# /agileflow:skill:edit
|
|
21
|
-
|
|
22
|
-
Modify an existing skill in `.claude/skills/`.
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
27
|
-
|
|
28
|
-
## 🚨 COMPACT SUMMARY - /agileflow:skill:edit IS ACTIVE
|
|
29
|
-
|
|
30
|
-
**CRITICAL**: This command modifies existing skills with preview and confirmation.
|
|
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 edit.
|
|
38
|
-
|
|
39
|
-
### 🚨 RULE #2: Show Skill Structure
|
|
40
|
-
Display current skill contents before asking what to edit:
|
|
41
|
-
```
|
|
42
|
-
📝 Editing: skill-name
|
|
43
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
|
-
Files:
|
|
45
|
-
1. SKILL.md (main skill file)
|
|
46
|
-
2. references.md (documentation links)
|
|
47
|
-
3. cookbook/use-case-1.md
|
|
48
|
-
4. cookbook/use-case-2.md
|
|
49
|
-
5. .mcp.json (MCP configuration)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### 🚨 RULE #3: Ask What to Edit
|
|
53
|
-
Offer these options:
|
|
54
|
-
1. **SKILL.md** - Main skill instructions
|
|
55
|
-
2. **references.md** - Update documentation links
|
|
56
|
-
3. **Cookbook entry** - Edit specific use-case workflow
|
|
57
|
-
4. **Add new cookbook** - Create new use-case workflow
|
|
58
|
-
5. **MCP configuration** - Modify MCP server settings
|
|
59
|
-
6. **Rename skill** - Change skill name and folder
|
|
60
|
-
|
|
61
|
-
### 🚨 RULE #4: Read Current Content
|
|
62
|
-
Before editing, always read the file:
|
|
63
|
-
```bash
|
|
64
|
-
cat .claude/skills/<skill>/<file>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 🚨 RULE #5: Preview Before Writing
|
|
68
|
-
For any change:
|
|
69
|
-
1. Show diff preview (- old, + new)
|
|
70
|
-
2. Ask for confirmation
|
|
71
|
-
3. Only write if confirmed
|
|
72
|
-
|
|
73
|
-
### 🚨 RULE #6: Special Edits
|
|
74
|
-
| Edit Type | Process |
|
|
75
|
-
|-----------|---------|
|
|
76
|
-
| Full rewrite | Enter Plan Mode, research, generate with approval |
|
|
77
|
-
| Rename | Validate name, create new dir, copy files, update frontmatter, delete old |
|
|
78
|
-
| Add cookbook | Create from template, update SKILL.md references |
|
|
79
|
-
| Regular edits | Read → Edit → Preview → Confirm → Write |
|
|
80
|
-
|
|
81
|
-
### 🚨 RULE #7: For Full Rewrite
|
|
82
|
-
If user selects "Full rewrite (Recommended)":
|
|
83
|
-
1. Enter Plan Mode
|
|
84
|
-
2. Research web/local/codebase again
|
|
85
|
-
3. Show updated plan to user
|
|
86
|
-
4. Get approval
|
|
87
|
-
5. Exit Plan Mode
|
|
88
|
-
6. Regenerate the file with new research
|
|
89
|
-
|
|
90
|
-
### Critical Edit Operations
|
|
91
|
-
| Operation | Check | Action |
|
|
92
|
-
|-----------|-------|--------|
|
|
93
|
-
| Rename | Name is valid | Copy dir + update frontmatter + delete old |
|
|
94
|
-
| Add cookbook | Template ready | Create file + update SKILL.md |
|
|
95
|
-
| Change SKILL.md | Diff ready | Show preview + confirm + write |
|
|
96
|
-
| Modify references.md | Links valid | Show preview + confirm + write |
|
|
97
|
-
|
|
98
|
-
### Anti-Patterns
|
|
99
|
-
- ❌ DON'T modify files without preview
|
|
100
|
-
- ❌ DON'T skip diff confirmation
|
|
101
|
-
- ❌ DON'T rename without validating new name
|
|
102
|
-
- ❌ DON'T offer "full rewrite" without Plan Mode
|
|
103
|
-
- ❌ DON'T leave skill in broken state (always backup before changes)
|
|
104
|
-
|
|
105
|
-
### REMEMBER AFTER COMPACTION
|
|
106
|
-
- Edit is always: Select → Show structure → Ask what → Read → Edit → Preview → Confirm → Write
|
|
107
|
-
- Full rewrite means Plan Mode + research + approval
|
|
108
|
-
- Always show diffs before writing
|
|
109
|
-
- Rename requires copying and updating frontmatter
|
|
110
|
-
- New cookbook entries need SKILL.md updated too
|
|
111
|
-
|
|
112
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Workflow
|
|
117
|
-
|
|
118
|
-
### STEP 1: Select skill to edit
|
|
119
|
-
|
|
120
|
-
If SKILL_NAME not provided, list available skills:
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
ls -d .claude/skills/*/ 2>/dev/null | xargs -I {} basename {}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Then ask user:
|
|
127
|
-
|
|
128
|
-
```xml
|
|
129
|
-
<invoke name="AskUserQuestion">
|
|
130
|
-
<parameter name="questions">[{
|
|
131
|
-
"question": "Which skill would you like to edit?",
|
|
132
|
-
"header": "Select Skill",
|
|
133
|
-
"multiSelect": false,
|
|
134
|
-
"options": [
|
|
135
|
-
{"label": "<skill-1>", "description": "<description from frontmatter>"},
|
|
136
|
-
{"label": "<skill-2>", "description": "<description from frontmatter>"},
|
|
137
|
-
{"label": "<skill-3>", "description": "<description from frontmatter>"}
|
|
138
|
-
]
|
|
139
|
-
}]</parameter>
|
|
140
|
-
</invoke>
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### STEP 2: Show skill structure
|
|
144
|
-
|
|
145
|
-
Display current skill contents:
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
📝 Editing: supabase-swift
|
|
149
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
150
|
-
|
|
151
|
-
Files:
|
|
152
|
-
1. SKILL.md (main skill file)
|
|
153
|
-
2. references.md (documentation links)
|
|
154
|
-
3. cookbook/crud-operations.md
|
|
155
|
-
4. cookbook/authentication.md
|
|
156
|
-
5. .mcp.json (MCP configuration)
|
|
157
|
-
|
|
158
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### STEP 3: Ask what to edit
|
|
162
|
-
|
|
163
|
-
```xml
|
|
164
|
-
<invoke name="AskUserQuestion">
|
|
165
|
-
<parameter name="questions">[{
|
|
166
|
-
"question": "What would you like to modify?",
|
|
167
|
-
"header": "Edit Target",
|
|
168
|
-
"multiSelect": false,
|
|
169
|
-
"options": [
|
|
170
|
-
{"label": "SKILL.md", "description": "Edit main skill instructions"},
|
|
171
|
-
{"label": "references.md", "description": "Update documentation links"},
|
|
172
|
-
{"label": "Cookbook entry", "description": "Edit a specific workflow"},
|
|
173
|
-
{"label": "Add new cookbook", "description": "Create a new workflow"},
|
|
174
|
-
{"label": "MCP configuration", "description": "Modify MCP server settings"},
|
|
175
|
-
{"label": "Rename skill", "description": "Change skill name and folder"}
|
|
176
|
-
]
|
|
177
|
-
}]</parameter>
|
|
178
|
-
</invoke>
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### STEP 4: Read current content
|
|
182
|
-
|
|
183
|
-
Read the selected file:
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
cat .claude/skills/<skill>/<file>
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### STEP 5: Ask for changes
|
|
190
|
-
|
|
191
|
-
```xml
|
|
192
|
-
<invoke name="AskUserQuestion">
|
|
193
|
-
<parameter name="questions">[{
|
|
194
|
-
"question": "How would you like to modify this file?",
|
|
195
|
-
"header": "Edit Mode",
|
|
196
|
-
"multiSelect": false,
|
|
197
|
-
"options": [
|
|
198
|
-
{"label": "Describe changes", "description": "Tell me what to change and I'll update it"},
|
|
199
|
-
{"label": "Add content", "description": "Append new sections or examples"},
|
|
200
|
-
{"label": "Replace section", "description": "Rewrite a specific section"},
|
|
201
|
-
{"label": "Full rewrite", "description": "Regenerate with research (Recommended)"},
|
|
202
|
-
{"label": "Cancel", "description": "Return without changes"}
|
|
203
|
-
]
|
|
204
|
-
}]</parameter>
|
|
205
|
-
</invoke>
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### STEP 6: Apply changes
|
|
209
|
-
|
|
210
|
-
Based on user's choice:
|
|
211
|
-
|
|
212
|
-
**For "Describe changes":**
|
|
213
|
-
- Read current file
|
|
214
|
-
- Apply user's described modifications
|
|
215
|
-
- Show diff preview
|
|
216
|
-
- Confirm with YES/NO
|
|
217
|
-
|
|
218
|
-
**For "Full rewrite":**
|
|
219
|
-
- Enter plan mode to research
|
|
220
|
-
- Gather updated web docs, local docs, codebase patterns
|
|
221
|
-
- Regenerate file with new research
|
|
222
|
-
- Show diff preview
|
|
223
|
-
- Confirm with YES/NO
|
|
224
|
-
|
|
225
|
-
### STEP 7: Show diff and confirm
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
📝 Changes to SKILL.md:
|
|
229
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
230
|
-
|
|
231
|
-
- old line
|
|
232
|
-
+ new line
|
|
233
|
-
|
|
234
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
```xml
|
|
238
|
-
<invoke name="AskUserQuestion">
|
|
239
|
-
<parameter name="questions">[{
|
|
240
|
-
"question": "Apply these changes?",
|
|
241
|
-
"header": "Confirm",
|
|
242
|
-
"multiSelect": false,
|
|
243
|
-
"options": [
|
|
244
|
-
{"label": "Yes, save changes", "description": "Write the updated file"},
|
|
245
|
-
{"label": "No, discard", "description": "Cancel without saving"},
|
|
246
|
-
{"label": "Edit more", "description": "Make additional changes first"}
|
|
247
|
-
]
|
|
248
|
-
}]</parameter>
|
|
249
|
-
</invoke>
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### STEP 8: Write changes
|
|
253
|
-
|
|
254
|
-
If confirmed:
|
|
255
|
-
1. Write updated file
|
|
256
|
-
2. Show success message
|
|
257
|
-
3. Offer next actions
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## Special Edits
|
|
262
|
-
|
|
263
|
-
### Rename Skill
|
|
264
|
-
|
|
265
|
-
1. Get new name from user
|
|
266
|
-
2. Validate: letters, numbers, hyphens only
|
|
267
|
-
3. Create new directory: `.claude/skills/<new-name>/`
|
|
268
|
-
4. Copy all files
|
|
269
|
-
5. Update `name:` in SKILL.md frontmatter
|
|
270
|
-
6. Delete old directory
|
|
271
|
-
7. Confirm completion
|
|
272
|
-
|
|
273
|
-
### Add Cookbook Entry
|
|
274
|
-
|
|
275
|
-
1. Ask for use case name
|
|
276
|
-
2. Create `cookbook/<use-case>.md` from template
|
|
277
|
-
3. Update SKILL.md to reference new cookbook
|
|
278
|
-
4. Show diff and confirm
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## Cookbook Template
|
|
283
|
-
|
|
284
|
-
```markdown
|
|
285
|
-
# <Use Case Title>
|
|
286
|
-
|
|
287
|
-
<Brief description of this workflow.>
|
|
288
|
-
|
|
289
|
-
## Prerequisites
|
|
290
|
-
|
|
291
|
-
- <Prerequisite 1>
|
|
292
|
-
- <Prerequisite 2>
|
|
293
|
-
|
|
294
|
-
## Instructions
|
|
295
|
-
|
|
296
|
-
1. **<Step 1>**:
|
|
297
|
-
<Details>
|
|
298
|
-
|
|
299
|
-
2. **<Step 2>**:
|
|
300
|
-
```<language>
|
|
301
|
-
<code example>
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
3. **<Step 3>**:
|
|
305
|
-
<Details>
|
|
306
|
-
|
|
307
|
-
## Example
|
|
308
|
-
|
|
309
|
-
**Input**: <sample>
|
|
310
|
-
**Output**: <result>
|
|
311
|
-
|
|
312
|
-
## Troubleshooting
|
|
313
|
-
|
|
314
|
-
- **<Problem>**: <Solution>
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Error Handling
|
|
320
|
-
|
|
321
|
-
### Skill Not Found
|
|
322
|
-
```
|
|
323
|
-
❌ Skill "<name>" not found.
|
|
324
|
-
|
|
325
|
-
Available skills:
|
|
326
|
-
- supabase-swift
|
|
327
|
-
- ui-components
|
|
328
|
-
|
|
329
|
-
Use /agileflow:skill:list to see all skills.
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### No Skills Installed
|
|
333
|
-
```
|
|
334
|
-
❌ No skills installed yet.
|
|
335
|
-
|
|
336
|
-
Create a skill first: /agileflow:skill:create
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
---
|
|
340
|
-
|
|
341
|
-
## Usage
|
|
342
|
-
|
|
343
|
-
```bash
|
|
344
|
-
# Interactive mode
|
|
345
|
-
/agileflow:skill:edit
|
|
346
|
-
|
|
347
|
-
# Edit specific skill
|
|
348
|
-
/agileflow:skill:edit supabase-swift
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
## Related Commands
|
|
354
|
-
|
|
355
|
-
- `/agileflow:skill:create` - Create a new skill
|
|
356
|
-
- `/agileflow:skill:list` - List all installed skills
|
|
357
|
-
- `/agileflow:skill:test` - Test skill functionality
|
|
358
|
-
- `/agileflow:skill:upgrade` - Add learning capability
|
|
359
|
-
- `/agileflow:skill:delete` - Remove an installed skill
|