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/dbhq-uk/legwork-skill/legworknpx skills add dbhq-uk/legwork-skill --skill legworkgit clone --depth 1 https://github.com/dbhq-uk/legwork-skillWrote 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/dbhq-uk/legwork-skill/legwork)<a href="https://agentmods.dev/skills/dbhq-uk/legwork-skill/legwork"><img src="https://agentmods.dev/badge/skills/dbhq-uk/legwork-skill/legwork.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.00114 | $0.04354 |
| Opus 5 | $0.00057 | $0.02177 |
| Sonnet 5 | $0.00023 | $0.00871 |
| Haiku 4.5 | $0.00011 | $0.00435 |
Grade A, and why
legwork 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 5d 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 — 386 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Legwork
What this is for
Decision research. Not academic research. The question is always some version of "what should we do about X", and the deliverable is judged on whether it is usable, not on whether it is exhaustive.
That shapes everything below. A claim is judged by whether its source is the right kind of thing for that claim, not by whether its domain is respectable. Three sources agreeing only counts if they could have disagreed. And a run that cannot answer the question says so rather than producing hedged length.
Autonomy principle. Infer what you need from context, pick a level, and start. Announce the level in one line and proceed; do not ask the user to choose. They can redirect mid-run, which costs far less than a blocking question on every request. Stop only for a critical error or an incomprehensible query.
Levels
Depth raises rigour. It never raises length.
| quick | standard | deep | |
|---|---|---|---|
| Frame | Decision plus 2-3 sub-questions | Plus named falsifiers | Plus second-order angles |
| Gather | SERP snippets; fetch only to pin a figure | Direct-fetch the top sources per finding | A primary source for every finding |
| Challenge | Independence grouping only | One disconfirming search per finding | Per-finding disconfirming pass plus an origin audit |
| Format | brief | brief or report | report |
| Gate level | --level quick |
--level standard |
--level deep |
| Rough time | 3-5 min | 8-12 min | 20-40 min |
Default is standard. Use the level the user names (quick, standard,
deep, or an equivalent like "quick scan" or "go deep"), else
$LEGWORK_DEFAULT_MODE, else standard. "Deep research" on its own is an
invocation phrase for this skill, not a request for deep level - fall through
to the default.
Escalate silently by one level if scoping reveals the question is materially higher-stakes than the request implied, and say so in the same opening line.
Opening line, then straight into Phase 1:
What ships with it
46 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.
- reference/methodology.md 14 KB
- reference/quality-gates.md 7.2 KB
- reference/subagent-brief.md 5.3 KB
- scripts/bd_search.py 9.2 KB runs code
- scripts/check.py 22 KB runs code
- scripts/finish.py 5.8 KB runs code
- scripts/independence.py 20 KB runs code
- scripts/index.py 7.7 KB runs code
- scripts/matrix.py 6.5 KB runs code
- scripts/sources.py 27 KB runs code
- setup.sh 4.2 KB runs code
- templates/brief_template.md 4.8 KB
- templates/report_template.md 8.1 KB
- tests/conftest.py 293 B runs code
- tests/fixtures/concentrated.md 1.4 KB
- tests/fixtures/concentrated.tsv 1.3 KB
- tests/fixtures/could_not_answer.md 659 B
- tests/fixtures/invalid_report.md 313 B
- tests/fixtures/no_evidence.md 560 B
- tests/fixtures/no_evidence.tsv 173 B
- tests/fixtures/one_origin.md 848 B
- tests/fixtures/one_origin.tsv 1.1 KB
- tests/fixtures/undated_evidence.md 582 B
- tests/fixtures/undated_evidence.tsv 228 B
- tests/fixtures/unfetched_citation.md 662 B
- tests/fixtures/unfetched_citation.tsv 254 B
- tests/fixtures/valid_brief.md 1.3 KB
- tests/fixtures/valid_brief.tsv 770 B
- tests/fixtures/valid_report.md 1.7 KB
- tests/fixtures/valid_report.tsv 765 B
- tests/test_check_format.py 2.7 KB runs code
- tests/test_check_matrix_index.py 6.0 KB runs code
- tests/test_check_portfolio.py 6.6 KB runs code
- tests/test_check.py 8.7 KB runs code
- tests/test_evals.py 2.5 KB runs code
- tests/test_finish.py 5.2 KB runs code
- tests/test_freshness.py 3.5 KB runs code
- tests/test_gate_strictness.py 4.2 KB runs code
- tests/test_hook.py 7.4 KB runs code
- tests/test_independence.py 8.3 KB runs code
- tests/test_index.py 4.9 KB runs code
- tests/test_matrix.py 4.2 KB runs code
- tests/test_party_tenancy.py 5.4 KB runs code
- tests/test_portfolio.py 5.1 KB runs code
- tests/test_resume.py 2.4 KB runs code
- tests/test_sources.py 8.1 KB runs code
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.
- 5d ago First seen · 386 lines · 114 tokens per session scan A 2f7b6d68a2a8
legwork is a skill published in the GitHub repository dbhq-uk/legwork-skill (3 stars, last pushed 18d ago), licensed MIT. It adds 114 tokens to every session and 4,354 once invoked, about $0.0006 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
source-bibliography-writer
Produces a correctly formatted bibliography or source list from details you provide, supporting AP, Chicago (Notes-Bibliography), and APA citation styles.
footnotes-formatter
Takes a list of messy, inconsistent, or unnumbered notes and references and returns them correctly numbered, consistently formatted, and matched to your chosen citation style.
Authority Synthesis
Use when synthesizing a rule statement from multiple judicial opinions (and, where relevant, statutory or secondary sources) for a single Question Presented, producing a structured synthesis with explicit majority-and-minority handling, a temporal-confidence pass for older authority, and a Holding / Relevance / Weight…
Legal Research Memo
Use when producing a structured legal research memo in response to a specific legal question, organizing analysis using IRAC discipline (Question Presented, Brief Answer, Facts, Assumptions, Discussion/Analysis, Conclusion) with explicit sourcing requirements and attorney verification checkpoints.
Case Brief
Use when producing a structured brief of a single judicial opinion for attorney review, extracting the facts, procedural posture, issue, holding, reasoning, rule, and weight in a fixed template — with every slot tied to a specific passage in the provided opinion and the case verified against…
Regulatory History Tracer
Use when tracing the amendment history of a specific CFR section — what the text said on a given date, which Federal Register rulemakings amended it, and what version was in effect at a specific point in time — producing a date-stable history table for attorney review, verified through connectors/ecfr.md and…