docs

Generate or update public documentation from source code. Use when the user says "/docs", wants to update docs, or asks to generate documentation for the project.

Best use case

docs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate or update public documentation from source code. Use when the user says "/docs", wants to update docs, or asks to generate documentation for the project.

Teams using docs should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/docs/SKILL.md --create-dirs "https://raw.githubusercontent.com/Charlieverse-ai/charlieverse/main/.charlie/tricks/docs/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/docs/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How docs Compares

Feature / AgentdocsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate or update public documentation from source code. Use when the user says "/docs", wants to update docs, or asks to generate documentation for the project.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## What this skill does

Reviews all public interfaces (CLI, REST API, MCP tools, skills, agents) and generates or updates documentation in `docs/` and the README.

## Steps

### 1. Inventory public interfaces

Scan the codebase for all public-facing surfaces:

**CLI commands** — read `charlieverse/cli/main.py` to find all registered commands/typers, then read each command file for arguments, options, and help text.

**REST API endpoints** — read `charlieverse/server.py` and find all `@mcp.custom_route()` decorators. Extract method, path, and any docstrings.

**MCP tools** — read `charlieverse/server.py` and find all `@mcp.tool` decorators. Extract tool name, parameters (from type hints), and docstrings.

**Bundled skills** — run `charlie skill list --json` and read each SKILL.md for name, description, and usage.

**Bundled agents** — scan `prompts/tools/*.md` and `prompts/cli/*.md` for agent definitions. Extract name, description from frontmatter.

### 2. Check existing docs

Read `docs/` directory if it exists. Compare against the inventory to find:
- New interfaces not yet documented
- Existing docs that are stale (interface changed since doc was written)
- Docs for interfaces that no longer exist

### 3. Generate/update docs

Create or update these files:

**`docs/cli.md`** — Full CLI reference. For each command:
- Command and subcommands
- Arguments and options with types and defaults
- Description
- Examples

**`docs/api.md`** — REST API reference. For each endpoint:
- Method + path
- Request body / query params
- Response format
- Description

**`docs/mcp-tools.md`** — MCP tool reference. For each tool:
- Tool name
- Parameters with types
- Return format
- Description

**`docs/skills.md`** — Skills reference. For each bundled skill:
- Name and description
- Usage / argument hint
- What it does

**`docs/agents.md`** — Agent reference. For each bundled agent:
- Name and description
- What it's for
- How to use it

### 4. Update README

Read `README.md`. Update these sections (create if missing):
- Feature list (should reflect current capabilities)
- CLI quick reference (table of commands)
- Link to full docs in `docs/`

Don't rewrite the whole README — just update the sections that reference interfaces.

### 5. Commit

```bash
git add docs/ README.md
charlie-commit -m "Update documentation for public interfaces

Charlie 🐕 <charlie@charlieverse.ai>"
```

### Rules

- Write docs for humans, not AI. Concise, scannable, with examples.
- Use tables for parameter lists.
- Don't document internal/private interfaces.
- If an interface has no docstring, document it from the code behavior and flag it as needing a docstring.
- Keep the README lean — point to docs/ for details.

Related Skills

trick

6
from Charlieverse-ai/charlieverse

Run Charlie tricks by name or path. Use when the user says "/trick", wants to run a trick, list available tricks, or execute a skill file. Also trigger when the user mentions running a specific trick by name (e.g., "run the session-save trick", "run ship", "do the commit trick").

research

6
from Charlieverse-ai/charlieverse

Research a topic and save findings to Charlieverse knowledge. Use whenever the user wants to research something, look up documentation, investigate a library or tool, explore a concept, or asks "what do you know about X". Also trigger when the user says "/research", wants to build up knowledge about a subject, or asks you to "look into" something — even if they don't use the word "research" explicitly.

copilot

6
from Charlieverse-ai/charlieverse

Run a task through GitHub Copilot CLI. Use when the user says "/copilot", wants to delegate work to Copilot, or mentions running something through Copilot. Also trigger when the user wants to use Copilot for a task.

codex

6
from Charlieverse-ai/charlieverse

Run a task through OpenAI Codex CLI. Use when the user says "/codex", wants to delegate work to Codex, or mentions running something through Codex. Also trigger when the user wants to use an OpenAI model for a task.

session-save

6
from Charlieverse-ai/charlieverse

Save or update the current session. Use this skill when asked to handoff, save session, update session, start a new chat, etc. Always call this before using the `update_session` MCP tool directly.

charlie-import

6
from Charlieverse-ai/charlieverse

Import conversation history from AI providers (Claude, Copilot, Codex, Cursor) and generate stories from the imported data. Use on first session to bootstrap memory from existing conversations, or anytime the person wants to import history from another provider/machine.

typo-check

6
from Charlieverse-ai/charlieverse

Find typos, grammar errors, punctuation/capitalization mistakes, and banned-phrase voice slips in prose and code comments. Use when the user says "/typo-check", wants to scan for typos, or before shipping user-facing text. Reports findings and confirms before fixing.

test-coverage

6
from Charlieverse-ai/charlieverse

Evaluate the test coverage

ship

6
from Charlieverse-ai/charlieverse

Commit, docs, changelog, and push in one go. Use when the user says "/ship", wants to ship their changes, or asks to commit and push everything.

qc

6
from Charlieverse-ai/charlieverse

Run quality control checks on the codebase — type checking, linting, tests, and server smoke test. Use when the user says "/qc", wants to verify code quality, or after making significant changes.

commit

6
from Charlieverse-ai/charlieverse

Review repo changes and create logical atomic commits. Use when the user says "/commit", wants to commit their work, or asks to break changes into commits.

changelog

6
from Charlieverse-ai/charlieverse

Generate or update CHANGELOG.md from git commits using semantic versioning. Use when the user says "/changelog", wants to update the changelog, or asks to generate release notes.