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/sungurerdim/dev-skills/ds-rignpx skills add sungurerdim/dev-skills --skill ds-riggit clone --depth 1 https://github.com/sungurerdim/dev-skillsWrote 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/sungurerdim/dev-skills/ds-rig)<a href="https://agentmods.dev/skills/sungurerdim/dev-skills/ds-rig"><img src="https://agentmods.dev/badge/skills/sungurerdim/dev-skills/ds-rig.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.1 | $0.00062 | $0.04952 |
| Opus 5 | $0.00031 | $0.02476 |
| Sonnet 5 | $0.00012 | $0.00990 |
| Haiku 4.5 | $0.00006 | $0.00495 |
Grade A, and why
ds-rig 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 2d 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.
- **Never silent:** unpinned `npx -y`/`curl|bash`, credential-passthrough MCP servers, self-updating tools, harness-config writes, budget-crossing MCP adds, and sandbox/permission-disabling flags extend the publish/irrev How it starts
The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/ds-rig
AI-dev environments accumulate ad-hoc: tools install unpinned, telemetry stays on, MCP servers pile past the point their tool-definition tax exceeds their savings, and harness permissions sit at insecure defaults. This skill builds and maintains the rig deliberately — budgeted, pinned, privacy-hardened, permission-profiled, reversible.
Rig-by-Manifest — every install is recorded, verifiable, updatable, and reversible; every tool earns its token cost.
Completion Evidence — applies to every phase: Report
done/OKonly with the machine-checkable evidence the gates name — the exact command run and its observed output (orfile:linediff). Missing evidence → reportINCOMPLETEplus what is missing. Self-assessment is never evidence. (This band repeats at file end by design — both copies are normative.)
Triggers
User runs /ds-rig, or asks in one of the shapes below.
Triggers — INVOKE / DON'T INVOKE
| INVOKE | DON'T INVOKE |
|---|---|
| "set up my AI dev toolset / environment rig" | "scaffold a new project" (→ ds-init) |
| "update my dev tools to current versions" | "upgrade this project's dependencies" (→ ds-deps) |
| "disable telemetry in my tooling / zero call-home" | "audit this codebase for privacy compliance" (→ ds-compliance) |
| "configure harness permissions (allow/ask/deny)" | "set up a quality gate that blocks done" (→ ds-quality) |
| "is my MCP tool count over budget?" | "optimize a code metric" (→ ds-tune) |
Contract
Dimensions: D11 (agent environment & tooling rig)
- Installs, updates, privacy-hardens, and permission-profiles the AI-dev environment from the curated catalog (references/catalog.md) — machine-level, not project-level.
- Budgeted: registered MCP tool count is checked against the net-negative threshold (~20-30 tools) before/after every change; crossing it requires explicit user override.
- Pinned + current: installs record the resolved version; re-runs produce a drift table (installed vs latest) and offer per-item updates — never silent (rug-pull defense).
- Privacy-first, harnesses included: every installed tool AND detected harness gets its telemetry/call-home opt-outs applied and proven by config/env inspection. Opt-outs are determined by live web research against official sources at run time (settings drift between versions); references/privacy.md is the verified seed map, never the authority. Non-disableable traffic (e.g. model API calls) is reported honestly, never hidden.
- Permission profiles: where the harness exposes an allow/ask/deny surface, apply the safe-default profile (references/permissions.md) covering harness defaults and rig-installed tools — merge, never clobber, backup before write. No surface → gap-note; run continues.
- Global-only, zero project footprint: every permission write targets the harness's user/global-scope config file only — never a project- or repo-scoped file (
.claude/settings.local.json,.github/hooks/*.json, project-rootkilo.jsonc, etc.). Workspace-autonomy (full permissions inside whatever project is open) uses cwd-relative matchers written once into the global file, never a per-project entry. - Harness's own directories are read-allow, not ask: reads of the harness's own config/skill/plugin/agent directories are ALLOW (never ask) — not a trust boundary. Writes to those same paths stay DENY (RC-10) except this skill's own gated writes.
- Never silent: unpinned
npx -y/curl|bash, credential-passthrough MCP servers, self-updating tools, harness-config writes, budget-crossing MCP adds, and sandbox/permission-disabling flags extend the publish/irreversible exception list (clause: a value only a human can supply). Default: each is skipped and recordedonly you can do; everything else resolves by best judgment.--ask: each gets a separate per-item confirmation naming the risk. - State-exempt — externally durable. The manifest
~/.config/ds-rig/manifest.json(tools, versions, privacy/permission entries) is the durable record; writes nods/audit/state, nothing to the repo. - Standalone. Every tool referenced is advisory: present → use; absent → documented zero-dependency fallback.
- Full accounting enforced: every finding and planned check ends in an explicit disposition (fixed / skipped + reason / only you can do); summary totals balance.
- Pre-existing / out-of-scope errors detected during work are NOT skipped — fixed inline or escalated with concrete blocker.
What ships with it
4 files 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.
- 2d ago Changed · -5 lines · -18 tokens per session 05bea838cd02
- 5d ago First seen · 182 lines · 80 tokens per session scan A a567938ba6d0
ds-rig is a skill published in the GitHub repository sungurerdim/dev-skills (1 stars, last pushed 3d ago), licensed MIT. It adds 62 tokens to every session and 4,952 once invoked, about $0.0003 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-31.
Other skills, from other repositories
ring:migrating-to-lib-observability
Migrating a Lerian Go app off lib-commons observability imports (deprecated shims or removed APIs) to lib-observability via a fixed mapping table, then bumps go.mod and validates the build; ring:backend-go applies the edits. Covers log/zap/runtime/assert, opentelemetry/tracing, HTTP middleware, context helpers, and…
ring:searching-code
Forensic code search and analysis with optional Chain of Draft (CoD) ultra-concise mode. Five-phase methodology (clarification, planning, execution, analysis, synthesis) with severity assessment. Use for targeted investigation of specific patterns, bugs, or vulnerabilities. Skip for broad architecture mapping (use…
ring:exploring-codebases
Exploring a codebase across phases: scopes the target, detects architecture, components, and layers, deep-dives each discovered perspective, then synthesizes findings into actionable guidance with file:line evidence. Use to understand how a feature or system works before planning changes, or to orient on an unfamiliar…
ring:instrumenting-streaming-events
Instrumenting streaming events: wires lib-streaming event emission end-to-end into a Lerian Go service via a 13-gate cycle (catalog, Builder bootstrap, Emit sites, outbox, HTTP manifest, NoopEmitter fallback, integration and chaos tests), dispatching ring:backend-go under TDD. Consumes the validated…
ring:planning-codebase-simplification
Planning a whole-codebase simplification: audits a Go/TS codebase for needless abstraction and emits a KILL/REVIEW/KEEP plan plus a ring:running-dev-cycle task array. Plans only — no edits. Detects single-impl interfaces, pass-through shims, translation-free adapters, and dead-code cascade chains under an inverted…
ring:mapping-feature-relationships
Mapping how features relate and phasing the work: categorizing PRD features, grouping them into domains, charting cross-feature journeys, dependencies, and integration points, and defining the binding Phases that plan.md mirrors one-to-one at Gate 7. Gate 2 of ring:planning-large-features; runs after…