agentsclimarketplace

Create docs

Skill pavelsimo/skills/skills/create-docs

A collection of agent skills for AI-assisted development.

Install
npx -y skills add pavelsimo/skills --skill create-docs

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Analyzes a codebase and generates LLM-optimized documentation covering project overview, architecture, build system, testing, development patterns, deployment, and a file catalog. Use when the user wants to document a codebase or refresh existing project documentation.

SKILL.md

8.9 KB, as published. Nobody here has run it

create-docs skill

A Claude Code skill that systematically analyzes a project and writes or refreshes a suite of LLM-optimized documentation files β€” covering architecture, build, testing, development patterns, deployment, and a file catalog β€” plus a synthesized README. Every generated file includes a UTC timestamp and concrete file references so both humans and LLMs can navigate the codebase quickly.

Inspired by steipete/agent-rules update-docs.

features

  • analyzes the codebase across 7 key areas in parallel
  • writes to docs/ by default; --output <path> redirects all output
  • existing files are refreshed by default; --no-overwrite preserves them
  • generates a UTC timestamp header in every file so staleness is visible
  • each file contains concrete file references (paths, line numbers, code excerpts)
  • enforces no-duplication: each fact lives in exactly one file; cross-references use relative links
  • synthesizes a minimal README.md (≀ 50 lines) after all section files are done
  • --only <section> refreshes a single file without touching others
  • --dry-run prints what would be written without touching the filesystem

usage

/create-docs                            # analyze project and write to docs/
/create-docs --output <path>            # write to a custom directory
/create-docs --no-overwrite             # skip files that already exist
/create-docs --only <section>           # refresh one section (see sections below)
/create-docs --dry-run                  # preview output without writing files

sections

Flag valueOutput fileContents
overviewPROJECT-OVERVIEW.mdπŸ“‹ purpose, entry points, tech stack, platform support
architectureARCHITECTURE.mdπŸ—οΈ system organization, component map, data flow
buildBUILD-SYSTEM.mdπŸ”§ build system, common workflows, platform setup
testingTESTING.mdβœ… test types, how to run, test file locations
developmentDEVELOPMENT.mdπŸ’» code style, patterns, workflows, conventions
deploymentDEPLOYMENT.mdπŸš€ packaging, distribution, platform deployment
filesFILES.mdπŸ—‚οΈ comprehensive file catalog with purpose descriptions

