Deepwiki Rs
sopaco/deepwiki-rs
AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation.
Render the shape of code — module boundaries, the types that cross them, signatures, and a cited call graph — for code that already exists or a change about to be built.
$ npx skills add citypaul/.dotfiles --skill render-code-shape -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install citypaul/.dotfiles render-code-shape --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude/.claude/skills/render-code-shape .claude/skills/render-code-shape && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "render-code-shape" agent skill from https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shape into .claude/skills/render-code-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-code-shape", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shapeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add citypaul/.dotfiles --skill render-code-shape -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install citypaul/.dotfiles render-code-shape --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude/.claude/skills/render-code-shape .agents/skills/render-code-shape && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "render-code-shape" agent skill from https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shape into .agents/skills/render-code-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-code-shape", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add citypaul/.dotfiles --skill render-code-shape -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install citypaul/.dotfiles render-code-shape --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude/.claude/skills/render-code-shape .cursor/skills/render-code-shape && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "render-code-shape" agent skill from https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shape into .cursor/skills/render-code-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-code-shape", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/citypaul/.dotfiles.git --path claude/.claude/skills/render-code-shape--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add citypaul/.dotfiles --skill render-code-shape -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install citypaul/.dotfiles render-code-shape --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude/.claude/skills/render-code-shape .gemini/skills/render-code-shape && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "render-code-shape" agent skill from https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shape into .gemini/skills/render-code-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-code-shape", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install citypaul/.dotfiles render-code-shapeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add citypaul/.dotfiles --skill render-code-shape -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude/.claude/skills/render-code-shape .github/skills/render-code-shape && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "render-code-shape" agent skill from https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shape into .github/skills/render-code-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-code-shape", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add citypaul/.dotfiles --skill render-code-shape -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install citypaul/.dotfiles render-code-shape --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude/.claude/skills/render-code-shape .opencode/skills/render-code-shape && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "render-code-shape" agent skill from https://github.com/citypaul/.dotfiles/tree/main/claude/.claude/skills/render-code-shape into .opencode/skills/render-code-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-code-shape", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
render-code-shapeRender the shape of code — module boundaries, the types that cross them, signatures, and a cited call graph — for code that already exists or a change about to be built.
Render Code Shape is an agent skill from citypaul/.dotfiles. Render the shape of code — module boundaries, the types that cross them, signatures, and a cited call graph — for code that already exists or a change about to be built. Every name, type, and path is read from source and cited, or marked NEW; bodies collapse to one line of intent. Use when asking how something composes, tracing what a request actually touches, pseudocoding a change before implementing it, onboarding to an unfamiliar path, or producing the shape a plan and its tests will be checked against…
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml` and `references/source-notes.md`).
It sits in Development, covering Codebase onboarding, Diagrams and Internationalization. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cd4028d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Render Code Shape loads about 2.5k tokens when it runs, and up to ~3.7k if it reads all its reference files. Until then it costs about 195 tokens; SKILL.md has 1,315 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from citypaul/.dotfiles at commit cd4028d, republished under its MIT licence (© citypaul). 1,315 words, ~2,537 tokens.
.claude/skills/render-code-shape/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Code has a waterline. Above it sits the shape: modules and their boundaries, the types and values that cross those boundaries, the signatures, and the order calls actually happen in. Below it sits syntax and the statements inside a body.
Render the shape and collapse everything below the waterline to a single line of intent. Only bodies are pseudo — every name, type, and path is read from the source and cited by file and line, or marked [NEW]. This is why the render is trustworthy in a way a remembered summary is not.
Read-only. The render is the deliverable, not the edit. Producing a render never authorizes changing production code, tests, or configuration. Implement only if the request separately authorizes it, and then under the governing workflow — tdd for behavior change, refactoring or reduce-system-complexity for behavior-preserving work.
A render is not a verdict. It states what is visible in the render. Deciding whether a boundary is well-drawn belongs to codebase-design; deciding where files should live belongs to structure-codebase; ranking architecture investments belongs to improve-codebase-architecture.
Load alongside: planning (a [NEW] render is an input to a slice plan, never a substitute for one), codebase-design and structure-codebase (judgments about the shape once it is visible), finding-seams (when the render exposes an untestable dependency), characterisation-tests (when the existing path has no behavior evidence), diagrams (when relationships are materially clearer drawn than listed), technical-writing (when the render becomes a durable document).
Name the entry points to trace from and the frame edge — the packages, services, and libraries that count as outside. Name each wiring to render: production, plus any composition root that substitutes a dependency, such as tests, local dev, or a feature flag.
Classify each entry point existing or [NEW]. For a [NEW] render, resolve the requirement it must satisfy and the existing code it attaches to.
Prefer the narrowest frame that answers the question asked. A render that expands to the whole repository answers nothing.
Complete when: the entry points, the frame edge, every wiring, and the existing/[NEW] split are each explicit.
Follow every call from each entry point, opening each file on the path. For every function reached, record its file and line, its signature as written, the effects it causes, and the calls it makes.
Expand a path until it reaches a boundary crossing, a pure leaf, the frame edge, or a function already recorded. A path ends nowhere else.
For a [NEW] render, read the surrounding modules the change attaches to with the same rigour; parts that do not exist yet are derived from the requirement and marked.
Read the source. A signature recalled from training data, inferred from a name, or carried over from an older revision is a fabrication even when it happens to be right — and the citation is what makes the difference checkable.
Complete when: every path terminates on one of those four conditions, and every name that will appear in the render is either recorded with a file and line or marked [NEW].
Write in the project's own language and naming — the glossary term, not a synonym (see ubiquitous-language). Three parts:
Types — every type, interface, or schema that crosses a boundary, declared with its fields. A type from outside the frame is named and marked external.
Boundaries — one row per module: what it owns, what it exposes, what it depends on, and what it hides behind that surface.
Signatures — grouped under their module, each carrying parameter names, parameter types, return type, and error type as written in the source. Each body collapses to a single line naming its intent.
Where the cut is not obvious, place it here:
| Above the waterline | Below it |
|---|---|
| An effect that leaves the process: network, database, filesystem, clock, randomness, environment | Pure local computation |
| A branch that changes which downstream call happens | A branch that only changes a returned value |
| A helper whose effect crosses the module edge | A private helper contained inside it |
| What is constructed and injected where | Framework and transport boilerplate |
Complete when: every type named in a signature is declared here or marked external, every module row states what it hides, and every signature matches its source or carries [NEW].
One graph per wiring, as an indented tree. Each edge reads → Receiver.method(arg: Type, arg: Type) : Return, then its annotations, then its file and line. Order siblings by execution order.
submitCheckout(req: HttpRequest) : HttpResponse src/http/checkout.ts:14
→ Checkout.submit(cart: Cart, actor: UserId) : Receipt src/checkout/service.ts:31
→ Pricing.quote(cart: Cart) : Quote src/pricing/quote.ts:8
→ TaxRates.lookup(region: Region) : TaxTable [boundary: network] src/pricing/tax.ts:22
→ Payments.charge(quote: Quote, card: CardRef) : Receipt [boundary: network] src/payments/stripe.ts:40
→ Orders.insert(order: Order) : OrderId [boundary: database] src/orders/store.ts:17
→ Email.receipt(to: EmailAddress, receipt: Receipt) : void [async] src/mail/queue.ts:9
→ Checkout.release(cart: Cart) : void [error: charge declined] src/checkout/service.ts:58Annotate every edge that is not a plain unconditional in-process call with at least one:
| Annotation | Meaning |
|---|---|
[if …] | Happens only on the named condition |
[each …] | Repeats over the named collection |
[async] | Enqueued, scheduled, or not awaited on this path |
[error …] | Happens on the named failure path |
[boundary: …] | The effect leaves the process — name which |
[NEW] | Does not exist yet |
A function already drawn appears as → Name (above) in place of a second expansion.
Complete when: every edge names the values crossing it, every non-plain edge carries an annotation, every branch terminates on a step 2 condition, and each wiring that differs from production is drawn beside it.
Lead with the entry points, the frame edge, and the wirings drawn. Then give the types, the boundary table, the signatures, and the call graphs.
Close with what the shape shows, stated as facts already visible in the render rather than as judgements: dependency cycles, a dependency pointing against the module layering, argument counts, functions reached from many callers, boundary crossings on the primary path, and paths no wiring covers. Name what stayed unread and why.
Where a fact is a decision waiting to happen, name the skill that owns the decision rather than making it here — a cycle or a leaking boundary routes to codebase-design, a path with no test wiring routes to characterisation-tests or finding-seams, an untraceable dependency routes to structure-codebase.
When the render is a plan for work about to be done, save it under plans/ beside the slice plan so the implementation can be checked against it, and so a later reviewer can see which parts were [NEW] at the time.
Complete when: every citation resolves, every observation points at an element of the render, and every gap names what would close it.
[NEW] and existing names, so the reader cannot tell what is proposed from what is there.[NEW] shape and then implementing it straight through, skipping the failing behavior test that tdd requires.[NEW]?© citypaul, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in claude/.claude/skills/render-code-shape of citypaul/.dotfiles.
Open the folder on GitHubat commit cd4028d
Render Code Shape next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Render Code Shape this skillcitypaul/.dotfiles | 739 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Deepwiki Rssopaco/deepwiki-rs | 3.1k | — | ~748 | Automated safety check: Pass | MIT | |
| GitDiagram Repository Overviewahmedkhaleel2004/gitdiagram | 18k | — | ~427 | Automated safety check: Pass | MIT | |
| Code Graph Mermaid Diagramstrailofbits/skills | 7.4k | — | ~1.7k | Automated safety check: Pass | CC-BY-SA-4.0 | |
| GitDiagram Repo Architectureahmedkhaleel2004/gitdiagram | 18k | — | ~429 | Automated safety check: Pass | MIT | |
| Create DiagramMertcikla/tld | 287 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 |
sopaco/deepwiki-rs
AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation.
ahmedkhaleel2004/gitdiagram
Explains the architecture of a public GitHub repository through GitDiagram: how the code is organized, the main components with paths, and a Mermaid diagram.
trailofbits/skills
Generates Mermaid diagrams from Trailmark code graphs, including call graphs, class hierarchies, module dependency maps, complexity heatmaps and attack surface data flows.
ahmedkhaleel2004/gitdiagram
Explains how a public GitHub repository is built by fetching its GitDiagram architecture diagram, components and optional explainer video.
Mertcikla/tld
Create architecture diagrams from a local codebase or system description.
QwenLM/qwen-code
Answers questions about code structure, history, bugs and PR risk using a CodeScope knowledge graph and semantic index built from the repository.
citypaul/.dotfiles
Discover and, with authorization, install agent skills from the open skills ecosystem.
citypaul/.dotfiles
Design, audit, and evolve physical source and package structures that expose real architectural boundaries while keeping related behavior together.
citypaul/.dotfiles
Review test quality using Dave Farley's eight properties of good tests.
citypaul/.dotfiles
A skill your agent uses when modifying existing code that lacks tests and you need to document its actual current behavior before making changes -- the legacy code dilemma where you need tests to…
citypaul/.dotfiles
Systematic CI/CD failure diagnosis using hypothesis-first investigation, local reproduction, and environment delta analysis.
citypaul/.dotfiles
Get a rigorous read-only second opinion on finished work through the host's available reviewer capabilities, preferably from a different model provider.
Categories
Render the shape of code — module boundaries, the types that cross them, signatures, and a cited call graph — for code that already exists or a change about to be built. dotfiles. Render the shape of code — module boundaries, the types that cross them, signatures, and a cited call graph — for code that already exists or a change about to be built.
Render Code Shape fits situations like: asking how something composes; tracing what a request actually touches; pseudocoding a change before implementing it; onboarding to an unfamiliar path.
Run `npx skills add citypaul/.dotfiles --skill render-code-shape -a claude-code`. Or copy the skill folder (claude/.claude/skills/render-code-shape in citypaul/.dotfiles) into .claude/skills/render-code-shape in your project. Claude Code loads it when a task matches its description.
Run `npx skills add citypaul/.dotfiles --skill render-code-shape -a codex`. Or copy the skill folder (claude/.claude/skills/render-code-shape in citypaul/.dotfiles) into .agents/skills/render-code-shape in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add citypaul/.dotfiles --skill render-code-shape -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/render-code-shape, .gemini/skills/render-code-shape, .github/skills/render-code-shape and .opencode/skills/render-code-shape in your project.
SKILL.md names no scripts, command-line tools or credentials: Render Code Shape is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Render Code Shape is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Render Code Shape: Deepwiki Rs (sopaco/deepwiki-rs, 3.1k stars), GitDiagram Repository Overview (ahmedkhaleel2004/gitdiagram, 18k stars), Code Graph Mermaid Diagrams (trailofbits/skills, 7.4k stars) and GitDiagram Repo Architecture (ahmedkhaleel2004/gitdiagram, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
citypaul (a GitHub user) maintains it in citypaul/.dotfiles, which has 739 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 2, 2026.
Source: citypaul/.dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.