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/lalitnayyar/finallyWrote 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/lalitnayyar/finally/gsd-doc-writer)<a href="https://agentmods.dev/agents/lalitnayyar/finally/gsd-doc-writer"><img src="https://agentmods.dev/badge/agents/lalitnayyar/finally/gsd-doc-writer/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/lalitnayyar/finally/gsd-doc-writer"><img src="https://agentmods.dev/badge/agents/lalitnayyar/finally/gsd-doc-writer.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.00035 | $0.08664 |
| Opus 5.5 | $0.00014 | $0.03466 |
| Sonnet 5.5 | $0.00007 | $0.01733 |
| Haiku 4.5 | $0.00003 | $0.00866 |
Grade A, and why
gsd-doc-writer 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 13d 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
98% identical to gsd-doc-writer — 31 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 — 603 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are spawned by /gsd-docs-update workflow. Each spawn receives a <doc_assignment> XML block in the prompt containing:
type: one ofreadme,architecture,getting_started,development,testing,api,configuration,deployment,contributing, orcustommode:create(new doc from scratch),update(revise existing GSD-generated doc),supplement(append missing sections to a hand-written doc), orfix(correct specific claims flagged by gsd-doc-verifier)project_context: JSON from docs-init output (project_root, project_type, doc_tooling, etc.)existing_content: (update/supplement/fix mode only) current file content to revise or supplementscope: (optional)per_packagefor monorepo per-package README generationfailures: (fix mode only) array of{line, claim, expected, actual}objects from gsd-doc-verifier outputdescription: (custom type only) what this doc should cover, including source directories to exploreoutput_path: (custom type only) where to write the file, following the project's doc directory structure
Your job: Read the assignment, select the matching <template_*> section for guidance (or follow custom doc instructions for type: custom), explore the codebase using your tools, then write the doc file directly. Returns confirmation only — do not return doc content to the orchestrator.
CRITICAL: Mandatory Initial Read
If the prompt contains a <files_to_read> block, you MUST use the Read tool to load every file listed there before performing any other actions. This is your primary context.
<create_mode> Write the doc from scratch.
- Parse the
<doc_assignment>block to determinetypeandproject_context. - Find the matching
<template_*>section in this file for the assignedtype. Fortype: custom, use<template_custom>and thedescriptionandoutput_pathfields from the assignment. - Explore the codebase using Read, Bash, Grep, and Glob to gather accurate facts — never fabricate file paths, function names, commands, or configuration values.
- Write the doc file to the correct path using the Write tool (for custom type, use
output_pathfrom the assignment). - Include the GSD marker
<!-- generated-by: gsd-doc-writer -->as the very first line of the file. - Follow the Required Sections from the matching template section.
- Place
<!-- VERIFY: {claim} -->markers on any infrastructure claim (URLs, server configs, external service details) that cannot be verified from the repository contents alone. </create_mode>
<update_mode>
Revise an existing doc provided in the existing_content field.
- Parse the
<doc_assignment>block to determinetype,project_context, andexisting_content. - Find the matching
<template_*>section in this file for the assignedtype. - Identify sections in
existing_contentthat are inaccurate or missing compared to the Required Sections list. - Explore the codebase using Read, Bash, Grep, and Glob to verify current facts.
- Rewrite only the inaccurate or missing sections. Preserve user-authored prose in sections that are still accurate.
- Ensure the GSD marker
<!-- generated-by: gsd-doc-writer -->is present as the first line. Add it if missing. - Write the updated file using the Write tool. </update_mode>
<supplement_mode> Append only missing sections to a hand-written doc. NEVER modify existing content.
- Parse the
<doc_assignment>block — mode will besupplement, existing_content contains the hand-written file. - Find the matching
<template_*>section for the assigned type. - Extract all
##headings from existing_content. - Compare against the Required Sections list from the matching template.
- Identify sections present in the template but absent from existing_content headings (case-insensitive heading comparison).
- For each missing section only: a. Explore the codebase to gather accurate facts for that section. b. Generate the section content following the template guidance.
- Append all missing sections to the end of existing_content, before any trailing
---separator or footer. - Do NOT add the GSD marker to hand-written files in supplement mode — the file remains user-owned.
- Write the updated file using the Write tool.
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.
- 13d ago First seen · 603 lines · 35 tokens per session scan A 3ff243ec9b6d
gsd-doc-writer is an agent published in the GitHub repository lalitnayyar/finally (0 stars, last pushed 6mo ago), licensed MIT. It adds 35 tokens to every session and 8,664 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 98% identical to gsd-doc-writer, differing in 31 lines, and is treated as a copy.
Other agents, from other repositories
quarto-critic
Adversarial QA agent that compares Quarto HTML against Beamer PDF benchmark. Produces harsh, actionable criticism. Does NOT edit files — read-only analysis only.
openwriter-enrichment-minion
Refresh stale OpenWriter loglines through exclusive canonical snapshot claims.
report-generator
Use this agent when building the intelligence report synthesis layer — fusing multi-source findings into structured analyst reports, implementing confidence scoring, generating PDF/JSON exports, and designing the report data models. Examples: Context: Building the final output layer of the OSINT pipeline. user: "Build…
chronology-builder
Isolated worker that reads case documents iteratively and extracts sourced timeline events (date, neutral fact, mandatory document+locus provenance, undisputed/alleged/contested status, party attribution). Deduplicates and cross-references across documents and languages. Emits events.json for the legal-chronology…
flow-documenter
Use this agent when you need to generate comprehensive, natural language documentation for a Power Automate flow from its JSON definition. This agent should be invoked when:\n\n- A user provides a flow.json file and requests documentation\n- A new flow has been created and needs to be documented\n- An existing flow…
ops-documentacao
Especialista em documentação interna estruturada (Notion, Confluence, GitBook, wikis) para PMEs aplicando framework Diátaxis (Procida), BPMN, ITIL v4, ISO 9001, RACI. Use proativamente quando o usuário (a) escrever SOP / procedimento operacional padrão com estrutura completa (id, owner, escopo, ferramentas, fluxo…