agent-creatorlisted
Install: claude install-skill Pythoughts-labs/pythinker-code
# Agent Creator
Guide the user to a correct, immediately-loadable Pythinker agent definition. The hard part is not
the file format — it is a sharp `when_to_use`, a scoped tool set, a persona that earns its keep, and
a structured output contract. The builtin agents under `src/pythinker_code/agents/default/`
(`plan.yaml`, `explore.yaml`) are the quality bar; match them.
Do NOT invent a new loader or code path. Two existing, additive mechanisms already load custom
agents — pick the one that fits and write a file. No changes to `agentspec.py`, the CLI, or the
runtime are needed.
## Two ways to define an agent
### A. Markdown agent file (quick, auto-discovered) — preferred default
A single `<name>.md` placed in a discovery directory is auto-discovered on the next launch.
Frontmatter fields recognized by `parse_markdown_agent`:
- `name` — the agent name (falls back to the filename stem).
- `description` — what it is (falls back to the first body line).
- `when_to_use` — when the orchestrator should delegate to it (falls back to `description`).
- `tools` — a YAML list of **friendly tool names**, mapped to import paths automatically — do NOT
use the `module:ClassName` form here. The supported names are: `Agent`, `Bash`, `Edit`, `Fetch`,
`Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `Write`.
- `model` — optional model alias.
The markdown **body** is the agent's system prompt (its persona + rules + output contract).
```markdown
---
name: migration-reviewer
d