@fro.bot/systematic 1.14.0 → 1.16.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 +29 -3
- package/package.json +4 -2
- package/skills/agent-browser/SKILL.md +1 -0
- package/skills/agent-native-architecture/SKILL.md +4 -4
- package/skills/agent-native-architecture/references/files-universal-interface.md +1 -1
- package/skills/agent-native-architecture/references/product-implications.md +1 -1
- package/skills/brainstorming/SKILL.md +1 -0
- package/skills/compound-docs/SKILL.md +14 -13
- package/skills/compound-docs/assets/critical-pattern-template.md +1 -1
- package/skills/compound-docs/assets/resolution-template.md +3 -3
- package/skills/compound-docs/references/yaml-schema.md +2 -2
- package/skills/create-agent-skills/SKILL.md +169 -192
- package/skills/create-agent-skills/references/api-security.md +24 -24
- package/skills/create-agent-skills/references/executable-code.md +1 -1
- package/skills/create-agent-skills/references/official-spec.md +74 -125
- package/skills/create-agent-skills/references/skill-structure.md +109 -329
- package/skills/create-agent-skills/workflows/add-reference.md +3 -3
- package/skills/create-agent-skills/workflows/add-script.md +2 -2
- package/skills/create-agent-skills/workflows/add-template.md +1 -1
- package/skills/create-agent-skills/workflows/add-workflow.md +5 -5
- package/skills/create-agent-skills/workflows/audit-skill.md +6 -6
- package/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +8 -8
- package/skills/create-agent-skills/workflows/create-new-skill.md +8 -8
- package/skills/create-agent-skills/workflows/upgrade-to-router.md +5 -5
- package/skills/create-agent-skills/workflows/verify-skill.md +4 -4
- package/skills/document-review/SKILL.md +88 -0
- package/skills/file-todos/SKILL.md +3 -2
- package/skills/file-todos/assets/todo-template.md +1 -1
- package/skills/frontend-design/SKILL.md +43 -0
- package/skills/git-worktree/SKILL.md +23 -22
- package/skills/git-worktree/scripts/worktree-manager.sh +2 -10
- package/skills/orchestrating-swarms/SKILL.md +1718 -0
|
@@ -1,372 +1,152 @@
|
|
|
1
|
-
|
|
2
|
-
Skills have three structural components: YAML frontmatter (metadata), pure XML body structure (content organization), and progressive disclosure (file organization). This reference defines requirements and best practices for each component.
|
|
3
|
-
</overview>
|
|
4
|
-
|
|
5
|
-
<xml_structure_requirements>
|
|
6
|
-
<critical_rule>
|
|
7
|
-
**Remove ALL markdown headings (#, ##, ###) from skill body content.** Replace with semantic XML tags. Keep markdown formatting WITHIN content (bold, italic, lists, code blocks, links).
|
|
8
|
-
</critical_rule>
|
|
9
|
-
|
|
10
|
-
<required_tags>
|
|
11
|
-
Every skill MUST have these three tags:
|
|
12
|
-
|
|
13
|
-
- **`<objective>`** - What the skill does and why it matters (1-3 paragraphs)
|
|
14
|
-
- **`<quick_start>`** - Immediate, actionable guidance (minimal working example)
|
|
15
|
-
- **`<success_criteria>`** or **`<when_successful>`** - How to know it worked
|
|
16
|
-
</required_tags>
|
|
17
|
-
|
|
18
|
-
<conditional_tags>
|
|
19
|
-
Add based on skill complexity and domain requirements:
|
|
20
|
-
|
|
21
|
-
- **`<context>`** - Background/situational information
|
|
22
|
-
- **`<workflow>` or `<process>`** - Step-by-step procedures
|
|
23
|
-
- **`<advanced_features>`** - Deep-dive topics (progressive disclosure)
|
|
24
|
-
- **`<validation>`** - How to verify outputs
|
|
25
|
-
- **`<examples>`** - Multi-shot learning
|
|
26
|
-
- **`<anti_patterns>`** - Common mistakes to avoid
|
|
27
|
-
- **`<security_checklist>`** - Non-negotiable security patterns
|
|
28
|
-
- **`<testing>`** - Testing workflows
|
|
29
|
-
- **`<common_patterns>`** - Code examples and recipes
|
|
30
|
-
- **`<reference_guides>` or `<detailed_references>`** - Links to reference files
|
|
31
|
-
|
|
32
|
-
See [use-xml-tags.md](use-xml-tags.md) for detailed guidance on each tag.
|
|
33
|
-
</conditional_tags>
|
|
34
|
-
|
|
35
|
-
<tag_selection_intelligence>
|
|
36
|
-
**Simple skills** (single domain, straightforward):
|
|
37
|
-
- Required tags only
|
|
38
|
-
- Example: Text extraction, file format conversion
|
|
39
|
-
|
|
40
|
-
**Medium skills** (multiple patterns, some complexity):
|
|
41
|
-
- Required tags + workflow/examples as needed
|
|
42
|
-
- Example: Document processing with steps, API integration
|
|
43
|
-
|
|
44
|
-
**Complex skills** (multiple domains, security, APIs):
|
|
45
|
-
- Required tags + conditional tags as appropriate
|
|
46
|
-
- Example: Payment processing, authentication systems, multi-step workflows
|
|
47
|
-
</tag_selection_intelligence>
|
|
48
|
-
|
|
49
|
-
<xml_nesting>
|
|
50
|
-
Properly nest XML tags for hierarchical content:
|
|
51
|
-
|
|
52
|
-
```xml
|
|
53
|
-
<examples>
|
|
54
|
-
<example number="1">
|
|
55
|
-
<input>User input</input>
|
|
56
|
-
<output>Expected output</output>
|
|
57
|
-
</example>
|
|
58
|
-
</examples>
|
|
59
|
-
```
|
|
1
|
+
# Skill Structure Reference
|
|
60
2
|
|
|
61
|
-
|
|
62
|
-
```xml
|
|
63
|
-
<objective>
|
|
64
|
-
Content here
|
|
65
|
-
</objective>
|
|
66
|
-
```
|
|
67
|
-
</xml_nesting>
|
|
3
|
+
Skills have three structural components: YAML frontmatter (metadata), standard markdown body (content), and progressive disclosure (file organization).
|
|
68
4
|
|
|
69
|
-
|
|
70
|
-
Use descriptive, semantic names:
|
|
71
|
-
- `<workflow>` not `<steps>`
|
|
72
|
-
- `<success_criteria>` not `<done>`
|
|
73
|
-
- `<anti_patterns>` not `<dont_do>`
|
|
5
|
+
## Body Format
|
|
74
6
|
|
|
75
|
-
|
|
76
|
-
</tag_naming_conventions>
|
|
77
|
-
</xml_structure_requirements>
|
|
7
|
+
Use **standard markdown headings** for structure. Keep markdown formatting within content (bold, italic, lists, code blocks, links).
|
|
78
8
|
|
|
79
|
-
|
|
80
|
-
<required_fields>
|
|
81
|
-
```yaml
|
|
9
|
+
```markdown
|
|
82
10
|
---
|
|
83
|
-
name: skill
|
|
84
|
-
description: What it does and when to use it
|
|
11
|
+
name: my-skill
|
|
12
|
+
description: What it does and when to use it
|
|
85
13
|
---
|
|
86
|
-
```
|
|
87
|
-
</required_fields>
|
|
88
|
-
|
|
89
|
-
<name_field>
|
|
90
|
-
**Validation rules**:
|
|
91
|
-
- Maximum 64 characters
|
|
92
|
-
- Lowercase letters, numbers, hyphens only
|
|
93
|
-
- No XML tags
|
|
94
|
-
- No reserved words: "anthropic", "claude"
|
|
95
|
-
- Must match directory name exactly
|
|
96
|
-
|
|
97
|
-
**Examples**:
|
|
98
|
-
- ✅ `process-pdfs`
|
|
99
|
-
- ✅ `manage-facebook-ads`
|
|
100
|
-
- ✅ `setup-stripe-payments`
|
|
101
|
-
- ❌ `PDF_Processor` (uppercase)
|
|
102
|
-
- ❌ `helper` (vague)
|
|
103
|
-
- ❌ `claude-helper` (reserved word)
|
|
104
|
-
</name_field>
|
|
105
|
-
|
|
106
|
-
<description_field>
|
|
107
|
-
**Validation rules**:
|
|
108
|
-
- Non-empty, maximum 1024 characters
|
|
109
|
-
- No XML tags
|
|
110
|
-
- Third person (never first or second person)
|
|
111
|
-
- Include what it does AND when to use it
|
|
112
|
-
|
|
113
|
-
**Critical rule**: Always write in third person.
|
|
114
|
-
- ✅ "Processes Excel files and generates reports"
|
|
115
|
-
- ❌ "I can help you process Excel files"
|
|
116
|
-
- ❌ "You can use this to process Excel files"
|
|
117
14
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
**Effective examples**:
|
|
121
|
-
```yaml
|
|
122
|
-
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
123
|
-
```
|
|
15
|
+
# Skill Name
|
|
124
16
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
```
|
|
17
|
+
## Quick Start
|
|
18
|
+
Immediate actionable guidance...
|
|
128
19
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
```
|
|
20
|
+
## Instructions
|
|
21
|
+
Step-by-step procedures...
|
|
132
22
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
description: Helps with documents
|
|
136
|
-
```
|
|
23
|
+
## Examples
|
|
24
|
+
Concrete usage examples...
|
|
137
25
|
|
|
138
|
-
|
|
139
|
-
|
|
26
|
+
## Guidelines
|
|
27
|
+
Rules and constraints...
|
|
140
28
|
```
|
|
141
|
-
</description_field>
|
|
142
|
-
</yaml_requirements>
|
|
143
29
|
|
|
144
|
-
|
|
145
|
-
Use **verb-noun convention** for skill names:
|
|
30
|
+
## Recommended Sections
|
|
146
31
|
|
|
147
|
-
|
|
148
|
-
Building/authoring tools
|
|
32
|
+
Every skill should have:
|
|
149
33
|
|
|
150
|
-
|
|
151
|
-
|
|
34
|
+
- **Quick Start** - Immediate, actionable guidance (minimal working example)
|
|
35
|
+
- **Instructions** - Core step-by-step guidance
|
|
36
|
+
- **Success Criteria** - How to know it worked
|
|
152
37
|
|
|
153
|
-
|
|
154
|
-
Managing external services or resources
|
|
38
|
+
Add based on complexity:
|
|
155
39
|
|
|
156
|
-
|
|
157
|
-
|
|
40
|
+
- **Context** - Background/situational information
|
|
41
|
+
- **Workflow** - Multi-step procedures
|
|
42
|
+
- **Examples** - Concrete input/output pairs
|
|
43
|
+
- **Advanced Features** - Deep-dive topics (link to reference files)
|
|
44
|
+
- **Anti-Patterns** - Common mistakes to avoid
|
|
45
|
+
- **Guidelines** - Rules and constraints
|
|
158
46
|
|
|
159
|
-
|
|
160
|
-
Configuration/integration tasks
|
|
161
|
-
|
|
162
|
-
Examples: `setup-stripe-payments`, `setup-meta-tracking`
|
|
163
|
-
</pattern>
|
|
164
|
-
|
|
165
|
-
<pattern name="generate">
|
|
166
|
-
Generation tasks
|
|
167
|
-
|
|
168
|
-
Examples: `generate-ai-images`
|
|
169
|
-
</pattern>
|
|
170
|
-
|
|
171
|
-
<avoid_patterns>
|
|
172
|
-
- Vague: `helper`, `utils`, `tools`
|
|
173
|
-
- Generic: `documents`, `data`, `files`
|
|
174
|
-
- Reserved words: `anthropic-helper`, `claude-tools`
|
|
175
|
-
- Inconsistent: Directory `facebook-ads` but name `facebook-ads-manager`
|
|
176
|
-
</avoid_patterns>
|
|
177
|
-
</naming_conventions>
|
|
178
|
-
|
|
179
|
-
<progressive_disclosure>
|
|
180
|
-
<principle>
|
|
181
|
-
SKILL.md serves as an overview that points to detailed materials as needed. This keeps context window usage efficient.
|
|
182
|
-
</principle>
|
|
183
|
-
|
|
184
|
-
<practical_guidance>
|
|
185
|
-
- Keep SKILL.md body under 500 lines
|
|
186
|
-
- Split content into separate files when approaching this limit
|
|
187
|
-
- Keep references one level deep from SKILL.md
|
|
188
|
-
- Add table of contents to reference files over 100 lines
|
|
189
|
-
</practical_guidance>
|
|
47
|
+
## YAML Frontmatter
|
|
190
48
|
|
|
191
|
-
|
|
192
|
-
Quick start in SKILL.md, details in reference files:
|
|
49
|
+
### Required/Recommended Fields
|
|
193
50
|
|
|
194
|
-
```
|
|
51
|
+
```yaml
|
|
195
52
|
---
|
|
196
|
-
name:
|
|
197
|
-
description:
|
|
53
|
+
name: skill-name-here
|
|
54
|
+
description: What it does and when to use it (specific triggers included)
|
|
198
55
|
---
|
|
199
|
-
|
|
200
|
-
<objective>
|
|
201
|
-
Extract text and tables from PDF files, fill forms, and merge documents using Python libraries.
|
|
202
|
-
</objective>
|
|
203
|
-
|
|
204
|
-
<quick_start>
|
|
205
|
-
Extract text with pdfplumber:
|
|
206
|
-
|
|
207
|
-
```python
|
|
208
|
-
import pdfplumber
|
|
209
|
-
with pdfplumber.open("file.pdf") as pdf:
|
|
210
|
-
text = pdf.pages[0].extract_text()
|
|
211
|
-
```
|
|
212
|
-
</quick_start>
|
|
213
|
-
|
|
214
|
-
<advanced_features>
|
|
215
|
-
**Form filling**: See [forms.md](forms.md)
|
|
216
|
-
**API reference**: See [reference.md](reference.md)
|
|
217
|
-
</advanced_features>
|
|
218
56
|
```
|
|
219
57
|
|
|
220
|
-
|
|
221
|
-
</pattern>
|
|
58
|
+
### Name Field
|
|
222
59
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
├── SKILL.md (overview and navigation)
|
|
229
|
-
└── reference/
|
|
230
|
-
├── finance.md (revenue, billing metrics)
|
|
231
|
-
├── sales.md (opportunities, pipeline)
|
|
232
|
-
├── product.md (API usage, features)
|
|
233
|
-
└── marketing.md (campaigns, attribution)
|
|
234
|
-
```
|
|
60
|
+
**Validation rules:**
|
|
61
|
+
- Maximum 64 characters
|
|
62
|
+
- Lowercase letters, numbers, hyphens only
|
|
63
|
+
- Must match directory name
|
|
64
|
+
- No reserved words: "anthropic", "claude"
|
|
235
65
|
|
|
236
|
-
|
|
237
|
-
|
|
66
|
+
**Examples:**
|
|
67
|
+
- `triage-prs`
|
|
68
|
+
- `deploy-production`
|
|
69
|
+
- `review-code`
|
|
70
|
+
- `setup-stripe-payments`
|
|
238
71
|
|
|
239
|
-
|
|
240
|
-
Show basic content in SKILL.md, link to advanced in reference files:
|
|
72
|
+
**Avoid:** `helper`, `utils`, `tools`, generic names
|
|
241
73
|
|
|
242
|
-
|
|
243
|
-
<objective>
|
|
244
|
-
Process DOCX files with creation and editing capabilities.
|
|
245
|
-
</objective>
|
|
74
|
+
### Description Field
|
|
246
75
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
76
|
+
**Validation rules:**
|
|
77
|
+
- Maximum 1024 characters
|
|
78
|
+
- Include what it does AND when to use it
|
|
79
|
+
- Third person voice
|
|
251
80
|
|
|
252
|
-
|
|
253
|
-
|
|
81
|
+
**Good:**
|
|
82
|
+
```yaml
|
|
83
|
+
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
84
|
+
```
|
|
254
85
|
|
|
255
|
-
**
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
</quick_start>
|
|
86
|
+
**Bad:**
|
|
87
|
+
```yaml
|
|
88
|
+
description: Helps with documents
|
|
259
89
|
```
|
|
260
90
|
|
|
261
|
-
|
|
262
|
-
</pattern>
|
|
91
|
+
### Optional Fields
|
|
263
92
|
|
|
264
|
-
|
|
265
|
-
|
|
93
|
+
| Field | Description |
|
|
94
|
+
|-------|-------------|
|
|
95
|
+
| `argument-hint` | Usage hints. Example: `[issue-number]` |
|
|
96
|
+
| `disable-model-invocation` | `true` to prevent auto-loading. Use for side-effect workflows. |
|
|
97
|
+
| `user-invocable` | `false` to hide from `/` menu. Use for background knowledge. |
|
|
98
|
+
| `allowed-tools` | Tools without permission prompts. Example: `Read, Bash(git *)` |
|
|
99
|
+
| `model` | `haiku`, `sonnet`, or `opus` |
|
|
100
|
+
| `context` | `fork` for isolated subagent execution |
|
|
101
|
+
| `agent` | Subagent type: `Explore`, `Plan`, `general-purpose`, or custom |
|
|
266
102
|
|
|
267
|
-
|
|
103
|
+
## Naming Conventions
|
|
268
104
|
|
|
269
|
-
|
|
270
|
-
</critical_rules>
|
|
271
|
-
</progressive_disclosure>
|
|
105
|
+
Use descriptive names that indicate purpose:
|
|
272
106
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
107
|
+
| Pattern | Examples |
|
|
108
|
+
|---------|----------|
|
|
109
|
+
| Action-oriented | `triage-prs`, `deploy-production`, `review-code` |
|
|
110
|
+
| Domain-specific | `setup-stripe-payments`, `manage-facebook-ads` |
|
|
111
|
+
| Descriptive | `git-worktree`, `frontend-design`, `dhh-rails-style` |
|
|
276
112
|
|
|
277
|
-
|
|
278
|
-
- Name files descriptively: `form_validation_rules.md` (not `doc2.md`)
|
|
279
|
-
- Organize by domain: `reference/finance.md`, `reference/sales.md`
|
|
280
|
-
</filesystem_navigation>
|
|
113
|
+
## Progressive Disclosure
|
|
281
114
|
|
|
282
|
-
|
|
283
|
-
Typical skill structure:
|
|
115
|
+
Keep SKILL.md under 500 lines. Split into reference files:
|
|
284
116
|
|
|
285
117
|
```
|
|
286
|
-
skill
|
|
287
|
-
├── SKILL.md
|
|
288
|
-
├──
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
└── scripts/ (optional, for utility scripts)
|
|
293
|
-
├── validate.py
|
|
294
|
-
└── process.py
|
|
295
|
-
```
|
|
296
|
-
</directory_structure>
|
|
297
|
-
</file_organization>
|
|
298
|
-
|
|
299
|
-
<anti_patterns>
|
|
300
|
-
<pitfall name="markdown_headings_in_body">
|
|
301
|
-
❌ Do NOT use markdown headings in skill body:
|
|
302
|
-
|
|
303
|
-
```markdown
|
|
304
|
-
# PDF Processing
|
|
305
|
-
|
|
306
|
-
## Quick start
|
|
307
|
-
Extract text...
|
|
308
|
-
|
|
309
|
-
## Advanced features
|
|
310
|
-
Form filling...
|
|
118
|
+
my-skill/
|
|
119
|
+
├── SKILL.md # Entry point (required, overview + navigation)
|
|
120
|
+
├── reference.md # Detailed docs (loaded when needed)
|
|
121
|
+
├── examples.md # Usage examples (loaded when needed)
|
|
122
|
+
└── scripts/
|
|
123
|
+
└── helper.py # Utility script (executed, not loaded)
|
|
311
124
|
```
|
|
312
125
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
-
|
|
337
|
-
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
<pitfall name="wrong_naming_convention">
|
|
341
|
-
- ❌ Directory: `facebook-ads`, Name: `facebook-ads-manager`
|
|
342
|
-
- ✅ Directory: `manage-facebook-ads`, Name: `manage-facebook-ads`
|
|
343
|
-
- ❌ Directory: `stripe-integration`, Name: `stripe`
|
|
344
|
-
- ✅ Directory: `setup-stripe-payments`, Name: `setup-stripe-payments`
|
|
345
|
-
</pitfall>
|
|
346
|
-
|
|
347
|
-
<pitfall name="deeply_nested_references">
|
|
348
|
-
Keep references one level deep from SKILL.md. Claude may only partially read nested files (SKILL.md → advanced.md → details.md).
|
|
349
|
-
</pitfall>
|
|
350
|
-
|
|
351
|
-
<pitfall name="windows_paths">
|
|
352
|
-
Always use forward slashes: `scripts/helper.py` (not `scripts\helper.py`)
|
|
353
|
-
</pitfall>
|
|
354
|
-
|
|
355
|
-
<pitfall name="missing_required_tags">
|
|
356
|
-
Every skill must have: `<objective>`, `<quick_start>`, and `<success_criteria>` (or `<when_successful>`).
|
|
357
|
-
</pitfall>
|
|
358
|
-
</anti_patterns>
|
|
359
|
-
|
|
360
|
-
<validation_checklist>
|
|
361
|
-
Before finalizing a skill, verify:
|
|
362
|
-
|
|
363
|
-
- ✅ YAML frontmatter valid (name matches directory, description in third person)
|
|
364
|
-
- ✅ No markdown headings in body (pure XML structure)
|
|
365
|
-
- ✅ Required tags present: objective, quick_start, success_criteria
|
|
366
|
-
- ✅ Conditional tags appropriate for complexity level
|
|
367
|
-
- ✅ All XML tags properly closed
|
|
368
|
-
- ✅ Progressive disclosure applied (SKILL.md < 500 lines)
|
|
369
|
-
- ✅ Reference files use pure XML structure
|
|
370
|
-
- ✅ File paths use forward slashes
|
|
371
|
-
- ✅ Descriptive file names
|
|
372
|
-
</validation_checklist>
|
|
126
|
+
**Rules:**
|
|
127
|
+
- Keep references one level deep from SKILL.md
|
|
128
|
+
- Add table of contents to reference files over 100 lines
|
|
129
|
+
- Use forward slashes in paths: `scripts/helper.py`
|
|
130
|
+
- Name files descriptively: `form_validation_rules.md` not `doc2.md`
|
|
131
|
+
|
|
132
|
+
## Validation Checklist
|
|
133
|
+
|
|
134
|
+
Before finalizing:
|
|
135
|
+
|
|
136
|
+
- [ ] YAML frontmatter valid (name matches directory, description specific)
|
|
137
|
+
- [ ] Uses standard markdown headings (not XML tags)
|
|
138
|
+
- [ ] Has Quick Start, Instructions, and Success Criteria sections
|
|
139
|
+
- [ ] `disable-model-invocation: true` if skill has side effects
|
|
140
|
+
- [ ] SKILL.md under 500 lines
|
|
141
|
+
- [ ] Reference files linked properly from SKILL.md
|
|
142
|
+
- [ ] File paths use forward slashes
|
|
143
|
+
- [ ] Tested with real usage
|
|
144
|
+
|
|
145
|
+
## Anti-Patterns
|
|
146
|
+
|
|
147
|
+
- **XML tags in body** - Use standard markdown headings
|
|
148
|
+
- **Vague descriptions** - Be specific with trigger keywords
|
|
149
|
+
- **Deep nesting** - Keep references one level from SKILL.md
|
|
150
|
+
- **Missing invocation control** - Side-effect workflows need `disable-model-invocation: true`
|
|
151
|
+
- **Inconsistent naming** - Directory name must match `name` field
|
|
152
|
+
- **Windows paths** - Always use forward slashes
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
## Step 1: Select the Skill
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
ls ~/.
|
|
13
|
+
ls ~/.config/opencode/skills/
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Present numbered list, ask: "Which skill needs a new reference?"
|
|
@@ -18,8 +18,8 @@ Present numbered list, ask: "Which skill needs a new reference?"
|
|
|
18
18
|
## Step 2: Analyze Current Structure
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
cat ~/.
|
|
22
|
-
ls ~/.
|
|
21
|
+
cat ~/.config/opencode/skills/{skill-name}/SKILL.md
|
|
22
|
+
ls ~/.config/opencode/skills/{skill-name}/references/ 2>/dev/null
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Determine:
|
|
@@ -24,7 +24,7 @@ If not a good fit, suggest alternatives (inline code in workflow, reference exam
|
|
|
24
24
|
## Step 3: Create Scripts Directory
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
mkdir -p ~/.
|
|
27
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/scripts
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Step 4: Design Script
|
|
@@ -58,7 +58,7 @@ set -euo pipefail
|
|
|
58
58
|
## Step 6: Make Executable (if bash)
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
chmod +x ~/.
|
|
61
|
+
chmod +x ~/.config/opencode/skills/{skill-name}/scripts/{script-name}.sh
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
## Step 7: Update Workflow to Use Script
|
|
@@ -24,7 +24,7 @@ If not a good fit, suggest alternatives (workflow guidance, reference examples).
|
|
|
24
24
|
## Step 3: Create Templates Directory
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
mkdir -p ~/.
|
|
27
|
+
mkdir -p ~/.config/opencode/skills/{skill-name}/templates
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Step 4: Design Template Structure
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
<process>
|
|
10
10
|
## Step 1: Select the Skill
|
|
11
11
|
|
|
12
|
-
**DO NOT use
|
|
12
|
+
**DO NOT use question tool** - there may be many skills.
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
ls ~/.
|
|
15
|
+
ls ~/.config/opencode/skills/
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Present numbered list, ask: "Which skill needs a new workflow?"
|
|
@@ -21,8 +21,8 @@ Present numbered list, ask: "Which skill needs a new workflow?"
|
|
|
21
21
|
|
|
22
22
|
Read the skill:
|
|
23
23
|
```bash
|
|
24
|
-
cat ~/.
|
|
25
|
-
ls ~/.
|
|
24
|
+
cat ~/.config/opencode/skills/{skill-name}/SKILL.md
|
|
25
|
+
ls ~/.config/opencode/skills/{skill-name}/workflows/ 2>/dev/null
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Determine:
|
|
@@ -34,7 +34,7 @@ Report current structure to user.
|
|
|
34
34
|
|
|
35
35
|
## Step 3: Gather Workflow Requirements
|
|
36
36
|
|
|
37
|
-
Ask using
|
|
37
|
+
Ask using question tool or direct question:
|
|
38
38
|
- What should this workflow do?
|
|
39
39
|
- When would someone use it vs existing workflows?
|
|
40
40
|
- What references would it need?
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
<process>
|
|
11
11
|
## Step 1: List Available Skills
|
|
12
12
|
|
|
13
|
-
**DO NOT use
|
|
13
|
+
**DO NOT use question tool** - there may be many skills.
|
|
14
14
|
|
|
15
15
|
Enumerate skills in chat as numbered list:
|
|
16
16
|
```bash
|
|
17
|
-
ls ~/.
|
|
17
|
+
ls ~/.config/opencode/skills/
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Present as:
|
|
@@ -33,12 +33,12 @@ Ask: "Which skill would you like to audit? (enter number or name)"
|
|
|
33
33
|
After user selects, read the full skill structure:
|
|
34
34
|
```bash
|
|
35
35
|
# Read main file
|
|
36
|
-
cat ~/.
|
|
36
|
+
cat ~/.config/opencode/skills/{skill-name}/SKILL.md
|
|
37
37
|
|
|
38
38
|
# Check for workflows and references
|
|
39
|
-
ls ~/.
|
|
40
|
-
ls ~/.
|
|
41
|
-
ls ~/.
|
|
39
|
+
ls ~/.config/opencode/skills/{skill-name}/
|
|
40
|
+
ls ~/.config/opencode/skills/{skill-name}/workflows/ 2>/dev/null
|
|
41
|
+
ls ~/.config/opencode/skills/{skill-name}/references/ 2>/dev/null
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
## Step 3: Run Audit Checklist
|
|
@@ -52,7 +52,7 @@ Get specific: "Python games" or "Python games with Pygame specifically"?
|
|
|
52
52
|
|
|
53
53
|
Explain:
|
|
54
54
|
```
|
|
55
|
-
Domain expertise skills go in: ~/.
|
|
55
|
+
Domain expertise skills go in: ~/.config/opencode/skills/expertise/{domain-name}/
|
|
56
56
|
|
|
57
57
|
These are comprehensive BUILD skills that:
|
|
58
58
|
- Execute tasks (build, debug, optimize, ship)
|
|
@@ -61,7 +61,7 @@ These are comprehensive BUILD skills that:
|
|
|
61
61
|
- Can be loaded by other skills for domain knowledge
|
|
62
62
|
|
|
63
63
|
Name suggestion: {suggested-name}
|
|
64
|
-
Location: ~/.
|
|
64
|
+
Location: ~/.config/opencode/skills/expertise/{suggested-name}/
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Confirm or adjust name.
|
|
@@ -499,21 +499,21 @@ Test both use cases:
|
|
|
499
499
|
|
|
500
500
|
```bash
|
|
501
501
|
# Create structure
|
|
502
|
-
mkdir -p ~/.
|
|
503
|
-
mkdir -p ~/.
|
|
504
|
-
mkdir -p ~/.
|
|
502
|
+
mkdir -p ~/.config/opencode/skills/expertise/{domain-name}
|
|
503
|
+
mkdir -p ~/.config/opencode/skills/expertise/{domain-name}/workflows
|
|
504
|
+
mkdir -p ~/.config/opencode/skills/expertise/{domain-name}/references
|
|
505
505
|
|
|
506
506
|
# Write SKILL.md
|
|
507
507
|
# Write all workflow files
|
|
508
508
|
# Write all reference files
|
|
509
509
|
|
|
510
510
|
# Verify structure
|
|
511
|
-
ls -R ~/.
|
|
511
|
+
ls -R ~/.config/opencode/skills/expertise/{domain-name}
|
|
512
512
|
```
|
|
513
513
|
|
|
514
514
|
## Step 11: Document in create-plans
|
|
515
515
|
|
|
516
|
-
Update `~/.
|
|
516
|
+
Update `~/.config/opencode/skills/create-plans/SKILL.md` to reference this new domain:
|
|
517
517
|
|
|
518
518
|
Add to the domain inference table:
|
|
519
519
|
```markdown
|
|
@@ -573,7 +573,7 @@ Domain expertise skill is complete when:
|
|
|
573
573
|
- [ ] Anti-patterns documented throughout
|
|
574
574
|
- [ ] Full lifecycle covered (build → debug → test → optimize → ship)
|
|
575
575
|
- [ ] Platform-specific considerations included
|
|
576
|
-
- [ ] Located in ~/.
|
|
576
|
+
- [ ] Located in ~/.config/opencode/skills/expertise/{domain-name}/
|
|
577
577
|
- [ ] Referenced in create-plans domain inference table
|
|
578
578
|
- [ ] Passes dual-purpose test: Can be invoked directly AND loaded for knowledge
|
|
579
579
|
- [ ] User can build something professional from scratch through shipping
|