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 Jed-Tech/spar-kit --skill spar-initgit clone --depth 1 https://github.com/Jed-Tech/spar-kitWrote 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/jed-tech/spar-kit/spar-init)<a href="https://agentmods.dev/skills/jed-tech/spar-kit/spar-init"><img src="https://agentmods.dev/badge/skills/jed-tech/spar-kit/spar-init/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/jed-tech/spar-kit/spar-init"><img src="https://agentmods.dev/badge/skills/jed-tech/spar-kit/spar-init.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.00057 | $0.01284 |
| Opus 5.5 | $0.00023 | $0.00514 |
| Sonnet 5.5 | $0.00011 | $0.00257 |
| Haiku 4.5 | $0.00006 | $0.00128 |
Grade A, and why
spar-init 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 1mo 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 — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Init
Run after spar-kit is installed in a project, or when the user wants a setup check. Treat this as a post-install verification and light repair pass for the repo-local SPAR bundle.
What this skill delivers
Work through these areas in order unless blocked:
- Version check - compare upstream
VERSIONto local.spar-kit/VERSION. - Tool verify-install-sync - seed or update
.spar-kit/.local/tools.yaml. AGENTS.mdrecommendation - encourage a short, effectiveAGENTS.mdfor lower token usage and clearer agent behavior..gitignorehygiene check - recommend ignoring.spar-kit/.local/when needed.- Closeout - a short summary and a recommendation to use
spar-specify.
1. Version check
First confirm repository root and note .spar-kit/VERSION.
- Canonical: fetch
https://raw.githubusercontent.com/Jed-Tech/spar-kit/main/VERSION - Local:
<repo>/.spar-kit/VERSION - Compare using SemVer ordering, not string sorting.
- If local is missing, invalid, unreadable, or behind upstream: treat the install as stale.
- If canonical cannot be fetched: warn that the version check was skipped and continue the rest of init.
When stale:
- Do not hand-edit
.spar-kit/VERSION. - Recommend rerunning the current install path:
npx @spar-kit/install
- If the user wants help, explain that reinstall is the supported way to refresh the repo-local SPAR bundle.
2. Tool verify-install-sync
Use only .spar-kit/.local/tools.yaml.
Tool state file
- Run checks across the full tool set and record missing tools.
- If
.spar-kit/.local/tools.yamlincludes optional recommended tools, check and record their installation status as well. - Batch checks into one command when practical so the user is not prompted separately for each tool.
- Continue checking the remaining tools even if one tool is missing or fails.
- Capture
checked_atin the same batched command when practical so the user is not prompted separately for the timestamp. - Prefer Node for cross-platform UTC timestamp generation:
new Date().toISOString().replace(/\.\d{3}Z$/, "Z"). - Do not run a second timestamp command if the first timestamp capture succeeds.
- If required tools are missing, install them automatically when your permissions allow.
- Do not auto-install optional recommended tools unless the user explicitly asks.
- Re-check tools that had install attempts, then communicate the final post-install result.
- Preserve the existing
tools.yamlstructure and update entries in place. - For each tool entry, maintain
installed,version(when available), andreason(when missing/failing) consistently. - Update
checked_atonce after the completed full pass. - Respect
whenrules (for example,uvwhen the repo uses Python tooling). - Missing optional recommended tools should be recorded with
installed: falseand a shortreason, but should not be reported as blockers.
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.
- 1mo ago First seen · 131 lines · 57 tokens per session scan A 0fff0eaa3d65
spar-init is a skill published in the GitHub repository Jed-Tech/spar-kit (17 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 57 tokens to every session and 1,284 once invoked, about $0.0002 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
similarity-search-patterns
Implement efficient similarity search with vector databases. Use when building semantic search, implementing nearest neighbor queries, or optimizing retrieval performance.
embedding-strategies
Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
ppt-review
Read this skill before the first deck or output quality review, so its criteria are available when the rendered images arrive. Apply the criteria to current officereview structural output and relevant rendered images. Do not use source code, a tool success flag, or the first-slide preview as a substitute for deck…
plotly
Interactive scientific and statistical data visualization library for Python. Use when creating charts, plots, or visualizations including scatter plots, line charts, bar charts, heatmaps, 3D plots, geographic maps, statistical distributions, financial charts, and dashboards. Supports both quick visualizations (Plotly…
material-organizer
Organize only the materials the user has already provided or explicitly pointed to. The job is to make messy inputs easier to scan, reuse, archive, or continue from later while preserving source traceability.
seo-crawl
Agent-wide core connector rule: when any connected search console is used, discover its operations with listconnectortools and invoke each selected operation through callconnectortool; naming listsites or an analytics operation without the core invocation is not execution.