Outcome Roadmap
phuryn/pm-skills
Transform an output-focused roadmap into an outcome-focused one that communicates strategic intent.
This skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the protocol surface", "count what the AI asked or presented", "does /inquire…
$ npx skills add jongwony/epistemic-protocols --skill outcome -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jongwony/epistemic-protocols outcome --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/outcome .claude/skills/outcome && rm -rf skills-srcUse ~/.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/
Install the "outcome" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcome into .claude/skills/outcome/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "outcome", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcomeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jongwony/epistemic-protocols --skill outcome -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jongwony/epistemic-protocols outcome --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/outcome .agents/skills/outcome && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "outcome" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcome into .agents/skills/outcome/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "outcome", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jongwony/epistemic-protocols --skill outcome -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jongwony/epistemic-protocols outcome --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/outcome .cursor/skills/outcome && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "outcome" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcome into .cursor/skills/outcome/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "outcome", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jongwony/epistemic-protocols.git --path .claude/skills/outcome--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jongwony/epistemic-protocols --skill outcome -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jongwony/epistemic-protocols outcome --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/outcome .gemini/skills/outcome && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "outcome" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcome into .gemini/skills/outcome/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "outcome", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jongwony/epistemic-protocols outcomeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jongwony/epistemic-protocols --skill outcome -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/outcome .github/skills/outcome && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "outcome" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcome into .github/skills/outcome/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "outcome", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jongwony/epistemic-protocols --skill outcome -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jongwony/epistemic-protocols outcome --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/outcome .opencode/skills/outcome && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "outcome" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/.claude/skills/outcome into .opencode/skills/outcome/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "outcome", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
outcomeThis skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the protocol surface", "count what the AI asked or presented", "does /inquire…
Outcome is an agent skill from jongwony/epistemic-protocols. This skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the protocol surface", "count what the AI asked or presented", "does /inquire surface what the request left out", or wants to see, from transcripts, which decisions reached the user as a question or something to recognize instead of having to be written into the opening prompt. Project-local contributor tooling.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `cases/inquire-rate-limiter/case.json`, `references/runbook.md` and `scripts/turn-claude.sh`).
The repository describes itself as: Epistemic protocols for Claude Code — structure human-AI interaction quality at every decision point - https://epistemic-protocols.com. The licence is MIT.
Read from SKILL.md and the folder at commit 6649d84. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobBashWriteFrom allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (JavaScript and Shell), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Outcome loads about 1.3k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 635 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Grep, Glob, Bash, WriteAutomated 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); the scripts in this folder are not scanned.
The full file from jongwony/epistemic-protocols at commit 6649d84, republished under its MIT licence (© jongwony). 635 words, ~1,270 tokens.
.claude/skills/outcome/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Without a protocol, a person has to recall at length and write a long opening prompt. With one, they answer when asked, by recalling, or recognize what is put in front of them — and the items that come up this way can be ones nobody would have thought of at the start. This eval shows that one thing, from the transcript: the same request runs with and without the protocol, and each cell lists the decisions that reached the user through the AI.
Per cell: the decision items that entered the conversation through the AI and that the user's opening request did not contain. Each is recorded with the verbatim span that raised it and how it reached the user:
asked — put as a question; the user answered by recalling.presented — shown as an option or default; the user recognized, picked or corrected it.The number is the count of such items, per cell and per arm, shown under the opening request whose gaps they fill: each item is something the user would otherwise have had to write into that request. It is read from the transcript and the opening request alone — no hidden specification, no checklist, no grader of correctness. Identifying an item is a reading of the transcript, attributed to whoever wrote the cell's notes, not a mechanical extraction; the spans stay with it so anyone can check the reading.
It shows how many decisions reached the user as a question or as something to recognize, rather than having to be written up front, and how many of them reached the user before any code existed — the only ones an answer could shape before the implementation. It does not show whether an answer then changed the code, whether the answers were right, whether a person felt less load, or anything about rework.
A result is an observation of one model on one day, and it changes as models change. A write-up
quotes every reportable cell of the runs it draws on, including cells where the arms did not
differ and cells where the bare arm raised more; picking cells turns an observation into a
showcase. It goes into
the pull request body or the commit message it informs, never onto a state surface — a README, an
AGENTS.md, this file — where nothing re-runs it. A surface may say that this eval exists and
what it counts; it does not say what it found. Records (results/) are gitignored for the same
reason.
/realize/realize judges whether a run follows a protocol's declared transitions. This skill reuses its
cases — scaffold, prompts, oracles, invocation lines and isolation — by path, and changes none of
them; a question about whether a gate fired belongs there.
bare and protocol. The protocol arm gets the plugin and /realize's invocation
line, nothing else. A rule added to that arm alone would credit the protocol with what the
harness added.oracle.md, up to the first
turn that writes an implementation; a turn that neither implements nor hands anything back gets
the case's go line once. The notes then close the cell.case.json holds the sha256 of every reused /realize file and invocation
line; every command that spends refuses when one has changed, since items read against a
different request or oracle are a different case.S=.claude/skills/outcome/scripts/outcome.mjs
node $S plan --runner claude --model <model> --reps 2 --dry-run # argument check only
node $S plan --runner claude --model <model> --reps 2
node $S plan --runner codex --model gpt-6-luna --effort xhigh --codex-auth login # or api-key (default)
node $S setup <run> # codex: bare and protocol homes
node $S turn <run> <cell> --open # then --reply <file> | --go, as the oracle says
node $S note <run> <cell> # closes the cell; fill the items, then run again
node $S report <run> [<run> ...] [--out <dir>]
node $S teardown <run> # work trees and homes; records stayRead references/runbook.md before the first run: the turn procedure, how to write the notes'
items, authentication and isolation per runner, and why a Codex protocol cell writes code before
any answer can arrive.
Node 22+ and the runner's CLI (claude or codex) on PATH. The pure parts have a test that calls
no model:
node --test .claude/skills/outcome/scripts/lib.test.mjs© jongwony, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references) in .claude/skills/outcome of jongwony/epistemic-protocols.
Open the folder on GitHubat commit 6649d84
Outcome 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Outcome this skilljongwony/epistemic-protocols | 173 | — | ~1.3k | Automated safety check: Notes | MIT | |
| Outcome Roadmapphuryn/pm-skills | 27k | — | ~900 | Automated safety check: Pass | MIT | |
| Outcome Trackermohitagw15856/pm-claude-skills | 1.4k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Outcome Roadmapborghei/Claude-Skills | 886 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Principle Outcome Oriented Executioncursor/plugins | 10k | 8 repos | ~270 | Automated safety check: Pass | None | |
| Outcome Extraction For Clinical Trialsaipoch/medical-research-skills | 2k | — | ~1.4k | Automated safety check: Pass | MIT |
phuryn/pm-skills
Transform an output-focused roadmap into an outcome-focused one that communicates strategic intent.
mohitagw15856/pm-claude-skills
Record the testable predictions inside a decision, then score them against reality later — so frameworks earn trust from outcomes, not vibes.
borghei/Claude-Skills
Transform output-based feature lists into outcome-driven Now/Next/Later roadmaps using the "so what?" technique.
cursor/plugins
Apply during planned rewrites and migrations with explicit phase boundaries.
aipoch/medical-research-skills
Clinical research outcome extraction for meta-analysis. An agent skill from aipoch/medical-research-skills.
levnikolaevich/claude-code-skills
Evaluates observed product outcomes against a prior hypothesis; does not run experiments or change user treatment.
jongwony/epistemic-protocols
This skill should be used when the user asks to "run the eval", "test whether the protocol actually works at runtime", "check type realization", "measure protocol fulfillment", "run the…
jongwony/epistemic-protocols
This skill should be used when the user asks to "verify protocols", "check consistency before commit", "validate definitions", "run pre-commit checks", "verify soundness", or wants to ensure…
jongwony/epistemic-protocols
This skill should be used when the user asks to "audit plugin encapsulation", "check self-containment semantics", "find contributor-knowledge assumptions", or invokes /encapsulation.
jongwony/epistemic-protocols
This skill should be used when the user asks to "formal review", "formal lens review", or invokes /formal-review.
jongwony/epistemic-protocols
The user vaguely recalls something discussed before but cannot name it — one session, or a line of work, topic, or settled concept across several: find it in past records to recognize.
jongwony/epistemic-protocols
A skill your agent uses when the user asks to "check white bear", "audit prohibitions", "find negative framing", or invokes /white-bear.
This skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the protocol surface", "count what the AI asked or presented", "does /inquire…. Outcome is an agent skill from jongwony/epistemic-protocols. This skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the protocol surface", "count what the AI asked or presented", "does /inquire surface what the request left out", or wants to see, from transcripts, which decisions reached the user as a question or something to recognize instead of having to be written into the opening prompt.
Outcome fits situations like: asks to run the outcome eval; paired bare vs protocol; which decisions did the protocol surface; count what the AI asked.
Run `npx skills add jongwony/epistemic-protocols --skill outcome -a claude-code`. Or copy the skill folder (.claude/skills/outcome in jongwony/epistemic-protocols) into .claude/skills/outcome in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jongwony/epistemic-protocols --skill outcome -a codex`. Or copy the skill folder (.claude/skills/outcome in jongwony/epistemic-protocols) into .agents/skills/outcome in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jongwony/epistemic-protocols --skill outcome -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/outcome, .gemini/skills/outcome, .github/skills/outcome and .opencode/skills/outcome in your project.
Going by SKILL.md and its folder, Outcome needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js; A Bash shell. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash, Write.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Outcome is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Outcome: Outcome Roadmap (phuryn/pm-skills, 27k stars), Outcome Tracker (mohitagw15856/pm-claude-skills, 1.4k stars), Outcome Roadmap (borghei/Claude-Skills, 886 stars) and Principle Outcome Oriented Execution (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jongwony (a GitHub user) maintains it in jongwony/epistemic-protocols, which has 173 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.
Source: jongwony/epistemic-protocols on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.