Interactive technical documentation writer using template-based creation with guided questioning. Use when users request technical documentation, one-pagers, proposals, RFCs, TSDs, ADRs, POCs, experiments, design documents, or need help documenting decisions. Supports One-Pager, RFC, TSD, ADR, and POC/Experiment document types with automatic AI recommendation. Integrates with web-research-specialist agent for research and mermaid skill for diagrams.
/plugin marketplace add irfansofyana/my-claude-code-marketplace/plugin install common-engineering@my-claude-code-marketplaceThis skill is limited to using the following tools:
assets/templates/adr/examples.mdassets/templates/adr/guidance.mdassets/templates/adr/quality-checklist.mdassets/templates/adr/template.mdassets/templates/one-pager/examples.mdassets/templates/one-pager/guidance.mdassets/templates/one-pager/quality-checklist.mdassets/templates/one-pager/template.mdassets/templates/poc-experiment/examples.mdassets/templates/poc-experiment/guidance.mdassets/templates/poc-experiment/quality-checklist.mdassets/templates/poc-experiment/template.mdassets/templates/rfc/examples.mdassets/templates/rfc/guidance.mdassets/templates/rfc/quality-checklist.mdassets/templates/rfc/template.mdassets/templates/tsd/examples.mdassets/templates/tsd/guidance.mdassets/templates/tsd/quality-checklist.mdassets/templates/tsd/template.mdCreate professional technical documentation using structured templates with interactive guidance. This skill helps users articulate their ideas clearly, producing well-organized documents.
Key principle: All information comes from the user through interactive prompts. Do NOT read the user's codebase to discover or understand the problem. The Read tool is ONLY for reading user-provided context files (e.g., existing ADRs, RFCs, design documents) that the user explicitly references for additional context.
This skill follows a guided discovery approach rather than automatic generation:
This approach produces better documentation because it forces users to think through their proposals systematically.
| Type | Template | Status | Use Case |
|---|---|---|---|
| One-Pager | assets/templates/one-pager/ | ✅ Active | Proposals, feature briefs, quick decisions |
| RFC | assets/templates/rfc/ | ✅ Active | Request for Comments, cross-team design proposals |
| TSD | assets/templates/tsd/ | ✅ Active | Technical Specification Documents (APIs, data models) |
| ADR | assets/templates/adr/ | ✅ Active | Architecture Decision Records (technology choices) |
| POC/Experiment | assets/templates/poc-experiment/ | ✅ Active | Proof of concepts, technical experiments, technology validation |
IMPORTANT: This skill now follows a unified three-phase architecture that applies to ALL document types:
- Phase 1: Universal Discovery (Problem Validation + Context Input) - SAME FOR ALL DOCUMENT TYPES
- Phase 2: Document Type Selection (AI recommends, user decides)
- Phase 3: Template-Specific Discovery (Questions unique to chosen document type)
Key Benefits:
IMPORTANT: You MUST follow the workflow gates below. Do NOT skip to content generation without completing mandatory steps.
| Gate | Checkpoint | Required? | Blocked Until |
|---|---|---|---|
| 1 | Problem Validation Gate complete | ✅ Yes | Cannot proceed without validated problem |
| 2 | Document type selected | ✅ Yes | Cannot proceed without type selection |
| 3 | Research offered (if Exploratory/Research-first) | Conditional | Must offer before content if user is uncertain |
| 4 | Quality validation | ✅ Yes | Cannot present final output without validation |
CRITICAL: Phase 1 is MANDATORY for ALL document types. The Problem Validation Gate must be completed BEFORE selecting a document type.
Goal: Validate the problem and gather rich context BEFORE deciding on document format.
Ask user to choose their readiness level. See references/question-bank.md for the AskUserQuestion pattern.
| Readiness | Description | Workflow |
|---|---|---|
| Quick Start | User has all details ready | Skip to Phase 2 (Document Type Selection) |
| Guided | User has basics, needs help | Complete Problem Validation Gate → Phase 2 |
| Exploratory | Just an idea | Problem Validation Gate → Research (to fill gaps) → Phase 2 |
| Research-first | Needs to gather information | Problem Validation Gate → Research (to gather context) → Phase 2 |
GATE 1: You MUST complete the Problem Validation Gate BEFORE selecting a document type or discussing solutions.
For Guided, Exploratory, and Research-first modes, complete the Universal Discovery questions:
Mandatory Problem Validation (4 questions):
Enhanced Problem Questions (optional): 5. Pain Point Specificity: "What's the SINGLE WORST thing about the current situation?" 6. Impact Urgency: "What's the cost of NOT fixing this?"
Solution Challenge Flow: If user jumps to solution before completing Problem Validation Gate:
These can be asked at ANY point to enrich the proposal:
See references/question-bank.md for Universal Discovery question patterns (see "Universal Discovery Questions" section).
GATE 2: You MUST select a document type AFTER completing Universal Discovery (or after Quick Start users have all information).
Goal: Recommend and select the most appropriate document type based on the validated problem.
Analyze the problem to recommend a document type:
Decision Logic:
| Indicators | Recommended Type | Rationale |
|---|---|---|
| Simple problem, single solution, quick decision | One-Pager | Concise proposal for fast approval |
| Complex architecture, multiple services, implementation phases | RFC | Detailed design requires thorough analysis |
| API specification, data model, interface definition | TSD | Technical implementation details |
| Technology choice, framework decision, architectural pivot | ADR | Decision-focused with alternatives analysis |
| Hypothesis validation, technology evaluation, uncertain feasibility | POC/Experiment | Learning-focused with Go/No-Go decision |
| User unsure, unclear scope | Ask User | Present options with descriptions |
Example:
Based on what you've described, I recommend an **RFC** because:
- This involves multiple services and implementation phases
- There are significant migration and rollback considerations
- The architectural approach needs thorough review
Does that sound right?
Options:
Goal: Ask questions unique to the chosen document type AFTER the problem is understood and type is selected.
Process:
assets/templates/{type}/guidance.mdTemplate-Specific Questions Examples:
When to offer research:
How to invoke research:
agent:web-research-specialist for industry best practices, technical context, competitor analysisKey Principle: Problem Validation Gate ALWAYS comes first. Research is targeted based on what gaps are identified during validation.
CRITICAL: Output Rules
⚠️ What to INCLUDE in user-facing documents:
⚠️ What to EXCLUDE from user-facing documents:
Template Files Purpose:
template.md - Clean structure with section headings (use for document structure)guidance.md - Section-specific guidance with questions and quality criteria (read for context, never copy to output)quality-checklist.md - Validation criteria (use in Phase 5 only, never show to user)Content Generation Process:
assets/templates/{type}/guidance.mdassets/templates/{type}/examples.md for quality benchmarksOnly if user requested diagrams:
common-engineering:mermaid skill to generate validated diagramsDo NOT proactively suggest diagrams unless user requested them.
MANDATORY: Pre-Output Self-Check
Before presenting ANY draft to the user, you MUST verify:
If ANY prohibited content found: Remove it immediately before presenting to user.
Phase 5 Workflow:
Present Draft (WITHOUT validation criteria):
Internal Validation (Using quality-checklist.md):
assets/templates/{type}/quality-checklist.mdOffer Improvements (Without showing checklist):
User Refinements:
Final Output:
document-skills:docx or document-skills:pdfThis skill activates automatically when users request technical documentation. It works through interactive prompts:
agent:web-research-specialist using Task toolcommon-engineering:mermaid skillResearch assistance:
When user selects "Research-first" or input is vague:
1. Use Task tool with subagent_type="common-engineering:web-research-specialist"
2. Pass research query (e.g., "industry best practices for OAuth implementation")
3. Incorporate findings into document sections
Diagram creation:
When user requests diagrams:
1. Invoke common-engineering:mermaid skill
2. Provide diagram type and content requirements
3. Mermaid skill validates and generates PNG
4. Include diagram in document output
⚠️ CRITICAL: Quality validation is for INTERNAL use only. Never show checkboxes or validation criteria to users.
How to validate:
assets/templates/{type}/quality-checklist.mdExample - CORRECT approach:
Example - WRONG approach:
These criteria are checked internally during Phase 5:
Each document type has detailed validation criteria in assets/templates/{type}/quality-checklist.md. Read this file during Phase 5 but NEVER show it to users.
| File | Purpose | Use In |
|---|---|---|
| writing-guidelines.md | Technical writing best practices | All phases |
| question-bank.md | Reusable AskUserQuestion patterns | Phase 1, 3 |
| assets/templates/{type}/template.md | Clean document structure (headings only) | Phase 3 (structure) |
| assets/templates/{type}/guidance.md | Section-specific guidance with questions and quality criteria (DO NOT copy to output) | Phase 3 (read for context) |
| assets/templates/{type}/quality-checklist.md | Validation criteria (DO NOT show to user) | Phase 5 (internal validation) |
| assets/templates/{type}/examples.md | Completed example documents | Phase 3 (quality reference) |
File Usage Rules:
agent:web-research-specialist (common-engineering plugin)
Task(subagent_type="common-engineering:web-research-specialist", ...)common-engineering:mermaid (common-engineering plugin)
document-skills:docx (document-skills plugin)
document-skills:pdf (document-skills plugin)
⚠️ Required plugins:
To add a new document type (e.g., POC/Experiment):
assets/templates/poc-experiment/ directorytemplate.md - Document structure with guidance commentsguidance.md - Section-by-section guidance for the agentquality-checklist.md - Validation criteria (internal use only)examples.md - 2-3 completed examplestechdocs-writer.md agent Decision Logic tabletechdocs-writer.md agent Template-Specific Questions Examplesreferences/question-bank.mdThe core workflow in this skill handles all document types generically. Document-specific logic lives in the template files.
The three-phase architecture supports different user readiness levels:
For users with "I have everything ready":
1. Skip to Phase 2 (Document Type Selection)
2. User provides problem context directly
3. AI recommends document type based on user input
4. Complete Phase 3 (Template-Specific Discovery)
5. Generate content using template
6. Review and output
For users with "I have the basics":
1. Phase 1: Complete Problem Validation Gate
2. Phase 2: AI recommends document type
3. Phase 3: Template-specific questions for each section
4. Generate content section-by-section with feedback
5. Review complete document
6. Output
For users with "Just an idea":
1. Phase 1: Problem Validation Gate → Research (to fill gaps)
2. Phase 2: AI recommends document type based on validated problem + research findings
3. Phase 3: Template-specific discovery
4. Content generation with research findings integrated
5. Review and output
For users who need to gather information:
1. Phase 1: Problem Validation Gate → Research (to gather context) → Context Input
2. Phase 2: AI recommends document type
3. Phase 3: Template-specific discovery
4. Content generation with research findings
5. Review and output
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.