---
name: skill-creator
description: Help the user create new SKILL.md files in spec-canonical agentskills.io form (defaults to private/, never shipped or synced)
title: Skill Creator
category: _meta
status: active
metadata:
  triggers:
    - create skill
    - new skill
    - teach yourself
    - learn how to
    - draft a skill
---

## Instructions

Help the user create a new skill in **agentskills.io spec-canonical form** so it validates against `tests/arch/test_skills_spec_compliance.py` (FAIL mode) on first write AND survives a future `skill-export` round-trip.

1. **Understand the pattern** — Ask what the user wants the agent to learn:
   - What task does it automate?
   - What are the steps?
   - Any preferences or constraints?
   - Which tools (if any) does it call? (e.g. `query_knowledge`, `send_email`, `run_wiki_job`)

2. **Analyze examples** — If the user provides examples, extract patterns:
   - Common structure
   - Tone and formatting preferences
   - Decision points

3. **Draft the skill in canonical form** — Build a SKILL.md following the shape Phase 3 locked in for every default skill. Top-level frontmatter:
   - `name` (lowercase a-z + 0-9 + hyphens, must match parent dir, ≤64 chars)
   - `description` (1-1024 chars, non-empty, says what the skill does AND when to use it)
   - `allowed-tools` (space-separated string, e.g. `"query_knowledge send_email"`) — spec form, replaces the legacy `tools_granted: [list]`
   - `title`, `category`, `status` (AgntSpace flat extras, kept top-level)
   - `author` (optional)

   Behavioral fields under `metadata:`:
   - `triggers` (list of natural-language activation phrases)
   - `priority` (0–10, higher = injected earlier in the system prompt)
   - `model_tier` (`fast` / `capable` / `reasoning`)
   - `examples` (list of `{input, output}` for few-shot)
   - `depends_on` (list of skill names this skill needs loaded)
   - `output_format` (free-form description of expected agent output shape)

   Body uses **canonical headers**: `## Instructions`, `## Rules`, `## Examples` (when relevant). NOT `## What this skill is`, `## Hard rules`, `## Quality rules` — those are deprecated since Phase 3.

4. **Present for review** — Show the draft and iterate based on feedback. The user reads YAML directly, so keep the frontmatter compact and readable.

5. **Save** — Write to `skills/private/SKILL-NAME/SKILL.md` with `status: active`. The `private/` category is the user's alone: never shipped in the wheel, never touched by the defaults sync. (`community/` is reserved for ecosystem imports via `skill-import`.)

## Rules

- Skills are instruction sets, not code.
- Triggers should be natural phrases the user would actually say.
- Keep instructions specific and actionable.
- ALWAYS use `allowed-tools` (spec form) — never `tools_granted` (legacy form, still readable but not for new skills).
- ALWAYS put behavioral fields under `metadata:` — never at the top level.
- Pick `## Instructions` / `## Rules` for body sections; if a section doesn't fit either, use `## When to use` (also canonical).

## Examples

```markdown
---
name: morning-routine
description: Walk the user through a morning routine — review yesterday, set today's intention, surface one stretch goal.
allowed-tools: journal_read_today recall_memory query_knowledge
title: Morning Routine
category: private
status: active
metadata:
  triggers:
    - good morning
    - start my day
    - morning routine
  priority: 6
  model_tier: capable
---

## Instructions

1. Read yesterday's journal via `journal_read_today` (offset by 1).
2. Surface anything the user planned but didn't finish.
3. Recall the most-relevant memory via `recall_memory` for the active project.
4. Ask the user: "What's the one thing that would make today a win?"
5. Echo it back with a 5-minute checkpoint suggestion.

## Rules

- Be brief. Mornings need momentum, not paragraphs.
- Never invent yesterday's outcomes — read the journal first.
- One question per turn; don't stack five at once.
```
