technical-writer
Skill22 starsChanged 3 months agoMITView on GitHub
Produces clear, well-structured technical documentation — guides, API docs, READMEs, tutorials, reference pages, and release notes — by analyzing audience, choosing the right document type, applying plain-language and information-architecture principles, and including runnable examples. Use this skill when the user asks to write or improve docs, a README, a how-to guide, a tutorial, API/reference documentation, onboarding material, release notes, or wants prose made clearer, simpler, or better organized for a specific reader.
46 other projects use a version of this.
Adopted by
Most recently taken up by
- vercel-labs/xreftheir own version, first seen Nov 8, 2026
- vercel-labs/issue-graphtheir own version, first seen Nov 8, 2026
- unional/skillstheir own version, first seen Nov 6, 2026
- lahfir/agent-desktoptheir own version, first seen Nov 1, 2026
- vercel-labs/ai-clitheir own version, first seen Nov 1, 2026
- vercel-labs/emulatetheir own version, first seen Nov 1, 2026
Used with
Projects with it also use database-administrator.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
nahisahoSkilldatabase-administrator
Copilot agent that assists with database operations, performance tuning, backup/recovery, monitoring, and high availability configuration
Also in 3 projects that use this
Other versions46 projects use a version of this.
Word for word · 2
- JayRHa/agent-skills★ 12100% same
- JayRHa/AgentSkills★ 12100% same
Edited · 0
None found.
Wrote their own version · 44
- vercel-labs/agent-browser★ 47ksame name
- vercel-labs/json-render★ 19ksame name
- lahfir/agent-desktop★ 19ksame name
- vercel-labs/agent-desktop★ 19ksame name
- vercel-labs/portless★ 13ksame name
- vercel-labs/deepsec★ 8.4ksame name
- vercel-labs/scriptc★ 6.5ksame name
- vercel-labs/fx★ 3.8ksame name
- vercel-labs/wterm★ 3.7ksame name
- vercel/chat★ 2.5ksame name
34 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository194 other files it gives its agents.
- 0-templateSkill
- ab-test-analyzerSkill
- academy-guideSkill
- add-to-my-skillsSkill
- adr-authorSkill
- ai-tools-setupSkill
- algorithmic-artSkill
- api-and-interface-designSkill
- api-designerSkill
- api-docs-writerSkill
- apple-store-submitSkill
- aws-cost-optimizerSkill
- bash-script-hardeningSkill
- blog-post-writerSkill
- book-summarizerSkill
- branch-cleanupSkill
- brand-copy-landingSkill
- brand-copySkill
- brand-designSkill
- brand-guidelinesSkill
- browser-testing-with-devtoolsSkill
- canvas-designSkill
- changelog-generatorSkill
- changelog-keeperSkill
- chart-chooserSkill
- ci-cd-and-automationSkill
- ci-fix-loopSkill
- claude-apiSkill
- cloudflare-block-countriesSkill
- coderabbitloopSkill
- code-review-and-qualitySkill
- code-reviewerSkill
- code-simplificationSkill
- codexloopSkill
- comms-notionSkill
- comms-slackSkill
- comms-whatsappSkill
- competitive-analysisSkill
- concept-explainerSkill
- constraint-driven-developmentSkill
- context-engineeringSkill
- context-repoSkill
- cover-letter-writerSkill
- crash-courseSkill
- cron-schedulerSkill
- data-digestSkill
- data-pipeline-architectSkill
- debug-detectiveSkill
- debugging-and-error-recoverySkill
- decision-matrixSkill
- dependabot-triageSkill
- dependency-upgraderSkill
- deprecation-and-migrationSkill
- dev-instantdbSkill
- discernment-nudgeSkill
- doc-coauthoringSkill
- dockerfile-proSkill
- docs-index-keeperSkill
- documentation-and-adrsSkill
- docxSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 11 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 38 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Use the bundled resources:
- Distinctive: line 24
Follow these steps in order.
- Very specific: line 28
Choose the document type: Use references/doc-types.md and the decision table below.
- Very specific: line 32
Draft for the reader, not the author: Write in plain language per references/style-guide.md: short sentences, active voice, "you" for the …
- Distinctive: line 34
Add concrete examples: Every abstract instruction needs a concrete instance: a real command with real flags, a real request/response, a …
- Distinctive: line 51
If a request spans multiple intents, write multiple documents (or clearly separated sections) and cross-link them.
- Distinctive: line 55
Prefer the short, common word: *use* not *utilize*, *help* not *facilitate*, *about* not *approximately*.
- Distinctive: line 67
Before: *"In order to facilitate the initialization of the application, it is necessary that the configuration file should be created by …
- Very specific: line 69
After: *"Before you start the app, create a config.yml file.
- Distinctive: line 75
Write the one-sentence purpose statement first and keep it visible while drafting.
- Distinctive: line 78
Use consistent terminology, casing, and formatting.
- Distinctive: line 79
Test your own instructions by following them literally on a clean setup — fix every gap a real first-timer would hit.
- Distinctive: line 80
Use semantic headings so the document is navigable by skim and by screen reader.
- Distinctive: line 87
Wall of text: no headings, no lists, no examples.
“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Technical Writer
Overview
Keywords: technical documentation, docs, README, how-to guide, tutorial, reference, API docs, onboarding, release notes, plain language, audience analysis, information architecture, style guide, editing, clarity.
This skill turns raw knowledge — code, features, processes, half-written notes — into documentation a real reader can act on. Good technical writing is not "explain everything"; it is "help this specific reader accomplish this specific task with the least friction." That means choosing the correct document type, ordering information so the reader is never blocked, writing in plain language, and proving claims with concrete, copy-pasteable examples.
Use the bundled resources:
references/doc-types.md— the four Diátaxis document types (tutorial, how-to, reference, explanation), when to use each, and structural templates.references/style-guide.md— plain-language rules, sentence/word patterns, formatting conventions, accessibility, and an editing checklist.scripts/readability.py— a stdlib-only readability and writing-smell analyzer (grade level, passive voice, long sentences, weasel words). Runs on any.mdor.txt.templates/how-to-guide.md— a fill-in template for a task-oriented guide.examples/before-after.md— a worked rewrite of a weak doc section into a strong one.
Workflow
Follow these steps in order. Do not start writing prose until steps 1–3 are done.
- Identify the reader and their job. Ask or infer: Who reads this? (end user, integrating developer, ops engineer, new teammate, executive.) What is their current knowledge level? What single task or question brings them here? What do they need to be true when they leave? Write this down in one sentence: "This doc helps [reader] [accomplish task] so that [outcome]."
- Choose the document type. Use
references/doc-types.mdand the decision table below. Mixing types in one document is the most common cause of confusing docs — keep a tutorial out of your reference, keep explanation out of your how-to. - Outline the information architecture. List the sections in the order the reader needs them. Front-load the answer; put prerequisites before steps, steps before troubleshooting, common cases before edge cases. For anything longer than a screen, add a short overview/TOC at top so readers can scan.
- Draft for the reader, not the author. Write in plain language per
references/style-guide.md: short sentences, active voice, "you" for the reader, present tense, one idea per paragraph. Lead each section with its conclusion. - Add concrete examples. Every abstract instruction needs a concrete instance: a real command with real flags, a real request/response, a real config snippet. Show expected output. Examples must be complete and runnable — no
..., no<your-thing-here>unless immediately explained. - Edit ruthlessly. Cut filler, deduplicate, fix passive voice and jargon. Run
scripts/readability.pyon the draft to catch long sentences, passive voice, and weasel words. Verify every command, link, and code block actually works. - Add scannability and navigation. Descriptive headings (not "Introduction"), bulleted lists for parallel items, numbered lists for ordered steps, tables for option/parameter sets, callouts for warnings. Ensure a reader skimming only headings still gets the gist.
Decision Framework — which document type?
| Reader's intent | Document type | Optimize for |
| "I'm new, teach me by doing" | Tutorial | A guaranteed successful first experience; hold their hand |
| "I have a specific task, tell me the steps" | How-to guide | Speed to the goal; assume basic competence |
| "I need to look up exact details" | Reference | Completeness, accuracy, consistency, easy lookup |
| "I want to understand why / how it works" | Explanation | Context, concepts, trade-offs, the bigger picture |
| "What changed in this version?" | Release notes / changelog | Scannable list grouped by impact (added/changed/fixed/removed) |
| "How do I install and start?" | README / getting started | Shortest path from zero to first success |
If a request spans multiple intents, write multiple documents (or clearly separated sections) and cross-link them.
Plain-language quick rules
- Prefer the short, common word: use not utilize, help not facilitate, about not approximately.
- One sentence, one idea. Aim under ~20 words; break up anything over ~25.
- Active voice with a clear actor: "Run the migration" not "The migration should be run."
- Address the reader as "you." Use imperatives for steps: "Open the file."
- Define a term or acronym on first use; then stay consistent — never switch synonyms for the same concept.
- Lead with the conclusion (BLUF — bottom line up front), then supporting detail.
- Replace vague quantifiers (several, various, robust, simply, just, easily) with specifics or delete them.
See references/style-guide.md for the full list and the editing checklist.
Worked example (condensed)
Before: "In order to facilitate the initialization of the application, it is necessary that the configuration file should be created by the user prior to the execution of the startup process."
After: "Before you start the app, create a config.yml file. See the example below."
The rewrite cuts 30 words to 16, removes passive voice, adds "you," names the concrete artifact, and points to an example. See examples/before-after.md for a full section-length rewrite.
Best Practices
- Write the one-sentence purpose statement first and keep it visible while drafting; cut anything that doesn't serve it.
- Show, don't just tell — pair every instruction with a runnable example and its expected output.
- Make the happy path effortless; push edge cases, caveats, and deep theory into clearly labeled later sections or separate explanation docs.
- Use consistent terminology, casing, and formatting; pick one term per concept and never deviate.
- Test your own instructions by following them literally on a clean setup — fix every gap a real first-timer would hit.
- Use semantic headings so the document is navigable by skim and by screen reader; keep heading levels properly nested.
- Date and version reference docs and release notes so readers know if they're current.
Common Pitfalls
- Curse of knowledge: skipping steps that feel "obvious" to you but block a newcomer. Have someone unfamiliar try it.
- Mixing doc types: dumping conceptual theory into a step list, or burying lookup tables inside a tutorial. Split them.
- Wall of text: no headings, no lists, no examples. Break it up; let readers scan.
- Placeholder examples that don't run:
command --flag <value>with no real value or output. Provide a real, working instance. - Vague hedging: "this should generally work in most cases" tells the reader nothing. Be specific or test it.
- Documenting the implementation instead of the task: readers want to accomplish a goal, not read a tour of your code.
- Stale docs: instructions that no longer match the product. Tie doc updates to the change that triggered them.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

