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 agentmods add skills/ebursztein/sprinty/using-sprintynpx skills add ebursztein/sprinty --skill using-sprintygit clone --depth 1 https://github.com/ebursztein/sprintyWrote 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/ebursztein/sprinty/using-sprinty)<a href="https://agentmods.dev/skills/ebursztein/sprinty/using-sprinty"><img src="https://agentmods.dev/badge/skills/ebursztein/sprinty/using-sprinty.svg" alt="Measured on agentmods" 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 | $0.00062 | $0.01542 |
| Opus 5 | $0.00031 | $0.00771 |
| Sonnet 5 | $0.00012 | $0.00308 |
| Haiku 4.5 | $0.00006 | $0.00154 |
Grade A, and why
using-sprinty 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 4d 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 — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Using Sprinty
Prefer compact commands first. Lists are compact and say which _get() tool returns full detail. Mutating tools return acknowledgements plus next_tools, concrete follow-up calls derived from live state; do not expect or request full sprint dumps from mutations.
Core Tools
| Tool | Input | Use |
|---|---|---|
info |
{ git_dir?, data_dir?, workspace_dirs?[] } |
First-call orientation before binding. Returns startup workflow, resume/create help, dashboard state, and sprint rows with title, created time, and open/closed/blocked item counts. |
sprint_resume |
{ git_dir, data_dir? } |
Rebind this MCP process to an existing sprint. Returns a bounded briefing (counts, current item, blocked ids, last resolved, recent notes), the skills to read, and the dashboard URL - use it instead of re-deriving state with overview+next. data_dir defaults to <git_dir>/.sprinty. Never call sprint_new as a resume trick. |
sprint_detach |
{} |
Clear this process binding before resuming a different sprint. |
sprint_new |
{ goal, git_dir, data_dir?, context_notes?[] } |
Start one sprint with explicit git_dir; data_dir defaults to <git_dir>/.sprinty. Returns the dashboard URL. |
overview |
{} |
Compact sprint title/details/artifacts/subsprints/items. Use this to orient. |
next |
{ past?=1, future?, future_per_subsprint?=1, include_high_priority?=true } |
Compact active work window. Returns all available high-priority items first, then normal available items per subsprint. future caps the total returned across all subsprints. No full graph. |
search |
{ pattern, context_size?=512 } |
Regex search. Returns { id, type, text, tool_call }; use tool_call for full detail. |
dashboard_info |
{} |
Current localhost dashboard URL and port, or running:false when stopped. |
dashboard_restart |
{} |
Restart the dashboard server and return the new URL and port. |
Work Tools
| Tool | Input | Use |
|---|---|---|
subsprint_new |
{ description, goals[], gates[], dependencies?[] } |
Create a feature-sized unit. |
subsprint_list |
{} |
Compact subsprint rows. Use subsprint_get({ id }) for full detail. |
subsprint_get |
{ id } |
Full subsprint detail and compact item rows. |
item_add |
{ subsprint, title, description, code_locations[], gates[], gate_timeout_ms?, dependencies?[], high_priority? } |
Create an atomic item. gate_timeout_ms defaults to 5000; use a positive integer to customize it or null to disable the timeout. Title 3-80 chars, single line; description 20-800 chars; at least one code_locations entry; 1-3 gates. |
item_get |
{ id } |
Full item detail. |
item_update |
{ id, note?, title?, description?, high_priority?, gates?[], gate_timeout_ms?, commit_id?, dependencies?[] } |
Mutate allowlisted fields by item id. Gates/timeout require an open item; commit_id corrects a completed item before sprint close and recomputes its change map. |
item_done |
{ id, commit_id, changelog, gate_results?[] } |
Complete an item. Sprinty runs executable gates under the item's configured timeout and records their real output; pass gate_results only for manual gates. A timed-out gate is marked unverified and does not block the item. Commit must resolve. |
item_split |
{ id, description, goals[], gates[], dependencies?[] } |
Resolve an oversized item by creating a new subsprint. |
item_deprecate |
{ id, reason } |
Resolve an item as intentionally dropped. Also accepts a subsprint id: that deprecates the subsprint and cascades to its open items. |
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.
- 4d ago First seen · 65 lines · 62 tokens per session scan A 499e444edfee
using-sprinty is a skill published in the GitHub repository ebursztein/sprinty (0 stars, last pushed 20d ago), licensed Apache-2.0. It adds 62 tokens to every session and 1,542 once invoked, about $0.0003 per session on Opus 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-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…