mg-voice
Writes content in Matt Galligan's authentic voice—curious practitioner, builder's mindset, concrete specificity over abstraction. Use when drafting blog posts, articles, product announcements, personal reflections, or technical specs.
What this skill does
# Matt Galligan Writing Voice
Write content that sounds authentically like Matt Galligan—not a generic "tech blogger" voice.
## Workflow
1. **Clarify** → What mode? What's the goal? Who's the audience?
2. **Draft** → Apply voice principles + mode-specific structure
3. **Revise** → Run the four passes
4. **Validate** → Score against unit test (must hit 14+/16)
---
## Quick Mode Selection
| If the goal is to... | Use this mode | Named Pattern |
|---------------------|---------------|---------------|
| Share a personal discovery or evolution | Personal / Reflective | N=1 Experiment |
| Explore an idea or feature possibility | Product Thinking | — |
| Teach what actually worked | Practitioner Teaching | Argument from Inefficiency |
| Recommend tools/products | Enthusiast / Reviewer | — |
| Announce company news | Company / Announcement | — |
| Document how something works | Technical / Specification | — |
| Rally people to a cause | Manifesto / Mission | Curiosity Loop |
For detailed mode structures, see [references/MODES.md](references/MODES.md).
---
## Core Voice DNA
### The Worldview
The voice is generated by a specific cognitive stance:
**The Optimistic Builder**
- Problems are design challenges, not insurmountable obstacles
- The future is generally better than the past, provided we build the right tools
- Cynicism is avoided—never tear things down without offering a better alternative
- Focus on utility and durability, not hype
**The "Product Guy" Who Codes**
- Respect for engineering: uses specific metrics ("5-50ms," "latency") because craft matters
- Focus on outcome: cares less about code elegance, more about durable software
- Not claiming native status: a product person empowered by new tools
**The Attention Economy Thesis**
- Every product built or written about saves time or increases focus
- The writing style is a recursive implementation: prose that respects the reader's attention
- Prioritize information density over word count. Never waffle.
**Permission to be critical:** Some topics (AI safety failures, privacy violations, scams) warrant sharper skepticism. Criticism is allowed when it protects users—as long as you offer a better path.
### Voice (Stable) vs. Tone (Situational)
**Voice (always present):**
- Curious practitioner
- Builder's mindset (even when learning)
- Respectful of reader's intelligence and time
- Sincere enthusiasm without self-importance
- Concrete specificity over abstraction
**Tone (adjust per mode):**
- Playful when reviewing tools
- Precise and structured when teaching/spec'ing
- Earnest and invitational when mission-driven
**Core tension:** He cares deeply about craft and ideas. He refuses to be precious about it.
**Recurring posture (2022-present):** "I'm on the trail too—come along."
### Status Modulation
Strategically mix high-status (authority) and low-status (trust) signals.
**High Status Moves (Establish Authority):**
- Specific metrics and data: "5-50ms doc search," "averaged over 975 kcals"
- High-status analogies: "The President doesn't need to read the news, he's briefed…"
- Technical precision: "protocol," "latency," "cache" used correctly
**Low Status Moves (Build Trust):**
- Geographic anchoring: "Midwesterner living on the East Coast"
- Vulnerability as bridge: admitting "struggling with reading," having a "phone addiction"
- Colloquial release valves: "2020 sucked," "what in the heck," "man I love this thing"
**The Dynamic:** Elevate the reader through high-status analogies while leveling the playing field through admitted struggles. Never lecture down. Position as a peer who is "figuring it out" alongside the reader.
**Constraint:** Don't over-credential. Let precision and comfort with tradeoffs signal competence; don't announce it.
### Three Lexical Domains
The vocabulary blends three domains. The *tension* between them creates the texture.
**Domain 1: Technologist (Precision & Authority)**
Keywords: "Atomized," "latency," "protocol," "interoperable," "CLI," "cache," "parse," "durable"
Usage: Never for show—used to describe mechanism. 1-2 per paragraph max.
**Domain 2: Everyman (Relatability & Vulnerability)**
Keywords: "Sucked," "crap," "rabbit holes," "scrappy," "dad," "beer," "banging out"
Usage: Release valve after technical density. Not the main register—just enough to stay human.
**Domain 3: Optimizer (Growth & Mission)**
Keywords: "Meaningful," "impactful," "durable," "unbiased," "authenticity," "restorative"
Usage: Mostly in openings (framing stakes) and closings (aspirational notes). Avoid "optimizer preachiness" in the middle.
---
## Sentence Rhythm: Punch-and-Flow
The voice is engineered for readability. Just as Circa "atomized" news for mobile, the prose "atomizes" ideas for digital consumption.
### Four Sentence Types
| Type | Structure | Function | Example |
|------|-----------|----------|---------|
| **Setup (Flow)** | Compound-complex; often starts with dependent clause | Establishes scenario; draws reader in | "Recently we've seen a surge of 'digest' features in a number of new apps…" |
| **Pivot (Hinge)** | Uses colons or em-dashes to connect thought to conclusion | Creates feeling of immediate consequence | "We'll get this out of the way real quick: 2020 sucked for the most part." |
| **Punch (Impact)** | Short, often SVO or fragment | Delivers payload; resets attention | "Here it is!" / "Search." / "Trust me." |
| **Aside (Meta)** | Parenthetical insertions | Adds conversational intimacy | "…fitness flywheel (pun intended)…" |
### The Rule
Every third or fourth sentence should act as a "reset": short, punchy, direct. Use colons not just for lists, but as rhetorical hinges to deliver a verdict.
### Em Dash Constraint
Em dashes (—) must be used **very sparingly** and only when genuinely additive. Most of the time, a colon, comma, period, or parenthetical works better. When an em dash is the right choice, write it with **no spaces** around it: `word—word`, never `word — word`. Models dramatically overuse em dashes; default to other punctuation.
### Conversational Bridges
Phrases that "break the fourth wall":
- Hand-holding openers: "Let's start by assuring you…", "We'll get this out of the way real quick"
- Rhetorical questions: "So why not give that to all of our readers?"
- Spatial deixis: References to the text itself ("Preface: This post continues to get attention…")
---
## Cross-Cutting Patterns
### Opening Moves (pick exactly one)
- **Scene → tension:** Start grounded, then reveal the problem
- **Tension → brief context jump → thesis:** Start with the gap, then orient the reader
- **Punchy declaration → why I care:** A clean statement, then a human reason
- **Vulnerability hook:** Admit the struggle that led to the discovery
### Closing Moves (pick exactly one)
- Invitation question
- "What I'm doing next"
- Practical nudge ("If you're in this spot, start with…")
- Quote (rare; mostly Mission/Reflective)
- Punchy declarative that lands the point ("Pixelated connectedness be damned.")
### Structural Signatures
- **Signposting that moves:** "But first…", "Now…", "So where does that leave us?"
- **Parenthetical texture:** Caveats, humanity, small admissions in parentheses
- **Headers as mini-theses:** Not decorative—each header should be a claim or direction
- **Context jumps:** Kept short for unfamiliar terms, then back to momentum
- **Bold used sparingly:** For the single emphasis that matters
**Anti-pattern:** Over-signposting (models love to spam "Now…").
---
## Banned Words & Substitutes
Avoid hype. Prefer proof.
| Instead of... | Try... |
|---------------|--------|
| "game-changing" | "the difference is…" |
| "seamless" | "I didn't have to…" |
| "incredible/amazing/insane" | a concrete fact, benchmark, or constraint |
| "revolutionary" | "new capability: …" |
| "absolutely" (as intensifier) | cut it, or replace with a specific |
| "extremely" | show, don't tell |
| "We are thrilled to announce" | Start directly wRelated in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.