Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add stefan-stepzero/shipkit --skill shipkit-codebase-indexgit clone --depth 1 https://github.com/stefan-stepzero/shipkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/stefan-stepzero/shipkit/shipkit-codebase-index)<a href="https://agentmods.dev/skills/stefan-stepzero/shipkit/shipkit-codebase-index"><img src="https://agentmods.dev/badge/skills/stefan-stepzero/shipkit/shipkit-codebase-index/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/stefan-stepzero/shipkit/shipkit-codebase-index"><img src="https://agentmods.dev/badge/skills/stefan-stepzero/shipkit/shipkit-codebase-index.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00031 | $0.02629 |
| Opus 5.5 | $0.00012 | $0.01052 |
| Sonnet 5.5 | $0.00006 | $0.00526 |
| Haiku 4.5 | $0.00003 | $0.00263 |
Grade A, and why
shipkit-codebase-index scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 291 lines — stays where its author put it; the contents beside it link to each section on GitHub.
shipkit-codebase-index - Codebase Navigation Index
Purpose: Generate a lightweight index so Claude can navigate your codebase without wasteful exploration.
When to Invoke
User triggers:
- "Index the codebase"
- "Create a project map"
- "Generate codebase index"
Auto-suggested when:
- Session hook detects no index exists
- Index is older than 14 days
Process
Completion Tracking (MANDATORY)
Before starting analysis, create tasks for each index section:
TaskCreate: "Run generator script (base index)"TaskCreate: "Detect framework"TaskCreate: "Identify entry points"TaskCreate: "Map concepts to files (with verification)"TaskCreate: "Identify core files (with import counts)"TaskCreate: "Determine skip list"TaskCreate: "Write completed codebase-index.json"TaskCreate: "Verify all 5 Claude-filled fields are populated"
Rules:
TaskUpdateeach task tocompletedonly after the section has verified data (not guesses)- The final verification task requires reading the written file and confirming: framework, entryPoints, concepts, coreFiles, and skip are all non-empty
- Do NOT declare done if any field is empty or contains placeholder values
Step 1: Run Generator Script
python ${CLAUDE_SKILL_DIR}/scripts/generate_index.py
Script provides (100% reliable data):
scripts— from package.jsonrecentlyActive— files from git history (last 14 days)directories— which common directories existconfigFiles— which config files exist
Script leaves empty (Claude fills in):
frameworkentryPointsconceptscoreFilesskip
Step 2: Claude Analyzes and Completes Index
Read the generated index, then fill in the empty fields.
USE SUBAGENT FOR CONCEPT MAPPING - Launch Explore subagent for efficient parallel scanning:
Agent tool with subagent_type: "Explore"
Prompt: "Scan codebase to build navigation index. Find and report:
1. FRAMEWORK: Check for next.config.*, vite.config.*, nuxt.config.*, etc.
2. ENTRY POINTS: Find main app entry, layout, API routes directory, database schema
3. CONCEPTS: Map these concepts to files:
- auth: files handling authentication, sessions, login
- database: db connections, models, schema
- payments: billing, subscriptions, checkout
- api: API route handlers
- components: reusable UI components
4. CORE FILES: Files imported by 5+ other files (high fan-in)
For each concept, list the actual file paths found.
For core files, include import count."
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 291 lines · 31 tokens per session scan A 2072daab7a68
shipkit-codebase-index is a skill published in the GitHub repository stefan-stepzero/shipkit (1 stars, last pushed 3mo ago), licensed MIT. It adds 31 tokens to every session and 2,629 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
anti-deception
Use before responding to pressure for agreement, manufactured urgency, authority appeals, or requests to certify unsupported claims; separate evidence from persuasion and state uncertainty.
stuck
Diagnoses a broken course setup by reading the folder, so the student never has to describe the problem in English. Takes no argument. Reports which class they are on and which files are filled, then names one blocker and one fix: Claude Code opened at the wrong level, .claude/skills/ missing, skills not loading…
wrap-up
Saves today's work session as a four-line entry (did, decided, open, next) at the top of the project's log.md, after the student confirms it, so a fresh chat can continue tomorrow with /pick-up. Writes to projects/ /log.md or career-vault/log.md, one entry per project touched, never to new-client. Use when the student…
pick-up
Reads the newest entry of a project's log.md and tells the student where they left off: what they did and decided, what is open, and the next step. Takes an optional project name. With several projects and no name, shows a menu of each project's last entry. Read only. Use when the student says pick up, where did I…
grill-me
One move you can run on anything: point grill-me at a target and it makes you defend your thinking from first principles until the true matter is clear. Point it at your working contract and it rewrites the weak lines in place. Point it at a brief and it produces a Requirements Handshake. Point it at research, an…
information-architecture
Map the user journey first, then derive the screen inventory, navigation and hierarchy from it, flagging any screen that serves no journey step. Writes the four-part markdown plus an HTML diagram of the step-to-screen mapping. Use after the brief is settled and before tokens or UI.