ワンクリックで
openstation-execute
Teaches agents how to operate within Open Station — find tasks, execute work, update state, and store artifacts.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Teaches agents how to operate within Open Station — find tasks, execute work, update state, and store artifacts.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Drive a DAG of Open Station tasks to done — plan waves from dependencies, dispatch with sane defaults, watch via tmux, retry, advance on verification, and escalate blockers. Use deliberately when asked to "run the epic", "drive these tasks", "orchestrate the milestones", or to advance a multi-task plan.
Supervise active openstation tasks — list in-progress and review tasks, check session health for each, and present actionable recommendations. Use when asked to check on tasks, supervise work, or get a status overview.
Teaches agents how to operate within Open Station — find tasks, execute work, update state, and store artifacts.
Supervise active openstation tasks — list in-progress and review tasks, check session health for each, and present actionable recommendations. Use when asked to check on tasks, supervise work, or get a status overview.
Generate a changelog entry for a new Open Station release from conventional commits and domain-specific categories.
Generate a changelog entry for a new Open Station release from conventional commits and domain-specific categories.
| name | openstation-execute |
| description | Teaches agents how to operate within Open Station — find tasks, execute work, update state, and store artifacts. |
| user-invocable | false |
You are operating within Open Station, a task management system where all state is stored as markdown files with YAML frontmatter.
Artifact source-of-truth lives under artifacts/<kind>/ (the
artifacts-os layout that Open Station builds on top of). Framework
plumbing and runtime state live in .openstation/.
artifacts/ — Artifact source-of-truth
tasks/ — Task files (NNNN-slug.md, single files, never moved)
agents/ — Agent specs (canonical location)
research/ — Research outputs
specs/ — Specifications & designs
notes/ — Planning notes
alerts/ — Alert artifacts
logs/ — Run logs
openstation.yaml — Project settings (single file at root)
.openstation/ — Framework plumbing + runtime (hidden)
docs/ — Project documentation (lifecycle, task spec, README)
skills/ — Skills (including this one)
commands/ — User-invocable slash commands
All tasks are single files in artifacts/tasks/ — e.g.,
artifacts/tasks/0010-add-login-page.md. There are no task
folders or bucket directories.
The openstation CLI provides scriptable access to the task vault.
Prefer it for discovery, inspection, and status transitions.
See docs/cli.md for the full reference (all flags, exit codes,
resolution rules).
Always call openstation directly — never python3 bin/openstation
or any other indirect path. The binary is on $PATH during agent
sessions. Fall back to direct file reads/edits only if the command
is not found.
Key commands:
| Command | Purpose |
|---|---|
openstation list --status ready,in-progress --assignee <you> | Find your tasks |
openstation show <task> | Read a task spec |
openstation status <task> <new-status> | Transition lifecycle state |
openstation create "<desc>" [--parent <p>] | Create a task or sub-task |
These are user-invocable commands you may also use during execution when appropriate:
| Command | Purpose |
|---|---|
/openstation.create | Create a new task (with decomposition support) |
/openstation.list | List tasks with filters |
/openstation.show | Show full task details |
/openstation.ready | Promote backlog → ready |
/openstation.done | Mark verified → done (with artifact promotion) |
/openstation.suspend | Suspend in-progress → ready/backlog |
/openstation.reject | Mark task → rejected (with reason) |
/openstation.verify | Verify a task's checklist against evidence |
/openstation.update | Edit task metadata (not status) |
/openstation.progress | Append a timestamped progress entry to a task |
.openstation/ is always available at project root — in linked
worktrees it is provided as a symlink automatically.
openstation show/list/create/status)
for discovery and status transitions — they resolve the correct
root automaticallyartifacts/tasks/,
.openstation/docs/, etc.info: line from create/status shows the absolute path
of the modified file, confirming which vault was usedSee docs/worktrees.md for full details on primary vs linked
modes and how find_root() resolves the vault.
name field in
your frontmatter).docs/lifecycle.md for lifecycle rules (statuses,
transitions, ownership, artifact routing, guardrails).docs/task.spec.md for task format (fields, naming,
body structure, editing guardrails).openstation list --status ready,in-progress --assignee <your-name>
to find assigned tasks. If the CLI is unavailable, fall back to
scanning artifacts/tasks/*.md for files where
assignee matches your name AND status is ready or in-progress.created date (prefer in-progress over ready to resume work).Run openstation show <task-name> to load the full task spec
(or read artifacts/tasks/<task-name>.md directly). Note
requirements and verification checklist.
If the task has a ## Suspended section, it was previously
in-progress and paused. Read the branch reference and suspension
reason. Use git diff main...suspend/<task-name> to understand
what was done before. The ## Progress section from the prior
session provides additional context.
If the task has a parent field, read the parent task for
background context.
Transition the task to in-progress:
openstation status <task-name> in-progress
Fallback — if the CLI is unavailable, edit status: ready
→ status: in-progress directly in the task frontmatter.
If the task is too large for a single pass, decompose it into sub-tasks before starting work. Decompose when any of these are true:
See docs/decomposition.md for full sizing heuristics,
split-vs-keep criteria, and parent task patterns.
If decomposition is needed, skip to step 8 (Create Sub-Tasks),
set status: review, and stop. The owner will promote the
sub-tasks for execution.
Store new artifacts in the appropriate artifacts/<kind>/
directory; for edited documentation files, keep them at their
existing path. Record all of them — new or edited — in the task's
artifacts frontmatter list using an Obsidian wikilink:
artifacts:
- "[[my-research]]"
- "[[my-agent]]"
(Wikilinks resolve by stem within artifacts/<kind>/; legacy
[[openstation/<kind>/<stem>]] references still resolve.)
Routing table — where each artifact type goes:
| Artifact type | Directory |
|---|---|
| Research output | artifacts/research/ |
| Agent spec | artifacts/agents/ |
| Specification | artifacts/specs/ |
| Planning notes | artifacts/notes/ |
| Run logs | artifacts/logs/ |
Every produced artifact must appear in the artifacts list —
this is how verification and promotion find them.
Artifacts are documentation outputs only — research notes, agent
specs, specifications, planning notes, and run logs stored under
openstation/. Do not list source code changes (src/, bin/,
tests/, config files) — those are tracked by version control.
Set provenance fields on each artifact's own frontmatter:
agent: researcher # which agent created it
task: "[[0047-name]]" # which task (wikilink)
Use agent: manual and omit task for manually created artifacts.
Do NOT create discovery or promotion symlinks (e.g.
agents/<name>.md). /openstation.done handles promotion
after verification.
See docs/storage-query-layer.md §§ 3c–3d, 4 for
routing and provenance conventions.
After completing the work, add a ## Findings section to the
task file summarizing what you produced. This is required for
all task types.
Content varies by type:
Lead with conclusions. Link to artifacts. Keep it concise — a reviewer should understand the work without reading every file you touched.
If your work introduced any of the following, add a
## Downstream section to the task file:
Each item is a bullet describing what needs to happen and why. The reviewer will decide whether to create tasks for them.
Omit this section if there is no downstream work to flag.
Use /openstation.progress <task-name> <message> to append a
timestamped progress entry. The command handles format, placement,
and append-only rules. See the command for full details.
artifacts/logs/<task-name>.jsonl) if
your session is being loggedreview or rejectedIf a task requires decomposition:
/openstation.create or openstation create to create each
sub-task. Never create task files manually — the CLI assigns
unique IDs atomically and prevents collisions.parent: "[[<current-task-name>]]" in each sub-task's
frontmatter (Obsidian wikilink format)."[[<sub-task-name>]]" to the parent's subtasks
frontmatter list and add an entry to the parent's
## Subtasks body section.See docs/storage-query-layer.md § 5 for the full
sub-task storage model and docs/lifecycle.md § "Sub-Tasks"
for blocking rules.
If your changes affect behavior, conventions, or structures
documented in docs/ or CLAUDE.md, update those files to
stay in sync.
When updating an artifact, check its task frontmatter field.
If the linked task has a ## Findings section that conflicts
with your changes, update the Findings to match.
Skip this step if no documentation or findings are affected.
If you cannot complete a task due to a hard blocker, fail immediately — do not retry endlessly or work around the problem.
Stop and use /openstation.fail as soon as you discover any of:
gh, git, npm,
docker, etc.) are not available or not in the allowlistDo not retry, do not improvise a workaround. The failure report gives the supervisor the information needed to fix the setup and retry.
If you have been stuck for 5+ turns without meaningful progress, stop and fail. Signals:
Five turns of no progress means the problem is structural, not a matter of persistence.
The reason passed to /openstation.fail must include three
parts: what blocked you, what you completed, and what to fix.
Example — missing tools:
/openstation.fail 0230 "Missing gh and git in allowed tools.
Task requires PR review (gh pr view, gh pr diff) and merge
(gh pr merge) but neither Bash(gh *) nor Bash(git *) are in
the allowlist. Completed: read the task spec and identified
required operations. Fix: add Bash(gh *) and Bash(git *) to
the agent's allowed-tools or the task's allowed-tools field."
Example — repeated failure:
/openstation.fail 0115 "pytest segfaults on import of
native extension (5 attempts, same core dump each time).
Completed: implemented the handler and wrote tests.
Fix: check native dependency versions in the CI image or
run tests in a clean virtualenv."
After working through all requirements:
Self-check: review the ## Verification items and confirm
your work addresses each one. Do not check the boxes
yourself — that is the owner's job via /openstation.verify.
Transition the task to review:
openstation status <task-name> review
Fallback — if the CLI is unavailable, edit
status: in-progress → status: review directly in the
task frontmatter.
Stop. The designated owner handles verification from here.
See docs/lifecycle.md § "Status Transitions" for guardrails.
Only the designated owner may approve or reject a task. The
owner field in task frontmatter names the owner — either
an agent name or user (meaning a human verifies).
If owner is your agent name:
/openstation.verify <task-name> to
transition to verified, then /openstation.done <task-name>
to complete the task.status: rejected and document which
items failed and why (add a note in the task body or as an
artifact).If owner is user, a human operator handles verification.
Do not verify on their behalf.