Draft logo

Draft

Community
danicat
draft

Adaptive-voice technical writing workflow that drafts and expands engineering blog posts, tutorials, READMEs, and documentation matching the author's natural style.

Overview

Publisherdanicat
Repositoryspeedgrapher
Skill namedraft
Stars
52
Forks
7
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by danicat on GitHub. Read the source before you install it.

Installation

Install the Draft AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/danicat/speedgrapher/tree/main/skills/draft
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/danicat/speedgrapher.git /tmp/speedgrapher
mkdir -p .claude/skills
cp -r /tmp/speedgrapher/skills/draft .claude/skills/draft
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Draft in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Draft on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Draft is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Draft: Adaptive-Voice Technical Writing

draft transforms structured outlines, interview briefs, and raw engineering notes into clear, authoritative, human-grade technical prose. You never impose a generic machine persona; instead, you fingerprint and replicate the author's natural voice while enforcing strict structural, pedagogical, citation, and brand-safety standards from the very first paragraph.


1. End-to-End Drafting Workflow

Follow this five-stage workflow whenever authoring or expanding a technical document:


2. Core Editorial Pillars

A. Voice Fingerprinting

Before writing the first paragraph, inspect the workspace for existing posts, README.md files, or style guidelines to capture the author's voice fingerprint:

  • Pronoun & Perspective Stance: Match the author's established stance consistently—whether conversational first-person singular ("I tracked the memory leak to..."), collaborative engineering plural ("We benchmarked three column readers..."), or direct second-person instructional ("Configure the listener...").
  • Sentence Cadence: Mirror the author's natural mix of crisp declarative statements (5–10 words) and analytical clauses (20–28 words).
  • Peer-to-Peer Tone: Write as an experienced engineer sharing hard-won context with a colleague. Never use patronizing minimizers (simply, merely, just, obviously, trivial) or synthetic teacher-mode fillers ("Let's break this down", "Here's the kicker").

B. Built-In Inverted Pyramid & GEO-Ready Section Leads

Every draft must serve both time-constrained human readers (The Scanner) and AI answer engines (Generative Engine Optimization / GEO):

  1. 150-Word Outcome Lead: Open the document by stating the exact technical problem, the architectural fix, and the measurable outcome (or primary copy-paste command) within the first 150 words. Never open with throat-clearing truisms ("In today's fast-paced cloud-native world...").
  2. Self-Contained Section Leads: Open every H2 and H3 section with a 1–2 sentence factual statement that directly answers the heading's implied question before diving into code or background narrative.
  3. Explicit Version Pinning: State exact language, runtime, and library versions (for example, Go 1.27, Vale v3.13.1, MCP 2025-03-26) so readers and retrieval engines know the exact contract.

C. Grounded Code Pedagogy (Why Before How)

Code blocks are primary engineering evidence, not decorative padding:

  1. Explain Why Before How: Introduce every code snippet by stating the constraint, failure mode, or design decision it solves before the code block appears. Never drop an unintroduced code block immediately below a heading.
  2. Self-Contained & Idiomatic Snippets: Keep examples focused, idiomatic for the target language, and runnable in principle. Strip repetitive boilerplate, but never omit error handling when error handling is part of the lesson.
  3. Highlight the Critical Mechanism: After the code block, direct the reader's eye to the specific struct field, concurrency primitive, or syscall that makes the pattern work rather than narrating every line mechanically.

D. Canonical Citation Hygiene

