--- name: "skill-builder-contract" description: "Shared contract for all skill-builder domain skills. Describes skill folder structure, SKILL.md frontmatter conventions, CLI.md format, progressive disclosure loading strategy, and how skill-builder skills are composed. REQUIRED reading for skills that create or scaffold other skills." metadata: stage: "alpha" do_not_invoke: true --- # Skill Builder Domain — Shared Contract **Do not invoke directly.** This is a dependency contract — all `skill-builder` domain skills read this before operating. ## Scope The `skill-builder` domain contains skills that **create other skills** — scaffolding, implementing, and refining SKILL.md prompts and their supporting artifacts. This contract defines the output format, folder conventions, and loading strategy those skills must follow. ## Domain Skills | Skill | Purpose | |-------|---------| | `skill-builder` | Scaffold and implement full Agent skills from requirements | | `uv-cli-implementer` | Build single-file Python CLI tools (uv + Typer) for agent consumption | ## Skill Folder Structure Every skill output must follow this layout: ``` / ├── SKILL.md ← Required. YAML frontmatter + agent prompt body ├── CLI.md ← Optional. How to invoke from the CLI / slash command ├── resources/ │ └── README.md ← Reference material, links, background knowledge ├── examples/ │ └── .md ← Worked examples of the skill in action └── scripts/ └── .py ← Supporting scripts (uv-runnable, zero-dependency) ``` ## SKILL.md Frontmatter All skills produced by this domain must use this frontmatter: ```yaml --- name: description: "" keywords: [, ...] source: MIGRATED | MERGED | CF | SAXE | TEST stage: alpha | beta | production user_inputs: - key: VARIABLE_NAME prompt: "Question shown to user" required: true | false reads_from: [, ...] writes_to: [, ...] --- ``` Required fields: `name`, `description`, `stage`. ## CLI.md Format ```markdown # — CLI Usage ## Slash Command / ## Arguments - `--arg`: description ## Examples / --arg value ``` ## Progressive Disclosure Loading Skills must be designed for three-level loading to maximize context efficiency: | Level | What is loaded | When | |-------|---------------|------| | **Metadata** | `name` + `description` frontmatter only | Always — used for routing | | **SKILL.md** | Full prompt body | When skill triggers | | **Resources** | `resources/`, `examples/`, `scripts/` | Only when needed mid-execution | **Keep SKILL.md under 500 lines.** Move reference material to `resources/`. ## uv Script Conventions (uv-cli-implementer output) CLI tools produced by `uv-cli-implementer` must: - Be a **single Python file** with inline PEP 723 dependency metadata - Run with `uv run