Agent skill

Showboat

by goern in goern/forgejo-mcp

Convention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read.

GPL-3.0Auto-check passedAgent Workflows

Install Showboat

skills CLI
$ npx skills add goern/forgejo-mcp --skill showboat -a claude-code

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

GitHub CLI
$ gh skill install goern/forgejo-mcp showboat --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/goern/forgejo-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/showboat .claude/skills/showboat && 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
showboat
GitHub stars
141
Token cost
~2.3k tokens
SKILL.md length
1,102 words
Files
4
Skills in repo
15
Repo updated
First seen
Licence
GPL-3.0

At a glance

Convention for building a reproducible demo artifact co-located with each implementation spec, so acceptance has something concrete to read.

  • Works in 5 steps: One Demo Per Spec, Co-Located → Author Builds, Reviewer Reads → Trust the Author at Commit Time → …
  • Acceptance demo
  • SKILL.md covers Scope and Mode Dispatch
  • Calls just, uvx and git

What it does

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.

When your agent uses it

  • Acceptance demo
  • Any spec-linked PR that needs a proof-of-work artifact

Example prompts

  • “build demo”
  • “acceptance demo”
  • “showboat”
  • “/showboat”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. One Demo Per Spec, Co-Located
  2. Author Builds, Reviewer Reads
  3. Trust the Author at Commit Time
  4. Demo Through the Project's Structured Surface
  5. One Section Per Acceptance Criterion (non-anchored specs)

What it can do on your machine

Read from SKILL.md and the folder at commit 1f51f83. 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:

    • just
    • uvx
    • git

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

  • Network

    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.

  • 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

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.

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

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 goern/forgejo-mcp at commit 1f51f83, republished under its GPL-3.0 licence (© goern). 1,102 words, ~2,306 tokens.

Download SKILL.mdSave it as .claude/skills/showboat/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
showboat
description
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.

<essential_principles>

Scope

This skill encodes forgejo-mcp-local conventions for Showboat. It is self-contained — it does not depend on any external recipe skill.

What Showboat Is

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 demo
  • showboat note <file> [text] — append narrative text
  • showboat exec <file> <lang> [code] — run a command and capture its output
  • showboat image <file> <path> — embed an image
  • showboat pop <file> — remove the last entry (use when a command errored)
1. One Demo Per Spec, Co-Located

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.

2. Author Builds, Reviewer Reads

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:

  • Environment independence — the reviewer needs no runtime, no deploy step, no showboat install. They read markdown in the PR diff.
  • Determinism — structured output typically contains timestamps and generated IDs that drift across runs. showboat verify would diff-fail on every re-run. We do not run verify on the critical path today.
3. Trust the Author at Commit Time

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.

4. Demo Through the Project's Structured Surface

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.

5. One Section Per Acceptance Criterion (non-anchored specs)

For non-anchored specs the narrative maps 1:1 to the spec's acceptance list:

  • One showboat note anchoring the criterion (heading + paraphrase)
  • One or more showboat exec blocks producing evidence
  • No criterion without evidence; no stray evidence without an anchor

For anchored specs (with <!-- demos-anchored: true -->), the 1:1 mapping is by #### Scenario: heading instead — see anchored-mode.md.

</essential_principles>

<mode_dispatch>

Mode Dispatch

Read the sibling spec.md first. Then choose:

ConditionModeRead
spec.md has <!-- demos-anchored: true --> before its first H2, demo doesn't existNew anchoredanchored-mode.md
spec.md has <!-- demos-anchored: true -->, sibling demo exists in old shapeRetrofitretrofit-mode.md (which depends on anchored-mode.md)
Caller explicitly says "retrofit"Retrofitretrofit-mode.md
spec.md has no anchor markerNew non-anchoredthis 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 path — the spec file whose acceptance criteria the demo will prove
  • Demo path — the co-located output path convention (e.g. <spec-dir>/<slug>.demo.md)
  • Running instance — the branch under review, deployed and reachable
  • Project CLI — the instrumented subcommand surface the demo should use

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>
Portable Binary Reference (path portability)

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:

markdown
## 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.

Show full SKILL.md (439 more words)Show less
Scaffold Provenance Placeholders

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:

markdown
*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.

New Demo (Non-Anchored Spec)
  1. Discover. Run showboat --help. This skill deliberately does not restate it.
  2. Deploy. Ensure the current branch is live on a local instance.
  3. Init. showboat init <demo-path> "<spec title>". Add the scaffold provenance placeholders above.
  4. Anchor. Add a ## Replay setup block, then showboat note lines linking the spec path, the issue, and the PR.
  5. Baseline. One showboat exec capturing the starting state via the project's status/inspect subcommand.
  6. Walk ACs. For each acceptance criterion: a note with the AC heading, then exec block(s) triggering the behavior, then an exec capturing evidence via a structured-output subcommand.
  7. Commit. Add the demo file to the PR diff. Reference its path in the PR body per the host skill's template.
New Demo (Anchored Spec)

See anchored-mode.md for the full procedure, slug derivation, block shape, and evidence kinds.

