elaborate

elaborate is a skill for Claude Code from juicesharp/rpiv-mono. It costs 123 tokens per session (2,991 once invoked), scanned A, original, MIT.

A planning step that turns one phase of a larger software plan into implementation-ready code instructions. It reads the complete plan and the code touched by that phase, then writes a replacement for that phase.

In plain words
What is it for?
Use it to specify the actual code changes for one numbered phase, including the relevant files and implementation details.
Why use it?
It gives implementers concrete details without redesigning the overall plan or mixing work from other phases. Each phase remains isolated for parallel work.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions subagents.

Good fit Use it to specify the actual code changes for one numbered phase, including the relevant files and implementation details.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/juicesharp/rpiv-mono/elaborate
Install

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.

Any agent
npx skills add juicesharp/rpiv-mono --skill elaborate
Clone the repo
git clone --depth 1 https://github.com/juicesharp/rpiv-mono

Made for: Claude Code.

Wrote 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.

agentmods badge for elaborate

README.md
[![agentmods](https://agentmods.dev/badge/skills/juicesharp/rpiv-mono/elaborate/github.svg)](https://agentmods.dev/skills/juicesharp/rpiv-mono/elaborate)
Your own site
<a href="https://agentmods.dev/skills/juicesharp/rpiv-mono/elaborate"><img src="https://agentmods.dev/badge/skills/juicesharp/rpiv-mono/elaborate/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.

agentmods 80×15 button for elaborate

Your own site · 80×15
<a href="https://agentmods.dev/skills/juicesharp/rpiv-mono/elaborate"><img src="https://agentmods.dev/badge/skills/juicesharp/rpiv-mono/elaborate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 123 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,991 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00123 $0.02991
Opus 5 $0.00062 $0.01496
Sonnet 5 $0.00025 $0.00598
Haiku 4.5 $0.00012 $0.00299

Measured 2d ago against content hash 3350f8c9be32, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

elaborate 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 2d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (_helpers/validate-workflow-invariant.mjs, _helpers/validate-workflow-invariant.test.ts), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

packages/rpiv-pi/skills/elaborate/SKILL.md · 126 lines

How it starts

The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Elaborate

You write implement-ready code into one phase of a synthesized plan, in isolation, and emit it as a per-phase elaboration doc. One pass. You do not redesign the phase, write any other phase's code, or self-review — synthesize already reconciled the cross-phase seams and the workflow's grade panel judges the spliced result. You turn one phase's contract-level "what to change" into the actual code to apply.

Input

$ARGUMENTS<plan-path> Phase N: <title> (exactly the unit shape a phase fanout dispatches):

  • The first token is the path to a plan under .rpiv/artifacts/plans/.
  • The remainder (Phase N: <title>) names the single phase to elaborate. Parse N from Phase (\d+).

Elaborate only that phase. The other phases are owned by sibling lanes — never write their code.

If the plan path is missing or Phase N can't be parsed, print an error and stop — it's a dispatch error, not a failing phase.

Metadata

node "${SKILL_DIR}/../_shared/now.mjs"
echo
node "${SKILL_DIR}/../_shared/git-context.mjs"

Copy values verbatim. <iso> is the first tab-separated field (use as date); ignore the second.

Steps

  1. Read the plan fully (no limit/offset). Note its ## Synthesis Notes (the reconciled seams — conflict resolutions, shared locals, integration order) and locate the ## Phase N: section you own: its ### Changes (the files/symbols to touch) and its ### Success Criteria. Skim the other phases' sections too — to know what they own and what interfaces they expose — but never implement them. The plan's trailing ## Whole-Plan Verification block (when present) is not part of any phase's section — no phase owns it.
  2. Ground in the live code. For every file the phase's ### Changes names, Read/Grep the cited path:line in the current tree. The plan may have been written against a slightly older state — anchor the code you write to what is actually there now (signatures, imports, surrounding style). Files owned by a sibling phase are the exception: never Read, Grep, or wait for them on disk — sibling lanes create them concurrently, so they may not exist yet, and an ENOENT on a sibling-owned path is expected, never a retry. Their interfaces come from the plan's Synthesis Notes and the sibling's phase section (Step 3).
  3. Write the code for this phase only. For each file in the phase's Changes, emit a concrete, paste-ready code block: the full function/section to add, or the exact edit (enough that implement applies it without guessing). Match the surrounding code's conventions. Where the phase depends on a sibling phase's symbol, reference it by the shape the plan/Synthesis Notes already fixed — do not redefine it.
  4. Carry the success criteria. Preserve the phase's ### Success Criteria (Automated + Manual), tightening a check only if your code makes it more concrete. Do not drop or weaken a criterion.
  5. Resolve ambiguity yourself. Decide from the plan, the Synthesis Notes, and the real code. This skill is non-interactive — if a genuine blocker can't be settled from those inputs, make the most defensible call, record it under ## Notes / Deferred, and let the grade panel catch a bad call. Do not ask the user (N lanes run concurrently).
  6. Self-check (probe → revert → guard). Before emitting, verify the drafted code blocks actually apply and pass the project's checks at their REAL placement — declaration-order / initialization-order and integration defects only surface when a block lands at its true anchor, not an idealized layout. Define write-scope = the set of repo-root-relative paths the phase's ### Changes names (the files below this step's emitted #### \...`` headings); the whole self-check applies and reverts ONLY those paths — sibling phase lanes run concurrently in the same working tree, so touching a file another phase owns corrupts its in-flight edit. The cycle is exactly:
    • Snapshot. Capture git status --porcelain BEFORE the probe (the byte-identical revert target).
    • Probe. Apply each drafted code block via Edit at its REAL anchor position in the current file (not a speculative layout). New files named by the phase are written for the probe.
    • Verify, in order, attributing only write-scope errors. Take the command vocabulary from the project's guidance # Commands table — never substitute a tool the project does not use:
      1. The project's read-only check, in the NARROWEST recorded form that covers write-scope — the per-package/per-crate/per-module invocation from the # Commands table (e.g. tsc -p <package>, cargo check -p <crate>, go build ./<pkg>/...), falling back to the whole-tree form only when no scoped variant is recorded (N sibling lanes each running the whole-tree check concurrently is the fanout's single biggest compute cost): attribute ONLY errors whose file path is in write-scope (sibling units' in-flight edits surface as cross-file noise and are NOT yours to act on; revert past them). An unresolved reference to a sibling-owned symbol or file is expected-unresolved — not yours to fix, and never a reason to probe the tree for the sibling's files. Re-derive and fix drafted blocks from the attributed errors until clean. If the project records no such command, skip — the apply-at-anchor probe still validates placement.
      2. The project's path-scoped auto-fix lint/format command (the scoped form from the # Commands table), passed ONLY the write-scope paths — it may rewrite only those. Never run an unscoped auto-fixer: it rewrites sibling phases' in-flight edits.
      3. Any project-specific invariant check the guidance names for files in your write-scope (some projects register extra validators for load-bearing files) — run it as recorded there.
    • Revert. git restore <tracked write-scope files> (undo in-place Edits) and rm -f <newly-created files> (undo new-file Writes) so the tree returns to its pre-probe state. The mutation is a TRANSIENT, reverted probe — the emitted elaboration doc is the only lasting output (implement applies the code later, after the splice).
    • Guard. git status --porcelain MUST equal the pre-probe snapshot byte-for-byte when you emit. ANY residue (a missed revert, an untracked file, a mode change) is a BLOCKING error: fail the elaboration, emit nothing, and surface the residue.
    • Fix → re-emit. From the attributed errors, fix the drafted code blocks in the elaboration; re-probe is optional, but emit ONLY blocks that passed every applicable check above. A clean phase still emits unchanged — the self-check is a no-op pass that reverts byte-identical.
  7. Write the elaboration doc (below), status: ready. Its filename pairs to the plan so the splice can fold it back deterministically — see Output document.
  8. Print the path, then a one-line summary: Phase N elaborated: <k> files, <m> code blocks. Your path must be the LAST full .rpiv/artifacts/... path in your reply — refer to any other artifact (a sibling phase's elaboration, the plan) by basename only, never by full path. The workflow collector takes the last full artifact path in your final message as YOUR artifact; a full sibling path after yours misattributes the stage's output.

Read the full file on GitHub · 126 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. 2d ago Changed · +1 lines 3350f8c9be32
  2. 7d ago Changed eb6c8cc2342c
  3. 11d ago First seen · 125 lines · 123 tokens per session scan A 893cfde8559b

Subscribe to this mod's changes

elaborate is a skill published in the GitHub repository juicesharp/rpiv-mono (779 stars, last pushed today), licensed MIT. It adds 123 tokens to every session and 2,991 once invoked, about $0.0006 per session on Opus 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-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens