Opencode project-docs

Generate comprehensive, professional project documentation structures including README, ARCHITECTURE, USER_GUIDE, DEVELOPER_GUIDE, and CONTRIBUTING files. Use when the user requests project documentation creation, asks to "document a project", needs standard documentation files, or wants to set up docs for a new repository. Adapts to Python/Go projects and OpenSource/internal contexts.

install
source · Clone the upstream repo
git clone https://github.com/jjmartres/opencode
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jjmartres/opencode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/opencode/skills/project-docs" ~/.claude/skills/jjmartres-opencode-project-docs && rm -rf "$T"
manifest: opencode/skills/project-docs/SKILL.md
source content

Project Documentation Generator

Generate complete, professional documentation structures for software projects. Automatically adapts content and structure based on project language (Python/Go), context (OpenSource/internal), and existing files.

Core Documentation Files

Always generate these five core files:

  1. README.md - Project overview, quick start, badges
  2. ARCHITECTURE.md - System design, components, data flow
  3. USER_GUIDE.md - Usage examples, configuration, troubleshooting
  4. DEVELOPER_GUIDE.md - Development setup, testing, contribution workflow
  5. CONTRIBUTING.md - Contribution guidelines, code standards, PR process

Workflow

1. Context Detection

Before generating docs, detect:

  • Language: Scan for
    go.mod
    ,
    pyproject.toml
    ,
    requirements.txt
    ,
    setup.py
  • Project type: Check for
    Dockerfile
    ,
    terraform/
    ,
    k8s/
    , AI/ML indicators
  • Existing docs: Identify what already exists to avoid duplication
  • License: Detect from LICENSE file or ask user
  • Context: Determine if OpenSource or internal based on repo structure

2. Ask Clarifying Questions

Ask user ONE question at a time to fill gaps:

  • "What's the primary purpose of this project in one sentence?"
  • "Who's the main audience? (developers, ops, end-users, all)"
  • "Is this OpenSource or internal? (affects badges, contact info)"
  • "Any company-specific tooling to mention? (Jira, Slack channels, etc.)"

3. Content Adaptation

Read

references/templates.md
to select appropriate template variants based on detected context.

Language-specific elements:

  • Python: Package managers (
    uv
    ,
    pip
    ,
    poetry
    ), testing (
    pytest
    ), linting (
    ruff
    ,
    mypy
    )
  • Go: Build commands, testing,
    golangci-lint
    , module structure

Context-specific elements:

  • OpenSource: Badges, CODE_OF_CONDUCT, security policy, community guidelines
  • Internal: Slack channels, internal tools, compliance requirements, team contacts

Project type adjustments:

  • AI Agents: MCP architecture, prompt patterns, example interactions
  • Infrastructure: Terraform/K8s setup, deployment procedures, DR plans
  • Microservices: API schemas, service mesh, health checks
  • CLI Tools: Installation methods, command examples, flags

4. File Generation

Generate files in this order:

  1. README.md first (most visible, sets tone)
  2. ARCHITECTURE.md (technical foundation)
  3. DEVELOPER_GUIDE.md (setup and contribution)
  4. USER_GUIDE.md (end-user focused)
  5. CONTRIBUTING.md (community guidelines)

Each file must:

  • Use clear headers and structure from templates
  • Include concrete, runnable examples
  • Reference other docs when needed (avoid duplication)
  • Match project's actual structure and commands

5. Template Application

For each file:

  1. Select template variant from
    references/templates.md
  2. Fill in project-specific details
  3. Add context-appropriate sections
  4. Ensure consistency across all files

6. Quality Checks

Before finalizing, verify:

  • All code examples are runnable and accurate
  • Commands match detected language/tooling
  • Cross-references between docs are correct
  • No placeholder text remains
  • Tone is consistent (technical/friendly/formal based on context)

7. Output

Place all files in

docs/
and use
present_files
to share with user.

Resources

references/templates.md

Contains complete documentation templates for all five core files with variants for:

  • Python vs Go projects
  • OpenSource vs internal contexts
  • Different project types (agent, service, CLI, infra)
  • Different complexity levels

Claude should read this file to select appropriate templates before generating docs.

Special Considerations

For AI Agent projects:

  • Explain MCP server architecture
  • Document tool integrations
  • Show example prompts and interactions
  • Include LLM configuration details

For Infrastructure/DevOps:

  • Environment requirements (cloud providers, versions)
  • Deployment runbooks
  • Monitoring setup
  • Disaster recovery procedures

For Microservices:

  • API endpoint documentation
  • Service dependency diagrams
  • Inter-service communication patterns
  • Health check and metrics endpoints

Quality Standards

Every documentation file must:

  • Have table of contents for files >200 lines
  • Use proper code fences with language tags
  • Include "Quick Start" section at top
  • Show real, tested examples
  • Explain "why" decisions were made
  • Use consistent terminology throughout

Avoid

  • Generic placeholder text like "TODO" or "Coming soon"
  • Outdated technology references
  • Overly complex explanations without examples
  • Duplicating content across multiple files
  • Missing concrete code examples