@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.
Files changed (32) hide show
  1. package/README.md +29 -3
  2. package/package.json +4 -2
  3. package/skills/agent-browser/SKILL.md +1 -0
  4. package/skills/agent-native-architecture/SKILL.md +4 -4
  5. package/skills/agent-native-architecture/references/files-universal-interface.md +1 -1
  6. package/skills/agent-native-architecture/references/product-implications.md +1 -1
  7. package/skills/brainstorming/SKILL.md +1 -0
  8. package/skills/compound-docs/SKILL.md +14 -13
  9. package/skills/compound-docs/assets/critical-pattern-template.md +1 -1
  10. package/skills/compound-docs/assets/resolution-template.md +3 -3
  11. package/skills/compound-docs/references/yaml-schema.md +2 -2
  12. package/skills/create-agent-skills/SKILL.md +169 -192
  13. package/skills/create-agent-skills/references/api-security.md +24 -24
  14. package/skills/create-agent-skills/references/executable-code.md +1 -1
  15. package/skills/create-agent-skills/references/official-spec.md +74 -125
  16. package/skills/create-agent-skills/references/skill-structure.md +109 -329
  17. package/skills/create-agent-skills/workflows/add-reference.md +3 -3
  18. package/skills/create-agent-skills/workflows/add-script.md +2 -2
  19. package/skills/create-agent-skills/workflows/add-template.md +1 -1
  20. package/skills/create-agent-skills/workflows/add-workflow.md +5 -5
  21. package/skills/create-agent-skills/workflows/audit-skill.md +6 -6
  22. package/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +8 -8
  23. package/skills/create-agent-skills/workflows/create-new-skill.md +8 -8
  24. package/skills/create-agent-skills/workflows/upgrade-to-router.md +5 -5
  25. package/skills/create-agent-skills/workflows/verify-skill.md +4 -4
  26. package/skills/document-review/SKILL.md +88 -0
  27. package/skills/file-todos/SKILL.md +3 -2
  28. package/skills/file-todos/assets/todo-template.md +1 -1
  29. package/skills/frontend-design/SKILL.md +43 -0
  30. package/skills/git-worktree/SKILL.md +23 -22
  31. package/skills/git-worktree/scripts/worktree-manager.sh +2 -10
  32. package/skills/orchestrating-swarms/SKILL.md +1718 -0
@@ -1,36 +1,56 @@
1
- # Anthropic Official Skill Specification
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
- ## SKILL.md File Structure
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
- Every Skill requires a `SKILL.md` file with YAML frontmatter followed by Markdown instructions.
9
+ If a skill and a command share the same name, the skill takes precedence.
10
+
11
+ ## SKILL.md File Structure
8
12
 
9
- ### Basic Format
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: Brief description of what this Skill does and when to use it
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
- Provide clear, step-by-step guidance for Claude.
24
+ Clear, step-by-step guidance.
21
25
 
22
26
  ## Examples
23
- Show concrete examples of using this Skill.
27
+ Concrete examples of using this skill.
24
28
  ```
25
29
 
26
- ## Required Frontmatter Fields
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` | Yes | Skill name using lowercase letters, numbers, and hyphens only (max 64 characters). Should match the directory name. |
31
- | `description` | Yes | What the Skill does and when to use it (max 1024 characters). Claude uses this to decide when to apply the Skill. |
32
- | `allowed-tools` | No | Tools Claude can use without asking permission when this Skill is active. Example: `Read, Grep, Glob` |
33
- | `model` | No | Specific model to use when this Skill is active (e.g., `claude-sonnet-4-20250514`). Defaults to the conversation's model. |
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
- | **Enterprise** | See managed settings | All users in organization |
44
- | **Personal** | `~/.claude/skills/` | You, across all projects |
45
- | **Project** | `.claude/skills/` | Anyone working in repository |
46
- | **Plugin** | Bundled with plugins | Anyone with plugin installed |
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 Skill's description, Claude asks for confirmation
52
- 3. **Execution**: Claude follows the Skill's instructions and loads referenced files
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
- **Key Principle**: Skills are **model-invoked** — Claude automatically decides which Skills to use based on your request.
76
+ ## String Substitutions
55
77
 
56
- ## Progressive Disclosure Pattern
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
- Keep `SKILL.md` under 500 lines by linking to supporting files:
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
- name: pdf-processing
74
- description: Extract text, fill forms, merge PDFs. Use when working with PDF files, forms, or document extraction. Requires pypdf and pdfplumber packages.
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
- For form filling, see [FORMS.md](FORMS.md).
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
- ## Requirements
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
- ## Restricting Tool Access
101
-
102
- ```yaml
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
- Benefits:
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
- **Always write in third person.** The description is injected into the system prompt.
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: generating-commit-messages
142
- description: Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes.
119
+ name: deep-research
120
+ description: Research a topic thoroughly
121
+ context: fork
122
+ agent: Explore
143
123
  ---
144
124
 
145
- # Generating Commit Messages
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
- ## Complete Example: Code Explanation Skill
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 Skills**: Commit `.claude/skills/` to version control
184
- - **Plugins**: Add `skills/` directory to plugin with Skill folders
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