Claude-skill-registry kramme:connect-existing-feature-documentation-writer
Use this skill when you are creating documentation for an existing Connect feature or updating existing docs
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kramme-connect-existing-feature-documentation-writer" ~/.claude/skills/majiayu000-claude-skill-registry-kramme-connect-existing-feature-documentation-w-047c62 && rm -rf "$T"
skills/data/kramme-connect-existing-feature-documentation-writer/SKILL.mdConnect Existing Feature Documentation Writer
Instructions
When to use this skill:
- You're working in the Connect monorepo
- You need to create comprehensive documentation for a feature
- Documentation should serve both product teams (non-technical) and development teams (technical)
- You're creating feature documentation for an existing feature or updating existing docs
Triggers:
- "Document the [feature] feature"
- "Create documentation for [feature]"
- "I need docs for [feature] that work for both product and dev teams"
Context: Connect requires comprehensive documentation that serves multiple audiences. Product teams need high-level overviews and user flows, while development teams need architecture details, API references, and technical implementation guidance. This skill produces layered documentation with appropriate depth for each audience.
Guideline Keywords
- ALWAYS — Mandatory requirement, exceptions are very rare and must be explicitly approved
- NEVER — Strong prohibition, exceptions are very rare and must be explicitly approved
- PREFER — Strong recommendation, exceptions allowed with justification
- CAN — Optional, developer's discretion
- NOTE — Context, rationale, or clarification
- EXAMPLE — Illustrative example
Strictness hierarchy: ALWAYS/NEVER > PREFER > CAN > NOTE/EXAMPLE
Documentation Process
Phase 1: Discovery & Planning
Search for Context
- ALWAYS search for related documentation patterns used in the project before starting
- ALWAYS review existing documentation structure for consistency
Clarifying Questions
- ALWAYS ask clarifying questions using
:AskUserQuestion- Where should the documentation be stored? (in-repo, wiki, multiple locations)
- What format? (single doc, multiple docs, layered approach)
- What aspects are most important? (user flows, architecture, API, features)
- Should visual aids be included? (diagrams, Mermaid, text-only)
Explore the Feature
- ALWAYS use the Task tool with
to explore the featuresubagent_type=Explore - ALWAYS set thoroughness to "very thorough" for documentation tasks
- ALWAYS request comprehensive coverage of:
- Backend entities and database models
- API endpoints and controllers
- Frontend libraries and components
- State management patterns
- Key workflows and integrations
Phase 2: Documentation Structure
- ALWAYS create a layered documentation set with multiple documents
- ALWAYS organize documentation by audience (product team vs. developers)
- ALWAYS include a navigation hub (README.md)
1. Navigation Hub (README.md)
- ALWAYS include quick links organized by audience
- ALWAYS include document descriptions
- ALWAYS provide getting started guidance
2. Feature Overview (High-Level)
Audience: Product team, new developers
ALWAYS include these sections:
- What is the feature? (2-3 paragraphs)
- Key capabilities (list with examples)
- Feature lifecycle diagram (Mermaid flowchart)
- Common use cases (real-world examples)
- Integration points
- Best practices
- Quick links to technical docs
ALWAYS include Mermaid diagrams:
- Lifecycle/workflow flowchart showing the feature journey
NEVER include implementation details in the overview
- NOTE: Focus on "what" and "why" not "how"
3. Architecture Documentation (Technical Deep-Dive)
Audience: Developers
ALWAYS include these sections:
- System architecture diagram (Mermaid)
- Database models with ER diagram (Mermaid)
- Entity descriptions with key properties
- Relationships and foreign keys
- Enum definitions
- Frontend architecture
- Library organization diagram (Mermaid)
- Component hierarchy
- State management patterns
- Key interfaces and types
- Backend architecture
- Controller layer
- Service layer
- Repository layer
- Background jobs (if applicable)
- File location reference (tables)
- Performance considerations
- Security considerations
ALWAYS include Mermaid diagrams:
- High-level architecture showing frontend, backend, database
- Entity-relationship diagram
- Frontend library dependency graph
ALWAYS include actual code snippets from the codebase
ALWAYS provide file paths for all major files
4. User Flows Documentation
Audience: Product team and developers
ALWAYS include these sections:
- Flow descriptions for each major workflow
- Sequence diagrams (Mermaid) showing:
- Creation/setup flow
- Primary user interaction flow
- Data submission/processing flow
- Reporting/analytics flow (if applicable)
- State diagrams for complex state machines
- Step-by-step explanations
- Key decision points and branching logic
ALWAYS include Mermaid diagrams:
- Sequence diagrams for each major flow (5-7 diagrams typical)
- State diagrams for complex state transitions
ALWAYS number steps clearly
ALWAYS include error/edge case flows
5. API Reference (Developer)
Audience: Developers integrating with the API
ALWAYS include these sections:
- Authentication & authorization
- Endpoint groups (organized by function)
- For each endpoint:
- Method and path
- Authorization requirements
- Parameters (path, query, body)
- Request body schema
- Response schemas
- Example requests/responses
- Error responses
- Data type definitions (TypeScript interfaces)
- Enum definitions
- Rate limiting (if applicable)
ALWAYS document all endpoints (don't skip any)
ALWAYS show real request/response examples
ALWAYS list all possible error responses
6. Glossary (All Audiences)
Audience: Everyone
ALWAYS include these sections:
- Core concepts (domain terminology)
- Technical terms
- Configuration options
- Integration terminology
- Data structures
- Acronyms and abbreviations
ALWAYS organize alphabetically within categories, not strictly alphabetical overall
ALWAYS define terms as they appear in other docs
ALWAYS provide context and examples
ALWAYS include "also known as" alternatives
Phase 3: Content Creation
Writing Best Practices
- ALWAYS start with the high-level overview
- ALWAYS write for non-technical readers in the overview
- ALWAYS focus on "what" and "why" not "how" in the overview
- ALWAYS include practical examples
Creating Visual Diagrams
- ALWAYS use Mermaid for all diagrams
- ALWAYS create visual diagrams early in the process
- ALWAYS keep diagrams focused (one concept per diagram)
- ALWAYS use consistent styling and naming
- ALWAYS add explanatory notes in diagrams
Documenting Architecture
- ALWAYS start with high-level, drill down to details
- ALWAYS include actual code snippets from the codebase
- ALWAYS show relationships between components
- ALWAYS provide file paths for all major files
Writing User Flows
- ALWAYS use sequence diagrams to show interactions
- ALWAYS number steps clearly
- ALWAYS explain decision points
- ALWAYS include error/edge case flows
Writing API Documentation
- ALWAYS include all endpoints (don't skip any)
- ALWAYS show real request/response examples
- ALWAYS document all parameters
- ALWAYS list all possible error responses
Writing Glossary
- ALWAYS define terms as they appear in other docs
- ALWAYS provide context and examples
- ALWAYS link related terms
- ALWAYS include "also known as" alternatives
Phase 4: Cross-Referencing
- ALWAYS ensure every document links to related documents
- ALWAYS add a "Related Documentation" section at the bottom of each document
Cross-reference matrix:
- Overview → Architecture, User Flows, Glossary
- Architecture → Overview, User Flows, API Reference
- User Flows → Overview, Architecture, API Reference
- API Reference → Architecture, Glossary
- Glossary → All other docs
Phase 5: Quality Checks
ALWAYS complete these checks before considering documentation complete:
Completeness Check
- All major components documented
- All API endpoints included
- All user workflows covered
- All key terms defined in glossary
Audience Appropriateness
- Overview readable by non-technical users
- Technical docs provide sufficient detail
- Diagrams enhance understanding
- Examples are practical and realistic
Navigation
- README provides clear entry points
- Cross-references work correctly
- Table of contents in long documents
- Consistent heading hierarchy
Visual Quality
- Mermaid diagrams render correctly
- Diagrams are appropriately sized
- Code blocks have proper syntax highlighting
- Tables are well-formatted
Final Checklist
- Check that dates are correct (be mindful of not using knowledge cut-off dates instead of actual dates)
Mermaid Diagram Types
System Architecture
- ALWAYS use
(top-bottom) orgraph TB
(left-right)graph LR - ALWAYS use subgraphs to organize components
- PREFER using descriptive node labels
EXAMPLE:
graph TB subgraph "Frontend" UI[Component] end subgraph "Backend" API[Controller] end subgraph "Data" DB[(Database)] end UI --> API --> DB
Entity Relationship
- ALWAYS use
erDiagram - ALWAYS show relationships with cardinality
- ALWAYS include key fields
EXAMPLE:
erDiagram ENTITY_A ||--o{ ENTITY_B : contains ENTITY_A { uuid id PK string name }
Sequence Diagram
- ALWAYS use
sequenceDiagram - ALWAYS include all key participants
- ALWAYS show request-response patterns
- PREFER using actors for users
EXAMPLE:
sequenceDiagram actor User participant Frontend participant API User->>Frontend: Action Frontend->>API: Request API-->>Frontend: Response Frontend-->>User: Result
State Diagram
- ALWAYS use
stateDiagram-v2 - ALWAYS show all state transitions
- ALWAYS label transitions with events
EXAMPLE:
stateDiagram-v2 [*] --> StateA StateA --> StateB: Event StateB --> [*]
File Naming Convention
- ALWAYS use consistent file naming:
- Navigation hubREADME.md
- High-level capabilities{feature}-overview.md
- Technical deep-dive{feature}-architecture.md
- User journeys{feature}-user-flows.md
- API documentation{feature}-api-reference.md
- Terminology{feature}-glossary.md
Tips for Success
Using the Explore Agent
- ALWAYS be specific about what you need to find
- ALWAYS request "very thorough" exploration for documentation
- ALWAYS ask for file locations and key functionality
- ALWAYS search both frontend and backend
Creating Diagrams
- ALWAYS start with a simple diagram
- ALWAYS add detail as understanding improves
- ALWAYS keep diagrams focused on one aspect
- ALWAYS use subgraphs to organize complex systems
Balancing Detail and Clarity
- ALWAYS keep overview high-level with minimal jargon
- ALWAYS make architecture technical but organized
- ALWAYS make API documentation complete and precise
- ALWAYS make glossary definitions clear with context
Writing for the Reader
- ALWAYS explain acronyms on first use
- ALWAYS provide context before diving into details
- ALWAYS use consistent terminology throughout
- ALWAYS add examples to illustrate concepts
Keeping it Maintainable
- ALWAYS store docs in version control
- ALWAYS use relative links within docs
- ALWAYS make diagrams from text (Mermaid) not images
- ALWAYS document the "why" not just the "what"
- NEVER reference specific code line numbers as these might change
Expected Output
Structure
EXAMPLE:
/docs/{feature}/ ├── README.md # Navigation hub ├── {feature}-overview.md # High-level ├── {feature}-architecture.md # Technical ├── {feature}-user-flows.md # Workflows ├── {feature}-api-reference.md # API docs └── {feature}-glossary.md # Terms
- NEVER list the line counts of each file, as these will get outdated quickly
Scale
- NOTE: Comprehensive documentation typically produces 3000+ lines total
- NOTE: Expect 6-8 Mermaid diagrams across all documents
- NOTE: Plan for 1-2 hours of work for a complex feature
- NOTE: Documentation should be living - update as features evolve
Additional Best Practices from AGENTS.md
- ALWAYS check AGENTS.md for the latest definite best practices
Frontend Documentation
- ALWAYS reference library naming conventions from AGENTS.md
- ALWAYS document ComponentStore patterns for state management
- ALWAYS document Angular component patterns (OnPush, standalone, inject)
Backend Documentation
- ALWAYS document Entity Framework migrations if applicable
- ALWAYS document Hangfire background jobs if applicable
- ALWAYS document API endpoint patterns and conventions
GitLab Workflow
- NOTE: Connect uses GitLab, not GitHub
- ALWAYS reference GitLab CI/CD patterns if documenting deployment
- ALWAYS use Pull Request (PR) terminology, not Merge Request (MR)
Reference Files
ALWAYS check these locations for existing documentation patterns:
- Development guidelines and best practicesAGENTS.md
- AI-specific instructionsCLAUDE.md- Existing feature documentation in the repository
Examples
Please see instructions section.