Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add rp1-run/rp1 --skill bootstrapgit clone --depth 1 https://github.com/rp1-run/rp1Wrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/rp1-run/rp1/bootstrap)<a href="https://agentmods.dev/skills/rp1-run/rp1/bootstrap"><img src="https://agentmods.dev/badge/skills/rp1-run/rp1/bootstrap/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/rp1-run/rp1/bootstrap"><img src="https://agentmods.dev/badge/skills/rp1-run/rp1/bootstrap.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00021 | $0.03539 |
| Opus 5.5 | $0.00008 | $0.01416 |
| Sonnet 5.5 | $0.00004 | $0.00708 |
| Haiku 4.5 | $0.00002 | $0.00354 |
Grade A, and why
bootstrap scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 303 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bootstrap
The top-level skill owns every user-facing question. The retained scaffolder is a bounded, non-interactive worker invoked only after the answer it needs is durable in the target knowledge base.
{% include_shared "parent-owned-interview.md" %}
Invariants
- Keep
metadata.is_workflow: false; bootstrap may start outside an initialized project. - Known
_TBD_sections incharter.mdandpreferences.mdare the only resume state. - Workflow events are telemetry only. Never use them to decide which question or action comes next.
- Do not create scratch pads, bootstrap markers, checkpoint comments, context sidecars, relay envelopes, continuation payloads, or generalized scaffold probes.
- Use the same parent-owned topology on every platform. Do not use platform-specific interaction tags.
- MUST NOT dispatch inside either interview loop. Across one invocation, dispatch at most one PLAN action, one optional REVISE action, and one APPLY action.
Procedure
1. Validate Every Project Name Before Effects
Begin from a non-mutating directory inventory. Inspect only the current directory and safe-named direct children when looking for resumable work; do not recurse through arbitrary directories.
Validate every supplied, inferred, or recovered project name against ^[a-z0-9][a-z0-9-]*$ before using it as a path segment. Do not trim, sanitize, lowercase, or otherwise rewrite a candidate. Reject separators, .., whitespace, globs, punctuation other than -, an empty name, or a leading hyphen with actionable lowercase-kebab-case guidance.
Target discovery:
- Enumerate the current directory name and direct-child names without entering them.
- Discard a name unless it passes the project-name regex, then retain only candidates with their own
.rp1/project_id. Never derive a candidate path from an unsafe name, and never treat an ancestor project as candidate initialization. - If one initialized candidate exists, offer to inspect and use it. If several exist, present only the validated names and ask the user to choose one or provide a new name. If none exists and no argument was supplied, infer the current directory basename only when the current directory is already its own rp1 project; otherwise ask for a name.
- Do not call a selected initialized target resumable until Section 2 resolves its canonical directories and
{targetKbRoot}/preferences.mdexists. A resumable candidate exists only when its resolved{targetKbRoot}/preferences.mdexists. Do not inspect run state, marker files, package manifests, or expected scaffold outputs to infer resume state.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 303 lines · 21 tokens per session scan A a2ae64b69ad7
bootstrap is a skill published in the GitHub repository rp1-run/rp1 (38 stars, last pushed today), licensed Apache-2.0. It adds 21 tokens to every session and 3,539 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.
Other skills, from other repositories
openspec-bulk-archive-change
Archive multiple completed OpenSpec changes at once. Use when archiving several parallel changes. Also use for a plural archive request - "openspec bulk-archive", "opsx bulk-archive", "openspec archive all", or "openspec archive these changes".
openspec-bulk-apply-change
Use when multiple active OpenSpec changes should be applied concurrently in isolated worktrees with delegated verification and no merge.
product-management
Expertise in product management lifecycle, from ideation to launch. Covers requirements gathering, user story creation, prioritization, and product strategy. Use this skill for product planning, writing PRDs, defining MVPs, or competitive analysis.
openspec-new-change
Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach. Also use when the user says "openspec new change" or "opsx new".
openspec-archive-change
Archive a completed OpenSpec change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete. Also use when the user says "openspec archive" or "opsx archive".
prd-to-plan
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved as a local Markdown file in ./plans/. Use when user wants to break down a PRD, create an implementation plan, plan phases from a PRD, or mentions "tracer bullets".