Tech-to-PM Translator
Converts technical developer documentation into structured, code-free knowledge base documents that PMs, designers, and other non-engineers can use to understand systems without reading code.
Philosophy
This is a translation skill, not a summarization skill.
- Summarization loses detail. A PM reading a summary still can't answer questions.
- Translation reframes the same information for a different audience. A PM reading a translated doc can understand what breaks, why, and who to talk to.
The output preserves technical accuracy while stripping implementation detail and adding decision-support framing.
When to Activate
- User says "translate docs for PMs", "make this PM-friendly", "convert tech docs"
- User says "create PM context from these docs", "non-engineer version"
- User says "explain this system for PMs/designers", "create onboarding docs"
- User has technical markdown files and wants them accessible to non-coders
- After a team writes architecture docs and wants broader org understanding
Input
Required:
- Source path: Directory or glob pattern containing technical docs (e.g.,
.claude/ref/, docs/architecture/, **/*.md)
Optional:
- Output path: Where to write the translated docs (default: alongside source or user-specified)
- Audience: "pm" (default), "designer", "stakeholder", "new-hire" (adjusts framing depth)
- Project name: For context-specific terminology and ownership mapping
- Existing context: Path to existing PM docs to avoid duplication and maintain consistency
Output Documents
The skill produces up to four document types depending on source material:
| Document |
When Generated |
Purpose |
| Platform Guide |
Always |
How the system works end-to-end: user flows, data pipelines, integrations |
| Bug Anatomy |
When source docs cover components, failure modes, or debugging |
Bug families, filing guide, priority framework, engineer communication tips |
| Migration/Change Landscape |
When source docs describe transitions, deprecations, or active migrations |
What's changing, dependency map, decision framework for fix depth |
| Architecture Overview |
When source docs cover infrastructure, deployment, or system design |
Updated tech architecture in PM-friendly terms |
Each document follows a strict format. See Output Templates below.
Execution
Step 1: Discover and Classify Source Docs
Read all files matching the source path. Classify each into categories:
| Category |
Signals |
Example Files |
| Architecture |
Routing, middleware, data flow, infrastructure |
routing.md, middleware.md, cicd.md |
| Data Systems |
Databases, CMS, APIs, query languages |
sanity.md, graphql.md, search-filters.md |
| UI/Frontend |
Components, styling, state management |
ui-styling.md, i18n.md |
| Operations |
Testing, deployment, monitoring, tech debt |
testing.md, cicd.md, tech-debt.md |
| Transitions |
Migration plans, deprecation, feature flags |
transitions-*.md |
| Features |
User-facing functionality: forms, auth, tracking |
forms.md, auth.md, tracking.md, seo.md |
| Reference |
Lookup tables, file maps, troubleshooting |
file-map.md |
Report classification to user before proceeding:
Found {N} technical documents:
- {X} architecture docs
- {Y} data system docs
- {Z} transition/migration docs
- ...
Will generate: Platform Guide, Bug Anatomy, Migration Landscape
Proceed? [Y/n]
Step 2: Extract Knowledge Atoms
For each source document, extract:
- Systems: What exists, what it does, who owns it
- Flows: How data/requests move through the system (user action to outcome)
- Failure modes: What breaks and why (explicit or inferable from troubleshooting sections)
- Constraints: Rules, limits, known issues, tech debt
- Transitions: What's being replaced, what's replacing it, current status
- Ownership: Which team/person owns which area
- Terminology: Domain-specific terms that non-engineers need defined
Step 3: Check for Existing PM Context
If an existing context path is provided:
- Read existing PM docs
- Identify overlaps and gaps
- Flag outdated information in existing docs
- Report: "Existing docs cover X and Y. Source docs add Z. Existing doc A needs updating."
Step 4: Generate Translated Documents
Apply the Output Templates and Translation Rules to produce each document.
Step 5: Cross-Reference and Index
- Add
## Related sections linking documents to each other
- If an index file exists (like
00-core-essentials.md), update it with new entries
- Report what was created and what was updated
Translation Rules
These rules govern how technical content becomes PM-friendly content.
The Five Transformations
| Technical Pattern |
PM Translation |
Example |
| Code snippet or config |
Table or plain English description |
middleware.ts chain → "13 steps that process every request" |
| Implementation detail |
"What it does" + "When it matters" |
MD5 sharding → "Programs are split across databases. If data seems missing, it might be in a different shard." |
| File paths and function names |
"Who owns it" + "What area" |
handlers/search/searchRequestBuilder.ts → "Search team, query construction" |
| Error handling code |
"What breaks and why" symptom table |
catch (e) { fallback } → "If X fails, the system shows Y instead" |
| Architecture decisions (ADRs) |
Decision + impact + "what it means for you" |
"We chose Kevel because..." → "Ads are served by Kevel. Never cache ad responses (breaks revenue tracking)." |
Hard Rules
- Zero code. No code blocks, no file paths, no function names in the output. Tables, ASCII flowcharts, and prose only.
- Every section gets a "PM Takeaway" or "What This Means for You" callout. This is the translation anchor.
- Symptom-first, not system-first. Organize by "what you'll encounter" not "how it's built."
- Include failure modes. Engineers document happy paths. PMs need to know what breaks. If the source doesn't document failures, infer from troubleshooting sections, tech debt inventories, and known issues.
- Ownership always included. Every system area maps to a team or person. If unknown, flag it as "ownership unclear: check with engineering lead."
- Decision support, not implementation. "Should I file this bug?" not "How do I fix this bug?"
- Preserve warnings. If the source says "NEVER do X" or "CRITICAL: Y", translate the constraint, don't drop it. Example: "Never cache Kevel responses" → "Ad responses must never be cached. Caching breaks revenue pacing and forecasting."
Audience Adjustments
| Audience |
Depth |
Focus |
Extra |
| PM (default) |
Full system understanding |
Bug filing, prioritization, spec writing, stakeholder communication |
Include "how to communicate with engineers" tips |
| Designer |
Visual system + constraints |
Component library, breakpoints, styling systems, i18n/RTL rules |
Include design tokens, responsive breakpoints, text expansion rules |
| Stakeholder |
Business impact only |
What it does, what's changing, risk areas |
Remove all technical details, focus on timelines and impact |
| New-hire |
Onboarding depth |
Everything + glossary + "where to find more" |
Add context that insiders take for granted |
Output Templates
Platform Guide Template
# {Project Name} Platform Guide (For {Audience})
> How the platform actually works, explained without code.
## How a {Primary User Action} Works
[End-to-end flow as numbered steps or ASCII diagram]
[PM Takeaway callout]
## How {Core System 1} Works
[Pipeline or flow description]
[Key concepts table: Concept | Explanation]
[Common gotchas / "What PMs Should Know" table]
## How {Core System 2} Works
[Same pattern]
... (one section per major system area)
## Non-Functional Requirements
[Targets table: Category | Target | Current Status]
## Quick Reference: Who Owns What
[Area | Squad/Team | Key People]
## Glossary
[Term | Meaning - only terms non-engineers need]
Bug Anatomy Template
# Bug Anatomy for {Audience}
> How to understand, file, and prioritize bugs without being an engineer.
## The Bug Families
[One subsection per family, each with:]
### {Family Name}
[What breaks: 1-line description]
[Symptom | Likely Cause | Severity - table, 4-5 rows]
[Who owns it]
[Key context for this family]
## Why Bugs Become Non-Reproducible
[Reason | Frequency | Example - table]
### What Survives {Migrations/Changes}
[Category | Why It Persists - table]
## How to Write a Great Bug Report
[Minimum viable bug report: Field | What to Include | Why]
[Common filing mistakes: Mistake | Impact - table]
## How to Prioritize Bugs
[Revenue-impact matrix: Level | Bug Type | Example]
[The "Is It Actually a Bug?" checklist]
## Communicating With Engineers
[Instead Of | Say - phrase substitution table]
[Questions Engineers Will Ask You - prepare these answers]
Migration Landscape Template
# {Migrations} (For {Audience})
> What's changing and what it means for your work.
## Why This Matters for {Audience}
[1-paragraph analogy or framing]
## Migration 1: {Name}
### What's Changing
[Before | After - table]
### What It Means for {Audience}
[Filing bugs, prioritization, timeline, ownership]
## Migration 2: {Name}
[Same pattern]
## The Decision Framework: How Deep Should a Fix Go?
[Flowchart: Is this code being replaced? → YES/NO branches]
[Safe to Invest In - table]
[Fix Minimally - table]
## How the Migrations Interact
[ASCII dependency diagram if applicable]
## {Audience} Checklist: Before Filing or Prioritizing
[Numbered checklist of questions to ask]
Quality Checks
Before finalizing output, verify:
Examples
Example 1: KAS Study Program Sites
Input: 18 developer reference files in .claude/ref/ covering routing, middleware, CMS, search, auth, forms, i18n, tracking, testing, CI/CD, tech debt, and three migration plans.
Output: 4 documents in domain-context/:
15-educations-platform-guide.md: How educations.com works (pages, search, forms, translations, tracking, auth, CMS)
16-bug-anatomy-for-pms.md: Six bug families, filing guide, prioritization matrix, engineer communication tips
17-migration-landscape.md: Three migrations explained, decision framework, dependency diagram
02-tech-architecture.md: Updated architecture overview (refreshed from v12 to v16)
Example 2: API Service (Hypothetical)
Input: OpenAPI spec + README + architecture decision records + runbook.
Output:
- Platform Guide: How the API serves data, authentication flow, rate limits, error codes in plain English
- Bug Anatomy: "API returns 500" family, "Data not updating" family, "Auth rejected" family
- Architecture Overview: Service diagram, dependencies, deployment pipeline
Anti-Patterns
| Don't |
Do Instead |
| Summarize by removing detail |
Translate by reframing for the audience |
| Include code "for reference" |
Describe what the code does in plain English |
| Use file paths as identifiers |
Use system area names ("the search pipeline", "the lead form system") |
| Write a wall of prose |
Use tables, checklists, and short callouts |
| Document only happy paths |
Include failure modes, common mistakes, and known issues |
| Assume the reader knows engineering terms |
Define every term in a glossary section |
| Create one giant document |
Split into focused documents by purpose |
1---2name: tech-to-pm-translator3description: Convert technical developer documentation into PM/designer-friendly context documents. Reads engineering docs (architecture refs, API docs, runbooks, ADRs, READMEs) and produces structured, code-free knowledge base files that non-engineers can use to understand systems, file better bugs, write better specs, and have informed conversations with engineers. Triggers on: "translate docs for PMs", "make this PM-friendly", "convert tech docs", "create PM context", "non-engineer version", "explain this for PMs", "designer-friendly docs", "/tech-to-pm".4---56# Tech-to-PM Translator78Converts technical developer documentation into structured, code-free knowledge base documents that PMs, designers, and other non-engineers can use to understand systems without reading code.910## Philosophy1112This is a **translation** skill, not a **summarization** skill.1314- **Summarization** loses detail. A PM reading a summary still can't answer questions.15- **Translation** reframes the same information for a different audience. A PM reading a translated doc can understand what breaks, why, and who to talk to.1617The output preserves technical accuracy while stripping implementation detail and adding decision-support framing.1819## When to Activate2021- User says "translate docs for PMs", "make this PM-friendly", "convert tech docs"22- User says "create PM context from these docs", "non-engineer version"23- User says "explain this system for PMs/designers", "create onboarding docs"24- User has technical markdown files and wants them accessible to non-coders25- After a team writes architecture docs and wants broader org understanding2627## Input2829Required:30- **Source path**: Directory or glob pattern containing technical docs (e.g., `.claude/ref/`, `docs/architecture/`, `**/*.md`)3132Optional:33- **Output path**: Where to write the translated docs (default: alongside source or user-specified)34- **Audience**: "pm" (default), "designer", "stakeholder", "new-hire" (adjusts framing depth)35- **Project name**: For context-specific terminology and ownership mapping36- **Existing context**: Path to existing PM docs to avoid duplication and maintain consistency3738## Output Documents3940The skill produces up to four document types depending on source material:4142| Document | When Generated | Purpose |43|----------|---------------|---------|44| **Platform Guide** | Always | How the system works end-to-end: user flows, data pipelines, integrations |45| **Bug Anatomy** | When source docs cover components, failure modes, or debugging | Bug families, filing guide, priority framework, engineer communication tips |46| **Migration/Change Landscape** | When source docs describe transitions, deprecations, or active migrations | What's changing, dependency map, decision framework for fix depth |47| **Architecture Overview** | When source docs cover infrastructure, deployment, or system design | Updated tech architecture in PM-friendly terms |4849Each document follows a strict format. See [Output Templates](#output-templates) below.5051## Execution5253### Step 1: Discover and Classify Source Docs5455Read all files matching the source path. Classify each into categories:5657| Category | Signals | Example Files |58|----------|---------|---------------|59| Architecture | Routing, middleware, data flow, infrastructure | routing.md, middleware.md, cicd.md |60| Data Systems | Databases, CMS, APIs, query languages | sanity.md, graphql.md, search-filters.md |61| UI/Frontend | Components, styling, state management | ui-styling.md, i18n.md |62| Operations | Testing, deployment, monitoring, tech debt | testing.md, cicd.md, tech-debt.md |63| Transitions | Migration plans, deprecation, feature flags | transitions-*.md |64| Features | User-facing functionality: forms, auth, tracking | forms.md, auth.md, tracking.md, seo.md |65| Reference | Lookup tables, file maps, troubleshooting | file-map.md |6667Report classification to user before proceeding:68```69Found {N} technical documents:70- {X} architecture docs71- {Y} data system docs72- {Z} transition/migration docs73- ...7475Will generate: Platform Guide, Bug Anatomy, Migration Landscape76Proceed? [Y/n]77```7879### Step 2: Extract Knowledge Atoms8081For each source document, extract:82831. **Systems**: What exists, what it does, who owns it842. **Flows**: How data/requests move through the system (user action to outcome)853. **Failure modes**: What breaks and why (explicit or inferable from troubleshooting sections)864. **Constraints**: Rules, limits, known issues, tech debt875. **Transitions**: What's being replaced, what's replacing it, current status886. **Ownership**: Which team/person owns which area897. **Terminology**: Domain-specific terms that non-engineers need defined9091### Step 3: Check for Existing PM Context9293If an existing context path is provided:94- Read existing PM docs95- Identify overlaps and gaps96- Flag outdated information in existing docs97- Report: "Existing docs cover X and Y. Source docs add Z. Existing doc A needs updating."9899### Step 4: Generate Translated Documents100101Apply the [Output Templates](#output-templates) and [Translation Rules](#translation-rules) to produce each document.102103### Step 5: Cross-Reference and Index104105- Add `## Related` sections linking documents to each other106- If an index file exists (like `00-core-essentials.md`), update it with new entries107- Report what was created and what was updated108109---110111## Translation Rules112113These rules govern how technical content becomes PM-friendly content.114115### The Five Transformations116117| Technical Pattern | PM Translation | Example |118|------------------|----------------|---------|119| Code snippet or config | Table or plain English description | `middleware.ts` chain → "13 steps that process every request" |120| Implementation detail | "What it does" + "When it matters" | MD5 sharding → "Programs are split across databases. If data seems missing, it might be in a different shard." |121| File paths and function names | "Who owns it" + "What area" | `handlers/search/searchRequestBuilder.ts` → "Search team, query construction" |122| Error handling code | "What breaks and why" symptom table | `catch (e) { fallback }` → "If X fails, the system shows Y instead" |123| Architecture decisions (ADRs) | Decision + impact + "what it means for you" | "We chose Kevel because..." → "Ads are served by Kevel. Never cache ad responses (breaks revenue tracking)." |124125### Hard Rules1261271. **Zero code.** No code blocks, no file paths, no function names in the output. Tables, ASCII flowcharts, and prose only.1282. **Every section gets a "PM Takeaway" or "What This Means for You" callout.** This is the translation anchor.1293. **Symptom-first, not system-first.** Organize by "what you'll encounter" not "how it's built."1304. **Include failure modes.** Engineers document happy paths. PMs need to know what breaks. If the source doesn't document failures, infer from troubleshooting sections, tech debt inventories, and known issues.1315. **Ownership always included.** Every system area maps to a team or person. If unknown, flag it as "ownership unclear: check with engineering lead."1326. **Decision support, not implementation.** "Should I file this bug?" not "How do I fix this bug?"1337. **Preserve warnings.** If the source says "NEVER do X" or "CRITICAL: Y", translate the constraint, don't drop it. Example: "Never cache Kevel responses" → "Ad responses must never be cached. Caching breaks revenue pacing and forecasting."134135### Audience Adjustments136137| Audience | Depth | Focus | Extra |138|----------|-------|-------|-------|139| PM (default) | Full system understanding | Bug filing, prioritization, spec writing, stakeholder communication | Include "how to communicate with engineers" tips |140| Designer | Visual system + constraints | Component library, breakpoints, styling systems, i18n/RTL rules | Include design tokens, responsive breakpoints, text expansion rules |141| Stakeholder | Business impact only | What it does, what's changing, risk areas | Remove all technical details, focus on timelines and impact |142| New-hire | Onboarding depth | Everything + glossary + "where to find more" | Add context that insiders take for granted |143144---145146## Output Templates147148### Platform Guide Template149150```markdown151# {Project Name} Platform Guide (For {Audience})152153> How the platform actually works, explained without code.154155## How a {Primary User Action} Works156[End-to-end flow as numbered steps or ASCII diagram]157[PM Takeaway callout]158159## How {Core System 1} Works160[Pipeline or flow description]161[Key concepts table: Concept | Explanation]162[Common gotchas / "What PMs Should Know" table]163164## How {Core System 2} Works165[Same pattern]166167... (one section per major system area)168169## Non-Functional Requirements170[Targets table: Category | Target | Current Status]171172## Quick Reference: Who Owns What173[Area | Squad/Team | Key People]174175## Glossary176[Term | Meaning - only terms non-engineers need]177```178179### Bug Anatomy Template180181```markdown182# Bug Anatomy for {Audience}183184> How to understand, file, and prioritize bugs without being an engineer.185186## The Bug Families187[One subsection per family, each with:]188 ### {Family Name}189 [What breaks: 1-line description]190 [Symptom | Likely Cause | Severity - table, 4-5 rows]191 [Who owns it]192 [Key context for this family]193194## Why Bugs Become Non-Reproducible195[Reason | Frequency | Example - table]196197### What Survives {Migrations/Changes}198[Category | Why It Persists - table]199200## How to Write a Great Bug Report201[Minimum viable bug report: Field | What to Include | Why]202[Common filing mistakes: Mistake | Impact - table]203204## How to Prioritize Bugs205[Revenue-impact matrix: Level | Bug Type | Example]206[The "Is It Actually a Bug?" checklist]207208## Communicating With Engineers209[Instead Of | Say - phrase substitution table]210[Questions Engineers Will Ask You - prepare these answers]211```212213### Migration Landscape Template214215```markdown216# {Migrations} (For {Audience})217218> What's changing and what it means for your work.219220## Why This Matters for {Audience}221[1-paragraph analogy or framing]222223## Migration 1: {Name}224### What's Changing225[Before | After - table]226### What It Means for {Audience}227[Filing bugs, prioritization, timeline, ownership]228229## Migration 2: {Name}230[Same pattern]231232## The Decision Framework: How Deep Should a Fix Go?233[Flowchart: Is this code being replaced? → YES/NO branches]234[Safe to Invest In - table]235[Fix Minimally - table]236237## How the Migrations Interact238[ASCII dependency diagram if applicable]239240## {Audience} Checklist: Before Filing or Prioritizing241[Numbered checklist of questions to ask]242```243244---245246## Quality Checks247248Before finalizing output, verify:249250- [ ] **Zero code** in any output document251- [ ] **Every section** has a PM Takeaway or "What This Means" callout252- [ ] **All ownership** mapped (team + person where possible)253- [ ] **Failure modes** included (not just happy paths)254- [ ] **Warnings preserved** from source docs (never cached, never do X)255- [ ] **Cross-references** link documents to each other256- [ ] **Index updated** if one exists257- [ ] **Glossary** covers all domain terms used in the output258- [ ] **Tables over paragraphs** wherever structured data exists259- [ ] **No file paths or function names** leaked into output260261---262263## Examples264265### Example 1: KAS Study Program Sites266267**Input:** 18 developer reference files in `.claude/ref/` covering routing, middleware, CMS, search, auth, forms, i18n, tracking, testing, CI/CD, tech debt, and three migration plans.268269**Output:** 4 documents in `domain-context/`:270- `15-educations-platform-guide.md`: How educations.com works (pages, search, forms, translations, tracking, auth, CMS)271- `16-bug-anatomy-for-pms.md`: Six bug families, filing guide, prioritization matrix, engineer communication tips272- `17-migration-landscape.md`: Three migrations explained, decision framework, dependency diagram273- `02-tech-architecture.md`: Updated architecture overview (refreshed from v12 to v16)274275### Example 2: API Service (Hypothetical)276277**Input:** OpenAPI spec + README + architecture decision records + runbook.278279**Output:**280- Platform Guide: How the API serves data, authentication flow, rate limits, error codes in plain English281- Bug Anatomy: "API returns 500" family, "Data not updating" family, "Auth rejected" family282- Architecture Overview: Service diagram, dependencies, deployment pipeline283284---285286## Anti-Patterns287288| Don't | Do Instead |289|-------|-----------|290| Summarize by removing detail | Translate by reframing for the audience |291| Include code "for reference" | Describe what the code does in plain English |292| Use file paths as identifiers | Use system area names ("the search pipeline", "the lead form system") |293| Write a wall of prose | Use tables, checklists, and short callouts |294| Document only happy paths | Include failure modes, common mistakes, and known issues |295| Assume the reader knows engineering terms | Define every term in a glossary section |296| Create one giant document | Split into focused documents by purpose |