docslisted
Install: claude install-skill phahadek/claude-orchestrator
# docs β author a single Docs task
Companion to `/groom` (backlogβReady) and `/design` (locks the spec a Docs task follows):
this skill *executes* one π **Docs** task β an authoring pass against a live external
source, landed as a never-auto-merge output for a human to apply. It is dispatched under
the `docs` session type, whose tool set (`DOCS_ALLOWED_TOOLS`) is the first session profile
in this repo with web egress: `WebFetch`, allowlisted **only** to the task's declared
Source domain(s) β never open `WebSearch`, never an un-allowlisted fetch.
This is the same authoring loop whether a human triggers it interactively (this skill) or
a future autonomous trigger dispatches it β only the trigger differs. The interactive core
built here is what that autonomous wiring will reuse.
## Docs task-body convention
A π Docs task's body must declare, before this skill starts writing anything:
- **Target surface** β where the authored content lands. Either:
- a **repo path** (e.g. `docs/api/webhooks.md`) β output is a draft PR against that repo, <!-- path-check:ignore -->
opened by this session (`Bash(gh pr create:*)` / `mcp__github__create_pull_request` β
see Β§ Output below for why this session, uniquely, carries that capability); or
- a **Notion page id** β output is a staged `notion.pageEdit` intent (find/replace pairs
against the page's current body), left for an operator to apply.
- **Source domains** β the domain(s) this task's `WebFetch` allowlist is scoped t