From astra
Use when starting a feature or bugfix implementation run. Orchestrates planning, then generator/evaluator loop with circuit breaker and HITL gates. Do NOT use for project setup — use /astra-init instead.
How this skill is triggered — by the user, by Claude, or both
Slash command
/astra:astra-runThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
All decisions are made by the Python orchestrator. This skill is a thin executor.
All decisions are made by the Python orchestrator. This skill is a thin executor.
Parse $ARGUMENTS:
PROMPT=$ARGUMENTS--spec path → SPEC_PATH=path--plan path → PLAN_PATH=pathLoad detection (or run detect if missing):
DETECTION=$(cat .claude/detection.json 2>/dev/null || echo '{}')
PYTHONPATH=${CLAUDE_PLUGIN_ROOT} python3 -m src.core init \
--data-dir .astra \
--project-dir . \
--prompt "${PROMPT}" \
--detection "${DETECTION}" \
--plan "${PLAN_PATH}" \
--spec "${SPEC_PATH}"
This outputs a JSON action. Parse it. Save action.run_dir — you must pass it to every record and record-hitl call.
Repeat until action is complete or error:
dispatch_agentaction.prompt_file, action.model, action.role, action.isolation from the JSONaction.isolation is "worktree":
Agent(prompt="Read and follow all instructions in {action.prompt_file}", model=action.model, subagent_type="astra:{action.role}", isolation="worktree")
Agent(prompt="Read and follow all instructions in {action.prompt_file}", model=action.model, subagent_type="astra:{action.role}")
subagent_type="astra:architect", role "generator" → subagent_type="astra:generator", role "test-runner" → subagent_type="astra:test-runner"action.save_output_toisolation: "worktree" and made changes, merge the worktree branch back:
git merge --no-ff <worktree-branch> -m "Merge task <task_id>"
If merge conflicts, abort (git merge --abort) and set verdict to FAIL.PYTHONPATH=${CLAUDE_PLUGIN_ROOT} python3 -m src.core record \
--data-dir .astra \
--run-dir "${RUN_DIR}" \
--role "${ROLE}" \
--output "${OUTPUT}" \
--task-id "${TASK_ID}" \
--verdict "${VERDICT}"
dispatch_batchThe orchestrator returns multiple independent tasks to run in parallel.
action.agents — an array of agent descriptors, each with prompt_file, model, role, save_output_to, task_id, and optionally isolationaction.agents, dispatch using the same rules as dispatch_agent above (including isolation: "worktree" when specified)isolation: "worktree" and made changes:
git merge --no-ff worktree-<name> -m "Merge parallel task <task_id>"
These merges should be clean — auto_fix_deps ensures parallel tasks touch different files. If a merge conflicts, abort it (git merge --abort) and record that task as FAIL.record sequentially:PYTHONPATH=${CLAUDE_PLUGIN_ROOT} python3 -m src.core record \
--data-dir .astra \
--run-dir "${RUN_DIR}" \
--role "${ROLE}" \
--output "${OUTPUT}" \
--task-id "${TASK_ID}" \
--verdict "${VERDICT}"
record, use the returned action as normal (it may be another dispatch_batch, dispatch_agent, hitl_gate, etc.)hitl_gateaction.context to the userPYTHONPATH=${CLAUDE_PLUGIN_ROOT} python3 -m src.core record-hitl \
--data-dir .astra \
--run-dir "${RUN_DIR}" \
--gate "${GATE}" \
--decision "${DECISION}" \
--instructions "${INSTRUCTIONS}"
checkpointOutput action.summary. Exit cleanly. User runs /astra-resume to continue.
completeOutput action.summary. Done.
errorOutput action.message. Stop.
--run-dir to every record and record-hitl callastra: prefixed agent types — astra:architect, astra:generator, astra:test-runner, etc. NEVER use agents from other plugins (feature-dev, pr-review-toolkit, superpowers).record()dispatch_agent, dispatch the agenthitl_gate, ask the usercomplete, stopnpx claudepluginhub weardo/astra --plugin astraOrchestrates multi-phase project execution by dispatching dedicated persona agents for planning, execution, verification, and review. Use after spec approval for automated phase chaining.
Orchestrates unified workflows for feature implementation, bug fixes, autonomous batch processing, planning, ATDD agent teams, and end-to-end coding.
Implements features using parallel subagents with scope control, reflection, and MCP servers for memory/context. Activates on implement/build/create requests in JS/TS projects.