Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Structured co-authoring workflow for PRDs, design docs, RFCs, decision docs, proposals, and any substantial written document. Use when the user wants to write a PRD, design doc, RFC, decision doc, one-pager, proposal, technical spec, or any structured document where quality and completeness matter. Goes deeper than technical-writer — this skill actively guides the writing process through three stages: context gathering, section-by-section refinement, and reader testing.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 229% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 120% | 0% |
Writing a document alone produces a document that makes sense to the author. Co-authoring produces a document that makes sense to the reader. This skill is the difference between the two.
You are an active guide, not a passive typist. You ask questions before writing. You brainstorm before drafting. You test the document against a reader before declaring it done. Every section goes through: clarify → brainstorm → curate → draft → refine.
Trigger conditions:
internal-comms for those)Document types this skill handles best:
| Document | Who writes it | What it decides | |---|---|---| | PRD (Product Requirements Doc) | PM + Eng | What to build and why | | Design Doc | Engineer | How to build it technically | | RFC (Request for Comments) | Anyone | Propose a change and gather feedback | | Decision Doc | Anyone | Capture a decision and its rationale | | One-pager | PM / Exec | Make a case quickly | | Technical Spec | Engineer | Define system behavior precisely | | Proposal | Anyone | Convince someone to approve something |
Before writing anything, ask:
Tell the user they can answer in shorthand — a quick brain dump is fine.
After meta questions, ask for everything they know:
Now dump everything relevant — don't worry about organizing it. I'll make sense of it.
This includes:
- Background on the problem or project
- Why existing solutions don't work
- Relevant team discussions or decisions
- Timeline and constraints
- Technical context or dependencies
- Stakeholder concerns or objections you anticipate
- What success looks like
More is better at this stage.Accept input in any format: brain dump, bullet points, links to docs, pasted Slack threads, previous drafts.
Before moving to writing, summarize back:
Let me confirm I understand the core of this document:
**What:** [one sentence]
**Why:** [one sentence]
**Who reads it:** [audience]
**What they need to conclude:** [desired outcome]
**Key constraints:** [length, tone, deadline]
Does this capture it? Anything I'm missing?Only proceed when the user confirms.
Work through the document one section at a time. Never draft the whole document at once.
Adapt this to the document type, but these sections cover most cases:
markdown# [Document Title] **Author:** [name] | **Date:** [date] | **Status:** Draft / In Review / Approved ## TL;DR [2-3 sentences. The busiest reader should get the point here.] ## Background / Context [Why does this document exist? What problem exists?] ## Goals [What success looks like. Measurable where possible.] ## Non-Goals [Explicit scope boundary. What this does NOT address.] ## Proposal / Approach [The meat. What are we doing / deciding / building?] ## Alternatives Considered [What else was considered and why it was rejected.] ## Open Questions [What is still unresolved. Owner and due date for each.] ## Appendix [Supporting detail that would bloat the main doc.]
For each section, run this sequence:
Ask 5–8 targeted questions specific to this section. Example for "Goals":
For the Goals section — a few questions:
1. What does success look like in 3 months? In 6?
2. Is there a metric you'd point to as "we nailed it"?
3. Are there any goals you're deliberately NOT including (that someone might expect)?
4. Does anyone on the team have a different definition of success?Generate 5–15 candidate items for the section. Label them:
Here are potential things to include in the Goals section:
1. Reduce checkout drop-off rate from 23% to under 15%
2. Ship to 100% of users by end of Q3
3. Zero increase in support tickets related to checkout
4. Mobile completion rate matches desktop (currently 40% lower)
5. Payment provider switch with no user-visible downtime
6. P95 checkout completion time under 3 seconds
[...]
Which of these belong? You can say "keep 1, 3, 5 — remove the rest" or just tell me what feels right.The user selects what stays. Accept any format:
After curation:
Anything important missing from [SECTION NAME] before I draft it?Write the section using only what was curated. Use str_replace to update the document in place — never reprint the whole doc.
Iterate based on feedback. Make targeted edits. Never reprint the whole doc — only show what changed.
After 3 rounds with no substantial changes, ask:
This section looks stable. Anything we can cut without losing meaning?Goal: Catch what the author cannot see.
Before someone reads this document, what questions would they type into an AI to find it?
Let me generate the 5 most likely questions:
1. [...]
2. [...]
[...]Pass the document + each question to a fresh context with no prior knowledge:
Testing: "What is the goal of this project?"
→ Reader answer: [...]
→ Match expected: ✅ / ⚠️ Partial / ❌ Wrong
Testing: "Why was approach X rejected?"
→ Reader answer: [...]
→ Match expected: ✅ / ⚠️ Partial / ❌ WrongRun these against the document:
For every ❌ or ⚠️: loop back to Stage 2 refinement for that section.
When a fresh reader answers all predicted questions correctly with no ambiguity → document is ready.
"If I remove this sentence, does the reader lose something important?" If no → remove it.
| Failure | Example | Fix | |---|---|---| | Vague goals | "Improve performance" | "Reduce P95 API latency from 800ms to under 300ms" | | Missing non-goals | (nothing in non-goals section) | "We are NOT redesigning the checkout UI in this phase" | | Assumed context | "As discussed in the H2 planning meeting..." | Explain the context inline | | Passive voice | "A decision was made to..." | "The team decided to... because..." | | Weasel words | "somewhat", "fairly", "might", "could" | Be specific or remove | | Missing rationale | "We will use PostgreSQL." | "We will use PostgreSQL because we need ACID guarantees for financial data and the team has deep expertise." | | Orphaned alternatives | (Alternatives Considered section is empty) | Document at least 2 alternatives and why they were rejected |
markdown# PRD: [Feature Name] **Author:** | **Date:** | **Status:** Draft **PM:** | **Eng Lead:** | **Design:** --- ## Problem Statement [What user problem are we solving? Evidence that it's real.] ## Goals - [ ] [Measurable goal 1] - [ ] [Measurable goal 2] ## Non-Goals - [Explicitly out of scope item 1] ## User Stories As a [user type], I want to [action] so that [outcome]. ## Requirements ### Must Have (P0) - [Requirement] ### Should Have (P1) - [Requirement] ### Nice to Have (P2) - [Requirement] ## Design [Link to Figma / mockups / wireframes] ## Technical Approach [High-level implementation note — link to design doc for details] ## Metrics | Metric | Baseline | Target | How measured | |---|---|---|---| ## Timeline | Milestone | Date | Owner | |---|---|---| ## Risks | Risk | Likelihood | Impact | Mitigation | |---|---|---|---| ## Open Questions | Question | Owner | Due | |---|---|---| ## Alternatives Considered [What else was evaluated and why it was rejected]
Other measured skills in the registry, with their headline benchmark lift.