一键导入
speedrun
Interactive speedrun loop for small, low-risk changes. Delegates each request to a general sub-agent. Redirects larger work to /build-fast or /build.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Interactive speedrun loop for small, low-risk changes. Delegates each request to a general sub-agent. Redirects larger work to /build-fast or /build.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Agent-only canonical output templates for rp1 artifacts. Load when producing structured markdown to ensure format consistency and routing metadata.
Ask about rp1 capabilities, discover skills, and get workflow guidance.
Evidence-gated tech debt and bloat detection. Scouts signals, ranks by materiality, validates by refutation, reports up to 5 findings with actions.
Synchronizes user-facing documentation with the current knowledge base through validate -> stale gate -> scan -> approval -> process orchestration.
Orchestrates parallel KB generation using spatial analysis and a map-reduce architecture with incremental and feature-learning modes.
Analyzes systems holistically to provide strategic recommendations balancing cost, quality, performance, complexity, and business objectives with quantified trade-offs.
| name | speedrun |
| description | Interactive speedrun loop for small, low-risk changes. Delegates each request to a general sub-agent. Redirects larger work to /build-fast or /build. |
| allowed-tools | Bash(echo *), Bash(rp1 *), Bash(git *), Bash(mkdir *) |
| metadata | {"category":"development","is_workflow":true,"workflow":{"run_policy":"fresh","identity_args":[]},"version":"1.1.0","tags":["core","code","feature"],"created":"2026-01-15T00:00:00.000Z","updated":"2026-03-09T00:00:00.000Z","author":"cloud-on-prem/rp1","arguments":[{"name":"REQUEST","type":"string","required":false,"default":"","description":"Initial development request (may be empty; will prompt if missing)","variadic":true},{"name":"AFK","type":"boolean","required":false,"default":false,"description":"Non-interactive mode","aliases":["afk","unattended"]}]} |
Interactive speedrun loop for rapid, small changes. Delegates each request to a single general sub-agent.
This command ONLY orchestrates. It does NOT implement code.
First emit: Include --name "{RUN_NAME}" on the first emit call to label the run in the Arcade dashboard. Derive RUN_NAME from the initial request: a brief summary (max 60 chars) prefixed with "Feature: ". Use the RUN_ID from the generated Workflow Bootstrap section. Capture DATESTAMP=$(date +%Y-%m-%d) once at session start for use in session log paths. Initialize TASK_COUNT=0 at session start.
On session start, emit the status change:
rp1 agent-tools emit \
--workflow speedrun \
--type status_change \
--run-id {RUN_ID} \
--name "Feature: {brief summary of request}" \
--step active \
--data '{"status": "running"}'
Per-task unit tracking: Each task in the session gets a unit identifier task-{TASK_COUNT}. Increment TASK_COUNT before each new task starts. Include --unit task-{TASK_COUNT} on ALL emit calls for that task so each task appears as a trackable item in the Arcade.
stateDiagram-v2
[*] --> active
active --> [*] : session_end
If REQUEST empty:
{% ask_user "What would you like to build?" %}
Super vague (ask for clarification):
Clear enough (proceed):
If vague: ask ONE clarifying question. Do NOT over-interrogate.
Before delegating, assess the request:
| Factor | Small (proceed) | Medium/Large (redirect) |
|---|---|---|
| Files | 1-3 | >3 |
| Systems | 1 | >1 |
| Risk | Low | Medium or High |
| Estimated effort | <2h | >2h |
If Medium or Large: Do NOT delegate. Instead:
/build-fast/build/phase-plan---
## This request is better suited for a structured workflow
**Request**: {polished request — a clear, self-contained description of what the user wants}
**Why**: {brief reason — e.g. touches N files across M systems, requires design decisions}
**Recommended** (copy-paste ready):
For medium scope (2-8h):
```
/rp1-dev:build-fast "{polished request}"
```
For large single-feature scope (>8h):
```
/rp1-dev:build "{suggested-feature-id}"
```
For initiative-sized scope (multiple independently valuable features, explicit rollout phases, or distinct child-feature handoffs):
```
/rp1-dev:phase-plan <prd-or-requirements-source>
```
---
The polished request inserted into the commands must be the cleaned-up version, NOT the user's raw input. Transform vague or conversational input into a concise, actionable prompt that a downstream workflow can act on without further clarification.
When recommending /phase-plan, explain that the command expects a completed PRD or oversized requirements.md artifact as its source. Do not mention legacy tracker or milestone workflows.
Then loop to §1.5 (Post-Build Prompt) so the user can submit a smaller request or exit.
Increment TASK_COUNT. Emit a build-start status with the unit:
rp1 agent-tools emit \
--workflow speedrun \
--type status_change \
--run-id {RUN_ID} \
--step active \
--unit task-{TASK_COUNT} \
--data '{"status": "running", "request": "{brief summary of REQUEST}"}'
Spawn a single general sub-agent to implement the request:
{% dispatch_agent "rp1-dev:speedrun-builder" %} Implement the following change in the codebase:
{REQUEST}
Code edits directory: {codeRoot} Canonical project root: {projectRoot}
Keep change minimal. Apply Speedrun Gate. Do NOT commit. {% enddispatch_agent %}
Wait for completion. Do NOT implement anything yourself.
After builder completes, emit waiting status so the Arcade dashboard reflects the gate pause:
rp1 agent-tools emit \
--workflow speedrun \
--type waiting_for_user \
--run-id {RUN_ID} \
--step active \
--unit task-{TASK_COUNT} \
--data '{"prompt": "What would you like to do next?", "context": "Post-build prompt after express builder completes"}'
{% ask_user "What would you like to do next?", options: "Commit & move on", "Refine or new task (no commit)", "Review feedback from Arcade", "Exit" %}
| Option | Action |
|---|---|
| Commit & move on | Commit current changes (conventional commit), then loop to 1.1 |
| Refine or new task (no commit) | Ask what's next: a change to this task re-invokes §1.4 with the refinement as REQUEST; a fresh request loops to 1.1. No commit either way. |
| Review feedback from Arcade | Load the arcade-collab skill (/rp1-dev:arcade-collab), then call rp1 agent-tools feedback read --run-id {RUN_ID} --status open. If feedback exists, process it per the collaboration loop in the skill. After all feedback is processed, return to this prompt and re-present the same options. Not shown when AFK=true. |
| Exit | STOP |
After a scope redirect (§1.3), show only "New task" and "Exit" options (no feedback review since no build occurred).
When user chooses "Commit & move on":
git add -A)rp1 agent-tools emit \
--workflow speedrun \
--type status_change \
--run-id {RUN_ID} \
--step active \
--unit task-{TASK_COUNT} \
--data '{"status": "completed"}'
Clear REQUEST, update session log with status "skipped" (see §1.8), then loop to 1.1 (Get Request).
After every task resolution (commit, skip, or refine cycle completion), write or append to the session log file at {workRoot}/speedrun/{DATESTAMP}-{RUN_ID}/session-log.md.
plugins/base/skills/artifact-templates/templates/speedrun/session-log.md (fall back to rp1-base:artifact-templates SKILL.md index if the direct path fails).committed, skipped, or refined (refined = was refined then committed).Create the directory if it does not exist (mkdir -p). Rewrite the entire file each time (header + all rows) so it stays consistent.
After writing the file, register it as an artifact (on first write) or let subsequent writes update the content in-place:
rp1 agent-tools emit \
--workflow speedrun \
--type artifact_registered \
--run-id {RUN_ID} \
--step active \
--unit task-{TASK_COUNT} \
--data '{"path": "speedrun/{DATESTAMP}-{RUN_ID}/session-log.md", "storageRoot": "work_dir", "format": "markdown"}'
On exit, report tasks completed count.
## Session Summary
**Tasks Completed**: {count}
Speedrun session ended.
YOU MUST:
YOU MUST NOT:
{workRoot}/speedrun/{DATESTAMP}-{RUN_ID}/session-log.md)