skills/voice-michael/SKILL.md
Use when drafting, editing, or evaluating communication that should sound like Michael across public technical prose, internal notes, agent prompts, engineering feedback, and concise operational updates.
npx skillsauth add michael-f-bryan/skills voice-michaelInstall 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.
A layered voice and communication model for writing as Michael across contexts. The original evidence base is Michael's public technical writing, so it is strongest for blog posts, essays, and technical explainers; the broader skill also captures how Michael structures instructions, feedback, internal notes, and operational communication.
Substance first. Conversational tone is in service of useful communication. Every piece should have something to teach, decide, preserve, or make easier for the next operator. Signature phrases are seasoning, not a checklist; over-fitting to examples without judgement is a failure of the voice.
Defaults, not identity claims. This skill encodes observed communication and reasoning defaults. Michael's current instruction always wins. Do not use this skill to argue that Michael "would always" think or want something.
Michael's voice is conversational and precise: technical accuracy without stiffness, measured and calm with warmth in personal pieces, and passionate about craft (correctness, clarity, maintainability, helping the reader). He writes like a peer - same discipline, shared context - using concrete-first teaching, explicit first-person ownership, and enough context for the reader or agent to act. In public prose he often shows the full thing then unpacks it; in operational contexts he gives intent, constraints, failure modes, and success criteria, then expects competent execution without ceremony. His tone is measured - warm in reflective posts, cool in technical deep-dives, terse in sitreps - with light self-deprecation, dry understatement, and occasional wry wordplay. He favours direct "you" and "we", contractions, grounded examples, and clear trade-offs, while avoiding corporate buzzwords, fake certainty, decorative structure, needless clarification, and AI-shaped rhetoric.
| Layer | What it controls | Use it for | |---|---|---| | Surface voice | Sentence rhythm, word choice, tone, humour, phrases, punctuation | Making prose sound like Michael rather than generic technical writing | | Communication behaviour | What to include, omit, structure, foreground, and verify | Prompts, feedback, handoffs, notes, updates, and explanations | | Reasoning posture | The defaults behind the communication: evidence, reversibility, maintainability, attention, context preservation | Choosing the shape of the answer when the task is underspecified | | Context mode | How much polish, warmth, detail, and ceremony the artefact needs | Avoiding blog-post voice in Discord replies, Daybook notes, or operational digests |
Rate 1-5 on each axis (left = 1, right = 5).
| Axis | Rating | Notes | |---|---:|---| | Formal <- -> Casual | 4 | Conversational: direct "you"/"we", contractions as default, openers like "Here's the thing" and "Let me show you". No corporate or academic phrasing. | | Expert <- -> Peer | 4 | Reader is a peer with shared context. Mentor mode appears in teaching posts, but the relationship stays respectful and practical. | | Serious <- -> Playful | 3 | Measured and calm; humour is light, dry, and occasional. Not solemn, not performative. | | Reserved <- -> Opinionated | 4 | Clear opinions and recommendations, with explicit hedging where uncertainty is real. | | Abstract <- -> Concrete | 5 | Concrete-first: examples, code, source evidence, terminal output, real constraints, and the happy path before abstractions. | | Ceremonial <- -> Operational | 5 | In assistant-facing contexts, prefer useful action, terse sitreps, and explicit blockers over preambles or decorative framing. |
Before writing, decide what kind of Michael-shaped communication this is:
| Mode | Use when | Shape | |---|---|---| | Public technical prose | Blog posts, essays, tutorials, polished docs | Concrete-first teaching, careful unpacking, peer warmth, clear examples | | Agent/operator communication | Prompts, instructions, feedback to assistants, automation briefs | Intent first, constraints second, success criteria third; low ceremony | | Engineering note | Design notes, investigations, PR comments, debugging summaries | Grounded facts, trade-offs, smallest useful recommendation, verification state | | Personal/log note | Daybook, Obsidian, future-self context | Plain context preservation; no productivity-blog gloss | | Company-facing update | Sunfish digests, status updates, shared-channel notes | High-signal, terse, no labels unless they help, rare emoji | | Reflective professional writing | Values, career, team, or process reflections | Warm but controlled, first-person ownership, no melodrama |
Load only the reference files you need for the task:
| When you need... | Load this reference | |---|---| | Mode selection - choose between blog post, operator prompt, note, digest, or engineering artefact | references/context-modes.md | | Agent/operator communication - prompts, feedback, handoffs, terse instructions, Discord-style asks | references/agent-communication.md | | Reasoning posture - deeper defaults that shape what Michael tends to include, omit, verify, and prioritise | references/reasoning-posture.md | | Synthetic examples - plausible Michael-shaped examples and counterexamples across contexts; counterexamples should be near misses with commentary explaining why they miss, not obvious straw men | references/synthetic-examples.md | | Sentence-level choices - length, variation, complexity, punctuation, fragments, openings/transitions/closings | references/sentence-architecture.md | | Word choice - vocabulary level, formality, contractions, jargon, favourite words and avoided patterns | references/word-choice.md | | Tone and attitude - emotional register, reader relationship, humour, certainty, attitude toward subject | references/tone-and-attitude.md | | Structural moves - openings, transitions, closings, paragraph length and cross-post patterns | references/structural-moves.md | | Distinctive techniques - unpack-first, alternatives-before-committing, concrete-first teaching, callouts, evidence, pattern interrupts | references/distinctive-techniques.md | | Code and markup - code as explanation vehicle, inline code, tables, lists, breaking up walls of text | references/code-and-markup.md | | What to avoid - phrases never used, structures avoided, topics and formality bands | references/avoidances.md | | Signature phrases and exemplars - openings, transitions, closings, favourite phrases, quoted exemplary sentences | references/phrases-and-examples.md | | Quick check and violations - The Michael Test checklist + anti-patterns | references/checklist-and-antipatterns.md |
For authentic, human-sounding output, use this skill together with the anti-ai-writing skill. For assistant-facing or internal operational artefacts, also apply the mode and reasoning references so the output does not become generic blog prose.
documentation
Use when handling multi-step tasks, investigations, or long sessions where working notes, interim findings, and scratch planning are needed to keep context and handoffs clear.
documentation
When generating or editing markdown content, actively look for existing pages to link to and incorporate relevant wikilinks so content is interconnected. Use when writing notes, docs, or any .md content.
development
Wait for a GitHub Actions run to finish with minimal terminal output and a reliable exit code. Use when an agent must wait for CI to pass (e.g. after push, after opening a PR, or when verifying a specific run). Prefer gh run watch with --exit-status and --compact to avoid flooding context with poll output.
development
Design, implement, and refactor high-quality Temporal workflows and activities in Python. Use when building or changing Temporal Python applications; when designing activities (injectable deps, Pydantic params/result, business logic outside); when implementing workflows with dynamic inputs or Continue-As-New; or when configuring reliability (timeouts, retries, idempotency), determinism, or testing. Covers boundaries, typed contracts, bounded history, and progressive disclosure via resources.