roi-outline
Generate structured ROI plans with waves, dependencies, and falsifiable verification targets.
Skill by instagrim-dev
Chalk Labs
Need help deploying roi-outline?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/instagrim-dev-roi-outline
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/roi-outline
What's inside
- Skill name
roi-outline- Description
- Generate structured ROI plans with waves, dependencies, and falsifiable verification targets. One mission can have multiple plans.
- License
- MIT
- Instructions
- 469 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: references/agentic-plan-strength.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# roi:outline — generate plans
This skill turns a clarified brief into one or more **executable plans**
with waves, dependencies, and verification targets. It owns one stage:
**read brief → generate plans → confirm storage → next-step pointer**.
A plan is what `roi:go` implements. Each plan has:
- `actions` — outcome-oriented changes the implementation must achieve.
- `verification_targets` — falsifiable oracles (commands, builds, greps)
that prove the actions landed.
- `dependencies` — plan UUIDs this plan depends on (waits until those
pass).
- `wave` — integer ordering for parallelizable batches.
**Read first when planning for agents:**
[`references/agentic-plan-strength.md`](../references/agentic-plan-strength.md)
covers outcome strength, binding altitude, and property-style verification.
## Inputs
1. **Mission ID** required.
2. **Optional inline Plan text** — output pasted or carried in-context from
Codex Plan mode, Copilot, Claude Code, Cursor, CE, or Markdown. Run
`plan_normalize` first; use `normalized.plans` as the draft plan array
after applying this skill's quality checks.
3. **Optional source artifact** — a CE plan, maturity requirements doc, or
convergence seam manifest. When present, **import** constraints and
properties from it; do not re-scope in ROI. If its acceptance bullets
must survive execution, mark affected plans with `source_contract_refs`
and `requires_source_contract_check: true`.
4. **Optional plans array** — when the operator already has a draft plan
structure, pass it directly to `plan_generate`.
## Procedure
1. Read the brief and any prior plans:
```bash
node roi/scripts/lifecycle.mjs brief_get_latest '{"mission_id":"<id>"}'
node roi/scripts/lifecycle.mjs plan_list '{"mission_id":"<id>"}'
```
2. **Validate brief inventory against the live tree.** Before composing
plans, re-derive every quantitative claim in the brief from the actual
codebase. Briefs frequently undercount because they were seeded from
chat memory or a prior mission's notes — see
`roi-clarify` "Evidence discipline."
For each quantitative claim in `success_criteria`, `constraints`, or
`assumptions`:
- Run the citation command if the brief carries one. If the brief carries
no citation, derive one now (typically `rg -l <pattern> <scope>`).
- Compare the live count against the brief's count. If the live tree
reveals more importers, files, call sites, or affected packages than
the brief named, **stop and `brief_revise`** before planning. Don't
paper over the gap with bigger per-plan actions.
- Inventory every importer/caller/path the plans will need to touch.
Write them down (in the brief or in a scratch note) so the planner
can reason about plan boundaries against an accurate footprint, not
a stale one.
**Why:** plans inherit the brief's inventory. If the brief says "5
importers across 4 files" and reality is 17 across 9, the planner will
compose actions and oracles scoped to the 4 named files, every oracle
will pass during `roi:go`, and the mission-level invariant
("core does not import UI") will still be violated by the 5 unnamed
files. The planner-stage discovery cost is O(minutes); the
post-`roi:go` cost is O(hours) of partial-completion cleanup.
**Stop conditions for this step:**
- Brief carries an unsourced quantitative claim → `brief_revise` to mark
it `assumed: true` and move it to `open_questions`, *or* derive it now
and rewrite the brief with the citation.
- Live tree count diverges materially from the brief → `brief_revise`
before `plan_generate`. Document the divergence in the new revision
so the trail is durable.
- Brief contains no quantitative claims → skip this step.
Counts in this inventory are scope telemetry only. They can expose stale or
incomplete discovery, but no count, percentage, score, or ContextPack TTL
proves that planning orientation is sufficient. Sufficiency requires
owner-seam coverage and disposition of every material uncertainty.
3. **Resolve scope-affecting open_questions in the brief, not the plan.**
Read every entry in the brief's `open_questions`. For each entry, ask:
*would its answer change which files the plans touch, which subsystems
are excluded, or the count of importers a plan must rewrite?* If yes,
it is **scope-affecting** and must be resolved before `plan_generate`.
Resolution paths (try in order):
1. **Run the discovery command.** Most scope questions reduce to "what
does the live tree contain?" — run the `rg` / `go list` / equivalent
now and call `brief_revise` to record the answer as a constraint or
non_goal. The question disappears from `open_questions` because it
is answered.
2. **Ask the operator once.** When the question genuinely requires
operator judgment ("treat package X as honorary UI?"), ask once,
capture the answer in `brief_revise`, then continue. Do **not**
defer the question into a plan with "deferred decoupling" comments
or allowlist entries that catalog the ambiguity.
3. **Stop and report** if the brief is too unsettled to ground a plan.
Returning the operator to `roi:clarify` is preferable to writing
plans that inherit the confusion.
**Failure mode this prevents:** plans that allowlist or comment-out
ambiguity ("// TODO: confirm with operator whether uireplay is core")
make the plan a catalog of unresolved scope decisions instead of an
instruction set. `roi:go` then asks the operator scope questions at
execute time, which is the most expensive moment to ask. The plan is
the clarification — it must commit to a position, not list options.
**Stop conditions for this step:**
- At least one `open_questions` entry is scope-affecting and unresolved
→ resolve it now via discovery or operator interaction; rewrite theFrom instagrim-dev/roir, MIT.
More from instagrim-dev/roir
- 0.544score
roi-edit
instagrim-dev
Respond to review findings with plan revisions or a follow-on run.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
roi-learn
instagrim-dev
Detect reusable patterns from completed runs and propose a human-gated capability.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
roi-drive
instagrim-dev
Thin ROI lifecycle orchestrator.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-source
instagrim-dev
Record structured source material and findings for an ROI mission.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-cancel
instagrim-dev
Cancel an in-flight or paused run, marking pending tasks and activations as cancelled.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-draft
instagrim-dev
Create a run on the latest plan.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-inspect
instagrim-dev
Show current ROI mission summary, draft state, traces, reviews, and learning opportunities.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-publish
instagrim-dev
Record a publication or handoff marker on a passing run.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-start
instagrim-dev
Start a new ROI mission and seed the first brief.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-run
instagrim-dev
Create or resume an ROI run and surface any orientation admission pause.
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
roi-clarify
instagrim-dev
Refine the latest brief with constraints, success criteria, assumptions, and non-goals.
SkillBFreshness: B★ 1Claude Code +9 - 0.540score
roi-verify
instagrim-dev
Evaluate a run at its verify gate and record a verdict.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 11, 2026 (3 months ago)
- Last release
- Aug 1, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/instagrim-dev/roir
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from instagrim-dev
- 0.544score
roi-drive
instagrim-dev
Thin ROI lifecycle orchestrator.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
roi-learn
instagrim-dev
Detect reusable patterns from completed runs and propose a human-gated capability.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
roi-edit
instagrim-dev
Respond to review findings with plan revisions or a follow-on run.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-cancel
instagrim-dev
Cancel an in-flight or paused run, marking pending tasks and activations as cancelled.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-draft
instagrim-dev
Create a run on the latest plan.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
roi-inspect
instagrim-dev
Show current ROI mission summary, draft state, traces, reviews, and learning opportunities.
SkillBFreshness: B★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get roi-outline running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
roi-outline skill. Agent Mart. https://agentmart.dev/skills/instagrim-dev-roi-outline (last updated 2026-10-24)