allocate-thread
Allocate Thread
Perform normalized thread-folder creation on behalf of a user-facing operation. You allocate the thread folder, write seed.md from fields the caller hands you, and eagerly create a header-only decisions.md. You own only this bounded filesystem side effect and the refusal below.
Precondition and refusal
Act only when the caller supplies a complete caller-authorization block containing all of:
- Operation — the invoking user-facing operation, named as
/<skill-name>. - Slug — a kebab-case slug for the folder name.
- Title — the human-readable thread title.
- Genesis narrative — the complete, self-contained text explaining what triggered the work and its intended outcome.
- Conditional metadata — zero or more of
External:,Parent:,Roadmap brief:,Supersedes:, each with its value; the block states which apply and which do not.
If any required field above is missing, refuse: create nothing, name what is absent, and direct the user to /open-thread. You never interpret a rough idea or compose title or narrative text yourself — a caller that cannot supply the complete block must route through /open-thread instead.
Thread allocation
Capture the current UTC time and format it as YYMMDDHHMMSSZ (two-digit year, month, day, hour, minute, second, then a literal Z). Compose the folder name as that timestamp, a hyphen, and the supplied slug, and create the folder at docs/threads/<YYMMDDHHMMSSZ-slug>/.