Files
firehose/.pi/skills/demo
Willem van den Ende 3eae3afcbb demo skill: look up routing and demo users in the project
Steps 2 and 4 carried copy-paste from another project (lib/hub_web/router.ex,
alias Hub.Accounts, /users/log-in with user[email]). A stale path there sends
the agent to a router that does not exist, and a guessed module alias fails at
run time.

Both are now generic instructions to read the project:

- route map: locate the router by searching for `use Phoenix.Router`, then read
  its scopes, pipelines and live_sessions to see what is public and what needs
  a session
- authentication: only when the route actually needs it; take credentials from
  documented demo accounts or the project's seeds, create a demo user through
  the project's own path (seeds, registration route, or the accounts function
  found by grep - never a guessed alias), and read the login route and form
  selectors off the router and rendered form

The port example keeps its concrete app/endpoint pair, now labelled as an
example with the grep that finds the right names, plus a note to use the
project's toolchain/build wrapper instead of bare `mix`.

make check green.
2026-10-26 21:26:19 +00:00
..
2026-05-14 12:30:22 +01:00
2026-05-18 22:06:20 +01:00

Demo Skill

Generate living demo documents proving features work, with showboat for Markdown assembly and rodney for browser screenshots.

Prerequisites

Requires two Go CLI tools:

go install github.com/simonw/showboat@latest
go install github.com/simonw/rodney@latest

Verify installation:

showboat --help
rodney --help

Rodney Chrome data directory

Rodney needs write access to the Chrome data directory at ~/.rodney. If you get Permission denied errors when running rodney start, fix it:

mkdir -p ~/.rodney && chmod 755 ~/.rodney

Usage

In pi, invoke via:

/skill:demo <feature-name> [--scenario <description>] [--plan <path>]

Or ask naturally:

  • "demo this"
  • "show me it works"
  • "create a demo"
  • "create a demo of the authentication flow"

How It Works

  1. Checks that showboat and rodney are installed
  2. Gathers feature context from plan files, recent commits, or your description
  3. Verifies the dev server is running
  4. Handles authentication (creates a demo user if needed)
  5. Captures backend evidence (tests, compilation, database state)
  6. Takes browser screenshots of UI pages
  7. Maps evidence to acceptance criteria
  8. Produces a standalone Markdown demo document in demos/

Demo Document Structure

  • Feature Overview — narrative description
  • Test Suite — relevant test output
  • Compilation Check — mix compile --warnings-as-errors
  • Database State — if relevant
  • UI Screenshots — static pages and interactive flows
  • Acceptance Criteria Verification — checklist with evidence references