doc-and-modernize
Lets your agent create an architecture document from code. It's useful for understanding, mapping, or documenting a project.
What it does
This tool helps you understand and organize code projects. It can create a detailed document about your project's architecture or a plan to modernize it.
When to use it
- ✓When you join a new project and need to understand it quickly.
- ✓When you want to document the structure of an existing project.
- ✓When you plan to update or rewrite an old system.
Example of what to ask your AI
“Document the architecture of this repository and tell me how I can modernize it.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool reads your project's files locally to understand how it works. Then, it generates a document with the architecture or a modernization plan based on what it found.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill doc-and-modernizeOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/doc-and-modernize/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Documentation & Modernization
Two complementary workflows for a repository the user already has checked out locally, bundled as one skill:
- Documentation mode — produce one definitive, cited architecture document from the code on disk. Ideal for onboarding, system-design maps, or as the evidence base for a modernization effort.
- Modernization mode — turn that architecture into a phased, safety-laddered plan to upgrade, migrate, or rewrite a legacy system.
Mode selection
- If the user wants to understand, document, map, research, or onboard onto a codebase, run Documentation mode.
- If the user wants to modernize, migrate, upgrade, or rewrite a system, run Modernization mode. Modernization mode is self-sufficient: if no architecture document exists yet, it runs the Documentation mode workflow first (in the same pass), then continues straight through to the plan.
When in doubt, produce the architecture document first — it is the audited evidence base both modes rely on.
Documentation mode
Generate one definitive, cited architecture document for a repository the user already has checked out locally. The goal is a writeup someone could hand to a new engineer as their onboarding reference — broad enough to cover the whole system, deep enough on the hard parts to be useful, and trustworthy because every claim traces back to a file on disk.
Why local-first
Reading from the local checkout (not the GitHub API or the web) is the deliberate
default. It is faster, free, avoids rate limits, and — most importantly — it
describes the exact code in front of you rather than whatever main happens
to look like remotely. The one tradeoff is that remote-only facts (star counts,
full CI run history, sibling repos) aren't visible. That's fine: state those as
out-of-scope or mark them [UNVERIFIED] rather than guessing.
Local-first is not local-never-remote: a web/API lookup is a deliberate
last-resort fallback, reserved for a fact that genuinely cannot be determined
from disk and that materially matters to the document. When you do reach for it,
flag the result clearly (e.g. [UNVERIFIED] / sourced-remotely) so the reader
knows it didn't come from the checkout, and never let it become the easy path
that displaces reading the code on disk.
Workflow
- Establish identity first. Run
git remote -v,git branch --show-current, andgit log -1so the document is anchored to a specific remote, branch, and commit. A reader must be able to tell which snapshot this describes. Remote URLs can contain embedded credentials (e.g.https://<token>@github.com/...) — redact any credentials/tokens from the URL before recording it in the document. - Detect, don't assume. Read the real manifests (
go.mod,package.json,Cargo.toml,pyproject.toml,pom.xml, etc.), theMakefile/task runner, CI config, and any repo-specific agent or contributor docs (AGENTS.md,CONTRIBUTING,README,docs/). These are the source of truth for the tech stack and commands — prefer them over your prior knowledge of the framework. - Map breadth, then drill into depth. First build the whole-repo map (the three lenses below), then pick the 2-3 hardest subsystems and go deep on them.
- Verify as you go. Open the files you cite. If you reference a line number, you should have actually read that line. Unsupported claims are worse than omissions here — the whole value of this document is that it can be trusted.
Output structure
Produce a single Markdown file with the sections below, in this order. Adapt the headings to the actual project (a CLI tool has no "frontend" lens — fold that slot into whatever matters for that repo), but keep the three-lens shape and the verification discipline.
Part 1 — Whole-repo technical deep-dive
- What the repository is (one paragraph, cited to README).
- Tech-stack detection table: layer | technology | evidence (file+line).
- Entry points (backend, frontend, CLI — whatever applies).
- Commands & Verification Inventory — a table of the canonical project
commands (
command | purpose | evidence), verified against the task runner / manifests / CI config, not guessed. Cover build, run/serve, test (and how to run a single test), lint, format, and — where they exist — typecheck, end-to-end/smoke, contract, and any other gate commands, plus the CI
…
FAQ
Why does the tool read files locally?
Reading locally is faster, has no usage limits, and ensures the documentation reflects exactly the code you have, not an online version.
What happens if the tool needs information not present in the local code?
It can fetch information online as a last resort, but it will always indicate when this happens so you know the source of the information.
What's the difference between documentation mode and modernization mode?
Documentation mode creates a detailed map of the project. Modernization mode uses that map to create a step-by-step plan to update the system.
Details
Original description by the author
Two related workflows for a locally-cloned codebase, in one skill. Documentation mode produces a single, comprehensive, verifiable architecture document primarily by reading files on disk (local-first) — use it whenever the user wants to understand, map, document, research, or onboard onto a codebase ("research this repo", "write up the architecture", "do an architecture deep dive", "document how
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5117
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
architecture-decision-records
Has your agent record important project structure decisions. It helps to understand the reasoning behind choices and maintain a clear history of changes.
affaan-m/ECC
code-tour
Lets your agent create step-by-step code walkthroughs with exact file and line anchors. It's useful for project introductions, code explanations, or change reviews. Helps understand how a system works.
affaan-m/ECC
codebase-onboarding
Helps your agent analyze unfamiliar code and create an onboarding guide. It includes an architecture map, entry points, and conventions. Ideal for starting on a new project.
affaan-m/ECC