@picrew/codeatlas
AUse when the user wants a fast architecture map from a GitHub repository URL or local code folder, and specifically needs a direct HTML visualization of module-to-module relationships. This skill is lightweight: the model inspects the repo, extracts modules/relations, and writes a self-contained HTML report (no external fetch required) plus a small JSON and summary file.
Install
agr install @picrew/codeatlas --target claudeWrites 5 files into .claude/skills/, pinned to git-8af14510.
- .claude/skills/codeatlas/.gitignore
- .claude/skills/codeatlas/LICENSE
- .claude/skills/codeatlas/README.md
- .claude/skills/codeatlas/README_ZH.md
- .claude/skills/codeatlas/SKILL.md
Document
name: codeatlas description: Use when the user wants a fast architecture map from a GitHub repository URL or local code folder, and specifically needs a direct HTML visualization of module-to-module relationships. This skill is lightweight: the model inspects the repo, extracts modules/relations, and writes a self-contained HTML report (no external fetch required) plus a small JSON and summary file.
CodeAtlas
Generate a project relationship map directly from model reasoning + lightweight repo inspection, then output a single-file HTML visualization.
Input -> Output contract
Input accepted:
- Public GitHub repo URL (
https://github.com/<owner>/<repo>) - Local repository path
Output required (same run):
outputs/skill-runs/<run-id>/codeatlas.htmloutputs/skill-runs/<run-id>/module-map.jsonoutputs/skill-runs/<run-id>/summary.md
<run-id> format:
<repo-name>-<platform>-<attempt>- Example:
flask-opencode-attempt-01
Workflow
- Acquire source
- If input is GitHub URL, clone to
.tmp/repos/<repo-name>-<platform>-<attempt>. - If input is local path, use it directly.
- Build module map
- Infer top-level modules from folder structure and package manifests.
- Infer key module relations from import/use/require patterns.
- Keep architecture-level granularity (module-to-module), not function-level call graph.
- Write
module-map.json
- Must include:
projectsourcemodules(name + role summary)relations(source, target, type, reason)entrypoints
- Write
codeatlas.htmlas a single file
- Must be self-contained and open directly via local
file://path. - Do not use
fetch()to load local JSON. - Do not reference external JS/CSS/CDN URLs via
<script src="http(s)://...">or<link href="http(s)://...">. - Prefer copying
assets/codeatlas-single-file-template.htmland replacing the JSON payload. - Embed data with:
<script id="codeatlas-data" type="application/json"> ... </script>
- Render at least:
- project summary
- module cards with beginner-friendly hints
- relation table with both raw reason and beginner explanation
- layered relationship graph (SVG) with arrow direction and relation-type legend
- detailed project framework flow graph (SVG) placed below the relationship graph
- framework flow details table (cross-layer relation mix + example routes + impact hints)
- Write
summary.md
- Include:
- architecture conclusion
- top module relationships (5-12 bullets)
- blind spots / uncertainty
- output file paths
- Validate before finishing
- Check files exist:
codeatlas.html,module-map.json,summary.md. - Check HTML constraints:
- contains
id="codeatlas-data" - does not contain
fetch( - does not contain external script/link URL refs (
<script src="http(s)://...">,<link href="http(s)://...">)
- contains
- If validation fails, rewrite HTML and re-check.
Response contract (chat)
Return in this order:
- One-paragraph architecture conclusion
- Key module relationships
- Risks / blind spots
- Exact output file paths
Iteration rule
When user asks for repeated validation across platforms:
- Run at least 5 attempts total across
opencodeandcodex. - Save each run to unique
<run-id>output folder. - Keep a concise attempt log in
logs/attempts.md.
When user asks for specific model/tool validation (for example, opencode deepseek and codex /fast):
- Follow the requested tool/model pair exactly.
- For codex
/fast, enforce fast tier (for exampleservice_tier=fast). - Run at least 3 iterative attempts (or more if user requests).
- If user asks to clean old runs, delete old
outputs/skill-runs/*before new attempts.
References
references/input-output.mdreferences/html-requirements.mdreferences/attempt-checklist.mdassets/codeatlas-single-file-template.html
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-8af145101b9a2026-07-31