Retrofit Existing Demo

See retrofit-mode.md for the full procedure. Run just check-demos after writing.

</workflow>

<success_criteria>

Non-anchored demo:

  • File exists at the demo path specified by the host skill
  • File opens with a link back to the spec and the issue/PR numbers
  • Every acceptance criterion in the spec has a matching note + exec section
  • Evidence commands use the project's structured-output subcommands wherever possible
  • Output blocks are real captured output (no hand-edited content)
  • PR body links to the demo file

Anchored demo (opted-in spec):

  • <!-- demos-anchored: true --> present in spec.md
  • Every #### Scenario: in spec.md has a matching proof block in demo.md
  • Each proof block: machine anchor → human anchor → quoted scenario → evidence block
  • Machine and human anchor share the exact same slug
  • Quoted scenario text matches spec.md verbatim (whitespace-normalized)
  • At least one evidence block per proof (fenced code or evidence-kind marker)
  • just check-demos exits 0 before committing
  • No absolute PATH=/Users/… in evidence commands (use ${FORGEJO_MCP_BIN:-forgejo-mcp})
  • No ## AC<n> H2 headings shadowing a quoted #### Scenario: H4
  • No AC numbering gaps from mid-sequence scenario insertion

</success_criteria>

<references_index>

ReferencePurpose
anchored-mode.mdAnchored demo authoring — slug, block shape, evidence kinds
retrofit-mode.mdRetrofit procedure for existing demos under newly-anchored specs
authoring-smells.mdSeven antipatterns; scan before authoring in any mode
showboat --helpAuthoritative CLI reference — run it, do not memorize flags
scripts/ci/check-spec-demo-anchors.shThe checker — run via just check-demos
Host project's observability contractThe structured-output surface demos ride on
Host skill's implementation workflowWhere 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

Files

SKILL.md and 3 other files in .claude/skills/showboat of goern/forgejo-mcp.

  • SKILL.md
  • anchored-mode.md
  • authoring-smells.md
  • retrofit-mode.md

Open the folder on GitHubat commit 1f51f83

Compare with similar skills

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.

Showboat compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Showboat this skillgoern/forgejo-mcp141—~2.3kAutomated safety check: PassGPL-3.0
Show Me Your Work Decision Logcursor/plugins10k9 repos~1.6kAutomated safety check: PassNone
PUA Looptanweai/pua20k1 repos~1.1kAutomated safety check: PassMIT
Scope Creep Guardlennney/stop-that-shit2.5k1 repos~2kAutomated safety check: PassMIT
Verification Before Completionfarm-fe/farm5.6k46 repos~1kAutomated safety check: PassMIT
Incremental Implementationaddyosmani/agent-skills103k1 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Official

    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.

    10k GitHub starsUsed in 9 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • PUA Loop

    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.

    20k GitHub starsUsed in 1 repo~1.1k tokens
    Agent WorkflowsAuto-check passed
  • Scope Creep Guard

    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.

    2.5k GitHub starsUsed in 1 repo~2k tokens
    Agent WorkflowsAuto-check passed
  • 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…

    5.6k GitHub starsUsed in 46 repos~1k tokens
    Agent WorkflowsAuto-check passed
  • Incremental Implementation

    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.

    103k GitHub starsUsed in 1 repo~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Pushes an agent to keep verifying and changing approach after repeated failures, using a diagnosis line, evidence-based completion and confirmation before risky edits.

    20k GitHub stars~502 tokensUpdated 29 days ago
    Agent WorkflowsAuto-check passed

More from goern/forgejo-mcp

All 15 skills in this repo
  • Release Openspec

    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…

    141 GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Unified Notifications

    goern/forgejo-mcp

    Fetch and display notifications from both GitHub and Codeberg in a unified markdown view with clickable links.

    141 GitHub stars~802 tokensUpdated yesterday
    Auto-check passed
  • Caveman Compress

    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.

    141 GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check: notes
  • Draft Openspec Docs

    goern/forgejo-mcp

    Collaborative page-drafting mode for the OpenSpec docs. An agent skill from goern/forgejo-mcp.

    141 GitHub starsUsed in 1 repo~815 tokens
    Auto-check passed
  • Verify Openspec Docs

    goern/forgejo-mcp

    Fact-checks OpenSpec user documentation with a fresh-context subagent that re-runs commands and checks claims against source.

    141 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Wt Switch Create

    goern/forgejo-mcp

    Create a new worktrunk worktree (optionally in another repo) and switch this session's working directory into it.

    141 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Categories

Questions about Showboat

What does Showboat do?

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.

When should I use Showboat?

Showboat fits situations like: acceptance demo; any spec-linked PR that needs a proof-of-work artifact.

How do I install Showboat in Claude Code?

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.

How do I install Showboat in Codex?

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.

Can I use Showboat 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 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.

What does Showboat need to run?

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

Does Showboat access the network?

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.

Is Showboat 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 Showboat use?

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.

How many tokens does Showboat use?

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.

What are the alternatives to Showboat?

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.

Who maintains Showboat?

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.