agentleFS
Kaos599Kaos599/professional-skills/skills/technical-content-writer/SKILL.md

technical-content-writer

Skill4 starsChanged 3 months agoMITView on GitHub

Write technical content that sounds like a specific human wrote it - LinkedIn posts, blog posts, threads, newsletters, essays about engineering and infrastructure subjects. Derives a voice signature from exemplars before drafting, forces mechanism and numbers over adjectives, and runs an anti-slop gate before output. Use when writing or rewriting any technical content for a public audience.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. Hive-Academy/ptah-extension★ 34same name
    2. Hive-Academy/PtahCode★ 34same name

    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 repository2 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

25 rules. About 0 are common, 22 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈22

    Distinctive · estimate

    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
  1. Distinctive:

    Do not draft first and fix later.

    line 23
  2. Distinctive:

    If a claim cannot be made specific, tag it rather than smoothing it:

    line 61
  3. Distinctive:

    No anonymous, disembodied writing: Before calibrating sentence rhythm, discover who the author is as a practitioner:

    line 72
  4. Distinctive:

    As a matching lens: when discovering the author's stance, read the persona files and identify which stance the author's own writing most …

    line 82
  5. Distinctive:

    As a target voice: if the user names one of these writers (or a similar stance) as the target voice, load that persona file and derive the …

    line 83
  6. Very specific:

    Read references/voice-extraction-protocol.md and derive a signature from references/exemplars/.

    line 91
  7. Distinctive:

    If the user names a target voice not in the exemplars, ask for 3 to 5 samples of it.

    line 95
  8. Distinctive:

    Write against the anchor, in the persona, in the signature, in the shape.

    line 136
  9. Distinctive:

    Plain English headings over jargon theater: Use honest, descriptive terms.

    line 140
  10. Distinctive:

    Zero downplaying of others: Never open or frame with "most developers do X with toys".

    line 142
  11. Distinctive:

    Explain the term the first time, then use it: No jargon without a definition, no definition without then using the term.

    line 158
  12. Distinctive:

    Show numbers when they change the decision: Not as ornament. If the number does not move the reader's choice, it is noise.

    line 160
  13. Distinctive:

    Specificity: Run the portability test. Does every paragraph describing a practice, cost, or constraint carry at least one number, named …

    line 175
  14. Very specific:

    Voice & Whole-Piece Balance: Read against the VOICE SIGNATURE from Step 2, dimension by dimension.

    line 177
  15. Very specific:

    Run the anti-slop-writing skill in audit mode against the draft.

    line 187
  16. Distinctive:

    If the piece is for a repo, write it to the right path with front matter.

    line 224
  17. Distinctive:

    Never invent a statistic, benchmark, customer, incident, quote, or result.

    line 231
  18. Distinctive:

    Never state a claim more confidently than the evidence supports.

    line 232
  19. Distinctive:

    Never downplay other developers or treat peers as inferior ("most developers use toys").

    line 233
  20. Distinctive:

    Never frame headings around others "failing" or "breaking down".

    line 234
  21. Distinctive:

    Never replace confident first-person singular ("I built") with detached academic third-person ("the system was evaluated") or the royal …

    line 235
  22. Distinctive:

    Never let a framework override the voice signature or author persona.

    line 236
  23. Distinctive:

    Never open with manufactured curiosity, a rhetorical question, or "In today's."

    line 237
  24. Distinctive:

    Never close with a summary recap or an aphorism.

    line 238
  25. Distinctive:

    Never ship past the Step 6 gate.

    line 239

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Technical Content Writer

Distilled from 55 published writing-craft skills (copywriting, LinkedIn, ghostwriting, technical writing, brand voice, content strategy) plus 45 anti-slop skills. Method and provenance in ../anti-slop-writing/references/corpus-evidence.md.

What this is for

Content about technical subjects, written for people who could tell if you were faking it. Infrastructure, model serving, data pipelines, systems tradeoffs. The reader can check your claims, so the writing has to survive being checked.

