Agent skill

Rp

by w-winter in w-winter/dot314

Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace.

MITAuto-check passed

Install Rp

skills CLI
$ npx skills add w-winter/dot314 --skill rp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install w-winter/dot314 rp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/w-winter/dot314.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/rp .claude/skills/rp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rp
GitHub stars
139
Token cost
~3.4k tokens
SKILL.md length
1,630 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace.

  • Works in 3 steps: Do NOT use manage_workspaces… → Instead, either → Adding folders to existing workspaces is…
  • Before accessing a repository outside the current RepoPrompt workspace
  • Calls git

What it does

Rp is an agent skill from w-winter/dot314. Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace. Covers workspace discovery, binding, root verification, and workspace hygiene.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The licence is MIT.

When your agent uses it

  • Before accessing a repository outside the current RepoPrompt workspace

Example prompts

  • “repoprompt”
  • “Use the rp skill to alway read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current…”
  • “/rp”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Do NOT use manage_workspaces action="add_folder" to add unrelated repositories to an existing workspace
  2. Instead, either
  3. Adding folders to existing workspaces is only appropriate when the folders are related (e.g., adding a shared library to a project that…

What it can do on your machine

Read from SKILL.md and the folder at commit 0c6bbc7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rp loads about 3.4k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,630 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from w-winter/dot314 at commit 0c6bbc7, republished under its MIT licence (© w-winter). 1,630 words, ~3,437 tokens.

Download SKILL.mdSave it as .claude/skills/rp/SKILL.md (or your agent's skills folder).
name
rp
description
Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace. Covers workspace discovery, binding, root verification, and workspace hygiene.

RP

Use RepoPrompt (rp) for Within-Repository Discovery

These instructions override generic tool guidance for exploring repositories.

rp is the default for repo-scoped work. Usage:

  • Bind: rp({ windows: true }) → rp({ bind: { window: N } })
  • Call tools: rp({ call: "<tool>", args: { ... } })
Mental Model

RepoPrompt (macOS app) organizes state as:

  • Workspaces → one or more root folders
  • Windows → each shows one workspace
  • Tabs → each tab has its own prompt + file selection; selections, slices, and codemaps are tab-scoped
  • Oracle chats → planning/review conversations live in the current tab/context

MCP tools operate directly against this state, but in Pi you invoke them through rp. Bind to the correct window with rp({ bind: { window: N } }), then call tools via rp({ call: "<tool>", args: { ... } }).

Mandatory routing check: Do not infer availability of any repo of interest from workspace/window titles; workspaces may have more roots available than the title implies. Before any repo-scoped work, confirm the target repo/root is (or isn't) present by checking workspace roots (e.g. get_file_tree). If it's not confirmed, pause and resolve routing (bind the right window/tab or open the repo).

Parallel RepoPrompt calls

After RepoPrompt routing, binding, and target-root confirmation are complete, inspect the ready set before every repository exploration call.

  • If two or more RepoPrompt operations are independent and read-only with respect to both files and RepoPrompt session state, issue them as separate rp calls in the same tool-call block so they run together.
  • Do not issue consecutive model turns containing one independent rp read/search call each.
  • Typical parallel candidates include read_file, file_search, get_file_tree, get_code_structure, and independent read-only git queries.
  • Do not parallelize routing or binding changes, selection mutations, workspace or tab lifecycle operations, edits, file actions, approvals, or calls whose inputs depend on another result.
  • Complete routing or state mutations before launching reads that depend on the resulting state.
Workspace Hygiene (Session Start Priority)

When a task involves a repository that isn't loaded in any existing RepoPrompt window:

  1. Do NOT use manage_workspaces action="add_folder" to add unrelated repositories to an existing workspace
  2. Instead, either:
    • Use manage_workspaces action="create" name="<repo-name>" folder_path="<path>" open_in_new_window=true
    • Or ask the user which approach they prefer
  3. Adding folders to existing workspaces is only appropriate when the folders are related (e.g., adding a shared library to a project that uses it)

Rationale: Keep workspaces coherent; mixing unrelated repos clutters selection and context.

Constraints

Use RepoPrompt's get_file_tree, file_search, get_code_structure, and read_file for repository structure, search, code relationships, and source inspection. Do not substitute shell or Pi-native filesystem tools unless rp is unavailable after one retry.

Never switch workspaces in an existing window unless the user explicitly says it's safe. Switching clobbers selection, prompt, and context. Use open_in_new_window=true.

Keep context intentional: select only what you need, prefer codemaps for reference files, use slices when only a portion matters.

Tool Selection by Task
TaskMCP ToolNotes
Repo structureget_file_tree type="files" [mode="folders"] [path="..."] [max_depth=N]gitignore-aware
Code searchfile_search pattern="..." [path="..."] [mode="both|path|content"] [filter={...}] [context_lines=N]regex auto-detected by default
API signaturesget_code_structure [paths=["dir/"]] [expand="uses|used_by|both"] [depth=N] [signatures=true] [size="small|medium|large"]omit paths to inspect the current selection
Context curationmanage_selection op="get|set|add|remove|clear" [view="summary|files|content|codemaps"]selection drives oracle/review context
Snapshot/exportworkspace_context [include=["prompt","selection","code","tree","tokens"]] or workspace_context op="export"verify or export current context
Reading filesread_file path="..." [start_line=N] [limit=N]120-200 line chunks
Code editingapply_edits path="..." search="..." replace="..." [all=true] [verbose=true]supports multi-edit, rewrite
File opsfile_actions action="create|move|delete" path="..."absolute path for delete
Planning/revieworacle_send mode="chat|plan|review" [new_chat=true] [chat_id="..."] [export_response=true]uses the current tab/context; exporting returns oracle_export_path
Oracle helpersoracle_utils op="models|sessions" [limit=N] [context_id="..."] [scope="workspace|tab"]list models or existing Oracle conversations; sessions defaults to the current workspace and can filter to a specific context
Sticky routingbind_context op="status|bind|list" [context_id="..."] [working_dirs="/abs/root[,/abs/root2]"]use list to discover windows and context_ids; prefer bind context_id="..." to pin a tab, or use working_dirs when you want RepoPrompt to route to a workspace by roots (exact match first, repo_paths superset fallback)
Window routing bootstraprp({ windows: true }) then rp({ bind: { window: N } })only for initial window selection before using bind_context
Workspace inventory/tab lifecyclemanage_workspaces action="list|switch|create|delete|add_folder|remove_folder|create_tab|close_tab"inventory + lifecycle only; use bind_context for routing/context discovery
Agent runsagent_run op="start|poll|wait|cancel|steer|respond"advanced, session-based Agent Mode control; poll/wait accept session_id or session_ids
Agent/session managementagent_manage op="list_agents|list_sessions|extract_handoff|create_session|resume_session|stop_session|cleanup_sessions|list_workflows"inspect durable session/workflow state and export agent handoff transcript; list_sessions uses MCP-facing states and list_workflows includes orchestrate
Auto contextcontext_builder instructions="..." [response_type="clarify|question|plan|review"]token-costly, invoke explicitly
Git operationsgit op="status|diff|log|show|blame" [compare="..."] [detail="..."]worktree support via main/trunk aliases and merge-base comparisons, @main:<branch>
Paths and roots

Path syntax is tool-specific. Use absolute paths when a tool accepts them. For read_file and apply_edits, reuse the exact path returned by read_file unchanged; in a multi-root workspace, its explicit form may be root@<UUID>//rel/path. For manage_selection, prefix a relative path with the loaded root name when needed (for example, ProjectA/src/main.swift).

Notes:

  • file_search path="..." is an alias for file_search filter.paths=["..."]
  • file_search filter.paths accepts absolute or relative paths/folders, loaded root names, and root-name-prefixed paths (for example, ProjectA/src). It does not accept root@<UUID>//... aliases returned by read_file.
  • file_actions requires absolute path and new_path values
  • get_code_structure reads RepoPrompt's committed code graph; use read_file when you need the latest file contents
Routing

If results look wrong, assume routing first-not tool failure.

  1. rp({ windows: true }) - list available windows
  2. If rp is already bound and the needed roots are present, keep it
  3. Otherwise rp({ bind: { window: N } }) - bind to the right window
  4. bind_context op="list" - inspect windows, active workspaces, tabs, context_ids, and current bindings when routing is ambiguous
  5. Prefer bind_context op="bind" context_id="..." - pin the specific compose tab you want after choosing it from list
  6. Use bind_context op="bind" working_dirs="/abs/root" when you want RepoPrompt to route to a workspace by roots without pinning a tab
  7. get_file_tree - confirm workspace roots

Notes:

  • bind_context op="bind" working_dirs="/abs/root[,/abs/root2]" matches workspace roots, not descendant paths
  • Matching prefers an exact workspace repo_paths set; if none exists, RepoPrompt may fall back to a workspace whose roots are a strict superset
  • manage_workspaces action="list" is workspace inventory; bind_context op="list" is the global window/tab routing view

RepoPrompt only operates within workspace root folders.

Show full SKILL.md (653 more words)Show less
Agent Mode

agent_run + agent_manage are RepoPrompt's external control plane for Agent Mode: use them when you need to drive a long-running per-tab subagent session, not just make one-off MCP file/chat calls.

  • Use agent_run for run lifecycle: start, wait/poll, respond, steer, cancel
  • Use agent_manage for durable metadata: discover agents/workflows, list sessions, and export handoff transcript
  • Use agent_manage op="extract_handoff" to pull into your context a handoff transcript of the subagent's context. It exports a <forked_session ...> payload; set output_path to write a file, or omit it for inline XML.
  • Session state uses MCP-facing values such as running, waiting_for_input, completed, and failed; waiting_for_input means reply with agent_run op="respond"
  • agent_manage op="list_workflows" includes orchestrate for planning, decomposition, and sub-agent dispatch
  • agent_run op="wait" / op="poll" accept either session_id or session_ids; multi-wait wakes on the first interesting session
  • If you start sub-agents, do not end your turn while any started session is still unattended; always wait/poll and handle pending input first
  • MCP-started orchestrate runs may spawn sub-agents, but nested sub-agents cannot recursively start more agent runs
Asynchronous Context Builder and Oracle

Through rp, context_builder and generic oracle_send are asynchronous: the start call returns a job_id; call the matching context_builder_wait or oracle_send_wait, and if it returns running, repeat that same wait as the next action. Waits observe the original request and never resubmit it; /rp oracle remains synchronous.

context_builder instructions="..." [response_type="clarify|question|plan|review"]

Context Builder explores the codebase and curates file selection automatically.

  • response_type="clarify" (default): Returns context for handoff or manual refinement
  • response_type="question": Answers using built context
  • response_type="plan": Generates an implementation plan
  • response_type="review": Generates a code review with git diff context

For question, plan, and review responses, use the chat_id from the terminal wait result with oracle_send new_chat=false chat_id="..." for follow-up.

For a shareable handoff artifact, set export_response=true; the terminal wait result includes oracle_export_path.

These operations are token-costly; invoke them explicitly when the user requests them or during planning phases, not automatically.

Edit Discipline
  • Re-read the target region of a file before editing if: (a) the last read was >2 turns ago, (b) you edited the same file since last reading it, or (c) you switched RP windows since last reading it
  • After an apply_edits failure, always re-read before retrying - never guess at what changed
  • When making multiple edits to the same file, apply them one at a time (each edit shifts content for subsequent ones)
  • Confirm you are bound to the correct RP window before any apply_edits - relative paths resolve against the bound workspace
Start Here

When the task involves a repository, use rp as your toolkit for exploration, reading, editing, and file operations.

  1. rp({ windows: true })
  2. If already bound and roots are correct, keep it; otherwise rp({ bind: { window: N } })
  3. When routing matters across repeated tool calls, use rp({ call: "bind_context", args: { op: "list" } }), then rp({ call: "bind_context", args: { op: "bind", context_id: "..." } })
  4. Then use get_file_tree, file_search, read_file, etc.

Use Pi-native ls/find/grep/read/edit/write only when rp is unavailable after one retry.

Unexpected output is usually a routing issue-wrong workspace, wrong window, wrong tab-not a tool failure. Check routing before falling back.

Repository startup contract
  • For repo-scoped work, default to RepoPrompt via rp, not native repo-file tools or bash
  • If the user refers to the current cwd/project, verify it first with pwd
  • If the user names a repo path, treat that path as the repo of interest and resolve RepoPrompt routing before using native tools
  • Before repo-scoped work, inspect windows and roots, then bind the correct window/tab, then confirm the target root
  • Do not bind a random window just because it is available
  • Do not guess RepoPrompt tool interfaces; use rp({ describe: "tool_name" }) when exact parameters matter
Text-file changes

Never use the terminal to modify text files. Always use rp's apply_edits (or Pi's edit if rp unavailable). Modifying files via terminal is only acceptable if rp is not available and you need to do large-scale find/replace operations or similar on files. In such cases, explicitly get the user's permission before using it.

© w-winter, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/rp of w-winter/dot314.

Open the folder on GitHubat commit 0c6bbc7

Compare with similar skills

Rp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rp this skillw-winter/dot314139—~3.4kAutomated safety check: PassMIT
Always Compareai-analyst-lab/ai-analyst304—~1.4kAutomated safety check: PassMIT
Always Verify GCProminirani/antigravity-skills592—~804Automated safety check: PassNone
Always Ask Nextendman100/skill-always-ask-next127—~261Automated safety check: PassNone
Always Current Datetimeaiskillstore/marketplace430—~2kAutomated safety check: PassMIT
Dify Command Line with difyctllanggenius/dify158k—~1.4kAutomated safety check: PassCustom licence

Similar skills

  • Always Compare

    ai-analyst-lab/ai-analyst

    Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.

    304 GitHub stars~1.4k tokensUpdated 7 days ago
    Sales & SupportAuto-check passed
  • Always Verify GCP

    rominirani/antigravity-skills

    A workflow for Google Cloud changes: pick gcloud, bq or gsutil, check the command against official docs, preview with a dry run and ask for approval before executing.

    592 GitHub stars~804 tokensUpdated 3 mo ago
    DevOps & CloudAuto-check passed
  • Always Ask Next

    endman100/skill-always-ask-next

    Always ask the user what to do next before finishing all tasks.

    127 GitHub stars~261 tokensUpdated 5 mo ago
    Auto-check passed
  • Always Current Datetime

    aiskillstore/marketplace

    A skill your agent uses when replying. An agent skill from aiskillstore/marketplace.

    430 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Base skill for the difyctl CLI: discover a Dify server's operations through help output and run them as commands, always with JSON output.

    158k GitHub stars~1.4k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Plan

    asgeirtj/system_prompts_leaks

    On an explicit planning request, always call readskill for this skill before answering.

    69k GitHub stars~5.1k tokensUpdated today
    DevelopmentAuto-check passed

More from w-winter/dot314

  • Refresh RepoPrompt tool guidance when the CLI/MCP surface changes.

    139 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Deep X Research

    w-winter/dot314

    Deep, exhaustive research on a topic across X (Twitter) by driving Grok (x.com/i/grok) through surf.

    139 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Text Search

    w-winter/dot314

    Search indexed text corpora with qmd. An agent skill from w-winter/dot314.

    139 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Surf

    w-winter/dot314

    Control Chrome browser via CLI for testing, automation, and debugging.

    139 GitHub starsUsed in 1 repo~7.6k tokens
    Auto-check: warnings
  • Prose Review

    w-winter/dot314

    Review prose written for others (e.g., user-facing documentation, prompts for other LLMs, reports, plans, inline comments, docstrings) for local jargon leakage, orphaned references, missing…

    139 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Xcodebuildmcp

    w-winter/dot314

    Build/test Xcode projects via the XcodeBuildMCP MCP server using a local CLI wrapper for pi (no MCP support).

    139 GitHub stars~196 tokensUpdated yesterday
    Auto-check passed

Questions about Rp

What does Rp do?

Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace. Rp is an agent skill from w-winter/dot314. Always read this skill when the user mentions "rp" or "repoprompt", or before accessing a repository outside the current RepoPrompt workspace.

When should I use Rp?

Rp fits situations like: before accessing a repository outside the current RepoPrompt workspace.

How do I install Rp in Claude Code?

Run `npx skills add w-winter/dot314 --skill rp -a claude-code`. Or copy the skill folder (skills/rp in w-winter/dot314) into .claude/skills/rp in your project. Claude Code loads it when a task matches its description.

How do I install Rp in Codex?

Run `npx skills add w-winter/dot314 --skill rp -a codex`. Or copy the skill folder (skills/rp in w-winter/dot314) into .agents/skills/rp in your project. Codex loads it when a task matches its description.

Can I use Rp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add w-winter/dot314 --skill rp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rp, .gemini/skills/rp, .github/skills/rp and .opencode/skills/rp in your project.

What does Rp need to run?

Going by SKILL.md and its folder, Rp needs the command-line tools its instructions call (git).

Does Rp access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Rp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rp use?

Rp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rp use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rp?

Skills that share tags, products or a category with Rp: Always Compare (ai-analyst-lab/ai-analyst, 304 stars), Always Verify GCP (rominirani/antigravity-skills, 592 stars), Always Ask Next (endman100/skill-always-ask-next, 127 stars) and Always Current Datetime (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rp?

w-winter (a GitHub user) maintains it in w-winter/dot314, which has 139 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: w-winter/dot314 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.