Browse

Open-source tooling · 2026

Published

Repo Orientation Skills

  • Claude Code
  • Codex
  • Node.js 18+
  • Skill system
record
projects/claude-skills
status
published
type
open_source_tooling
role
solo -- author
constraint
bounded_write_scope
stack
Claude Code, Codex, Node.js 18+, Skill system
Two tools I use when starting work on a codebase I have not seen before. One structures how I orient before touching anything. The other generates a visual map I can walk a client through during scoping. Clearer than a folder tree, and no server required to open it.

Most of the work I do starts with a codebase I have never seen before. Legacy systems, inherited tools, custom CMS installs. The first real risk is not making the wrong change. It is not knowing what the system is quietly responsible for before you start. I needed a repeatable way to orient, and the output needed to be useful to the client, not just to me.

The visualizer came out of scoping conversations. Showing a client their project as a folder tree or a repo link does not communicate what the system actually looks like. A single HTML file they can open and explore does: what is large, what is connected, what looks like it accumulated over time. Both are open source because the problem is not unique to legacy systems.


When a coding agent starts work in an unfamiliar repository, it has no protocol for what to read first or how confident its claims should be. It inherits descriptions from README files without verifying them against source. Stale docs, generated-vs-source drift, and undocumented lifecycle traps stay invisible until they cause a mistake.

The typical result is broad, guessy edits built on shallow context. The agent might read the right files eventually, but nothing enforces that it reads them in a useful order, labels what it does not know, or separates orientation from making changes.

For small, known, single-file edits this does not matter. For refactors, multi-file changes, or work in an unfamiliar area of a large repo, it does. Both skills are explicitly scoped to those cases and documented to be skipped for the rest.


codebase-orient is a skill that tells the agent what to read first, what uncertainty to label, and what orientation artifacts to write. It reads project instruction files and documentation before source code, verifies important claims against the actual codebase rather than inheriting them from README files, and maps change surfaces such as routes, services, auth, schema, UI, tests, and deployment as distinct areas. The output is three docs/ai/ files: CODEBASE_MAP.md, CHANGE_SURFACES.md, and OPEN_QUESTIONS.md. Every inference carries an explicit label: Fact, Strong inference, Weak inference, or Unknown.

codebase-visualize is a sibling skill that scans the repository and produces two generated artifacts: a structured graph JSON and a single self-contained HTML map. The map renders tree and graph views, per-node risk and change-surface hints, search, filters, and a copyable agent briefing. It runs with one Node.js command against a target path and requires no server, no build pipeline, and no external runtime dependencies.

The two skills are designed as a pair. They share the same write boundary, install model, and tool compatibility, with separate output namespaces so they compose cleanly. codebase-orient produces narrative docs with labeled uncertainty; codebase-visualize produces a structural map. Either works standalone. Together they give an agent both a semantic understanding and a visual layout of the repo before broad work begins.

Both skills take the same source repository and produce complementary outputs. Either works alone; together they give an agent both a verbal map and a structural one.
The codebase-visualize HTML map showing a repository in graph view. Nodes represent files and folders connected by edges. A sidebar tree and toolbar are visible on the left, with filter and search controls at the top.
The self-contained HTML map produced by codebase-visualize. Graph view shows containment and reference edges per node; the sidebar tree, search, and filter controls are part of the same generated file. No server or build step required to open it.

Decision Rationale
Conservative write boundary Both skills write only to docs/ai/. Neither touches source code, refactors, or commits during orientation. In dry-run mode, codebase-orient reports proposed changes without writing anything.
Namespace separation codebase-orient owns docs/ai/*.md; codebase-visualize owns docs/ai/visualize/. The visualizer treats orient's docs as read-only graph nodes. Neither skill overwrites the other's output.
Uncertainty labeling codebase-orient labels every claim as Fact, Strong inference, Weak inference, or Unknown. The goal is to make epistemic ground explicit so downstream edits are made on stated assumptions, not inherited ones.
Explicit invocation Auto-invocation is model-driven and not guaranteed in either Claude Code or Codex. Both skills are designed around explicit invocation as the reliable path, and the README documentation does not assume otherwise.
Exact-install integrity Agent-delegated installs must run the checked-in installer from a local clone of the exact repo revision. Reconstructing or paraphrasing skill files from fetched or rendered content is explicitly disallowed.
Scope flexibility Both skills install at user level (available across all repos in that tool) or project level (scoped to one repo). One install script per scope. codebase-orient also has a Claude Code bootstrap variant that generates project-local skills inside each target repo.

Item Detail
codebase-orient behavioral evals Corpus-based behavioral checks. The validated vertical slice (explicit-dry-run-unfamiliar) proves no files are written during a dry-run pass under a read-only sandbox.
codebase-visualize eval suite Grades structured graph evidence across backend, frontend, documentation-heavy, ambiguous, and sibling-operation fixtures. Deterministic and offline; no live network or file writes required.
Adversarial safety suite codebase-visualize ships an adversarial check suite for filesystem boundary behavior, symlink handling, and unreadable-entry edge cases.
Installer contract matrix Both repos include PowerShell and bash install scripts. codebase-visualize verifies all four installer contracts (tool × scope) programmatically as part of the local check suite.
Verified environments Windows PowerShell, Git Bash, and WSL2 Ubuntu (Linux-native Node.js). macOS is currently unverified.

record: projects/claude-skills | status: published | type: open_source_tooling

Rebuilds, workflow systems, and the backend work that keeps running after launch.

LinkedIn GitHub © 2026 Gerben van der Velde