That constraint is the whole design. Most content-writing advice optimises for persuasion. This optimises for being right in a way that is also readable, which is a different job.

The order matters

Do not draft first and fix later. Drafting before you have an anchor, persona, and voice signature produces something you then have to rescue, and rescued drafts keep their original shape.

0. Anchor      → what is the actual system, domain constraint, and proof?
1. Persona     → who is the author as an engineer, and what stance do they embody?
2. Calibrate   → voice signature derived from exemplars or author profile
3. Shape       → format mechanics and non-adversarial archetypes
4. Draft       → in the signature and persona, against the anchor
5. Sweep       → six editing passes
6. Gate        → anti-slop audit + compliance checks, hard threshold
7. Ship

Step 0: Anchor

No anchor, no piece. This is the step people skip, and skipping it is why most technical content reads interchangeably.

Answer all four before writing a word:

The concrete thingThe specific system, run, architecture, benchmark, or code artifact this comes from. Not the topic. The thing.
The domain constraint / tensionWhat statutory, physical, mathematical, or systems constraint makes this hard? What boundary condition must be respected? (Never manufacture artificial contrarianism or strawmen).
The proof artifactThe number, trace, benchmark, config, or clearing schedule that makes the claim checkable.
The generalizable utilityThe practical pattern or decision procedure the reader can adapt for day-to-day systems.

Pull these from what the user actually has. If a proof artifact is missing, ask once. If there is still none, narrow the claim until it is honest, write the piece around the mechanism instead of the result, and flag [NEEDS PROOF] inline before publishing.

Never invent a number, customer, benchmark, incident, or quote. This is absolute. In technical content the reader can check, and one invented figure destroys everything else you wrote.

If a claim cannot be made specific, tag it rather than smoothing it:

"The fastest solution on the market."
  → [NO-PROOF] → [PLACEHOLDER: benchmark number or third-party comparison]

Step 1: Discover the Author Persona & Stance

No anonymous, disembodied writing. Before calibrating sentence rhythm, discover who the author is as a practitioner:

  1. Domain Authority & Seniority: What is the author's real-world background and technical edge? (e.g., senior engineer shipping production systems, staff systems architect, high-taste frontend/design engineer, researcher). Never default to treating the author as an apprentice or beginner discovering basic concepts - and equally never up-rank a hobbyist into a fake senior voice. The stance must match the author's actual experience.
  2. Core Strengths to Reflect: What technical strengths should be evident in the draft? (e.g., deep runtime rigor, high-taste design craft, exact numerical accuracy, benchmark discipline).
  3. Authorial Stance: How does the author teach? The default stance is Quiet Production Authority & Peer-to-Peer Teaching: respectful, encouraging, zero downplaying of other developers, zero failure-framing, first-person singular where the author writes as an individual, plain English headings.

Persona presets

references/personas/ holds researched voice profiles of well-known technical writers (Andrew Ng, Andrej Karpathy, Boris Cherny, DHH, Simon Willison, Linus Torvalds), each with verbatim excerpts from their blogs. Use them two ways:

  • As a matching lens: when discovering the author's stance, read the persona files and identify which stance the author's own writing most resembles - it calibrates how you frame authority, facts, and explanation.
  • As a target voice: if the user names one of these writers (or a similar stance) as the target voice, load that persona file and derive the voice signature from its verbatim excerpts via Step 2.

A user can also place their own author profile at references/personas/<author-name>.md following the same format; it takes precedence over the presets.


Step 2: Calibrate the voice

Read references/voice-extraction-protocol.md and derive a signature from references/exemplars/. Do this every time. Do not carry a signature across sessions from memory; re-derive it, because the exemplar set changes.

If the user names a target voice not in the exemplars, ask for 3 to 5 samples of it. If they have none, say so plainly and write in the house signature derived from what is there.

Output a compact VOICE SIGNATURE block before drafting. It is an operational spec, not literary criticism. You will check the draft against it in Step 5.

To add a voice: drop samples into references/exemplars/ as NN-short-slug.md with the front-matter header shown in that folder's README. No code change.


Step 3: Shape

