doc-coauthoring
Skill2 starsChanged 4 months agoMITView on GitHub
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.
179 other projects use a version of this.
Adopted by
Most recently taken up by
- TehseenTech/manus-skillstheir own version, first seen Nov 8, 2026
- rvdbreemen/OTGW-firmwaretheir own version, first seen Nov 8, 2026
- BrightGold70/skillstheir own version, first seen Nov 8, 2026
- fumoctl/nix-agent-officetheir own version, first seen Nov 8, 2026
- ppswdev/pp_skillstheir own version, first seen Nov 8, 2026
- shkodnik1917/claude-brainlabtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use context7-efficient, academy-guide and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
hfzarslanSkillcontext7-efficient
Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.
Also in 5 projects that use this
AnthropicSkillacademy-guide
Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.
Also in 6 projects that use this
AbdullahMalik17Skillconfiguring-dapr-pubsub
Configures Dapr pub/sub components for event-driven microservices with Kafka or Redis. Use when wiring agent-to-agent communication, setting up event subscriptions, or integrating Dapr sidecars. Covers component configuration, subscription patterns, publishing events, and Kubernetes deployment. NOT when using direct Kafka clients or non-Dapr messaging patterns.
Also in 3 projects that use this
AbdullahMalik17Skilldeploying-cloud-k8s
Deploys applications to cloud Kubernetes (AKS/GKE/DOKS) with CI/CD pipelines. Use when deploying to production, setting up GitHub Actions, troubleshooting deployments. Covers build-time vs runtime vars, architecture matching, and battle-tested debugging.
Also in 3 projects that use this
Galaxy-DawnSkillresults-report
This skill should be used when the user asks to "write an experiment report", "summarize experimental results", "do experiment retrospection", "write a results report", "写实验总结报告", "写实验复盘", or mentions turning completed experiment artifacts into a structured, decision-oriented research report. It assumes strict analysis should come from `results-analysis` first.
Also in 3 projects that use this
AnthropicSkillweb-artifacts-builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Also in 72 projects that use this
- +5 more from AbdullahMalik17
Other versions179 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 179
- anthropics/skills★ 189ksame name
- Galaxy-Dawn/claude-scholar★ 5.9ksame name
- moonrepo/moon★ 4.2ksame name
- ChenglinPoly/infiAgent★ 1.2ksame name
- polyuiislab/infiAgent★ 1.2ksame name
- getsentry/skills★ 1.1ksame name
- Ohh-889/skyroc-admin★ 795same name
- JetBrains/skills★ 386same name
- zephyrwang6/myskill★ 339same name
- xuzeyu91/WebCode★ 278same name
169 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- agent-memorySkill
- ai-engineerSkill
- api-designSkill
- autoplanSkill
- backend-devSkill
- benchmarkSkill
- brand-guidelinesSkill
- code-reviewerSkill
- commit-messageSkill
- database-architectSkill
- data-engineerSkill
- debuggerSkill
- design-explorerSkill
- devex-engineerSkill
- devops-platformSkill
- forward-deployment-engineerSkill
- frontend-designSkill
- internal-commsSkill
- java-developmentSkill
- land-and-deploySkill
- mcp-builderSkill
- office-hoursSkill
- pdfSkill
- performance-optimizerSkill
- plan-ceo-reviewSkill
- plan-design-reviewSkill
- plan-eng-reviewSkill
- pptxSkill
- product-engineerSkill
- prompt-engineerSkill
- python-developmentSkill
- qa-engineerSkill
- react-developmentSkill
- release-engineerSkill
- research-agentSkill
- retro-engineerSkill
- safety-guardrailsSkill
- security-engineerSkill
- skill-creatorSkill
- spec-authorSkill
- sre-canarySkill
- system-designSkill
- technical-writerSkill
- test-writerSkill
- theme-factorySkill
- typescript-developmentSkill
- webapp-testingSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 170 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Documents must earn every sentence: If a sentence can be removed without losing meaning, remove it.
- Distinctive: line 54
Before writing anything, ask:
- Distinctive: line 66
After meta questions, ask for everything they know:
- Distinctive: line 87
Before moving to writing, summarize back:
- Distinctive: line 101
Only proceed when the user confirms.
- Distinctive: line 148
Ask 5–8 targeted questions specific to this section.
- Very specific: line 186
Write the section using only what was curated.
- Distinctive: line 191
After 3 rounds with no substantial changes, ask:
- Distinctive: line 227
Run these against the document:
- Distinctive: line 236
When a fresh reader answers all predicted questions correctly with no ambiguity → document is ready.
- Distinctive: line 244
If no → remove it.
“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Document Co-Authoring
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.
Co-Authoring Principles
- Context first, writing second. A document written without sufficient context will be rewritten. Spend time gathering context — it is never wasted.
- Brainstorm before drafting. Generating options before committing produces better decisions. Never jump straight from question to final prose.
- One section at a time. Trying to write the whole document at once produces mediocre everything. Perfect one section, then move to the next.
- The reader is not in the room. Everything the author knows implicitly, the reader does not. Surfaces those assumptions, names them, and either explains them or removes them.
- Reader testing is not optional. Authors cannot find their own blind spots. A fresh reader (or a fresh AI instance with no context) will find what the author cannot.
- Documents must earn every sentence. If a sentence can be removed without losing meaning, remove it. Dense, precise prose is harder to write and easier to read.
When to Use This Skill
Trigger conditions:
- "Write a PRD for..."
- "Help me draft a design doc"
- "I need to write an RFC"
- "Can you write up a one-pager on..."
- "I need a decision doc for..."
- "Help me write a technical spec"
- Any substantial document where quality matters (not quick memos — use
internal-commsfor 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 |
Stage 1 — Context Gathering
Step 1: Meta questions (ask all at once)
Before writing anything, ask:
- What type of document? (PRD / design doc / RFC / decision doc / other)
- Who is the primary audience? (engineers, PMs, executives, external partners)
- What is the desired outcome when someone reads this? (approve a plan, understand a decision, provide feedback, implement a spec)
- Is there a template or format to follow? (company template, team convention)
- Any deadline or constraints? (length limit, formality level, existing work to reference)
Tell the user they can answer in shorthand — a quick brain dump is fine.
Step 2: Context dump
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.
Step 3: Confirm understanding
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.
Stage 2 — Section-by-Section Refinement
Work through the document one section at a time. Never draft the whole document at once.
Standard Document Structure
Adapt this to the document type, but these sections cover most cases:
# [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.]Per-Section Workflow
For each section, run this sequence:
Step 1: Clarifying Questions
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?Step 2: Brainstorm
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.Step 3: Curate
The user selects what stays. Accept any format:
- "Keep 1, 3, 5"
- "All of them except 4"
- "1 and 3 are good, 5 is too vague"
Step 4: Gap Check
After curation:
Anything important missing from [SECTION NAME] before I draft it?Step 5: Draft
Write the section using only what was curated. Use str_replace to update the document in place — never reprint the whole doc.
Step 6: Refine
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?Stage 3 — Reader Testing
Goal: Catch what the author cannot see.
Step 1: Predict reader questions
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. [...]
[...]Step 2: Test (with sub-agent if available)
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 / ❌ WrongStep 3: Additional checks
Run these against the document:
- "What in this doc might be ambiguous or unclear to readers?"
- "What knowledge does this doc assume readers already have?"
- "Are there any internal contradictions or inconsistencies?"
Step 4: Fix gaps
For every ❌ or ⚠️: loop back to Stage 2 refinement for that section.
Exit condition
When a fresh reader answers all predicted questions correctly with no ambiguity → document is ready.
Document Quality Standards
Every sentence must pass this test:
"If I remove this sentence, does the reader lose something important?" If no → remove it.
Common quality failures:
| 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 |
PRD-Specific Template
# 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]Definition of Done — Document Co-Authoring
- Stage 1 complete: meta questions answered, context dumped, understanding confirmed
- All sections drafted through the 5-step per-section workflow
- Every section curated by the author — nothing drafted without author selection
- Near-completion review done: full document read for flow, redundancy, and slop
- Stage 3 complete: reader questions predicted and tested
- All reader test failures resolved
- Every sentence earns its place — no filler, no generic statements
- All goals are measurable
- Non-goals section explicitly states scope boundary
- At least 2 alternatives considered and documented
- No orphaned "TBD" or placeholder text in final version
- Author has done a final read-through and signed off
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

