Agent Skills: Create a Developer Communication from a Blueprint

>

UncategorizedID: thrawn01/claude-dotfiles/spec-to-comms

Install this agent skill to your local

pnpm dlx add-skill https://github.com/thrawn01/claude-dotfiles/tree/HEAD/skills/spec-to-comms

Skill Files

Browse the full folder contents for spec-to-comms.

Download Skill

Loading file tree…

skills/spec-to-comms/SKILL.md

Skill Metadata

Name
spec-to-comms
Description
>

Create a Developer Communication from a Blueprint

Read the feature's design document and write a human-facing overview document at docs/features/{feature}/overview.md. The overview translates the design's implementation detail into what impacted engineers need to know: why the change is happening, what is moving, and what their code will look like after.

Source document: the feature's blueprint.md (or, for older features, tech-spec.md). "The spec" throughout this skill means whichever of these exists.

Environment

| | Claude Code | Claude chat | |---|---|---| | Reading the spec | Read from docs/features/{feature}/blueprint.md (or the legacy tech-spec.md) | Ask the user to paste the design doc | | Writing the overview | Write to docs/features/{feature}/overview.md | Produce as markdown artifact; tell user the intended path | | Supporting docs | Read any analysis docs in the same docs/features/{feature}/ directory | Ask the user to paste relevant summaries |

If Read, Write, and Edit tools are available in your toolset, you are in Claude Code; otherwise you are in Claude chat.

Before writing

Read the design document. Also read any supporting analysis documents in the same directory (e.g., dependency analysis, spike outputs). These often contain findings that clarify domain boundaries or constraints that are relevant to impacted developers.

Identify the audience: developers whose code will be changed by this work. They are not the implementers. They need to understand the impact on their service, not how the migration tool works.

Ask the user one question before drafting if the answer is not clear from the spec:

  • Does this change require the reader to take any manual action, or is their code migrated automatically?

If the spec makes this clear (e.g., "a migration tool rewrites all consumers atomically"), skip the question and proceed.

What to include

Lead with why and what. Structure the overview with a ### Why and ### What subsection under the top-level ## Overview. The Why explains the technical or business problem being solved (cache invalidation, build times, blast radius, etc.). The What states what is happening at a high level.

What's changing and when. A concise numbered list of phases from the consumer's perspective. Each phase entry names what moves and what that means for the reader. Skip internal implementation details (tool names, algorithm choices, PR sequencing steps).

What changes in your code. For any phase that changes import paths, type qualifiers, or mock usage, include concrete before/after code examples. Examples should be copy-paste-ready and use the actual import paths from the spec. If multiple domains are involved, show a multi-domain example.

Domain boundary lists. Show which types or interfaces move to which packages as bullet lists, not tables. Single-column tables do not paste well into Notion and other tools. Use a bold label with a colon for the package name and description, followed by a bullet list of type names. Collapse file-level detail into type-level summaries; the audience cares about type names, not source files.

Migration order. If the spec defines a migration order (e.g., hottest domain first), include it. Developers need to know when their service will be affected.

Backward compatibility (or lack thereof). If the spec explicitly states there are no re-exports or compatibility shims, call this out clearly as a prominent paragraph. Developers mid-PR during a domain migration need to know their imports will be rewritten atomically.

What to omit

Leave out anything that is only relevant to the people doing the migration:

  • How the migration is implemented (tool internals, algorithm choices, invocation steps)
  • Internal PR sequencing steps that have no consumer-visible effect
  • Test infrastructure details (harness mechanics, generated file movement, test helper changes)
  • Open questions that are blockers for implementers but not for consumers
  • Design decisions that are TBD for later phases and have no current consumer impact

Examples of things to omit: migration tool location and dependencies, symbol map structure, go:generate directive details, SCC/cycle-detection mechanics, analysistest harness usage.

If the spec has an Open Questions section, omit it entirely. Consumers do not act on unresolved implementation questions.

Style rules

  • Use plain prose. No em dashes (-- or Unicode em dash). Use a single hyphen (-), a semicolon (;), or parentheses where an em dash would appear.
  • A table with only one column is never a table. Use a bullet list instead.
  • Headers use title-style separators with a single hyphen, e.g. ## Phase 1 - Interface Split.
  • Bold labels followed by descriptions use a colon, e.g. **Interface imports:** the qualifier changes....
  • List items that are label-description pairs use a colon separator, not a dash.
  • Keep sentences short. The reader is skimming to understand impact, not reading a design doc.
  • Do not add comments to code examples.

Document structure

Use this skeleton; drop sections that do not apply, add sections the spec demands:

# {Feature or Change Name}

## Overview

{One paragraph summary of the package or system being changed.}

### Why

{Why this change is happening: the technical or business problem it solves.}

### What

{What is being done at a high level, and that it is phased.}

## What's Changing and When

{Numbered list of phases from the consumer's perspective.}

{Paragraph on whether the reader's code is migrated automatically or requires manual action.}

{Paragraph on backward compatibility (or lack thereof).}

## Phase 1 - {Name}

### New Import Paths (or equivalent heading for the change type)

{Bullet list of what moves where.}

### What Changes in Your Code

{Before/after code examples.}

### Migration Order (if applicable)

{Ordered list of domains or services, with rationale.}

## Phase 2 - {Name}

### What Changes in Your Code

{Before/after code examples.}

### Domain Boundaries (or equivalent)

{Reference tables of types/interfaces by domain.}

## Phase 3 - {Name} (if applicable)

{Brief summary. If design is TBD, say so in one sentence.}

## Validation (if meaningful to consumers)

{What success looks like and how it will be measured. One paragraph.}

After writing

Do not commit. The user handles commits.

If you added any before/after code examples, verify the import paths match the actual module path from the spec (not a placeholder like github.com/example/...).

Create a Developer Communication from a Blueprint Skill | Agent Skills