Skip to content

Prompts and skills page, generated from the source #68

Closed

Description

@JacobStephens2

Parent

#61

What to build

Add a "Prompts and skills" page at /prompts/ that shows everything steering the agents, generated from the source so it can't drift from what the binary does.

  • Prefactor: today the claude session arguments are assembled inline where the session command is built. Move them into one shared definition that the session keeps using and the renderer reads. Behaviour doesn't change.
  • Renderer (test-only, inside the crate):
    • It calls the real prompt template functions (fresh, continuation, conflict Repair, CI-fix Repair and Resume) with fixed, readable placeholder values, e.g. <Issue URL>, <base>, <branch>, <pull request URL>, and a placeholder failing check.
    • It then marks those values up as highlighted placeholders.
    • It walks the same embedded skills directory the binary writes out as the plugin, and emits every skill and supporting file as raw monospace text.
    • It also emits the claude command line, the MIT notice from the skills licence, and the pr skill's credits.
    • Its output is an HTML fragment, checked into the site directory.
  • Golden-file test:
    • It compares the rendered fragment with the checked-in one and fails with a diff and a hint naming the update command.
    • With an update environment variable set, it rewrites the fragment instead.
    • It skips itself, with a message, when the site directory is absent. The crates.io package includes the sources but not the site.
  • The page:
    • It uses the shared stylesheet, header and footer, with a short introduction.
    • Each prompt gets one line on when a Run sends it, and the name of the unit that sends it.
    • Each skill names the unit that uses it.
    • It includes the generated fragment.
    • It shows "as of commit <sha>" from the commit the deploy script records, with a note that the latest release may differ, and links to the latest release's skills.
  • Two-way links: the static press line's skill labels (Press line, static: the full How a Run works diagram in HTML and SVG #64) link to each skill's anchor on this page, and the page links back to the units.

The page shows skills raw, as the agent reads them, not rendered Markdown.

Acceptance criteria

  • The session passes exactly the same claude arguments as before, and the existing Run tests pass unchanged.
  • cargo test fails after a change to a prompt, the claude arguments or a skill that isn't followed by regenerating the fragment. The failure names the update command.
  • Running the update command regenerates the fragment, and cargo test passes again.
  • The golden-file test skips cleanly when the site directory is missing, and the packaging test still passes with the site excluded from the crate.
  • /prompts/ shows the command line, all five prompts with highlighted placeholders, every skill and supporting file, the MIT notice and the credits.
  • The commit label shows the deployed commit when one is recorded, and degrades gracefully when it isn't (e.g. running locally).
  • The skill labels on the home page's press line and the page's anchors link to each other.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions