codeflow — Visualize Codebase Architecture in Seconds
CodeFlow (braedonsaunders, MIT)
turns any GitHub repository, local folder, PR, or markdown/Obsidian vault into
an interactive architecture map — entirely in the browser. It is a single
index.html app that loads pinned React 18 + D3.js 7 + Babel from CDNs:
no build process, no npm install, no backend, and no data collection —
your code is fetched directly from GitHub to your browser (or read from local
files) and never leaves your machine. This skill is the routing-first wrapper:
pick an input, choose a visualization mode, read the analysis, and export the
result (or wire the self-updating CodeFlow Card onto a README).
When to use this skill
- The user opened an unfamiliar codebase and wants a fast architecture
overview — an interactive dependency graph they can drag, zoom, and explore
- The user asks "if I change this file, what breaks?" → blast-radius
analysis over the dependency graph
- The user wants code ownership (top contributors per file from git
history) for a review or "who do I ask?" decision
- The user wants an A–F codebase health score (dead code, circular
dependencies, coupling, security issues) or an activity heatmap
- The user wants a heuristic security / pattern scan — hardcoded secrets,
SQL injection,
eval(), debug statements; singleton/factory/observer/React
hooks, and anti-patterns (God Objects, high coupling)
- The user wants PR impact analysis — paste a PR URL to see affected files
and the change's blast radius
- The user wants to visualize an Obsidian vault / markdown directory as a
note graph (
[[wiki-links]] and [text](./relative.md) become edges)
- The user wants to export the analysis (JSON / Markdown / text / SVG /
PDF) or drop a self-updating CodeFlow Card SVG on a README
When not to use this skill
The user wants editable, hand-authored diagrams (architecture, ERD, UML,
sequence, flowchart) → use drawio or mermaid
The user wants token-efficient code search for an agent over a repo
(find a symbol, semantic find-related) → use semble
The user wants a routing-first repo-navigation packet for
definitions/references/impact before refactoring → use codebase-search
The user wants a durable, regenerable knowledge graph committed to the
repo (.graphify/) rather than a throwaway browser view → use graphify
The user wants a deep, language-accurate static-analysis / call graph —
CodeFlow's dependency analysis is heuristic (name-matched functions, scoped
by file + explicit imports) and may miss dynamic imports or renamed runtime
references; it is a quick overview, not 100% accuracy
Prerequisites
| Requirement |
Notes |
| A modern browser |
The whole app runs client-side; nothing is installed |
git (optional) |
Only to self-host: git clone the one-file repo |
| A GitHub token (optional) |
For private repos and higher rate limits — kept in browser memory only, never stored |
| Node.js (optional) |
Only the npx skills installer or the parser unit tests (node --test tests/) need it |
Instructions
Step 1 — Choose how to run CodeFlow
| Mode |
When |
Entry point |
| Online (recommended) |
Quickest — public or private repos |
https://codeflow-five.vercel.app/ |
| Self-host |
Offline / air-gapped / audit the source |
git clone + open index.html |
| CodeFlow Card |
Self-updating health SVG on a README |
GitHub Action in card/ |
Self-host is a single command — there is no build step:
bash
git clone https://github.com/braedonsaunders/codeflow.git
open codeflow/index.html # or: xdg-open / start, depending on OS
The skill ships scripts/install.sh to clone (or
update) the repo locally and open it.
Step 2 — Choose an input
| Input |
How |
| Public repo |
Paste facebook/react or the full GitHub URL, press Enter |
| Private repo |
Add a PAT (repo scope) or GitHub App installation token in the Token field |
| Local files |
Click Open Folder (or drag & drop) — nothing is uploaded |
| PR impact |
Paste a PR URL to see affected files + blast radius |
| Markdown vault |
Point at an Obsidian vault / markdown dir for the note graph |
For local scans, set exclude patterns (uploads/**, **/cache/**,
*.png) before scanning to skip attachments, caches, and generated assets.
Step 3 — Pick a visualization mode
| Mode |
Colors files by |
| Folder |
Directory structure |
| Layer |
Architectural layer (UI, Services, Utils, …) |
| Churn |
Commit frequency (hot spots) |
| Blast |
Impact when a file is selected ("what breaks?") |
Keyboard: Enter analyze · + / - zoom · Escape close modal.
Step 4 — Read the analysis
CodeFlow surfaces, all client-side: an interactive dependency graph,
blast-radius counts per file, code ownership (top git contributors),
a security scanner (hardcoded secrets/keys, SQL injection, eval(), debug
statements), pattern detection (singleton/factory/observer/React hooks +
anti-patterns), an A–F health score (dead code %, circular deps, coupling,
security), an activity heatmap, and PR impact analysis. See
references/features.md for the full surface and the
40+ supported languages.
Step 5 — Export or embed
- Export after analysis: JSON (full data — health, files, functions,
dependencies, churn, security, patterns, suggestions, language breakdown),
Markdown, plain text, SVG (graph image), PDF (printable graph), or raw JSON.
- Share: the Share button copies a link that re-runs the same analysis.
- CodeFlow Card: a GitHub Action recomputes a health/scale/fragility SVG on
every merge and renders it on your README (5 styles, accent presets, opt-in
PR thermal-receipt comments, light/dark adaptive). See the upstream
card/.
Step 6 — Plugin-style installation alongside jeo-skills
This skill folder is plugin-installable through the standard jeo-skills flow so
the wrapper, references, and installer land on disk for any supported runtime:
bash
Project install (writes into .agents/skills/codeflow/)
npx skills add https://github.com/akillness/jeo-skills --skill codeflow
Global install for every detected agent
npx skills add -g https://github.com/akillness/jeo-skills --skill codeflow
Target specific agents
npx skills add -g https://github.com/akillness/jeo-skills --skill codeflow -a claude-code -a codex -y
Output format
When the user asks codeflow for help, return a compact brief:
markdown
codeflow Routing Brief
Scope
- Run mode: online | self-host | card-action | undecided
- Input: public-repo | private-repo | local-files | pr-url | markdown-vault
- Goal: overview | blast-radius | ownership | health | security | pr-impact | note-graph
Recommended next move
- open-online | self-host | open-folder | paste-pr-url | wire-card | export-json
Why
- 2–3 bullets grounded in the user's packet
Route-outs
drawio / mermaid for editable hand-authored diagrams
semble for token-efficient agent code search over a repo
codebase-search for a repo-navigation packet before refactoring
graphify for a durable, committed knowledge graph
Best practices
- Use a token for anything non-trivial — unauthenticated GitHub API is
60 req/hour; a PAT or GitHub App raises it to 5,000 req/hour and speeds up
analysis (CodeFlow fetches file contents per request).
- Keep tokens local — the token lives only in browser memory and clears
when the tab closes; never commit it. Prefer a GitHub App installation
token for teams (fine-grained, revocable, audit-logged).
- Set exclude patterns before local scans — skip
node_modules, caches,
build output, and binary assets so the graph stays readable and fast.
- Treat dependency edges as heuristic — name-matched functions, scoped by
file + explicit imports; verify before acting on a blast-radius claim for a
refactor with dynamic imports or reflection.
- Self-host for sensitive code — it is one auditable
index.html; local
file analysis works fully offline with no network calls.
- Export JSON for automation — the JSON report is the integration surface
for CI/CD, custom reporting, or feeding another tool.
References
1---2name: codeflow3description: Turn any GitHub repo, local folder, PR, or markdown/Obsidian vault into an interactive architecture map with CodeFlow — a zero-build single index.html browser app (React 18 + D3.js from pinned CDNs) that runs 100% client-side with no backend and no data collection. Pick an input (public repo, private repo with a local token, local files, PR URL, markdown vault), choose a visualization mode (folder/layer/churn/blast), and read the analysis — dependency graph, blast radius, code ownership, heuristic security scanner, pattern/anti-pattern detection, A–F health score, activity heatmap, PR impact — then export JSON/Markdown/text/SVG/PDF or wire the self-updating CodeFlow Card SVG onto a README.4---567891011# codeflow — Visualize Codebase Architecture in Seconds1213[CodeFlow](https://github.com/braedonsaunders/codeflow) (braedonsaunders, MIT)14turns any GitHub repository, local folder, PR, or markdown/Obsidian vault into15an **interactive architecture map** — entirely in the browser. It is a single16`index.html` app that loads pinned **React 18 + D3.js 7 + Babel** from CDNs:17**no build process, no `npm install`, no backend, and no data collection** —18your code is fetched directly from GitHub to your browser (or read from local19files) and never leaves your machine. This skill is the routing-first wrapper:20pick an input, choose a visualization mode, read the analysis, and export the21result (or wire the self-updating CodeFlow Card onto a README).2223## When to use this skill2425- The user opened an **unfamiliar codebase** and wants a fast architecture26 overview — an interactive dependency graph they can drag, zoom, and explore27- The user asks **"if I change this file, what breaks?"** → blast-radius28 analysis over the dependency graph29- The user wants **code ownership** (top contributors per file from git30 history) for a review or "who do I ask?" decision31- The user wants an **A–F codebase health score** (dead code, circular32 dependencies, coupling, security issues) or an **activity heatmap**33- The user wants a **heuristic security / pattern scan** — hardcoded secrets,34 SQL injection, `eval()`, debug statements; singleton/factory/observer/React35 hooks, and anti-patterns (God Objects, high coupling)36- The user wants **PR impact analysis** — paste a PR URL to see affected files37 and the change's blast radius38- The user wants to visualize an **Obsidian vault / markdown directory** as a39 note graph (`[[wiki-links]]` and `[text](./relative.md)` become edges)40- The user wants to **export** the analysis (JSON / Markdown / text / SVG /41 PDF) or drop a **self-updating CodeFlow Card** SVG on a README4243## When not to use this skill4445- The user wants **editable, hand-authored diagrams** (architecture, ERD, UML,46 sequence, flowchart) → use `drawio` or `mermaid`47- The user wants **token-efficient code search for an agent** over a repo48 (find a symbol, semantic find-related) → use `semble`49- The user wants a **routing-first repo-navigation packet** for50 definitions/references/impact before refactoring → use `codebase-search`51- The user wants a **durable, regenerable knowledge graph** committed to the52 repo (`.graphify/`) rather than a throwaway browser view → use `graphify`5354- The user wants a **deep, language-accurate static-analysis / call graph** —55 CodeFlow's dependency analysis is heuristic (name-matched functions, scoped56 by file + explicit imports) and may miss dynamic imports or renamed runtime57 references; it is a quick overview, not 100% accuracy5859## Prerequisites6061| Requirement | Notes |62|-------------|-------|63| A modern browser | The whole app runs client-side; nothing is installed |64| `git` (optional) | Only to self-host: `git clone` the one-file repo |65| A GitHub token (optional) | For private repos and higher rate limits — kept in browser memory only, never stored |66| Node.js (optional) | Only the `npx skills` installer or the parser unit tests (`node --test tests/`) need it |6768## Instructions6970### Step 1 — Choose how to run CodeFlow7172| Mode | When | Entry point |73|------|------|-------------|74| **Online** (recommended) | Quickest — public or private repos | <https://codeflow-five.vercel.app/> |75| **Self-host** | Offline / air-gapped / audit the source | `git clone` + `open index.html` |76| **CodeFlow Card** | Self-updating health SVG on a README | GitHub Action in `card/` |7778Self-host is a single command — there is **no build step**:7980bash81git clone https://github.com/braedonsaunders/codeflow.git82open codeflow/index.html # or: xdg-open / start, depending on OS838485The skill ships [`scripts/install.sh`](scripts/install.sh) to clone (or86update) the repo locally and open it.8788### Step 2 — Choose an input8990| Input | How |91|-------|-----|92| **Public repo** | Paste `facebook/react` or the full GitHub URL, press `Enter` |93| **Private repo** | Add a [PAT](https://github.com/settings/tokens) (`repo` scope) or GitHub App installation token in the Token field |94| **Local files** | Click **Open Folder** (or drag & drop) — nothing is uploaded |95| **PR impact** | Paste a PR URL to see affected files + blast radius |96| **Markdown vault** | Point at an Obsidian vault / markdown dir for the note graph |9798For local scans, set **exclude patterns** (`uploads/**`, `**/cache/**`,99`*.png`) before scanning to skip attachments, caches, and generated assets.100101### Step 3 — Pick a visualization mode102103| Mode | Colors files by |104|------|-----------------|105| **Folder** | Directory structure |106| **Layer** | Architectural layer (UI, Services, Utils, …) |107| **Churn** | Commit frequency (hot spots) |108| **Blast** | Impact when a file is selected ("what breaks?") |109110Keyboard: `Enter` analyze · `+` / `-` zoom · `Escape` close modal.111112### Step 4 — Read the analysis113114CodeFlow surfaces, all client-side: an **interactive dependency graph**,115**blast-radius** counts per file, **code ownership** (top git contributors),116a **security scanner** (hardcoded secrets/keys, SQL injection, `eval()`, debug117statements), **pattern detection** (singleton/factory/observer/React hooks +118anti-patterns), an **A–F health score** (dead code %, circular deps, coupling,119security), an **activity heatmap**, and **PR impact analysis**. See120[`references/features.md`](references/features.md) for the full surface and the12140+ supported languages.122123### Step 5 — Export or embed124125- **Export** after analysis: JSON (full data — health, files, functions,126 dependencies, churn, security, patterns, suggestions, language breakdown),127 Markdown, plain text, SVG (graph image), PDF (printable graph), or raw JSON.128- **Share**: the **Share** button copies a link that re-runs the same analysis.129- **CodeFlow Card**: a GitHub Action recomputes a health/scale/fragility SVG on130 every merge and renders it on your README (5 styles, accent presets, opt-in131 PR thermal-receipt comments, light/dark adaptive). See the upstream `card/`.132133### Step 6 — Plugin-style installation alongside jeo-skills134135This skill folder is plugin-installable through the standard jeo-skills flow so136the wrapper, references, and installer land on disk for any supported runtime:137138bash139# Project install (writes into .agents/skills/codeflow/)140npx skills add https://github.com/akillness/jeo-skills --skill codeflow141142# Global install for every detected agent143npx skills add -g https://github.com/akillness/jeo-skills --skill codeflow144145# Target specific agents146npx skills add -g https://github.com/akillness/jeo-skills --skill codeflow -a claude-code -a codex -y147148149## Output format150151When the user asks `codeflow` for help, return a compact brief:152153markdown154# codeflow Routing Brief155156## Scope157- Run mode: online | self-host | card-action | undecided158- Input: public-repo | private-repo | local-files | pr-url | markdown-vault159- Goal: overview | blast-radius | ownership | health | security | pr-impact | note-graph160161## Recommended next move162- open-online | self-host | open-folder | paste-pr-url | wire-card | export-json163164## Why165- 2–3 bullets grounded in the user's packet166167## Route-outs168- `drawio` / `mermaid` for editable hand-authored diagrams169- `semble` for token-efficient agent code search over a repo170- `codebase-search` for a repo-navigation packet before refactoring171- `graphify` for a durable, committed knowledge graph172173174## Best practices1751761. **Use a token for anything non-trivial** — unauthenticated GitHub API is177 60 req/hour; a PAT or GitHub App raises it to 5,000 req/hour and speeds up178 analysis (CodeFlow fetches file contents per request).1792. **Keep tokens local** — the token lives only in browser memory and clears180 when the tab closes; never commit it. Prefer a **GitHub App** installation181 token for teams (fine-grained, revocable, audit-logged).1823. **Set exclude patterns before local scans** — skip `node_modules`, caches,183 build output, and binary assets so the graph stays readable and fast.1844. **Treat dependency edges as heuristic** — name-matched functions, scoped by185 file + explicit imports; verify before acting on a blast-radius claim for a186 refactor with dynamic imports or reflection.1875. **Self-host for sensitive code** — it is one auditable `index.html`; local188 file analysis works fully offline with no network calls.1896. **Export JSON for automation** — the JSON report is the integration surface190 for CI/CD, custom reporting, or feeding another tool.191192## References193194- Upstream repo: <https://github.com/braedonsaunders/codeflow>195- Live app: <https://codeflow-five.vercel.app/>196- CodeFlow Card Action: <https://github.com/braedonsaunders/codeflow/tree/main/card>197- Feature + language reference: [`references/features.md`](references/features.md)198- Installer script: [`scripts/install.sh`](scripts/install.sh)199- Adjacent skills: `../drawio/SKILL.md`, `../semble/SKILL.md`,200 `../codebase-search/SKILL.md`, `../graphify/SKILL.md`201- License: MIT