Borrowing it
Nothing to install: this file belongs to mitchdenny/hex1b. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mitchdenny/hex1b/main/.github/skills/doc-writer/SKILL.mdgit clone --depth 1 https://github.com/mitchdenny/hex1bWrote 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/mitchdenny/hex1b/doc-writer)<a href="https://agentmods.dev/skills/mitchdenny/hex1b/doc-writer"><img src="https://agentmods.dev/badge/skills/mitchdenny/hex1b/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/skills/mitchdenny/hex1b/doc-writer"><img src="https://agentmods.dev/badge/skills/mitchdenny/hex1b/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.00040 | $0.07987 |
| Opus 5.5 | $0.00016 | $0.03195 |
| Sonnet 5.5 | $0.00008 | $0.01597 |
| Haiku 4.5 | $0.00004 | $0.00799 |
Grade C, and why
doc-writer 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 2mo 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf .tmp-static-gen How it starts
The opening of the file, as written. The whole thing — 1,072 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Documentation Writer Skill
This skill provides guidelines for AI coding agents to help maintainers produce accurate and easy-to-maintain documentation for the Hex1b project. The repository contains two primary types of documentation, each serving different audiences and following different conventions.
Documentation Types
1. XML API Documentation
Location: C# source files in src/Hex1b/
Audience: Library consumers, API reference generators, IDE intellisense users
Format: XML doc comments (///)
Build Setting: GenerateDocumentationFile is enabled in src/Hex1b/Hex1b.csproj
Purpose
XML documentation comments provide:
- Inline help in IDEs (IntelliSense, code completion)
- Generated API reference documentation
- Contract documentation for public APIs
- Usage examples for complex APIs
Best Practices for XML Documentation
1. Document All Public APIs
Required for:
- Public classes, structs, records, enums
- Public properties and fields
- Public methods and constructors
- Public events and delegates
Example:
/// <summary>
/// Represents a color that can be used in the terminal.
/// </summary>
public readonly struct Hex1bColor
{
/// <summary>
/// Creates a color from RGB values.
/// </summary>
/// <param name="r">Red component (0-255)</param>
/// <param name="g">Green component (0-255)</param>
/// <param name="b">Blue component (0-255)</param>
/// <returns>A new Hex1bColor instance with the specified RGB values.</returns>
public static Hex1bColor FromRgb(byte r, byte g, byte b) => new(r, g, b);
}
2. Write Clear, Concise Summaries
- Start with a verb (e.g., "Creates", "Gets", "Sets", "Calculates")
- Keep it to one or two sentences
- Describe what it does, not how it does it
- Use third person ("Creates a widget" not "Create a widget")
Good:
/// <summary>
/// Creates a Layout that wraps a single child widget with clipping enabled.
/// </summary>
What ships with it
6 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.
- 2mo ago First seen · 1,072 lines · 40 tokens per session scan C f09daedd88ac
doc-writer is a skill published in the GitHub repository mitchdenny/hex1b (181 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 7,987 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
react-ink
Use this skill when building terminal user interfaces with React Ink - interactive CLI apps, terminal dashboards, progress displays, or keyboard-driven TUI components. Triggers on React Ink, Ink components, terminal UI with React, useInput, useFocus, Box/Text layout, create-ink-app, and any task requiring rich…
opentelemetry-net-instrumentation
Provides guidance for implementing OpenTelemetry instrumentation in .NET codebases, covering tracing (Activities/Spans), metrics, logs, naming conventions, error handling, performance, SDK setup, resources, context propagation, and API design best practices.
mcp
Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C# SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation. USE FOR: .NET MCP servers or clients; stdio versus HTTP transport choices; tools, resources, prompts, completions, and…
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…
semantic-kernel
Build AI-enabled .NET applications with Semantic Kernel using services, plugins, prompts, and function-calling patterns that remain testable and maintainable. USE FOR: adding AI-driven prompts, plugins, or orchestration to a .NET app; reviewing kernel construction, service registration, or plugin usage; building…
template-instantiation
Creates .NET projects from templates with validated parameters, smart defaults, Central Package Management adaptation, and latest NuGet version resolution. USE FOR: creating new dotnet projects, scaffolding solutions with multiple projects, installing or uninstalling template packages, creating projects that respect…