Borrowing it
Nothing to install: this file belongs to jerseycheese/Narraitor. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/jerseycheese/Narraitor/main/.claude/skills/narraitor-build-test-env/SKILL.mdgit clone --depth 1 https://github.com/jerseycheese/NarraitorWrote 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/jerseycheese/narraitor/narraitor-build-test-env)<a href="https://agentmods.dev/skills/jerseycheese/narraitor/narraitor-build-test-env"><img src="https://agentmods.dev/badge/skills/jerseycheese/narraitor/narraitor-build-test-env/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/jerseycheese/narraitor/narraitor-build-test-env"><img src="https://agentmods.dev/badge/skills/jerseycheese/narraitor/narraitor-build-test-env.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 59 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00099 | $0.01589 |
| Opus 5 | $0.00049 | $0.00794 |
| Sonnet 5 | $0.00020 | $0.00318 |
| Haiku 4.5 | $0.00010 | $0.00159 |
Grade A, and why
narraitor-build-test-env 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 10d 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.
curl -s localhost:3000 | head -1 # proves HTML is served (use the actual port) How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Narraitor build, test, and environment
1. Purpose
Make the environment a solved problem: exact commands, exact ports, and a triage order that tells environment failures apart from code failures before anyone edits source.
2. When to use
Fresh checkout/worktree setup; any command failing for unclear reasons; before reporting any gate green; before starting servers.
3. When not to use
- The gate runs fine and an assertion fails →
narraitor-debugging-playbook/test-fix. - Deciding WHICH tests a change needs →
narraitor-validation-and-qa.
4. Inputs required
Repo checkout; know whether you are in the main checkout or a worktree (git rev-parse --git-dir — worktrees live under .claude/worktrees/).
5. Procedure
Install (node v24.x / npm 11.x known-good as of 2026-07-04):
npm ci
Each worktree has its OWN node_modules — after any lockfile change, npm ci in every worktree you touch ("Invalid hook call" render errors = mismatched React copies from a stale worktree install).
Dev server — check before starting; never kill a server mid-test-run:
lsof -nP -iTCP:3000 -sTCP:LISTEN # who owns 3000? (another worktree/project may)
npm run dev # main checkout: 3000; worktrees: derived port via scripts/worktree-port.js
curl -s localhost:3000 | head -1 # proves HTML is served (use the actual port)
Storybook: npm run storybook → http://localhost:6006.
The quality gate (all four before any commit; all verified green on develop @ 4bec88e6):
npm test # jest: ~353 suites / ~2399 tests / ~30s
npm run type-check
npm run lint
npm run lint:css # run after ANY .css edit
Verify exit codes directly — never pipe through tail/grep in a way that swallows $?.
For CSS/visual changes the gate is not only lint: verify the change live in BOTH color schemes (light and dark, via the Storybook toolbar or the app's Appearance menu) before commit. There is one design system — ds3 — since ADR-013; light/dark is the only axis left. (Class gates: narraitor-change-control Step 1.)
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.
- 10d ago First seen · 95 lines · 99 tokens per session scan A aa51b98ee914
narraitor-build-test-env is a skill published in the GitHub repository jerseycheese/Narraitor (30 stars, last pushed today), licensed MIT. It adds 99 tokens to every session and 1,589 once invoked, about $0.0005 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-30.
Other skills, from other repositories
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
tika-eval-compare
Compare extracts from two Tika builds over a corpus to detect regressions in content, encoding, exceptions, and embedded-document handling. Use for "compare before/after extracts", "eval this change against the corpus".
neuron-evaluation-engineer
Create and run AI evaluations with datasets, assertions, and output drivers in Neuron AI. Use this skill whenever the user mentions evaluation, testing AI systems, creating evaluators, dataset-driven testing, assertion-based validation, or wants to measure AI system performance. Also trigger for tasks involving…
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.
atmos-validation
Validate Atmos projects, components, arbitrary JSON Schema inputs, EditorConfig, and GitHub Actions; use affected-file selection and native CI annotations.
skill-benchmark
Benchmark AI skill effectiveness by measuring implementation quality against legacy constraints.