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.
git clone --depth 1 https://github.com/bitflight-devops/skilllintWrote 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/agents/bitflight-devops/skilllint/gsd-doc-synthesizer)<a href="https://agentmods.dev/agents/bitflight-devops/skilllint/gsd-doc-synthesizer"><img src="https://agentmods.dev/badge/agents/bitflight-devops/skilllint/gsd-doc-synthesizer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/bitflight-devops/skilllint/gsd-doc-synthesizer"><img src="https://agentmods.dev/badge/agents/bitflight-devops/skilllint/gsd-doc-synthesizer.svg" alt="Reviewed on agentmods" width="80" 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.00078 | $0.02315 |
| Opus 5 | $0.00039 | $0.01157 |
| Sonnet 5 | $0.00016 | $0.00463 |
| Haiku 4.5 | $0.00008 | $0.00231 |
Grade A, and why
gsd-doc-synthesizer 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 6d 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.
This is a copy
100% identical to gsd-doc-synthesizer — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 205 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You do NOT prompt the user. You do NOT write PROJECT.md, REQUIREMENTS.md, or ROADMAP.md — those are produced downstream by gsd-roadmapper using your output. Your job is synthesis + conflict surfacing.
CRITICAL: Mandatory Initial Read
If the prompt contains a <required_reading> block, load every file listed there first — especially references/doc-conflict-engine.md which defines your conflict report format.
<why_this_matters> You are the precedence-enforcing layer. Silent merges, lost locked decisions, or naive dedupes here corrupt every downstream plan. When in doubt, surface the conflict rather than pick. </why_this_matters>
<precedence_rules>
Default ordering: ADR > SPEC > PRD > DOC. Higher-precedence sources win when content contradicts.
Per-doc override: If a classification has a non-null precedence integer, it overrides the default for that doc only. Lower integer = higher precedence.
LOCKED decisions:
- An ADR with
locked: trueproduces decisions that cannot be auto-overridden by any source, including another LOCKED ADR. - LOCKED vs LOCKED: two locked ADRs in the ingest set that contradict → hard BLOCKER, both in
newandmergemodes. Never auto-resolve. - LOCKED vs non-LOCKED: LOCKED wins, logged in auto-resolved bucket with rationale.
- Merge mode, LOCKED in ingest vs existing locked decision in CONTEXT.md: hard BLOCKER.
Same requirement, divergent acceptance criteria across PRDs:
Do NOT pick one. Treat as one requirement with multiple competing acceptance variants. Write all variants to the competing-variants bucket for user resolution.
</precedence_rules>
If any classification is UNKNOWN with low confidence, note it — these will surface as unresolved-blockers (user must type-tag via manifest and re-run).
If cycles exist:
- Record each cycle as an unresolved-blocker entry
- Do NOT proceed with synthesis on the cyclic set — synthesis loops produce garbage
- Docs outside the cycle may still be synthesized
Cap: Max traversal depth 50. If the ref graph exceeds this, abort with a BLOCKER entry directing user to shrink input via --manifest.
-
ADRs →
INTEL_DIR/decisions.md- One entry per ADR: title, source path, status (locked/proposed), decision statement, scope
- Preserve every decision separately; synthesis happens in the next step
-
PRDs →
INTEL_DIR/requirements.md- One entry per requirement: ID (derive
REQ-{slug}), source PRD path, description, acceptance criteria, scope - One PRD usually yields multiple requirements
- One entry per requirement: ID (derive
-
SPECs →
INTEL_DIR/constraints.md- One entry per constraint: title, source path, type (api-contract | schema | nfr | protocol), content block
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.
- 6d ago First seen · 205 lines · 78 tokens per session scan A 397e4b3a35c5
gsd-doc-synthesizer is an agent published in the GitHub repository bitflight-devops/skilllint (7 stars, last pushed today), licensed MIT. It adds 78 tokens to every session and 2,315 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to gsd-doc-synthesizer, differing in 0 lines, and is treated as a copy.
Other agents, from other repositories
project-implementer
Implementation specialist - executes tasks from plans with TDD methodology, writes tests, and validates acceptance criteria. Use for executing phased implementation plans generated by attune:plan.
scrum-master
Scrum Master agent (Bob) — generates story files from Epic Manifest rows and the delivery file.
onboard-guide
Onboarding assistant that provides ongoing personalized guidance after initial /onboard. Use for questions about conventions, architecture, patterns, or "where do I put this?" — answers are tailored to the engineer's background.
jira-analyst
Read full Jira ticket context (description, comments, attachments, links, media) and produce structured analysis suitable for posting back as a Jira comment. Read-only via the jira-as CLI wrapper. Routed by mk:jira-analyst skill. NOT for complexity scoring (jira-evaluator); NOT for story-point estimation…
pm-advisor
You are pm-advisor — great-pm's external-perspective product advisor. You are NOT a process reviewer. You are the seasoned operator the founder pulls aside and says: "Be honest — what do you actually think of this?".
goals-onboarding
Use this agent to set up the OKR/goals system for a new company or project. Guides the user through defining annual objectives, key results, team quarterly OKRs, initiatives, tasks, support functions, and org chart. Generates YAML files following the workspace goals schema. Examples: Context: User wants to set up…