workflow

  1. parse args:

    • --output <path>: use <path> as the output directory; default is docs/
    • --no-overwrite: skip any section file that already exists at the target path; still generate missing files; note skipped files in the final report
    • --only <section>: run only the named section (see table above); skip all others and skip the README synthesis step
    • --dry-run: generate content but print it to stdout; do not write any files
    • unrecognized flags: print a usage error and stop
  2. resolve the output directory:

    • if --output is not given, use docs/ relative to CWD
    • create the directory if it does not exist: mkdir -p <output>
  3. announce progress with emojis as each section starts and completes:

    • starting: πŸ“‹ analyzing project overview… / πŸ—οΈ analyzing architecture… / etc.
    • done: βœ… wrote docs/PROJECT-OVERVIEW.md
    • skipped (no config found): ⏭️ docs/DEPLOYMENT.md β€” skipped (no deployment config found)
    • skipped (--no-overwrite): πŸ”’ docs/TESTING.md β€” skipped (already exists, --no-overwrite set)
  4. analyze the codebase β€” run the following in parallel (or sequentially if --only is set); for each section, check --no-overwrite before writing:

    πŸ“‹ PROJECT-OVERVIEW.md β€” read: README.md, package.json / pyproject.toml / Cargo.toml / go.mod (whichever exists), main entry-point files; extract: project purpose, core value proposition, tech stack, platform support; write to <output>/PROJECT-OVERVIEW.md

    πŸ—οΈ ARCHITECTURE.md β€” read: top-level source directory structure, main module/package files, any existing architecture docs; extract: high-level system organization, major components and their source locations, key data flows; write to <output>/ARCHITECTURE.md

    πŸ”§ BUILD-SYSTEM.md β€” read: Makefile, CMakeLists.txt, build.gradle, pyproject.toml, Cargo.toml, package.json scripts, CI workflow files; extract: build commands, platform-specific setup, configuration options; write to <output>/BUILD-SYSTEM.md

    βœ… TESTING.md β€” read: test directories, test runner configuration, CI test steps; extract: test types, how to run each, where test files live, how to add a new test; write to <output>/TESTING.md

    πŸ’» DEVELOPMENT.md β€” read: .editorconfig, linter configs (.eslintrc, ruff.toml, .golangci.yml, etc.), any existing patterns or development docs, recent commits for style signals; extract: code style rules with file examples, common implementation patterns with actual code excerpts; merge any existing PATTERNS.md content; write to <output>/DEVELOPMENT.md

    πŸš€ DEPLOYMENT.md β€” read: packaging scripts, release workflows, Docker files, CI/CD deployment jobs; extract: package types, deployment targets, output locations, step-by-step commands; write to <output>/DEPLOYMENT.md

    πŸ—‚οΈ FILES.md β€” run find . -type f (excluding .git, node_modules, vendor, __pycache__); group files by category (core source, platform impl, build, tests, config); write a one-line description per significant file; write to <output>/FILES.md

  5. for each file written, prepend the timestamp header:

    <!-- Generated: YYYY-MM-DD HH:MM:SS UTC -->
    

    derive the current UTC time via: date -u '+%Y-%m-%d %H:%M:%S'

    use the section emoji in the first heading of each generated file: # πŸ“‹ Project Overview, # πŸ—οΈ Architecture, # πŸ”§ Build System, etc.

  6. enforce no-duplication:

    • build information only in BUILD-SYSTEM.md
    • code style and patterns only in DEVELOPMENT.md
    • deployment information only in DEPLOYMENT.md
    • cross-reference with: See [docs/FILENAME.md](docs/FILENAME.md) (adjust path if --output was used)
  7. synthesize README.md (skip if --only is set):

    • read all generated <output>/*.md files
    • write a new README.md in the project root with:
      • project description (2-3 sentences max)
      • key entry points and core configuration files
      • quick build commands
      • documentation links with one-line descriptions
      • keep it under 50 lines total
      • prepend the timestamp header
  8. duplication check:

    • scan all generated files for repeated content
    • remove duplicates and add cross-references where needed
    • if PATTERNS.md exists in the output directory, merge it into DEVELOPMENT.md and delete it
  9. if --dry-run: print all generated content to stdout; write nothing to disk

  10. report results with emojis:

    πŸ“ docs updated  β†’  docs/
    
    βœ… docs/PROJECT-OVERVIEW.md
    βœ… docs/ARCHITECTURE.md
    βœ… docs/BUILD-SYSTEM.md
    βœ… docs/TESTING.md
    βœ… docs/DEVELOPMENT.md
    ⏭️ docs/DEPLOYMENT.md  β€” skipped (no deployment config found)
    βœ… docs/FILES.md
    βœ… README.md
    

document format requirements

Every generated file must follow this structure:

  • timestamp header comment at the very top
  • title heading with section emoji (e.g., # πŸ—οΈ Architecture)
  • brief overview (2-3 paragraphs max)
  • key files & examples section with concrete file references
  • common workflows section with file locations
  • reference section with quick-lookup tables

File reference format (use throughout):

**Core System** β€” implementation in `src/core.h` (lines 15-45), platform backends in `src/platform/`

Code examples must be actual excerpts from the codebase, not generic placeholders:

# From src/example.py:23-27
class ExampleState:
    active: bool
    data: Any
    count: int

best practices

  • always include file paths and line numbers β€” vague references ("see the main file") are not acceptable
  • token-efficient prose β€” avoid redundant explanations; LLMs are the primary audience
  • create the output directory β€” never fail because docs/ doesn't exist yet; create it
  • merge, don't duplicate β€” if DEVELOPMENT.md and PATTERNS.md both exist, merge into one; delete the old file
  • skip gracefully β€” if no deployment config exists, skip DEPLOYMENT.md and note it in the report rather than writing an empty file
  • timestamp every file β€” staleness is a first-class concern; always regenerate the timestamp even on partial updates (--only)
  • --dry-run is safe β€” no filesystem changes; safe to run in any environment
  • --no-overwrite is conservative β€” skip existing files with a πŸ”’ marker; never prompt per-file

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.