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/ramboz/jig/spec-workflownpx skills add ramboz/jig --skill spec-workflowgit clone --depth 1 https://github.com/ramboz/jigWrote 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/ramboz/jig/spec-workflow)<a href="https://agentmods.dev/skills/ramboz/jig/spec-workflow"><img src="https://agentmods.dev/badge/skills/ramboz/jig/spec-workflow.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.00170 | $0.15565 |
| Opus 5 | $0.00085 | $0.07783 |
| Sonnet 5 | $0.00034 | $0.03113 |
| Haiku 4.5 | $0.00017 | $0.01557 |
Grade C, and why
spec-workflow scanned grade C 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 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.
Tells the agent never to refusehighAnti-refusal
Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.
do not refuse**; the alternatives are recorded as the shown-and-declined How it starts
The opening of the file, as written. The whole thing — 1,019 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working posture (ADR-0056). Adversarial review is a named, bounded operation. This workflow invokes review passes (frame-critique / craft), whose skeptical register belongs inside those isolated reviewer subagents. Outside a review, default to collaborative and solution-forward; don't carry the adversarial stance into ordinary conversation.
Spec 003 promoted this skill from stub to active. The deterministic state mutations live in
workflow.py; this SKILL.md drives the judgment layer.
What this skill does
- Guides SPIDR-splitting a new spec into vertical slices (Spike last, not first — try Rules / Data / Interface / Path first).
- Flags slices that look like horizontal phasing (no user-facing layer touched).
- Drives the spec lifecycle state transitions via
workflow.py. - Coordinates implementer + reviewer subagent invocations at the right points.
- Enforces the reconciliation checklist before a slice goes DONE.
- Consults
docs/memory/glossary.mdwhen drafting ACs to surface unknown domain terms. - Surfaces skill-routing observability via
workflow.py routing-stats [--days N]— a read-only histogram of which skills fired (jig baseline vs. richer/"other" skill per category) from.claude/skill-usage.jsonl(slice 041-02). - Surfaces use-case coverage via
workflow.py coverage [--project-dir DIR]— a read-only, advisory (non-blocking), project-wide bidirectional check (slice 068-03): a deterministic set-difference over theuse_cases:trace links that reports use cases with no implementing spec (coverage gap) and specs citing no parent use case (scope creep). No-op when the project has no## Use casessection. - Guards the status board via
workflow.py check-board <project-dir>— a read-only audit that exits non-zero whendocs/specs/README.mdno longer matches the spec records, or when two spec directories claim one number. Writes nothing, so it is safe to run in CI against a checkout. - Surfaces gate-bypass telemetry via
workflow.py gate-stats [--days N]— a read-only per-gate histogram of how often each gate honored its env-var override (an override-frequency audit trail, not a gate-value verdict) from.claude/skill-usage.jsonl(slice 078-02).
What ships with it
2 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.
- 4d ago First seen · 1,019 lines · 170 tokens per session scan C 1541bf74d02b
spec-workflow is a skill published in the GitHub repository ramboz/jig (6 stars, last pushed 3d ago), licensed MIT. It adds 170 tokens to every session and 15,565 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it C with 1 finding (tells the agent never to refuse). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
motherduck-build-cfa-app
Design a MotherDuck-backed customer-facing analytics app. Use for embedded analytics, multi-tenant SaaS reporting, or product analytics for external users -- whenever the decision depends on per-customer isolation, backend routing, service-account boundaries, read scaling, or Hypertenancy-style patterns.
motherduck-build-dashboard
Build a live MotherDuck dashboard as a Dive. Use when composing one shareable KPI, trend, and breakdown story over existing MotherDuck data, especially when the result should stay a saved workspace artifact rather than a full application.
motherduck-build-data-pipeline
Design an end-to-end MotherDuck data pipeline. Use for ETL/ELT workflows -- choosing raw, staging, and analytics boundaries, bulk ingestion paths, transformation sequencing, dlt/dbt integration, publication targets, or whether DuckLake is actually required.
motherduck-connect
Connect to MotherDuck from any application. Use when setting up database connectivity via the Postgres endpoint (recommended), pgduckdb, native DuckDB API, or JDBC. Covers connection strings, authentication, SSL, and environment variable configuration.
motherduck-create-dive
Create, edit, manage, share, or embed MotherDuck Dives — live React + SQL dashboards, charts, and data apps saved in the workspace. Use for any dashboard, chart, KPI display, or data visualization over MotherDuck data, and for Dive authoring mechanics such as getdiveguide, useSQLQuery, local preview, version history…
motherduck-create-flight
Create, schedule, run, and debug MotherDuck Flights — Python jobs that run on MotherDuck compute. Use whenever someone wants to create a flight, schedule a Python script or recurring job on MotherDuck, set up scheduled ingestion from Postgres, dlt sources, S3, BigQuery, Snowflake, or APIs, refresh aggregates or…