Pick the format, then load its mechanics from references/structure-playbooks.md. That file holds the hard numbers: character limits, fold positions, paragraph lengths, hashtag placement, CTA position, and the archetypes that fit technical material.

Then pick a register from references/house-styles.md: analytical, opinionated survey, long explainer, or institutional procedural. That file carries measured signatures from real published technical writing, including the two findings that most often get drafts wrong:

  • Nobody good exceeds ~0.6 em dashes per 500 words, and the writers who build long sentences use semicolons instead of reaching for a dash.
  • Heading density trades off against question density. A long piece needs one or the other carrying navigation. Tailscale sustains 8,800 words on 5 headings because it asks a question every ~15 sentences. Fly.io needs a heading every ~320 words because it asks almost none.

Three decisions before drafting:

Which archetype? Technical content mostly works in non-adversarial archetypes: domain constraint → architecture / DAG → deterministic guarantees · production pattern → personal system → protocol / metrics payload · decision → tradeoff map → recommendation · benchmark → physical limit → mechanism

Persuasion frameworks (PAS, AIDA, BAB) are usually the wrong tool for technical writing. Applying PAS to an engineering post produces manufactured pain points and downplaying that technical readers filter out on sight. Reserve them for a piece that genuinely sells something (a launch post, a product announcement) - and even there, prefer the non-adversarial engineering archetypes.


Step 4: Draft

Write against the anchor, in the persona, in the signature, in the shape. Rules that apply to every draft:

First-person builder voice. Where the author writes as an individual practitioner, use clear, grounded first-person singular ("I"). Never retreat into the detached academic third-person or royal "we" - except in registers where impersonal voice is house style (scientific, legal, formal).

Plain English headings over jargon theater. Use honest, descriptive terms. Reject inflated buzzwords ("dashboard" not "cockpit", "clearing timeline" not "tranches", "accumulated clutter" not "accretion drift").

Zero downplaying of others. Never open or frame with "most developers do X with toys". Domain constraints are the only antagonist. Correcting a factual misconception is fine; contempt for people is slop. True authority is quiet; let the problem carry the piece.

Problem-explanation over failure-framing. Frame headings and arguments around domain constraints ("The Real Challenges of Automating Personal Finances"), never around failure ("Why standard prompts break down").

Lead with the mechanism, not the outcome. "Decode is bottlenecked on memory bandwidth because every step re-reads the weights" beats "decode is slow."

Every material claim carries a checkable artifact. A number, a spec section (an RFC, a standard, a statutory code), a protocol, a benchmark, a config key, an identifier the reader can look up. State it exactly - never round, abbreviate, or paraphrase an identifier. (Illustration: "Section 50AA classifies international funds with under 65% domestic equity as debt funds" beats "overseas funds have tax penalties.")

Name the specific identifier, not the category. Not "the memory bottleneck" but "HBM bandwidth at 3.35 TB/s." Not "a big context" but "80K tokens."

State the tradeoff, including what you give up. "Mac unified memory fits models a 24GB card never would, but the memory is slower, so you trade throughput for capacity." Technical readers distrust anything presented as free.

Take a position. The generated default is to survey perspectives and close by noting what the analysis "raises." Say which one you would pick and why.

Write the decision procedure, not just the analysis. The most useful technical writing ends with something the reader can execute: a condition → choice mapping, a threshold, an ordered list of questions to answer first.

Explain the term the first time, then use it. No jargon without a definition, no definition without then using the term. Do not coin an abbreviation mid-paragraph.

Show numbers when they change the decision. Not as ornament. If the number does not move the reader's choice, it is noise.

Grounded everyday utility over enterprise grandiosity. End on practical, transparent systems for solving day-to-day problems. Never posture about "enterprise infrastructure."

Balanced cadence. Favor 2-4 sentence narrative paragraphs that give the eye breathing room; deliberately break the pattern where meaning demands it - uniform paragraph length is itself a slop tell. Restrict bullet points strictly to discrete sets; never dump monolithic text or bulleted shopping lists. The voice signature wins where it conflicts with this default.


