doc-coauthoring
Guides users through structured three-stage collaborative documentation workflow including context gathering, iterative refinement, and reader testing. Use when asked to "write a doc", "draft a proposal", "create a spec", "write technical documentation", "create a PRD", or "draft an RFC". Implements systematic approach for PRDs, design docs, decision docs, technical specs, and proposals through clarifying questions, section-by-section iteration, and fresh-eye validation. Works with markdown documentation, technical specifications, and structured writing projects.
What this skill does
# Doc Co-Authoring Workflow This skill provides a structured workflow for guiding users through collaborative document creation. Act as an active guide, walking users through three stages: Context Gathering, Refinement & Structure, and Reader Testing. ## When to Offer This Workflow **Trigger conditions:** - User mentions writing documentation: "write a doc", "draft a proposal", "create a spec", "write up" - User mentions specific doc types: "PRD", "design doc", "decision doc", "RFC" - User seems to be starting a substantial writing task **Initial offer:** Offer the user a structured workflow for co-authoring the document. Explain the three stages: 1. **Context Gathering**: User provides all relevant context while Claude asks clarifying questions 2. **Refinement & Structure**: Iteratively build each section through brainstorming and editing 3. **Reader Testing**: Test the doc with a fresh Claude (no context) to catch blind spots before others read it Explain that this approach helps ensure the doc works well when others read it (including when they paste it into Claude). Ask if they want to try this workflow or prefer to work freeform. If user declines, work freeform. If user accepts, proceed to Stage 1. ## Stage 1: Context Gathering **Goal:** Close the gap between what the user knows and what Claude knows, enabling smart guidance later. ### Initial Questions Start by asking the user for meta-context about the document: 1. What type of document is this? (e.g., technical spec, decision doc, proposal) 2. Who's the primary audience? 3. What's the desired impact when someone reads this? 4. Is there a template or specific format to follow? 5. Any other constraints or context to know? Inform them they can answer in shorthand or dump information however works best for them. **If user provides a template or mentions a doc type:** - Ask if they have a template document to share - If they provide a link to a shared document, use the appropriate integration to fetch it - If they provide a file, read it **If user mentions editing an existing shared document:** - Use the appropriate integration to read the current state - Check for images without alt-text - If images exist without alt-text, explain that when others use Claude to understand the doc, Claude won't be able to see them. Ask if they want alt-text generated. If so, request they paste each image into chat for descriptive alt-text generation. ### Info Dumping Once initial questions are answered, encourage the user to dump all the context they have. Request information such as: - Background on the project/problem - Related team discussions or shared documents - Why alternative solutions aren't being used - Organizational context (team dynamics, past incidents, politics) - Timeline pressures or constraints - Technical architecture or dependencies - Stakeholder concerns Advise them not to worry about organizing it - just get it all out. Offer multiple ways to provide context: - Info dump stream-of-consciousness - Point to team channels or threads to read - Link to shared documents **If integrations are available** (e.g., Slack, Teams, Google Drive, SharePoint, or other MCP servers), mention that these can be used to pull in context directly. **If no integrations are detected and in Claude.ai or Claude app:** Suggest they can enable connectors in their Claude settings to allow pulling context from messaging apps and document storage directly. Inform them clarifying questions will be asked once they've done their initial dump. **During context gathering:** - If user mentions team channels or shared documents: - If integrations available: Inform them the content will be read now, then use the appropriate integration - If integrations not available: Explain lack of access. Suggest they enable connectors in Claude settings, or paste the relevant content directly. - If user mentions entities/projects that are unknown: - Ask if connected tools should be searched to learn more - Wait for user confirmation before searching - As user provides context, track what's being learned and what's still unclear **Asking clarifying questions:** When user signals they've done their initial dump (or after substantial context provided), ask clarifying questions to ensure understanding: Generate 5-10 numbered questions based on gaps in the context. Inform them they can use shorthand to answer (e.g., "1: yes, 2: see #channel, 3: no because backwards compat"), link to more docs, point to channels to read, or just keep info-dumping. Whatever's most efficient for them. **Exit condition:** Sufficient context has been gathered when questions show understanding - when edge cases and trade-offs can be asked about without needing basics explained. **Transition:** Ask if there's any more context they want to provide at this stage, or if it's time to move on to drafting the document. If user wants to add more, let them. When ready, proceed to Stage 2. ## Stage 2: Refinement & Structure **Goal:** Build the document section by section through brainstorming, curation, and iterative refinement. **Instructions to user:** Explain that the document will be built section by section. For each section: 1. Clarifying questions will be asked about what to include 2. 5-20 options will be brainstormed 3. User will indicate what to keep/remove/combine 4. The section will be drafted 5. It will be refined through surgical edits Start with whichever section has the most unknowns (usually the core decision/proposal), then work through the rest. **Section ordering:** If the document structure is clear: Ask which section they'd like to start with. Suggest starting with whichever section has the most unknowns. For decision docs, that's usually the core proposal. For specs, it's typically the technical approach. Summary sections are best left for last. If user doesn't know what sections they need: Based on the type of document and template, suggest 3-5 sections appropriate for the doc type. Ask if this structure works, or if they want to adjust it. **Once structure is agreed:** Create the initial document structure with placeholder text for all sections. **If access to artifacts is available:** Use `create_file` to create an artifact. This gives both Claude and the user a scaffold to work from. Inform them that the initial structure with placeholders for all sections will be created. Create artifact with all section headers and brief placeholder text like "[To be written]" or "[Content here]". Provide the scaffold link and indicate it's time to fill in each section. **If no access to artifacts:** Create a markdown file in the working directory. Name it appropriately (e.g., `decision-doc.md`, `technical-spec.md`). Inform them that the initial structure with placeholders for all sections will be created. Create file with all section headers and placeholder text. Confirm the filename has been created and indicate it's time to fill in each section. **For each section:** ### Step 1: Clarifying Questions Announce work will begin on the [SECTION NAME] section. Ask 5-10 clarifying questions about what should be included: Generate 5-10 specific questions based on context and section purpose. Inform them they can answer in shorthand or just indicate what's important to cover. ### Step 2: Brainstorming For the [SECTION NAME] section, brainstorm [5-20] things that might be included, depending on the section's complexity. Look for: - Context shared that might have been forgotten - Angles or considerations not yet mentioned Generate 5-20 numbered options based on section complexity. At the end, offer to brainstorm more if they want additional options. ### Step 3: Curation Ask which points should be kept, removed, or combined. Request brief justifications to help learn priorities for the next sections. Provide examples: - "Keep 1,4,7,9" - "Remove 3 (duplicates 1)" - "Remove 6 (audience already knows this)" -
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.