Show Me Your Work Decision Log
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
Convention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read.
$ npx skills add goern/forgejo-mcp --skill showboat -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install goern/forgejo-mcp showboat --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/goern/forgejo-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/showboat .claude/skills/showboat && 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 "showboat" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/showboat into .claude/skills/showboat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "showboat", 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/goern/forgejo-mcp/tree/main/.claude/skills/showboatType 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 goern/forgejo-mcp --skill showboat -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install goern/forgejo-mcp showboat --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/showboat .agents/skills/showboat && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "showboat" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/showboat into .agents/skills/showboat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "showboat", 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 goern/forgejo-mcp --skill showboat -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install goern/forgejo-mcp showboat --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/showboat .cursor/skills/showboat && 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 "showboat" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/showboat into .cursor/skills/showboat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "showboat", 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/goern/forgejo-mcp.git --path .claude/skills/showboat--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 goern/forgejo-mcp --skill showboat -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install goern/forgejo-mcp showboat --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/showboat .gemini/skills/showboat && 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 "showboat" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/showboat into .gemini/skills/showboat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "showboat", 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 goern/forgejo-mcp showboatInstalls 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 goern/forgejo-mcp --skill showboat -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/showboat .github/skills/showboat && 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 "showboat" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/showboat into .github/skills/showboat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "showboat", 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 goern/forgejo-mcp --skill showboat -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install goern/forgejo-mcp showboat --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/showboat .opencode/skills/showboat && 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 "showboat" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/showboat into .opencode/skills/showboat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "showboat", 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.
showboatConvention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read.
Showboat is an agent skill from goern/forgejo-mcp. Convention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read. The author builds the demo against a running instance during the implementation PR; the reviewer reads it during acceptance without re-executing. Triggers on "build demo", "acceptance demo", "showboat", or any spec-linked PR that needs a proof-of-work artifact.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `anchored-mode.md`, `authoring-smells.md` and `retrofit-mode.md`).
It sits in Agent Workflows, covering Verification before completion. The repository describes itself as: MIRROR ONLY!! This Model Context Protocol (MCP) server provides tools and resources for interacting with the Forgejo (specifically Codeberg.org) REST API. The licence is GPL-3.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1f51f83. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
justuvxgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uvx and git, which can reach the network depending on how they are called.
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.
Showboat loads about 2.3k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,102 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 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.
The full file from goern/forgejo-mcp at commit 1f51f83, republished under its GPL-3.0 licence (© goern). 1,102 words, ~2,306 tokens.
.claude/skills/showboat/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.<essential_principles>
This skill encodes forgejo-mcp-local conventions for Showboat. It is self-contained — it does not depend on any external recipe skill.
Showboat is a CLI (uvx showboat) that builds Markdown "demo documents" that
interleave narrative, executable code blocks, and captured output. A demo
produced by Showboat is simultaneously a readable story and a reproducible
script. Think lab notebook snapshot: the author ran the commands, Showboat
captured their output verbatim, and the resulting file is committed as proof.
Core commands — always run showboat --help for the authoritative
reference, do not memorize flags:
showboat init <file> <title> — start a new demoshowboat note <file> [text] — append narrative textshowboat exec <file> <lang> [code] — run a command and capture its outputshowboat image <file> <path> — embed an imageshowboat pop <file> — remove the last entry (use when a command errored)Every implementation PR that closes a spec-linked issue commits a demo file co-located with the spec it proves. The host skill specifies the canonical demo path — follow that convention.
The author constructs the demo live against a running instance, captures real output, commits the Markdown. The reviewer does not re-execute. They read the file like a lab notebook during acceptance. Two reasons:
showboat verify would diff-fail
on every re-run. We do not run verify on the critical path today.No automation re-executes the demo. The contract: the author ran the commands and committed the real captured output. Hand-writing an output block to hide a failure is a skill violation.
Retrofit exception: A retrofitted demo may commit placeholder output
blocks (# TODO: re-run against live instance) where real output is stale
or unavailable. The placeholder is explicit — it documents a gap, not
hides a failure.
Prefer subcommands that emit structured output (JSONL or similar) over raw database queries, raw runtime RPCs, or arbitrary shell.
If you cannot demonstrate an acceptance criterion through the project's instrumented CLI, that is a missing subcommand in the project's observability contract — not a showboat problem. Stop, add the subcommand in the same PR, then resume the demo.
For non-anchored specs the narrative maps 1:1 to the spec's acceptance list:
showboat note anchoring the criterion (heading + paraphrase)showboat exec blocks producing evidenceFor anchored specs (with <!-- demos-anchored: true -->), the 1:1
mapping is by #### Scenario: heading instead — see anchored-mode.md.
</essential_principles>
<mode_dispatch>
Read the sibling spec.md first. Then choose:
| Condition | Mode | Read |
|---|---|---|
spec.md has <!-- demos-anchored: true --> before its first H2, demo doesn't exist | New anchored | anchored-mode.md |
spec.md has <!-- demos-anchored: true -->, sibling demo exists in old shape | Retrofit | retrofit-mode.md (which depends on anchored-mode.md) |
| Caller explicitly says "retrofit" | Retrofit | retrofit-mode.md |
spec.md has no anchor marker | New non-anchored | this file (workflow §New Demo below) |
Before authoring in any mode, scan authoring-smells.md — the seven
antipatterns there apply universally.
</mode_dispatch>
<intake>
Required inputs, supplied by the host skill:
<spec-dir>/<slug>.demo.md)For retrofit mode, the running instance is optional (placeholder output is acceptable). For new anchored or non-anchored demos, it is required.
If any required input is missing, ask before proceeding.
</intake>
<workflow>
Never embed absolute paths to a local build in evidence commands. Use the env-var pattern and document the setup at the top of the demo:
## Replay setup
```bash
export FORGEJO_MCP_BIN="${FORGEJO_MCP_BIN:-forgejo-mcp}"
# Point at a local build: export FORGEJO_MCP_BIN=./forgejo-mcp
```Then reference the binary as ${FORGEJO_MCP_BIN} in all evidence commands.
For arbitrary repo-rooted scripts, use ${SHOWBOAT_REPO:-$(git rev-parse --show-toplevel)}.
See authoring-smells.md smells #1 and #7.
When starting a new demo, include these authoring-provenance markers immediately after the title line so the file is traceable before real output is captured:
*Captured: <ISO date> via Showboat <ver>*
<!-- captured-for: PR #<n> -->
<!-- captured-at: <ISO date> -->
<!-- captured-against: <git-sha-or-branch> -->Replace all four with real values before committing. The machine-readable
comments (captured-for, captured-at, captured-against) let future
tooling correlate demo files with the PR and exact commit that produced them
without parsing prose.
showboat --help. This skill deliberately does not restate it.showboat init <demo-path> "<spec title>". Add the scaffold provenance placeholders above.## Replay setup block, then showboat note lines linking the spec path, the issue, and the PR.showboat exec capturing the starting state via the project's status/inspect subcommand.note with the AC heading, then exec block(s) triggering the behavior, then an exec capturing evidence via a structured-output subcommand.See anchored-mode.md for the full procedure, slug derivation, block shape, and evidence kinds.
See retrofit-mode.md for the full procedure. Run just check-demos after writing.
</workflow>
<success_criteria>
Non-anchored demo:
note + exec sectionAnchored demo (opted-in spec):
<!-- demos-anchored: true --> present in spec.md#### Scenario: in spec.md has a matching proof block in demo.mdspec.md verbatim (whitespace-normalized)evidence-kind marker)just check-demos exits 0 before committingPATH=/Users/… in evidence commands (use ${FORGEJO_MCP_BIN:-forgejo-mcp})## AC<n> H2 headings shadowing a quoted #### Scenario: H4</success_criteria>
<references_index>
| Reference | Purpose |
|---|---|
anchored-mode.md | Anchored demo authoring — slug, block shape, evidence kinds |
retrofit-mode.md | Retrofit procedure for existing demos under newly-anchored specs |
authoring-smells.md | Seven antipatterns; scan before authoring in any mode |
showboat --help | Authoritative CLI reference — run it, do not memorize flags |
scripts/ci/check-spec-demo-anchors.sh | The checker — run via just check-demos |
| Host project's observability contract | The structured-output surface demos ride on |
| Host skill's implementation workflow | Where demo construction is sequenced |
</references_index>
© goern, GPL-3.0. 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 3 other files in .claude/skills/showboat of goern/forgejo-mcp.
Open the folder on GitHubat commit 1f51f83
Showboat 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 |
|---|---|---|---|---|---|---|
| Showboat this skillgoern/forgejo-mcp | 141 | — | ~2.3k | Automated safety check: Pass | GPL-3.0 | |
| Show Me Your Work Decision Logcursor/plugins | 10k | 9 repos | ~1.6k | Automated safety check: Pass | None | |
| PUA Looptanweai/pua | 20k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Scope Creep Guardlennney/stop-that-shit | 2.5k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Verification Before Completionfarm-fe/farm | 5.6k | 46 repos | ~1k | Automated safety check: Pass | MIT | |
| Incremental Implementationaddyosmani/agent-skills | 103k | 1 repos | ~2.3k | Automated safety check: Pass | MIT |
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
tanweai/pua
Runs an unattended iterate-until-verified loop in which a user-set verify command, not the agent's own claim, decides when the task is finished.
lennney/stop-that-shit
Keeps an agent focused on the requested work by applying a five-step ladder that checks for direct solutions, real gaps and speculative defenses before adding anything.
farm-fe/farm
A skill your agent uses when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any…
addyosmani/agent-skills
Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.
tanweai/pua
Pushes an agent to keep verifying and changing approach after repeated failures, using a diagnosis line, evidence-based completion and confirmation before risky edits.
goern/forgejo-mcp
A skill your agent uses when releasing OpenSpec: audit merged work and changeset coverage, decide whether a catch-up changeset PR is needed, prepare or resume the Changesets Version Packages PR, cut…
goern/forgejo-mcp
Fetch and display notifications from both GitHub and Codeberg in a unified markdown view with clickable links.
goern/forgejo-mcp
Compress a memory file such as CLAUDE.md or a todo list into caveman format to save input tokens, keeping a readable backup.
goern/forgejo-mcp
Collaborative page-drafting mode for the OpenSpec docs. An agent skill from goern/forgejo-mcp.
goern/forgejo-mcp
Fact-checks OpenSpec user documentation with a fresh-context subagent that re-runs commands and checks claims against source.
goern/forgejo-mcp
Create a new worktrunk worktree (optionally in another repo) and switch this session's working directory into it.
Categories
Convention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read. Showboat is an agent skill from goern/forgejo-mcp. Convention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read.
Showboat fits situations like: acceptance demo; any spec-linked PR that needs a proof-of-work artifact.
Run `npx skills add goern/forgejo-mcp --skill showboat -a claude-code`. Or copy the skill folder (.claude/skills/showboat in goern/forgejo-mcp) into .claude/skills/showboat in your project. Claude Code loads it when a task matches its description.
Run `npx skills add goern/forgejo-mcp --skill showboat -a codex`. Or copy the skill folder (.claude/skills/showboat in goern/forgejo-mcp) into .agents/skills/showboat 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 goern/forgejo-mcp --skill showboat -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/showboat, .gemini/skills/showboat, .github/skills/showboat and .opencode/skills/showboat in your project.
Going by SKILL.md and its folder, Showboat needs the command-line tools its instructions call (just, uvx and git).
SKILL.md contains no URLs. Its commands use uvx and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Showboat is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Showboat: Show Me Your Work Decision Log (cursor/plugins, 10k stars), PUA Loop (tanweai/pua, 20k stars), Scope Creep Guard (lennney/stop-that-shit, 2.5k stars) and Verification Before Completion (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
goern (a GitHub user) maintains it in goern/forgejo-mcp, which has 141 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 8, 2026.
Source: goern/forgejo-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.