When to Use
Use this skill when the user asks to draft a user story / feature
spec / RFP response and the project standard is to run the full
gstack-style chain rather than free-write. The orchestrator owns the
coordination — the chain participants (office-hours, plan-ceo-review,
autoplan, story-writer) own the content.
Skip this skill when:
- The user explicitly says "skip the chain, just write the story".
- Output is for an internal one-off and dossier rigor is overkill.
- Verdict from plan-ceo-review is already known to be NEVER (no story
to produce).
Rules
- Pick a slug before invoking any sub-agent. The slug must match
^[a-z0-9]+(-[a-z0-9]+)*$ (validated by aria_artifact_save).
Convention: <YYYY-MM>-<3-6 words about the work>. Example:
2026-05-mantenimiento-industrial-cotizador.
- Run sub-agents in declared order (positions 0, 1, 2, 3). Each
sub-agent SKILL.md declares its
inputs.required_artifacts — the
orchestrator MUST provide those by reading prior artifacts via
aria_artifact_get and including them as context in the sub-agent
prompt.
- Short-circuit on verdict:
- After position 1 (
plan-ceo-review), parse the artifact's
## Verdict section.
- If verdict is
LATER or NEVER, call
aria_artifact_complete(slug, final_artifact="1-ceo-plan.md")
and stop. Do not invoke positions 2 or 3.
- If verdict is
NOW, continue.
- One sub-agent per position. Do not parallelize. Each artifact
is the input to the next; concurrency only causes drift.
- Persist after each step via
aria_artifact_save BEFORE
spawning the next sub-agent. The next agent reads from disk, not
from in-memory state.
- Final actions (after position 3):
aria_artifact_complete(slug, final_artifact="3-story.md").
aria_save(type=story, scope=project, title=story_title, content=story_connextra_header).
- On any sub-agent failure, save the partial artifacts and call
aria_artifact_save with status=abandoned via a follow-up
aria_artifact_complete (the API supports it). Do not silently
discard partial work.
Verification
Implementation note for the calling agent
This skill is not a sub-agent itself (agent: false). It is a
prompt/protocol the calling agent (Claude Code, Cursor, etc.)
follows in-context to drive the chain. The calling agent reads each
of the four chain skills, spawns the appropriate sub-agent or runs
in-context with that skill's body as the system prompt, and persists
artifacts via the aria_artifact_* MCP tools.
A future ARIA Core release MAY ship a pure-server orchestrator, but
F5 deliberately keeps orchestration on the client side to avoid
coupling the server to a specific LLM lifecycle.
1---2name: story-orchestrator3description: Coordinator agent-skill that drives the multi-agent story-creation chain (office-hours → plan-ceo-review → autoplan → story-writer). Loads each child skill, supplies the previous artifact(s) as input, invokes the sub-agent, and short-circuits when plan-ceo-review returns LATER or NEVER. Lives at position-less (orchestrator role, not part of the chain itself).4license: Apache-2.05---67## When to Use89Use this skill when the user asks to draft a user story / feature10spec / RFP response and the project standard is to run the full11gstack-style chain rather than free-write. The orchestrator owns the12coordination — the chain participants (office-hours, plan-ceo-review,13autoplan, story-writer) own the content.1415Skip this skill when:1617- The user explicitly says "skip the chain, just write the story".18- Output is for an internal one-off and dossier rigor is overkill.19- Verdict from plan-ceo-review is already known to be NEVER (no story20 to produce).2122## Rules23241. **Pick a slug** before invoking any sub-agent. The slug must match25 `^[a-z0-9]+(-[a-z0-9]+)*$` (validated by `aria_artifact_save`).26 Convention: `<YYYY-MM>-<3-6 words about the work>`. Example:27 `2026-05-mantenimiento-industrial-cotizador`.282. **Run sub-agents in declared order** (positions 0, 1, 2, 3). Each29 sub-agent SKILL.md declares its `inputs.required_artifacts` — the30 orchestrator MUST provide those by reading prior artifacts via31 `aria_artifact_get` and including them as context in the sub-agent32 prompt.333. **Short-circuit on verdict**:34 - After position 1 (`plan-ceo-review`), parse the artifact's35 `## Verdict` section.36 - If verdict is `LATER` or `NEVER`, call37 `aria_artifact_complete(slug, final_artifact="1-ceo-plan.md")`38 and stop. Do not invoke positions 2 or 3.39 - If verdict is `NOW`, continue.404. **One sub-agent per position**. Do not parallelize. Each artifact41 is the input to the next; concurrency only causes drift.425. **Persist after each step** via `aria_artifact_save` BEFORE43 spawning the next sub-agent. The next agent reads from disk, not44 from in-memory state.456. **Final actions** (after position 3):46 - `aria_artifact_complete(slug, final_artifact="3-story.md")`.47 - `aria_save(type=story, scope=project, title=story_title,48 content=story_connextra_header)`.497. **On any sub-agent failure**, save the partial artifacts and call50 `aria_artifact_save` with `status=abandoned` via a follow-up51 `aria_artifact_complete` (the API supports it). Do not silently52 discard partial work.5354## Verification5556- [ ] Slug picked + matches regex57- [ ] Each sub-agent invocation supplied required_artifacts as input58- [ ] On verdict NOW: positions 0,1,2,3 all completed59- [ ] On verdict LATER/NEVER: chain stopped at position 1, completed60- [ ] After position 3: aria_artifact_complete + aria_save called61- [ ] On failure: chain marked abandoned (not silently lost)6263## Implementation note for the calling agent6465This skill is **not** a sub-agent itself (`agent: false`). It is a66prompt/protocol the calling agent (Claude Code, Cursor, etc.)67follows in-context to drive the chain. The calling agent reads each68of the four chain skills, spawns the appropriate sub-agent or runs69in-context with that skill's body as the system prompt, and persists70artifacts via the `aria_artifact_*` MCP tools.7172A future ARIA Core release MAY ship a pure-server orchestrator, but73F5 deliberately keeps orchestration on the client side to avoid74coupling the server to a specific LLM lifecycle.