@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,36 +1,56 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Official Skill Specification (2026)
|
|
2
2
|
|
|
3
3
|
Source: [code.claude.com/docs/en/skills](https://code.claude.com/docs/en/skills)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Commands and Skills Are Merged
|
|
6
|
+
|
|
7
|
+
Custom slash commands have been merged into skills. A file at `.opencode/commands/review.md` and a skill at `.opencode/skills/review/SKILL.md` both create `/review` and work the same way. Existing `.opencode/commands/` files keep working. Skills add optional features: a directory for supporting files, frontmatter to control invocation, and automatic context loading.
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
If a skill and a command share the same name, the skill takes precedence.
|
|
10
|
+
|
|
11
|
+
## SKILL.md File Structure
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
Every skill requires a `SKILL.md` file with YAML frontmatter followed by standard markdown instructions.
|
|
10
14
|
|
|
11
15
|
```markdown
|
|
12
16
|
---
|
|
13
17
|
name: your-skill-name
|
|
14
|
-
description:
|
|
18
|
+
description: What it does and when to use it
|
|
15
19
|
---
|
|
16
20
|
|
|
17
21
|
# Your Skill Name
|
|
18
22
|
|
|
19
23
|
## Instructions
|
|
20
|
-
|
|
24
|
+
Clear, step-by-step guidance.
|
|
21
25
|
|
|
22
26
|
## Examples
|
|
23
|
-
|
|
27
|
+
Concrete examples of using this skill.
|
|
24
28
|
```
|
|
25
29
|
|
|
26
|
-
##
|
|
30
|
+
## Complete Frontmatter Reference
|
|
31
|
+
|
|
32
|
+
All fields are optional. Only `description` is recommended.
|
|
27
33
|
|
|
28
34
|
| Field | Required | Description |
|
|
29
35
|
|-------|----------|-------------|
|
|
30
|
-
| `name` |
|
|
31
|
-
| `description` |
|
|
32
|
-
| `
|
|
33
|
-
| `model` | No |
|
|
36
|
+
| `name` | No | Display name. Lowercase letters, numbers, hyphens only (max 64 chars). Defaults to directory name if omitted. |
|
|
37
|
+
| `description` | Recommended | What it does AND when to use it (max 1024 chars). Claude uses this to decide when to apply the skill. |
|
|
38
|
+
| `argument-hint` | No | Hint shown during autocomplete. Example: `[issue-number]` or `[filename] [format]` |
|
|
39
|
+
| `disable-model-invocation` | No | Set `true` to prevent Claude from auto-loading. Use for manual workflows. Default: `false` |
|
|
40
|
+
| `user-invocable` | No | Set `false` to hide from `/` menu. Use for background knowledge. Default: `true` |
|
|
41
|
+
| `allowed-tools` | No | Tools Claude can use without permission prompts. Example: `Read, Bash(git *)` |
|
|
42
|
+
| `model` | No | Model to use: `haiku`, `sonnet`, or `opus` |
|
|
43
|
+
| `context` | No | Set `fork` to run in isolated subagent context |
|
|
44
|
+
| `agent` | No | Subagent type when `context: fork`. Options: `Explore`, `Plan`, `general-purpose`, or custom agent name |
|
|
45
|
+
| `hooks` | No | Hooks scoped to this skill's lifecycle |
|
|
46
|
+
|
|
47
|
+
## Invocation Control
|
|
48
|
+
|
|
49
|
+
| Frontmatter | User can invoke | Claude can invoke | When loaded into context |
|
|
50
|
+
|-------------|----------------|-------------------|--------------------------|
|
|
51
|
+
| (default) | Yes | Yes | Description always in context, full skill loads when invoked |
|
|
52
|
+
| `disable-model-invocation: true` | Yes | No | Description not in context, full skill loads when you invoke |
|
|
53
|
+
| `user-invocable: false` | No | Yes | Description always in context, full skill loads when invoked |
|
|
34
54
|
|
|
35
55
|
## Skill Locations & Priority
|
|
36
56
|
|
|
@@ -40,146 +60,75 @@ Enterprise (highest priority) → Personal → Project → Plugin (lowest priori
|
|
|
40
60
|
|
|
41
61
|
| Type | Path | Applies to |
|
|
42
62
|
|------|------|-----------|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
63
|
+
| Enterprise | See managed settings | All users in organization |
|
|
64
|
+
| Personal | `~/.config/opencode/skills/<name>/SKILL.md` | You, across all projects |
|
|
65
|
+
| Project | `.opencode/skills/<name>/SKILL.md` | Anyone working in repository |
|
|
66
|
+
| Plugin | `<plugin>/skills/<name>/SKILL.md` | Where plugin is enabled |
|
|
67
|
+
|
|
68
|
+
Plugin skills use a `plugin-name:skill-name` namespace, so they cannot conflict with other levels.
|
|
47
69
|
|
|
48
70
|
## How Skills Work
|
|
49
71
|
|
|
50
|
-
1. **Discovery**: Claude loads only name and description at startup
|
|
51
|
-
2. **Activation**: When your request matches a
|
|
52
|
-
3. **Execution**: Claude follows the
|
|
72
|
+
1. **Discovery**: Claude loads only name and description at startup (2% of context window budget)
|
|
73
|
+
2. **Activation**: When your request matches a skill's description, Claude loads the full content
|
|
74
|
+
3. **Execution**: Claude follows the skill's instructions
|
|
53
75
|
|
|
54
|
-
|
|
76
|
+
## String Substitutions
|
|
55
77
|
|
|
56
|
-
|
|
78
|
+
| Variable | Description |
|
|
79
|
+
|----------|-------------|
|
|
80
|
+
| `$ARGUMENTS` | All arguments passed when invoking |
|
|
81
|
+
| `$ARGUMENTS[N]` | Specific argument by 0-based index |
|
|
82
|
+
| `$N` | Shorthand for `$ARGUMENTS[N]` |
|
|
83
|
+
| `${CLAUDE_SESSION_ID}` | Current session ID |
|
|
57
84
|
|
|
58
|
-
|
|
85
|
+
## Dynamic Context Injection
|
|
59
86
|
|
|
60
|
-
|
|
61
|
-
my-skill/
|
|
62
|
-
├── SKILL.md (required - overview and navigation)
|
|
63
|
-
├── reference.md (detailed API docs - loaded when needed)
|
|
64
|
-
├── examples.md (usage examples - loaded when needed)
|
|
65
|
-
└── scripts/
|
|
66
|
-
└── helper.py (utility script - executed, not loaded)
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Example SKILL.md with References
|
|
87
|
+
The `` !`command` `` syntax runs shell commands before content is sent to Claude:
|
|
70
88
|
|
|
71
89
|
```markdown
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
allowed-tools: Read, Bash(python:*)
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
# PDF Processing
|
|
79
|
-
|
|
80
|
-
## Quick start
|
|
81
|
-
|
|
82
|
-
Extract text:
|
|
83
|
-
```python
|
|
84
|
-
import pdfplumber
|
|
85
|
-
with pdfplumber.open("doc.pdf") as pdf:
|
|
86
|
-
text = pdf.pages[0].extract_text()
|
|
90
|
+
## Context
|
|
91
|
+
- Current branch: !`git branch --show-current`
|
|
92
|
+
- PR diff: !`gh pr diff`
|
|
87
93
|
```
|
|
88
94
|
|
|
89
|
-
|
|
90
|
-
For detailed API reference, see [REFERENCE.md](REFERENCE.md).
|
|
95
|
+
Commands execute immediately and their output replaces the placeholder. Claude only sees the final result.
|
|
91
96
|
|
|
92
|
-
##
|
|
97
|
+
## Progressive Disclosure
|
|
93
98
|
|
|
94
|
-
Packages must be installed:
|
|
95
|
-
```bash
|
|
96
|
-
pip install pypdf pdfplumber
|
|
97
99
|
```
|
|
100
|
+
my-skill/
|
|
101
|
+
├── SKILL.md # Entry point (required)
|
|
102
|
+
├── reference.md # Detailed docs (loaded when needed)
|
|
103
|
+
├── examples.md # Usage examples (loaded when needed)
|
|
104
|
+
└── scripts/
|
|
105
|
+
└── helper.py # Utility script (executed, not loaded)
|
|
98
106
|
```
|
|
99
107
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
name: reading-files-safely
|
|
105
|
-
description: Read files without making changes. Use when you need read-only file access.
|
|
106
|
-
allowed-tools: Read, Grep, Glob
|
|
107
|
-
---
|
|
108
|
+
Keep SKILL.md under 500 lines. Link to supporting files:
|
|
109
|
+
```markdown
|
|
110
|
+
For API details, see [reference.md](reference.md).
|
|
108
111
|
```
|
|
109
112
|
|
|
110
|
-
|
|
111
|
-
- Read-only Skills that shouldn't modify files
|
|
112
|
-
- Limited scope for specific tasks
|
|
113
|
-
- Security-sensitive workflows
|
|
114
|
-
|
|
115
|
-
## Writing Effective Descriptions
|
|
116
|
-
|
|
117
|
-
The `description` field enables Skill discovery and should include both what the Skill does and when to use it.
|
|
113
|
+
## Running in a Subagent
|
|
118
114
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
- **Good:** "Processes Excel files and generates reports"
|
|
122
|
-
- **Avoid:** "I can help you process Excel files"
|
|
123
|
-
- **Avoid:** "You can use this to process Excel files"
|
|
124
|
-
|
|
125
|
-
**Be specific and include key terms:**
|
|
126
|
-
|
|
127
|
-
```yaml
|
|
128
|
-
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.
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Avoid vague descriptions:**
|
|
115
|
+
Add `context: fork` to run in isolation:
|
|
132
116
|
|
|
133
117
|
```yaml
|
|
134
|
-
description: Helps with documents # Too vague!
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Complete Example: Commit Message Generator
|
|
138
|
-
|
|
139
|
-
```markdown
|
|
140
118
|
---
|
|
141
|
-
name:
|
|
142
|
-
description:
|
|
119
|
+
name: deep-research
|
|
120
|
+
description: Research a topic thoroughly
|
|
121
|
+
context: fork
|
|
122
|
+
agent: Explore
|
|
143
123
|
---
|
|
144
124
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
## Instructions
|
|
148
|
-
|
|
149
|
-
1. Run `git diff --staged` to see changes
|
|
150
|
-
2. I'll suggest a commit message with:
|
|
151
|
-
- Summary under 50 characters
|
|
152
|
-
- Detailed description
|
|
153
|
-
- Affected components
|
|
154
|
-
|
|
155
|
-
## Best practices
|
|
156
|
-
|
|
157
|
-
- Use present tense
|
|
158
|
-
- Explain what and why, not how
|
|
125
|
+
Research $ARGUMENTS thoroughly...
|
|
159
126
|
```
|
|
160
127
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
```markdown
|
|
164
|
-
---
|
|
165
|
-
name: explaining-code
|
|
166
|
-
description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?"
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
# Explaining Code
|
|
170
|
-
|
|
171
|
-
When explaining code, always include:
|
|
172
|
-
|
|
173
|
-
1. **Start with an analogy**: Compare the code to something from everyday life
|
|
174
|
-
2. **Draw a diagram**: Use ASCII art to show the flow, structure, or relationships
|
|
175
|
-
3. **Walk through the code**: Explain step-by-step what happens
|
|
176
|
-
4. **Highlight a gotcha**: What's a common misconception?
|
|
177
|
-
|
|
178
|
-
Keep explanations conversational. For complex concepts, use multiple analogies.
|
|
179
|
-
```
|
|
128
|
+
The skill content becomes the subagent's prompt. It won't have access to conversation history.
|
|
180
129
|
|
|
181
130
|
## Distribution
|
|
182
131
|
|
|
183
|
-
- **Project
|
|
184
|
-
- **Plugins**: Add `skills/` directory to plugin
|
|
132
|
+
- **Project skills**: Commit `.opencode/skills/` to version control
|
|
133
|
+
- **Plugins**: Add `skills/` directory to plugin
|
|
185
134
|
- **Enterprise**: Deploy organization-wide through managed settings
|