Skip to main content

skill-creator

Creates new skills from templates via guided workflow. Triggers: new skill, create skill, skill scaffold, skill template.

Quellinformationen

Repository
softspark/ai-toolkit
Letzte Quellaktivität
23. September 2026 um 11:12
Erkannte Sprache von SKILL.md
Englisch
Sterne
179
Forks
21

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
skill-creator
description
Creates new skills from templates via guided workflow. Triggers: new skill, create skill, skill scaffold, skill template.
effort
high
disable-model-invocation
true
argument-hint
[skill name or description]
allowed-tools
Read, Write, Edit, Bash, Grep, Glob
# Skill Creator $ARGUMENTS Create a new skill following the Agent Skills standard. ## Workflow 1. **Capture intent** -- ask: what should the skill do? Who invokes it? 2. **Classify** -- task, hybrid, or knowledge? (see Classification Guide below) 3. **Interview** -- gather: framework, tools, scope, output format, constraints 4. **Write SKILL.md** -- frontmatter + body, under 500 lines 5. **Create supporting files** -- reference/, templates/, scripts/ as needed 6. **Test and iterate** -- invoke, observe, refine ## Frontmatter Reference This table describes Claude Code skill fields. ai-toolkit requires `name` and `description` for portable catalog entries even though Claude Code can infer them. Only set `model` or `effort` when the skill deliberately needs an approved override. Omission inherits the session choice in Claude Code. Check supported effort levels for the selected model; these fields do not configure Codex or Copilot reasoning. Refer to `kb/reference/model-compatibility.md` for the current client/API boundaries and verify actual account availability before pinning IDs. | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | yes | Lowercase, hyphens only, max 64 chars | | `description` | string | yes | Third person, max 1024 chars, include key terms | | `effort` | low/medium/high/xhigh/max | no | Override effort for the invoking turn; supported levels depend on the model | | `disable-model-invocation` | bool | no | `true` = only user can trigger (task skills) | | `user-invocable` | bool | no | `false` = knowledge skill, Claude auto-loads | | `allowed-tools` | string or YAML list | no | Pre-approve tools for the invoking turn; does not restrict the available tools | | `disallowed-tools` | string or YAML list | no | Remove tools for the invoking turn | | `model` | string | no | Override the model for the invoking turn, or use `inherit` | | `context` | string | no | `fork` to run in isolated subagent | | `agent` | string | no | Agent type to use when `context: fork` | | `argument-hint` | string | no | Shown in autocomplete, e.g. `"[target]"` | | `arguments` | string or YAML list | no | Named positional arguments, substituted as `$name` in the body | | `when_to_use` | string | no | Additional trigger context appended to the description | | `background` | bool | no | With `context: fork`, `false` waits for the subagent result; default `true` | | `hooks` | object | no | Hooks registered at invocation and retained for the session; `once` limits a handler to one run | | `paths` | string or YAML list | no | File globs limiting automatic activation | | `shell` | bash/powershell | no | Shell for dynamic context commands | | `metadata` | object | no | Custom metadata for external tooling | | `license` | string | no | Skill license | | `compatibility` | string | no | Runtime requirements, up to 500 characters | `disallowedTools`, `maxTurns`, `memory`, and `skills` belong to agent frontmatter, not skill frontmatter. Put them on the agent referenced by a forked skill. Direct claude.ai skill uploads and the Skills API accept only `name`, `description`, `license`, `compatibility`, `metadata`, and `allowed-tools`; Claude Code plugin skills support the full table. See the [official skill reference](https://code.claude.com/docs/en/skills#frontmatter-reference) (reviewed 2026-09-23). ## Classification Guide | Type | When to use | Key fields | |------|-------------|------------| | **Task** | User-triggered actions with side effects (build, deploy, commit) | `disable-model-invocation: true`, `allowed-tools` | | **Hybrid** | Both user and Claude invoke (review, analyze) | defaults | | **Knowledge** | Domain patterns Claude auto-loads (clean-code, api-patterns) | `user-invocable: false` | ## Writing Guidelines - **Description**: third person ("Generates...", "Provides..."), **min 50 chars**, include searchable key terms **and a trigger hint** (e.g., "Use when..."). Short descriptions cause over-triggering — adjacent skills fight for the same query. - **Name**: lowercase, hyphens, max 64 chars -- match the directory name - **Length**: SKILL.md under 500 lines; use `reference/` for overflow - **Be concise**: Claude is smart -- give structure, not lectures - **Degrees of freedom**: be specific on format/constraints, flexible on implementation - **File references**: max 1 level deep (e.g., `reference/details.md`) - **Use `$ARGUMENTS`**: place it early so user input is visible - **Tables over prose**: for options, patterns, mappings ## Mandatory Sections (meta-architect audit criteria) Every SKILL.md must contain all five, or it will lower the toolkit quality score: 1. **Description ≥50 chars** with trigger hint in frontmatter 2. **At least one concrete example** — fenced code block or `## Example` section 3. **Hard rules** using uppercase markers: `MUST`, `NEVER`, `CRITICAL`, `MANDATORY`, or `DO NOT` 4. **"When NOT to Use" section** — list 2-3 adjacent skills and the boundary between them 5. **Under 500 lines** — split into `reference/` if needed These map directly to the mutation strategies in `meta-architect.md`: `add_example`, `add_constraint`, `add_edge_case`, `restructure`. ### Rules vs Gotchas — different semantic buckets Split the "hard rules" criterion into two sections when both apply: - **`## Rules`** — prescriptive process constraints (always-true MUST / NEVER): *"MUST form a testable hypothesis before changing code"*, *"NEVER force-push main"*. Required in every skill. - **`## Gotchas`** — environment-specific traps the agent would miss without being told, taken from [Anthropic's best practices](https://agentskills.io/skill-creation/best-practices.md#gotchas-sections). Example from their docs: *"The `users` table uses soft deletes. Queries must include `WHERE deleted_at IS NULL` or results will include deactivated accounts."* Add this section only when real domain traps exist — do not pad with a `(none)` placeholder. ## Directory Structure ``` skill-name/ SKILL.md # Main instructions (required, <500 lines) reference/ # Detailed docs (loaded on-demand) templates/ # Reusable templates for output scripts/ # Executable helper scripts ``` Only create subdirectories when the skill needs them. Most skills are a single SKILL.md. ## SKILL.md Template ```markdown --- name: {name} description: "{Third-person description, min 50 chars, with trigger hint like 'Use when...'}" argument-hint: "[hint]" allowed-tools: Read, Grep, Glob --- # {Title} $ARGUMENTS {One-line purpose statement.} ## Usage \`\`\` /{name} [arguments] \`\`\` ## What This Command Does 1. **Step one** 2. **Step two** 3. **Step three** ## Example \`\`\` /{name} example-argument \`\`\` {Expected observable behavior.} ## Rules - **MUST** {non-negotiable rule 1} - **NEVER** {forbidden action} - **CRITICAL**: {safety constraint} ## Gotchas - {environment-specific trap the agent would miss — concrete, not general} - {non-obvious behavior of a tool, API, or data layout} ## When NOT to Use - For {adjacent use case} -- use `/{other-skill}` instead - For {another case} -- use `/{another-skill}` - If {precondition} is not met ``` Leave out `## Gotchas` entirely when the skill has no domain-specific traps — it is not mandatory, and a stub with nothing concrete is worse than no section. ## Quality Checklist Before finalizing, verify: - [ ] Description ≥50 chars, third-person, with trigger hint - [ ] At least one concrete code-fenced example - [ ] `## Rules` section with prescriptive MUST / NEVER / CRITICAL / MANDATORY - [ ] `## Gotchas` section when the domain has real environment-specific traps (otherwise omit) - [ ] `## When NOT to Use` section naming 2-3 adjacent skills - [ ] SKILL.md under 500 lines - [ ] No time-sensitive information (versions, dates) - [ ] Consistent terminology throughout - [ ] File references max 1 level deep - [ ] Workflows have numbered steps - [ ] Frontmatter fields match classification type - [ ] `$ARGUMENTS` is present for task/hybrid skills - [ ] `allowed-tools` is minimal (principle of least privilege) ## Evaluation After creating the skill, test it: 1. Invoke with a representative prompt 2. Check output matches expected structure 3. Verify dynamic injection (`$ARGUMENTS`) works 4. Test with varied argument patterns 5. Confirm `allowed-tools` are sufficient but not excessive 6. Iterate: tighten instructions where output diverges ## Installation After creating the skill: 1. Verify the skill directory exists under `app/skills/{name}/` 2. Update `skills-catalog.md` if it exists 3. Update `ARCHITECTURE.md` skill counts if referenced 4. Run `validate.sh` if available 5. Run `evaluate-skills.sh` if available ## Common Mistakes | Mistake | Fix | |---------|-----| | Description too vague | Add specific terms: "Python", "REST API", "migration" | | SKILL.md too long | Move details to `reference/` subdirectory | | Missing `$ARGUMENTS` | Add after the H1 heading for task/hybrid skills | | Over-specifying steps | Give structure, let Claude fill details | | Wrong classification | Task = side effects, Knowledge = patterns, Hybrid = both |
Auf GitHub ansehen