skills/mine/writing-tech-post/SKILL.md
Authors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
npx skillsauth add pedronauck/skills writing-tech-postInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
SOTA authoring loop for technical blog posts. The philosophy is archetype-first (pick the genre), depth-second (commit the abstraction ladder), evidence-third (every claim attaches to an artifact), voice & disclosure fourth (publisher register + ethics), momentum last (narrative spine, lede, closer). Inline content in this SKILL.md is a dispatcher; the contract lives in references/.
Match the post's archetype (or the active phase) to the row. Read the listed files in full before producing the corresponding output. Inline content in this SKILL.md is a pointer, not a substitute.
| Task / Archetype | MUST read |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Selecting an archetype (Phase 1, every post) | references/archetypes-and-structure.md |
| Planning depth / abstraction ladder (Phase 2, every post) | references/depth-and-abstraction.md |
| Writing an incident postmortem | references/postmortems.md + references/voice-and-disclosure.md |
| Writing an architecture migration narrative | references/migrations.md + references/depth-and-abstraction.md |
| Writing a performance deep-dive | references/performance-deep-dive.md + references/evidence-diagrams-code.md |
| Writing an AI/agent system post | references/ai-and-agents.md + references/evidence-diagrams-code.md |
| Writing a security or reliability post | references/security-and-reliability.md + references/voice-and-disclosure.md |
| Writing a tutorial or research-to-product translation | references/archetypes-and-structure.md + references/depth-and-abstraction.md |
| Placing diagrams, charts, code, tables, ablations (Phase 3) | references/evidence-diagrams-code.md |
| Tuning to a publisher house voice (Phase 4) | references/voice-and-disclosure.md + references/publisher-voice-matrix.md |
| Tightening lede, headlines, transitions, closer (Phase 5) | references/narrative-and-pacing.md |
| Pre-publish gate (Phase 6) | references/pre-publish-checklist.md + references/anti-patterns.md |
references/archetypes-and-structure.md — Eight canonical archetypes (launch deep-dive, postmortem, migration, performance, tutorial, research-to-product translation, AI/agent, security/reliability) with their 9-column contract (opening / sequence / closing / length / byline / evidence / voice / hybrid partner / silent failure mode) plus the 9-question decision tree and hybrid-disclosure rules.references/depth-and-abstraction.md — Five-rung abstraction ladder (R1 user → R5 measurement) with three traversal patterns (staircase, yo-yo, spiral), the rung-whiplash diagnostic, the anchor-N rule, and per-archetype default depth profiles.references/postmortems.md — Canonical postmortem section sequence (Summary → Background → Incident → Timeline → Contributing factors → Mitigation → Action items), blameless register three rules, UTC-timeline + named-artifact obligations, failed-mitigation requirement.references/migrations.md — Five migration sub-types (rewrite, decomposition, stack replacement, pipeline replacement, component modernization, dual-stack, maturity-level), seven-panel canonical structure, empathetic strategic voice, "what we'd do differently" honesty, dated-status-snapshot closing.references/performance-deep-dive.md — Detective-arc structure (hypothesis → measurement → reveal → next bottleneck), distribution-shift evidence contract (percentile + sample size + window + environment), iterative bottleneck-peeling, partial-victory disclosure between fixes.references/ai-and-agents.md — Paper-link-first attribution, named-benchmark + ablation evidence contract, named-checker idiom (debugging-agent + leakage-checker + usage-checker), "AI handles the long tail" closing motif and its slop variant (bolted-on AI-future paragraphs).references/security-and-reliability.md — Threat-model opening, layered-defense walkthrough, coordinated-disclosure four-panel (threat-model → background → defense → mitigations), probabilistic register for adversary capabilities, CVE + upstream-commit citation contract.references/evidence-diagrams-code.md — Twelve-form evidence taxonomy (architecture diagram, sequence/flow, timeline, dashboard, distribution chart, flamegraph/profile, trace view, results table, code listing, config/manifest, ablation matrix, benchmark plot), captioning conventions (caption states the finding), claim → artifact → reading cadence rule, code-length thresholds (1–15 / 16–30 / >30).references/voice-and-disclosure.md — Blameless register, coordinated-disclosure four-panel, paper-link-first attribution, "what we'd do differently" honesty pattern, vendor-naming conventions, charity toward predecessor systems, disclaimer-paragraph genre signal.references/narrative-and-pacing.md — Five-lede taxonomy (result-first / mystery / stakes-first / 3-W summary / paper-link-first / shipping-status), H2-as-question-resolution discipline, story-shape catalogue (detective / migration / blameless / paper-link-first / tutorial arcs), closer multiple-choice gate, first-200 + last-200 callback-coupling test.references/publisher-voice-matrix.md — Cross-publisher matrix (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street) by six surface features (byline weight, sentence length, vendor density, evidence reflex, opening register, closing register), plus banned moves per publisher.references/anti-patterns.md — Banned moves catalogue: buried lede, rung whiplash, evidence-free percent claims, blame-by-implication, code-without-context, depth-without-product-framing, paper-name-dropping, false-precision metrics, hedged ledes, exciting-announcement templates, coordinated-disclosure violations, AI-eval-as-anecdote, archetype-bait headlines, framework-without-instance, bolted-on AI-future close.references/pre-publish-checklist.md — Archetype-conditional checklist (postmortem-only / migration-only / performance-only / AI-only / security-only rows), disclosure-blocker list, lint-thresholds, publishable / hold-for-review / rework rubric.Resolve every bundled helper relative to the directory containing this SKILL.md. When the command below appears as scripts/<name>, treat the actual invocation as <writing-tech-post-dir>/scripts/<name> — expand <writing-tech-post-dir> to the absolute skill directory before running. Likewise expand assets/<name> and references/<name> to the bundled paths under the skill directory.
Each phase ends in a STOP directive. The inline content in each phase is a gist tripwire — enough to detect violations during scanning — not the contract. The reference file holds the contract.
product-user / engineer-adopter / peer-engineer-deep / infra-or-research-peer). The lede must speak to that rung.Gist tripwires (the moves the archetype demands, in one line each):
STOP. Read references/archetypes-and-structure.md in full before drafting the outline. That file holds the 9-column contract per archetype (opening / sequence / closing / length / byline / evidence / voice / hybrid partner / silent failure mode), the 9-question decision tree, the archetype-straddle rules, and the per-archetype silent failure modes. The tripwires above are pointers, not the contract.
(opening rung, body residency band, closing rung, traversal). Pick the traversal: staircase (R1→R5 monotonic), yo-yo (R3↔R5 oscillation around a probe), or spiral (R1→R3→R1→R4→R1→R5, restating product context between depth dives).assets/outline.<archetype>.md. Mark sections that the archetype requires versus optional.Gist tripwires:
STOP. Read references/depth-and-abstraction.md in full before fixing the outline. That file holds the rung definitions with corpus examples, the three traversal patterns with worked walkthroughs, the rung-whiplash diagnostic, and the per-archetype default depth profile. Also STOP and read the archetype's deep-dive reference file (references/postmortems.md, migrations.md, performance-deep-dive.md, ai-and-agents.md, or security-and-reliability.md) when the archetype matches one of those five. The outline skeleton in assets/ is a starting point, not a contract.
claim → artifact → reading cadence: every artifact is preceded by a prose claim and followed by a prose reading. Captions state the finding, never the artifact name.// ... patterns and a one-line note of what was cut). Warn when a snippet crosses 30 lines — split with prose, elide, or replace with a source link plus a load-bearing slice.Gist tripwires:
STOP. Read references/evidence-diagrams-code.md in full before placing any chart, diagram, code block, or table. That file holds the twelve-form evidence taxonomy with selection guide, the captioning conventions, the prose↔evidence cadence rule, the elision-marker code standard, the distribution-shift evidence pattern (mandatory for any performance claim), the named-benchmark + ablation contract (mandatory for AI/agent capability claims), and the alt-text-as-prose discipline.
Gist tripwires:
STOP. Read references/voice-and-disclosure.md in full before the voice pass. Disclosure ethics, blameless register rules, paper-link-first attribution conventions, coordinated-disclosure constraints, and vendor-naming conventions live there. STOP and additionally read references/publisher-voice-matrix.md when targeting a specific publisher voice; that file holds the seven-publisher matrix (byline weight, sentence length, vendor density, evidence reflex, opening register, closing register) and the per-publisher banned moves.
Gist tripwires:
STOP. Read references/narrative-and-pacing.md in full before finalizing the lede, headlines, transitions, and closer. That file holds the five lede types with archetype pairings, the H2-as-question-resolution rule with worked examples, the story-shape catalogue, the momentum-stall diagnostics, the closer multiple-choice gate (call-to-build / call-to-adopt / open-question / shipping-status-roadmap / prevention-list), and the headline-as-compressed-lede check.
python3 <writing-tech-post-dir>/scripts/lint-post.py <draft-path> (read-only). It scans for slop signatures: triumphal-vocabulary density, hedged-lede patterns, uncaptioned figures, evidence-free percent claims, blame language inside a postmortem context, missing rung tags in outline comments, code blocks over 30 lines without elision markers.references/pre-publish-checklist.md row-by-row against the draft. Each row is a hard gate; warnings are not optional.Gist tripwires:
STOP. Read references/pre-publish-checklist.md in full before declaring the post publishable. That file holds the archetype-conditional checklist (postmortem-only / migration-only / performance-only / AI-only / security-only rows), the disclosure-blocker list, the lint-threshold rationale, and the publishable / hold-for-review / rework rubric. STOP and additionally read references/anti-patterns.md to confirm no banned move slipped in.
The full elaborated list with examples lives in references/anti-patterns.md. The list below catches the most common slop during scanning.
STOP. Read references/anti-patterns.md in full before any review pass. The bullets above are tripwires, not the full catalogue.
hybrid: <primary>+<secondary> and follow the primary's structural contract. Add a one-sentence note in the post's frontmatter declaring the hybridisation. Do not invent a ninth archetype.[REDACTED: pending disclosure] markers and produce a "what can be shared now / what comes later" addendum. Do not publish until references/security-and-reliability.md's disclosure-blocker checklist clears.scripts/lint-post.py. When the lint script flags slop signatures, treat each as a blocker, not a warning. The pre-publish gate does not pass with open lint findings.scripts/validate-metadata.py). Re-read the failure (NAME ERROR / DESCRIPTION ERROR / STYLE WARNING) and rewrite the offending field. Do not bypass the validator.crafting-effective-readmes.copywriting.creating-spec.Before declaring the skill output publishable, confirm:
(opening rung, body residency band, closing rung, traversal) is recorded.scripts/lint-post.py exits 0; no open findings.Each verification step has a corresponding gate in references/pre-publish-checklist.md. The skill is not done until every gate clears.
development
Guides a founder through the full Y Combinator batch application end-to-end. A 10-phase workflow that captures the live YC form, profiles the founders, stress-tests the idea via an embedded grill loop, runs a mandatory 5-agent parallel external research pass on the startup, drafts every form field with anti-pattern and accepted-example checks, produces founder-video bullet notes (no script), runs a final adversarial gate, generates paste-ready submission answers, unlocks an interview-prep simulator after invite, and supports reapplicant delta tracking and post-decision post-mortems. Writes a documented markdown trail under a user-chosen workspace. Use when a founder wants to prepare a YC batch application, build their founder video, drill mock YC interview questions, or reapply with delta evidence. Don't use for pitch-deck design unrelated to YC, generic startup advice without applying, or post-funding work.
tools
Provides guardrails for user-facing UI work: usability heuristics, accessibility floors, design-system discipline, component states, microcopy, motion, dark mode, responsive behavior, and human-AI UX. Use when designing, generating, reviewing, or refactoring visible product surfaces such as components, pages, dashboards, forms, dialogs, loading/empty/error states, or AI interfaces. Do not use for backend-only work, infrastructure, CLI/TUI design, or pure documentation editing.
tools
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects. Don't use for plain JavaScript, runtime validation libraries (Zod, Yup), or basic TypeScript syntax questions.
tools
Uses the TweetSmash REST API to fetch bookmarks, inspect labels, and add or remove labels from saved tweets. Use when integrating TweetSmash into scripts, agents, workflows, cron jobs, or internal tools that need bookmark retrieval, filtering, pagination, or label management. Do not use for direct browser automation inside TweetSmash, unrelated X or Twitter APIs, or tasks that only need product marketing copy.