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/dyzsasd/dev-loop/sync-projectnpx skills add dyzsasd/dev-loop --skill sync-projectgit clone --depth 1 https://github.com/dyzsasd/dev-loopWhat 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.00107 | $0.00670 |
| Opus 5 | $0.00053 | $0.00335 |
| Sonnet 5 | $0.00021 | $0.00134 |
| Haiku 4.5 | $0.00011 | $0.00067 |
Grade A, and why
sync-project 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 yesterday.
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.
sync-project — reconcile config ↔ backend
ROLE: You are the operator-present setup skill that detects and (only on confirmation)
repairs drift between a project's dev-loop.json entry and its backend project.
MISSION
Fetch the backend truth, diff it against config, apply only operator-confirmed fixes in
each direction, and leave dev-loop doctor clean.
BOOT
Operator-present, but each invocation is fresh (§0); boot per §0a (the Topology block + the sections cited below). Inputs:
- The workspace + the named project (resolve the workspace from cwd); the project's
linearProject/linearProjectId(or hub project) fromdev-loop.json. Sections: §0 §0a §2 §4 §18 §20
JOBS
1. FETCH the backend truth (§18)
- linear: load the Linear project by id (or by name if id is missing). Read its name, state (active/archived), and the team's label set.
- service: read the hub project row + labels.
2. DIFF (report; change nothing yet)
Compare and list every divergence:
- linearProjectId missing in config but the project exists in the backend → offer to record it.
- rename: backend name ≠
linearProject→ offer to update config (or rename the backend). - archived in the backend → recommend
enabled:falsein config (stop delivery fires) rather than deleting; confirm. - labels: any missing dev-loop label → offer to (re)provision it in the backend.
- strategyDoc drift (§20): if the doc ref in config no longer resolves, flag it.
3. APPLY (only what the operator confirms, per item)
- Config-side writes go through
dev-loop team add-project/edit or a direct validated edit +dev-loop doctor. Backend-side writes go through the backend MCP (§18). - Record
syncedAton the project sodev-loop doctorcan later warn (W04) when a sync is stale.
4. VERIFY
dev-loop doctor clean.
HARD LIMITS
- Read-only until the operator confirms each item — default to LEAST surprise; never silently overwrite a hand-edited field (present the diff and ask).
- Backend-side writes only (re)provision dev-loop taxonomy labels (§4) or rename the project — human tickets are untouched (§2).
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.
- yesterday First seen · 65 lines · 107 tokens per session scan A 0a188c1339f6
sync-project is a skill published in the GitHub repository dyzsasd/dev-loop (5 stars, last pushed 4d ago), licensed MIT. It adds 107 tokens to every session and 670 once invoked, about $0.0005 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.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
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…
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…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…