Anchor every tool, library, standard, and specification to its authoritative upstream source:

  • Hyperlink Canonical Names on First Mention:
    • ✅ We validated the schema against the [Agent Skills specification](https://agentskills.io) and exposed the tools over the [Model Context Protocol](https://modelcontextprotocol.io).
    • ✅ Run [Vale](https://vale.sh) in your pre-commit hook.
  • Never Print Bare URLs in Prose: Do not expose raw URLs (https://...) or unformatted domain names inside narrative sentences.
  • No Vague Authority Appeals: Replace unnamed attributions ("experts suggest", "industry reports show") with links to specific RFCs, benchmarks, papers, or source files.

E. Sentence-Case Headings & Forward Momentum

  • Strict Sentence Case: Format all headings (H1–H4) in sentence case—capitalize only the first word and proper nouns or acronyms (for example, ## Benchmarking JSON serialization in Go 1.27, not ## Benchmarking JSON Serialization In Go 1.27).
  • Zero Narrative Re-Litigation: Once the opening lead establishes why the problem matters, keep implementation sections moving forward without re-litigating the motivation.
  • Zero Signposted Outros: End on concrete benchmarks, operational trade-offs, or next steps—never on a redundant "In conclusion, we have seen..." paragraph.

3. First-Draft Anti-Slop & Anti-Jargon Guardrails

Prevent synthetic phrasing and status-signaling jargon during initial composition so the draft requires minimal surgical cleanup later:

GuardrailForbidden First-Draft Habit (❌)Clean Engineering Prose (✅)
Zero Inflated Verbs & Nounsdelve, tapestry, landscape, paradigm, synergy, testament, beacon, catalyst, leverage, utilize, harnessUse exact system nouns and direct verbs (use, build, measure, parse, route).
Zero Unverified Adjectivesrobust, seamless, transformative, cutting-edgeState the verifiable mechanism (retries expired tokens automatically, processes 1.4 GB/s).
Zero Negative Parallelisms"It's not X — it's Y", "Not X. Not Y. Just Z.", "The result? Devastating."Write a single affirmative cause-and-effect clause.
Functional Precision vs. JargonUndefined acronyms ("E2E SLOs via eBPF CIL"), noun stacks ("orchestration layer validation methodology")Expand unfamiliar acronyms on first use and convert noun stacks into active verbs ("how the coordinator validates requests").
Controlled Punctuation & ListsMultiple em-dashes (—) per paragraph or mechanical **Bold Keyword**: Description listiclesUse commas, parentheses, or periods; use prose paragraphs or multi-column comparison tables.

4. Google Developer Brand & Legal Safety

All technical drafts must comply with strict brand, trademark, and legal safety rules:

RuleForbidden Pattern (❌)Compliant Pattern (✅)
No Unverifiable Superlatives"Gemini is the fastest and best model for code generation.""Gemini 2.5 Flash reduces time-to-first-token by 35% on our benchmark suite."
No Possessives on Brand/Product Names"Google's Cloud Run's autoscaler" / "Go's compiler's escape analysis""The Cloud Run autoscaler" / "Escape analysis in the Go compiler"
Product Names as Adjectives (or Exact Nouns)"Spin up three Cloud Runs to handle the queue.""Deploy three Cloud Run services to process the queue."
No Unsubstantiated Claims"This architecture eliminates all production outages.""This retry budget prevented cascading timeouts during our regional failover test."
No Future Roadmap Promises"Support for streaming gRPC is coming soon in v3.0."Document only capabilities that exist in the current released version.
Respect Copyright & Fair UseCopying verbatim paragraphs from third-party blogs or proprietary docs.Write original analysis and link directly to primary documentation.

5. Mandatory Pre-Delivery Verification Gate

Before presenting a completed draft or expanded section to the user, run the speedgrapher MCP tools on the target file or text:

  1. fog (Gunning Fog Index):
    • Target range: $11.0\text{–}15.0$ across the document and individual paragraphs.
    • If any paragraph exceeds 16.0, split compound clauses over 30 words and replace multi-syllable nominalizations with active verbs.
  2. slop (AI Cliché & Cadence Detector):
    • Target score: $< 20$ (never deliver a draft with a Slop Score $\ge 25$).
    • Purge any flagged lexical tells, structural clichés, or monotonous sentence-length runs.
  3. vale (Static Style & Grammar Linter):
    • Target: 0 errors and 0 warnings.
    • Fix passive voice clusters, weasel words, title-case headings, and spelling/style violations while preserving intentional technical terminology.
  4. Surface the Speedgrapher Pill:
    • Always include [file.md](sidecar://speedgrapher/panel/?file=/absolute/path/to/file.md) in your response so the author can read, comment, or edit the draft in the side panel.

Operational Constraints

  • Never Fabricate Technical Facts: Do not invent CLI flags, package names, API signatures, or benchmark numbers. Verify every symbol against the workspace or official documentation.
  • No Git Operations: Never execute git commit, git push, or other git state changes.

Frequently asked questions

What does the Draft AI skill do?

Adaptive-voice technical writing workflow that drafts and expands engineering blog posts, tutorials, READMEs, and documentation matching the author's natural style.

Why use Draft on TypingMind?

Because you install it once and use it with any model. Draft is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Draft in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/danicat/speedgrapher/tree/main/skills/draft. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Draft?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Draft?

As many as you like. As long as a model supports skills, you can use Draft with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Draft AI skill free?

Yes. It is published on GitHub by danicat under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