Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add bnayahu/journeycast --skill deriving-journeysgit clone --depth 1 https://github.com/bnayahu/journeycastWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bnayahu/journeycast/deriving-journeys)<a href="https://agentmods.dev/skills/bnayahu/journeycast/deriving-journeys"><img src="https://agentmods.dev/badge/skills/bnayahu/journeycast/deriving-journeys/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bnayahu/journeycast/deriving-journeys"><img src="https://agentmods.dev/badge/skills/bnayahu/journeycast/deriving-journeys.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.00782 |
| Opus 5 | $0.00030 | $0.00391 |
| Sonnet 5 | $0.00012 | $0.00156 |
| Haiku 4.5 | $0.00006 | $0.00078 |
Grade A, and why
deriving-journeys scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
2. **Confirm the app is running.** Ask the user for the app's base URL (default `http://localhost:3000`). Health-check it — e.g. `curl -sSf <baseUrl> -o /dev/null`. If it is not reachable, tell the user to start their ap How it starts
The opening of the file, as written. The whole thing — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deriving journeys
Author a journey.yaml describing the UI journey a pull request introduces, grounded in the real app. This skill ends at an explicit human-edit gate — you draft, then stop.
Output location
Journeycast artifacts live in the target repository (the repo the PR belongs to, checked out locally) — never inside the journeycast clone. For PR <pr>, the convention is:
<target-repo>/docs/journeycast/pr-<pr>/— the committed deliverables:journey.yaml,<feature>.mp4,<feature>.srt. Referred to below as$OUTDIR. Use the bare PR number (pr-1, notpr-0001).out/pr-<pr>/inside the journeycast clone — intermediate capture/render scratch (screenshots, manifest,.work). Gitignored viaout/. Referred to below as$WORKDIR.
Resolve the target repo's local path from the PR (ask the user if it is ambiguous), then mkdir -p "$OUTDIR".
Steps
-
Gather PR context. Run
gh pr view <pr>andgh pr diff <pr>; note the title, body, and the changed files. Infer which user-facing flow the PR adds or changes. Resolve$OUTDIR(see Output location). -
Confirm the app is running. Ask the user for the app's base URL (default
http://localhost:3000). Health-check it — e.g.curl -sSf <baseUrl> -o /dev/null. If it is not reachable, tell the user to start their app and stop. The engine drives a running app; it does not start one. -
First-use setup (once per checkout). If
engine/node_modulesis absent, instruct:cd engine && npm install && npx playwright install chromium. -
Probe for real selectors. Run
node engine/capture.mjs --explore --url <baseUrl> --routes <comma,separated,routes>and read the JSON it prints. Prefer thedata-testid/ role / text selectors it reports over guesses. -
Author
journey.yaml. Write it to$OUTDIR/journey.yaml, conforming toskills/deriving-journeys/journey.schema.json. Use the scene kindstitle,screen,action,callout,outro. Setmeta(title/feature/pr/repo),app(baseUrl + viewport),narration(provider + voice), andsteps. Write concise narration per step — one or two sentences.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 38 lines · 59 tokens per session scan A 0b77dc454280
deriving-journeys is a skill published in the GitHub repository bnayahu/journeycast (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 59 tokens to every session and 782 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
dogfood
Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to dogfood, QA, exploratory test, find issues, bug hunt, or test this app on mobile.
test-warp-ui
Guides testing Warp UI features and changes using the computer use tool. Use this skill only when computer-use testing was requested (explicit request or accepted offer) and the computeruse tool is available to the agent. Covers launching Warp and verifying UI behavior.
test-electron-app
Drive the real running PostHog Electron app (live tRPC, workspace-server, real data) over CDP with agent-browser. Connect to the running app on port 9222, test desktop changes against a local Django stack, snapshot the accessibility tree, inspect network requests, and screenshot only when explicitly asked. Use when…
pyats-dynamic-test
Generate and execute deterministic pyATS aetest validation scripts - interface state, OSPF neighbors, BGP paths, ping matrices, and custom compliance tests. Use when writing a network test, validating post-change state, running pass/fail checks, or building automated regression tests.
test-loop
Plan, generate, and heal an executable E2E test suite from approved acceptance criteria (web and mobile).
playwright-cli
Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or…