Step 5: Sweep

Six passes, in order, each on the whole piece. Full checklists in references/editing-passes.md.

  1. Clarity & Plain English: Can a competent reader outside your team follow it without rereading? Are all headings free of jargon theater ("cockpit", "tranches")?
  2. So what & Problem Framing: Does every claim answer "so what?" Is the piece framed around domain constraints rather than failure ("breaking down")? Does it take a position?
  3. Prove it & Authority: Does every material claim map to a number, mechanism, named source, or observed outcome? Is there zero downplaying of peers? Does it end on grounded utility rather than enterprise posturing?
  4. Specificity: Run the portability test. Does every paragraph describing a practice, cost, or constraint carry at least one number, named thing, or measurable quantity?
  5. Cadence & Structure: Are paragraphs balanced with natural rhythm and zero bullet dumps? Do bullets carry only genuinely parallel discrete items?
  6. Voice & Whole-Piece Balance: Read against the VOICE SIGNATURE from Step 2, dimension by dimension. Does quiet authority coexist with accessible peer teaching?

Score each 0 to 10. Below 8 on any pass, fix and re-run that pass. Do not proceed on a 7.


Step 6: Gate

Hard gate. Do not skip and do not ship below threshold.

Run the anti-slop-writing skill in audit mode against the draft. Record the pattern-family count. Then confirm:

  • Anti-slop audit shows fewer than 2 pattern families
  • All six sweeps score 8 or above
  • Every number, name, benchmark, config key, and quote traces to something real - verified, not just preserved
  • No [NO-PROOF] or [PLACEHOLDER] tags remain, or they are surfaced explicitly to the user
  • Author authority intact: the author sounds like the seniority and domain discovered in Step 1, with zero apprentice/hobbyist apologies and no invented authority
  • Zero downplaying of others: no "most developers...", no "unlike prompt toys". Domain constraints are the only antagonist
  • Problem-explanation framing: headings and arguments explain domain constraints; zero failure-framing
  • Plain English headings: zero jargon theater ("cockpit", "tranches", "accretion drift")
  • Grounded everyday utility: real practical systems; zero enterprise grandiosity
  • Zero dilution of technical rigor: the author's actual identifiers - spec sections, protocols, metrics, timings - preserved unabridged
  • Whole-piece balance: read aloud; if any sentence could appear in a conference abstract or a corporate press release, rewrite it. Authority without arrogance; clarity without whitepaper detachment

Fail any line and you iterate. Do not deliver a draft with a note explaining which checks it failed; fix it first. The only exception is a missing proof point the user must supply, which you surface at the top of the output.


Step 7: Ship

Deliver the finished piece plus:

## Anchor used
concrete thing · domain constraint · proof · utility

## Persona & Voice applied
[author persona + voice signature]

## Scores
clarity N/10 · framing N/10 · proof N/10 · specificity N/10 · cadence N/10 · voice N/10
anti-slop: N pattern families

## Needs your input
[any [NEEDS PROOF] items, or "none"]

If the piece is for a repo, write it to the right path with front matter. Otherwise output the full text and a suggested filename.


Hard rules

  • Never invent a statistic, benchmark, customer, incident, quote, or result.
  • Never state a claim more confidently than the evidence supports. Hedge honestly or narrow the claim. Do not delete an honest hedge to sound authoritative.
  • Never downplay other developers or treat peers as inferior ("most developers use toys").
  • Never frame headings around others "failing" or "breaking down"; frame around domain constraints.
  • Never replace confident first-person singular ("I built") with detached academic third-person ("the system was evaluated") or the royal "we", where the author writes as an individual practitioner.
  • Never let a framework override the voice signature or author persona. The signature wins.
  • Never open with manufactured curiosity, a rhetorical question, or "In today's."
  • Never close with a summary recap or an aphorism.
  • Never ship past the Step 6 gate.

Done =

A piece anchored in something real, in an authentic persona and voice, where every claim is checkable, that passes the gate and the anti-slop audit, and that gives the reader practical utility they can act on tomorrow.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.