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 maksutovic/joycraft --skill joycraft-implementgit clone --depth 1 https://github.com/maksutovic/joycraftWrote 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/maksutovic/joycraft/joycraft-implement)<a href="https://agentmods.dev/skills/maksutovic/joycraft/joycraft-implement"><img src="https://agentmods.dev/badge/skills/maksutovic/joycraft/joycraft-implement/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/maksutovic/joycraft/joycraft-implement"><img src="https://agentmods.dev/badge/skills/maksutovic/joycraft/joycraft-implement.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, 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 Agent Snooping · line 121 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 145 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00029 | $0.02601 |
| Opus 5.5 | $0.00012 | $0.01040 |
| Sonnet 5.5 | $0.00006 | $0.00520 |
| Haiku 4.5 | $0.00003 | $0.00260 |
Grade A, and why
joycraft-implement scanned grade A with 0 findings 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 26d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
At skill entry, run node docs/.joycraft/check.mjs check --json --session <session-id> once, reusing JOYCRAFT_SESSION_ID if supplied or one ID chosen for this conversation. If the checker is missing or fails, continue the requested skill quietly without retrying setup. Offer updates only for display: true; current, postponed, off, and unknown stay quiet. If automaticUpdate is present, finish this skill, then run its exact command once from the project root: the candidate must verify every safety gate before applying. Other updates require approval. After an offer or automatic attempt, record it with node docs/.joycraft/check.mjs acknowledge <available-version> --session <session-id>. Apply updates only at this workflow boundary; after success, reinvoke the skill or restart the session to load changed instructions.
Implement Atomic Spec
You have exactly one atomic spec file to execute. Your job is to implement it using strict TDD — tests first, confirm they fail, then implement until green.
Step 1: Parse Arguments
The user MUST provide a path. No path = stop immediately.
If no path was provided:
No spec path provided. Provide a spec file or a feature directory:
$joycraft-implement docs/features/<slug>/specs/spec-name.mdor$joycraft-implement docs/features/<slug>/
If the path is a directory (ends with / or does not end with .md):
Look for specs/.joycraft-spec-queue.json inside that directory. Read it. Find the first todo spec whose dependencies are satisfied (a dependency is satisfied once it is in-review or done). This matches what joycraft-next-spec serves. That single spec file is your target. Do NOT read any other specs.
Using spec queue: found [spec-file-name] as the next spec.
If the directory has no queue or no todo specs:
No remaining specs found in [directory].
If the path is a file ending in .md:
Use it directly as the spec to implement.
Step 2: Read the Sibling README.md FIRST (if present)
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.
- 26d ago Changed 2236e1080472
- 1mo ago Changed · +2 lines 3f1402f33d88
- 1mo ago First seen · 155 lines · 29 tokens per session scan A 604aaa84a81b
joycraft-implement is a skill published in the GitHub repository maksutovic/joycraft (15 stars, last pushed 25d ago), licensed MIT. It adds 29 tokens to every session and 2,601 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
agent-inspect
Local evidence debugger and trajectory-test toolkit for TypeScript AI agents. Use when capturing framework-faithful traces, asserting TraceContract/TraceFacts, packaging Evidence v2, or inspecting local runs over read-only MCP (gettracefacts).
pi-package-sandbox-test
Use when verifying that published Pi packages install and load for normal users, including pi.dev package compatibility checks, release validation, Daytona sandbox tests, and package installability audits.
bmad-qa-generate-e2e-tests
Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]".
pi-validation-flow
Use when validating Pi monorepo changes after editing TypeScript, Svelte, package manifests, built-in registry, tests, repo tooling, skills, or docs.
build-swiftui-interface
Use when a coding agent must design, scaffold, implement, or verify an iOS or macOS SwiftUI interface with Apple-platform state, accessibility, availability, testing, and Xcode evidence.
qamap-pr-qa
PR bug review and test planning with QAMap. Run qamap qa brief once; it prints the diff, each changed declaration's tests and callers with assertion lines, QA focus and unknowns in one bounded local response, so the review starts from it instead of re-exploring the repository.