Skip to main content

skill-creator

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

소스 정보

저장소
softspark/ai-toolkit
최근 소스 활동
2026년 9월 23일 11:12
감지된 SKILL.md 언어
영어
스타
179
포크
21

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
4 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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 |
GitHub에서 보기