agileflow 2.61.0 → 2.63.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/README.md +9 -9
- package/package.json +1 -1
- package/scripts/lib/counter.js +103 -0
- package/src/core/commands/auto.md +1 -0
- package/src/core/commands/babysit.md +170 -29
- package/src/core/commands/board.md +1 -0
- package/src/core/commands/ci.md +1 -0
- package/src/core/commands/compress.md +1 -0
- package/src/core/commands/deploy.md +1 -0
- package/src/core/commands/help.md +1 -0
- package/src/core/commands/research.md +1 -0
- package/src/core/commands/skill/create.md +566 -0
- package/src/core/commands/skill/delete.md +189 -0
- package/src/core/commands/skill/edit.md +245 -0
- package/src/core/commands/skill/list.md +155 -0
- package/src/core/commands/skill/test.md +249 -0
- package/src/core/commands/template.md +1 -0
- package/src/core/commands/tests.md +1 -0
- package/src/core/commands/update.md +1 -0
- package/src/core/commands/velocity.md +1 -0
- package/src/core/experts/refactor/expertise.yaml +17 -12
- package/src/core/templates/claude-settings.advanced.example.json +1 -1
- package/src/core/templates/claude-settings.example.json +1 -1
- package/tools/cli/commands/list.js +8 -13
- package/tools/cli/commands/uninstall.js +70 -0
- package/tools/cli/commands/update.js +21 -4
- package/tools/cli/installers/core/installer.js +20 -19
- package/tools/cli/installers/ide/_base-ide.js +18 -4
- package/tools/cli/installers/ide/claude-code.js +4 -15
- package/tools/cli/installers/ide/codex.js +9 -13
- package/tools/cli/lib/content-injector.js +162 -31
- package/tools/cli/lib/utils.js +87 -0
- package/src/core/skills/acceptance-criteria-generator/SKILL.md +0 -46
- package/src/core/skills/adr-template/SKILL.md +0 -62
- package/src/core/skills/agileflow-acceptance-criteria/SKILL.md +0 -156
- package/src/core/skills/agileflow-adr/SKILL.md +0 -147
- package/src/core/skills/agileflow-adr/examples/database-choice-example.md +0 -122
- package/src/core/skills/agileflow-adr/templates/adr-template.md +0 -69
- package/src/core/skills/agileflow-commit-messages/SKILL.md +0 -130
- package/src/core/skills/agileflow-commit-messages/reference/bad-examples.md +0 -168
- package/src/core/skills/agileflow-commit-messages/reference/good-examples.md +0 -120
- package/src/core/skills/agileflow-commit-messages/scripts/check-attribution.sh +0 -15
- package/src/core/skills/agileflow-epic-planner/SKILL.md +0 -184
- package/src/core/skills/agileflow-retro-facilitator/SKILL.md +0 -119
- package/src/core/skills/agileflow-retro-facilitator/cookbook/4ls.md +0 -86
- package/src/core/skills/agileflow-retro-facilitator/cookbook/glad-sad-mad.md +0 -79
- package/src/core/skills/agileflow-retro-facilitator/cookbook/start-stop-continue.md +0 -142
- package/src/core/skills/agileflow-retro-facilitator/prompts/action-items.md +0 -83
- package/src/core/skills/agileflow-sprint-planner/SKILL.md +0 -212
- package/src/core/skills/agileflow-story-writer/SKILL.md +0 -163
- package/src/core/skills/agileflow-story-writer/examples/good-story-example.md +0 -63
- package/src/core/skills/agileflow-story-writer/templates/story-template.md +0 -44
- package/src/core/skills/agileflow-tech-debt/SKILL.md +0 -215
- package/src/core/skills/api-documentation-generator/SKILL.md +0 -65
- package/src/core/skills/changelog-entry/SKILL.md +0 -55
- package/src/core/skills/commit-message-formatter/SKILL.md +0 -50
- package/src/core/skills/deployment-guide-generator/SKILL.md +0 -84
- package/src/core/skills/diagram-generator/SKILL.md +0 -65
- package/src/core/skills/error-handler-template/SKILL.md +0 -78
- package/src/core/skills/migration-checklist/SKILL.md +0 -82
- package/src/core/skills/pr-description/SKILL.md +0 -65
- package/src/core/skills/sql-schema-generator/SKILL.md +0 -69
- package/src/core/skills/story-skeleton/SKILL.md +0 -34
- package/src/core/skills/test-case-generator/SKILL.md +0 -63
- package/src/core/skills/type-definitions/SKILL.md +0 -65
- package/src/core/skills/validation-schema-generator/SKILL.md +0 -64
- package/src/core/skills/writing-skills/SKILL.md +0 -352
- package/src/core/skills/writing-skills/testing-skills-with-subagents.md +0 -232
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Remove an installed skill from .claude/skills/
|
|
3
|
+
argument-hint: [SKILL_NAME] (optional)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /agileflow:skill:delete
|
|
7
|
+
|
|
8
|
+
Remove a skill from `.claude/skills/`.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
### STEP 1: Select skill to delete
|
|
15
|
+
|
|
16
|
+
If SKILL_NAME not provided, list available skills:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
ls -d .claude/skills/*/ 2>/dev/null | xargs -I {} basename {}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Then ask user:
|
|
23
|
+
|
|
24
|
+
```xml
|
|
25
|
+
<invoke name="AskUserQuestion">
|
|
26
|
+
<parameter name="questions">[{
|
|
27
|
+
"question": "Which skill would you like to delete?",
|
|
28
|
+
"header": "Select Skill",
|
|
29
|
+
"multiSelect": false,
|
|
30
|
+
"options": [
|
|
31
|
+
{"label": "<skill-1>", "description": "<description from frontmatter>"},
|
|
32
|
+
{"label": "<skill-2>", "description": "<description from frontmatter>"},
|
|
33
|
+
{"label": "<skill-3>", "description": "<description from frontmatter>"}
|
|
34
|
+
]
|
|
35
|
+
}]</parameter>
|
|
36
|
+
</invoke>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### STEP 2: Show skill contents
|
|
40
|
+
|
|
41
|
+
Display what will be deleted:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
⚠️ About to delete: supabase-swift
|
|
45
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
|
|
47
|
+
This will permanently remove:
|
|
48
|
+
.claude/skills/supabase-swift/
|
|
49
|
+
├── SKILL.md
|
|
50
|
+
├── references.md
|
|
51
|
+
├── cookbook/
|
|
52
|
+
│ ├── crud-operations.md
|
|
53
|
+
│ └── authentication.md
|
|
54
|
+
└── .mcp.json
|
|
55
|
+
|
|
56
|
+
Total: 5 files in 2 directories
|
|
57
|
+
|
|
58
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### STEP 3: Confirm deletion
|
|
62
|
+
|
|
63
|
+
```xml
|
|
64
|
+
<invoke name="AskUserQuestion">
|
|
65
|
+
<parameter name="questions">[{
|
|
66
|
+
"question": "Are you sure you want to delete this skill? This cannot be undone.",
|
|
67
|
+
"header": "Confirm Delete",
|
|
68
|
+
"multiSelect": false,
|
|
69
|
+
"options": [
|
|
70
|
+
{"label": "Yes, delete permanently", "description": "Remove the skill and all its files"},
|
|
71
|
+
{"label": "No, keep it", "description": "Cancel and return"},
|
|
72
|
+
{"label": "Export first", "description": "Save a backup before deleting"}
|
|
73
|
+
]
|
|
74
|
+
}]</parameter>
|
|
75
|
+
</invoke>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### STEP 4: Handle export (if requested)
|
|
79
|
+
|
|
80
|
+
If user chose "Export first":
|
|
81
|
+
|
|
82
|
+
1. Create backup directory: `.claude/skills-backup/`
|
|
83
|
+
2. Copy skill to backup with timestamp:
|
|
84
|
+
```bash
|
|
85
|
+
cp -r .claude/skills/<skill> .claude/skills-backup/<skill>-$(date +%Y%m%d-%H%M%S)/
|
|
86
|
+
```
|
|
87
|
+
3. Show backup location
|
|
88
|
+
4. Return to confirmation
|
|
89
|
+
|
|
90
|
+
### STEP 5: Delete skill
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
rm -rf .claude/skills/<skill>/
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### STEP 6: Confirm deletion
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
✅ Deleted: supabase-swift
|
|
100
|
+
|
|
101
|
+
The skill has been permanently removed from .claude/skills/
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### STEP 7: Offer next actions
|
|
105
|
+
|
|
106
|
+
```xml
|
|
107
|
+
<invoke name="AskUserQuestion">
|
|
108
|
+
<parameter name="questions">[{
|
|
109
|
+
"question": "What would you like to do next?",
|
|
110
|
+
"header": "Next Action",
|
|
111
|
+
"multiSelect": false,
|
|
112
|
+
"options": [
|
|
113
|
+
{"label": "Delete another skill", "description": "Remove more skills"},
|
|
114
|
+
{"label": "Create new skill", "description": "Generate a replacement skill"},
|
|
115
|
+
{"label": "List remaining skills", "description": "See what's still installed"},
|
|
116
|
+
{"label": "Done", "description": "Exit skill management"}
|
|
117
|
+
]
|
|
118
|
+
}]</parameter>
|
|
119
|
+
</invoke>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Backup Location
|
|
125
|
+
|
|
126
|
+
Backups are stored in:
|
|
127
|
+
```
|
|
128
|
+
.claude/skills-backup/<skill>-<timestamp>/
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Example:
|
|
132
|
+
```
|
|
133
|
+
.claude/skills-backup/supabase-swift-20251227-143052/
|
|
134
|
+
├── SKILL.md
|
|
135
|
+
├── references.md
|
|
136
|
+
├── cookbook/
|
|
137
|
+
└── .mcp.json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Error Handling
|
|
143
|
+
|
|
144
|
+
### Skill Not Found
|
|
145
|
+
```
|
|
146
|
+
❌ Skill "<name>" not found.
|
|
147
|
+
|
|
148
|
+
Available skills:
|
|
149
|
+
- ui-components
|
|
150
|
+
- api-integration
|
|
151
|
+
|
|
152
|
+
Use /agileflow:skill:list to see all skills.
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### No Skills Installed
|
|
156
|
+
```
|
|
157
|
+
❌ No skills to delete.
|
|
158
|
+
|
|
159
|
+
No skills are currently installed in .claude/skills/
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Delete Failed
|
|
163
|
+
```
|
|
164
|
+
❌ Failed to delete skill: <error message>
|
|
165
|
+
|
|
166
|
+
The skill directory may be in use or have permission issues.
|
|
167
|
+
Try manually: rm -rf .claude/skills/<skill>/
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Safety Features
|
|
173
|
+
|
|
174
|
+
1. **Always confirm** - Never delete without explicit confirmation
|
|
175
|
+
2. **Show contents** - Display exactly what will be removed
|
|
176
|
+
3. **Export option** - Allow backup before deletion
|
|
177
|
+
4. **No batch delete** - One skill at a time for safety
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Usage
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# Interactive mode
|
|
185
|
+
/agileflow:skill:delete
|
|
186
|
+
|
|
187
|
+
# Delete specific skill
|
|
188
|
+
/agileflow:skill:delete supabase-swift
|
|
189
|
+
```
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Edit an existing skill's SKILL.md, cookbook entries, or references
|
|
3
|
+
argument-hint: [SKILL_NAME] (optional)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /agileflow:skill:edit
|
|
7
|
+
|
|
8
|
+
Modify an existing skill in `.claude/skills/`.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
### STEP 1: Select skill to edit
|
|
15
|
+
|
|
16
|
+
If SKILL_NAME not provided, list available skills:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
ls -d .claude/skills/*/ 2>/dev/null | xargs -I {} basename {}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Then ask user:
|
|
23
|
+
|
|
24
|
+
```xml
|
|
25
|
+
<invoke name="AskUserQuestion">
|
|
26
|
+
<parameter name="questions">[{
|
|
27
|
+
"question": "Which skill would you like to edit?",
|
|
28
|
+
"header": "Select Skill",
|
|
29
|
+
"multiSelect": false,
|
|
30
|
+
"options": [
|
|
31
|
+
{"label": "<skill-1>", "description": "<description from frontmatter>"},
|
|
32
|
+
{"label": "<skill-2>", "description": "<description from frontmatter>"},
|
|
33
|
+
{"label": "<skill-3>", "description": "<description from frontmatter>"}
|
|
34
|
+
]
|
|
35
|
+
}]</parameter>
|
|
36
|
+
</invoke>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### STEP 2: Show skill structure
|
|
40
|
+
|
|
41
|
+
Display current skill contents:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
📝 Editing: supabase-swift
|
|
45
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
|
|
47
|
+
Files:
|
|
48
|
+
1. SKILL.md (main skill file)
|
|
49
|
+
2. references.md (documentation links)
|
|
50
|
+
3. cookbook/crud-operations.md
|
|
51
|
+
4. cookbook/authentication.md
|
|
52
|
+
5. .mcp.json (MCP configuration)
|
|
53
|
+
|
|
54
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### STEP 3: Ask what to edit
|
|
58
|
+
|
|
59
|
+
```xml
|
|
60
|
+
<invoke name="AskUserQuestion">
|
|
61
|
+
<parameter name="questions">[{
|
|
62
|
+
"question": "What would you like to modify?",
|
|
63
|
+
"header": "Edit Target",
|
|
64
|
+
"multiSelect": false,
|
|
65
|
+
"options": [
|
|
66
|
+
{"label": "SKILL.md", "description": "Edit main skill instructions"},
|
|
67
|
+
{"label": "references.md", "description": "Update documentation links"},
|
|
68
|
+
{"label": "Cookbook entry", "description": "Edit a specific workflow"},
|
|
69
|
+
{"label": "Add new cookbook", "description": "Create a new workflow"},
|
|
70
|
+
{"label": "MCP configuration", "description": "Modify MCP server settings"},
|
|
71
|
+
{"label": "Rename skill", "description": "Change skill name and folder"}
|
|
72
|
+
]
|
|
73
|
+
}]</parameter>
|
|
74
|
+
</invoke>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### STEP 4: Read current content
|
|
78
|
+
|
|
79
|
+
Read the selected file:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
cat .claude/skills/<skill>/<file>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### STEP 5: Ask for changes
|
|
86
|
+
|
|
87
|
+
```xml
|
|
88
|
+
<invoke name="AskUserQuestion">
|
|
89
|
+
<parameter name="questions">[{
|
|
90
|
+
"question": "How would you like to modify this file?",
|
|
91
|
+
"header": "Edit Mode",
|
|
92
|
+
"multiSelect": false,
|
|
93
|
+
"options": [
|
|
94
|
+
{"label": "Describe changes", "description": "Tell me what to change and I'll update it"},
|
|
95
|
+
{"label": "Add content", "description": "Append new sections or examples"},
|
|
96
|
+
{"label": "Replace section", "description": "Rewrite a specific section"},
|
|
97
|
+
{"label": "Full rewrite", "description": "Regenerate with research (Recommended)"},
|
|
98
|
+
{"label": "Cancel", "description": "Return without changes"}
|
|
99
|
+
]
|
|
100
|
+
}]</parameter>
|
|
101
|
+
</invoke>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### STEP 6: Apply changes
|
|
105
|
+
|
|
106
|
+
Based on user's choice:
|
|
107
|
+
|
|
108
|
+
**For "Describe changes":**
|
|
109
|
+
- Read current file
|
|
110
|
+
- Apply user's described modifications
|
|
111
|
+
- Show diff preview
|
|
112
|
+
- Confirm with YES/NO
|
|
113
|
+
|
|
114
|
+
**For "Full rewrite":**
|
|
115
|
+
- Enter plan mode to research
|
|
116
|
+
- Gather updated web docs, local docs, codebase patterns
|
|
117
|
+
- Regenerate file with new research
|
|
118
|
+
- Show diff preview
|
|
119
|
+
- Confirm with YES/NO
|
|
120
|
+
|
|
121
|
+
### STEP 7: Show diff and confirm
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
📝 Changes to SKILL.md:
|
|
125
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
126
|
+
|
|
127
|
+
- old line
|
|
128
|
+
+ new line
|
|
129
|
+
|
|
130
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```xml
|
|
134
|
+
<invoke name="AskUserQuestion">
|
|
135
|
+
<parameter name="questions">[{
|
|
136
|
+
"question": "Apply these changes?",
|
|
137
|
+
"header": "Confirm",
|
|
138
|
+
"multiSelect": false,
|
|
139
|
+
"options": [
|
|
140
|
+
{"label": "Yes, save changes", "description": "Write the updated file"},
|
|
141
|
+
{"label": "No, discard", "description": "Cancel without saving"},
|
|
142
|
+
{"label": "Edit more", "description": "Make additional changes first"}
|
|
143
|
+
]
|
|
144
|
+
}]</parameter>
|
|
145
|
+
</invoke>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### STEP 8: Write changes
|
|
149
|
+
|
|
150
|
+
If confirmed:
|
|
151
|
+
1. Write updated file
|
|
152
|
+
2. Show success message
|
|
153
|
+
3. Offer next actions
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Special Edits
|
|
158
|
+
|
|
159
|
+
### Rename Skill
|
|
160
|
+
|
|
161
|
+
1. Get new name from user
|
|
162
|
+
2. Validate: letters, numbers, hyphens only
|
|
163
|
+
3. Create new directory: `.claude/skills/<new-name>/`
|
|
164
|
+
4. Copy all files
|
|
165
|
+
5. Update `name:` in SKILL.md frontmatter
|
|
166
|
+
6. Delete old directory
|
|
167
|
+
7. Confirm completion
|
|
168
|
+
|
|
169
|
+
### Add Cookbook Entry
|
|
170
|
+
|
|
171
|
+
1. Ask for use case name
|
|
172
|
+
2. Create `cookbook/<use-case>.md` from template
|
|
173
|
+
3. Update SKILL.md to reference new cookbook
|
|
174
|
+
4. Show diff and confirm
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Cookbook Template
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
# <Use Case Title>
|
|
182
|
+
|
|
183
|
+
<Brief description of this workflow.>
|
|
184
|
+
|
|
185
|
+
## Prerequisites
|
|
186
|
+
|
|
187
|
+
- <Prerequisite 1>
|
|
188
|
+
- <Prerequisite 2>
|
|
189
|
+
|
|
190
|
+
## Instructions
|
|
191
|
+
|
|
192
|
+
1. **<Step 1>**:
|
|
193
|
+
<Details>
|
|
194
|
+
|
|
195
|
+
2. **<Step 2>**:
|
|
196
|
+
```<language>
|
|
197
|
+
<code example>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
3. **<Step 3>**:
|
|
201
|
+
<Details>
|
|
202
|
+
|
|
203
|
+
## Example
|
|
204
|
+
|
|
205
|
+
**Input**: <sample>
|
|
206
|
+
**Output**: <result>
|
|
207
|
+
|
|
208
|
+
## Troubleshooting
|
|
209
|
+
|
|
210
|
+
- **<Problem>**: <Solution>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Error Handling
|
|
216
|
+
|
|
217
|
+
### Skill Not Found
|
|
218
|
+
```
|
|
219
|
+
❌ Skill "<name>" not found.
|
|
220
|
+
|
|
221
|
+
Available skills:
|
|
222
|
+
- supabase-swift
|
|
223
|
+
- ui-components
|
|
224
|
+
|
|
225
|
+
Use /agileflow:skill:list to see all skills.
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### No Skills Installed
|
|
229
|
+
```
|
|
230
|
+
❌ No skills installed yet.
|
|
231
|
+
|
|
232
|
+
Create a skill first: /agileflow:skill:create
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Usage
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Interactive mode
|
|
241
|
+
/agileflow:skill:edit
|
|
242
|
+
|
|
243
|
+
# Edit specific skill
|
|
244
|
+
/agileflow:skill:edit supabase-swift
|
|
245
|
+
```
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List all installed skills with their descriptions and status
|
|
3
|
+
argument-hint: (no arguments)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /agileflow:skill:list
|
|
7
|
+
|
|
8
|
+
Display all skills installed in `.claude/skills/` with their metadata.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Output Format
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
📦 Installed Skills (X total)
|
|
16
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17
|
+
|
|
18
|
+
SKILL NAME DESCRIPTION FILES
|
|
19
|
+
─────────────────────────────────────────────────────────────────────
|
|
20
|
+
supabase-swift Supabase database operations 4 files
|
|
21
|
+
└─ cookbook/crud-operations.md, cookbook/auth.md
|
|
22
|
+
|
|
23
|
+
ui-components React component patterns 3 files
|
|
24
|
+
└─ cookbook/create-component.md
|
|
25
|
+
|
|
26
|
+
api-integration REST API client patterns 2 files
|
|
27
|
+
|
|
28
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
### STEP 1: Check for skills directory
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
ls -la .claude/skills/ 2>/dev/null
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If directory doesn't exist or is empty:
|
|
42
|
+
```
|
|
43
|
+
No skills installed yet.
|
|
44
|
+
|
|
45
|
+
To create a skill, run: /agileflow:skill:create
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### STEP 2: Scan each skill directory
|
|
49
|
+
|
|
50
|
+
For each subdirectory in `.claude/skills/`:
|
|
51
|
+
|
|
52
|
+
1. **Read SKILL.md frontmatter** to extract:
|
|
53
|
+
- `name` - skill identifier
|
|
54
|
+
- `description` - skill purpose
|
|
55
|
+
|
|
56
|
+
2. **Count supporting files**:
|
|
57
|
+
- cookbook/*.md
|
|
58
|
+
- tools/*
|
|
59
|
+
- .mcp.json (if present)
|
|
60
|
+
- references.md (if present)
|
|
61
|
+
|
|
62
|
+
3. **Check for MCP integration**:
|
|
63
|
+
- If `.mcp.json` exists, note "MCP: ✓"
|
|
64
|
+
|
|
65
|
+
### STEP 3: Format output
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
📦 Installed Skills (3 total)
|
|
69
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
70
|
+
|
|
71
|
+
supabase-swift MCP: ✓
|
|
72
|
+
Supabase database operations for Swift apps
|
|
73
|
+
└─ 4 files: cookbook/crud.md, cookbook/auth.md, references.md, .mcp.json
|
|
74
|
+
|
|
75
|
+
ui-components
|
|
76
|
+
React component patterns with accessibility
|
|
77
|
+
└─ 3 files: cookbook/create.md, cookbook/styling.md, references.md
|
|
78
|
+
|
|
79
|
+
api-integration
|
|
80
|
+
REST API client patterns with error handling
|
|
81
|
+
└─ 2 files: SKILL.md, references.md
|
|
82
|
+
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### STEP 4: Offer next actions
|
|
87
|
+
|
|
88
|
+
```xml
|
|
89
|
+
<invoke name="AskUserQuestion">
|
|
90
|
+
<parameter name="questions">[{
|
|
91
|
+
"question": "What would you like to do?",
|
|
92
|
+
"header": "Skill Actions",
|
|
93
|
+
"multiSelect": false,
|
|
94
|
+
"options": [
|
|
95
|
+
{"label": "Create new skill", "description": "Generate a new skill with research"},
|
|
96
|
+
{"label": "Edit a skill", "description": "Modify an existing skill"},
|
|
97
|
+
{"label": "Delete a skill", "description": "Remove a skill"},
|
|
98
|
+
{"label": "Test a skill", "description": "Verify a skill works correctly"},
|
|
99
|
+
{"label": "Done", "description": "Exit skill management"}
|
|
100
|
+
]
|
|
101
|
+
}]</parameter>
|
|
102
|
+
</invoke>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Skill Metadata Parsing
|
|
108
|
+
|
|
109
|
+
**SKILL.md Frontmatter Example:**
|
|
110
|
+
```yaml
|
|
111
|
+
---
|
|
112
|
+
name: supabase-swift
|
|
113
|
+
description: Use when building Swift apps with Supabase database operations
|
|
114
|
+
---
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Parse with:**
|
|
118
|
+
```bash
|
|
119
|
+
head -10 .claude/skills/<skill>/SKILL.md | grep -E "^(name|description):"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Error Handling
|
|
125
|
+
|
|
126
|
+
### No Skills Directory
|
|
127
|
+
```
|
|
128
|
+
📦 No skills installed yet.
|
|
129
|
+
|
|
130
|
+
Skills are stored in .claude/skills/ and can be created with:
|
|
131
|
+
/agileflow:skill:create
|
|
132
|
+
|
|
133
|
+
This will research best practices and generate a contextual skill.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Invalid Skill (Missing SKILL.md)
|
|
137
|
+
Skip directories without SKILL.md and note:
|
|
138
|
+
```
|
|
139
|
+
⚠️ Skipped: <dirname>/ (missing SKILL.md)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Corrupted Frontmatter
|
|
143
|
+
If frontmatter can't be parsed:
|
|
144
|
+
```
|
|
145
|
+
⚠️ <skill>: Could not parse frontmatter
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Usage
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# List all installed skills
|
|
154
|
+
/agileflow:skill:list
|
|
155
|
+
```
|