ghost-repo-context — Claude Code skill: repository context
Scans a codebase, finds projects, and writes an architecture map to repo.md. Use it before security analysis or when you need to orient yourself in a repository.
npx skills add ghostsecurity/skills --skill ghost-repo-context -a claude-code
npx skills add ghostsecurity/skills --skill repo-context -a claude-codeWhat ghost-repo-context does
The skill inspects the directory tree, detects projects, and records languages, frameworks, and dependency files. It writes project entries to repo.md with an architecture summary, sensitive data types, business criticality, and a component map.
Pass repo_path and, when needed, cache_dir as arguments. Without a cache directory, the skill builds a path under ~/.ghost/repos/<repo_id>/cache. It works from local repository files using Read, Write, Edit, Glob, Grep, and Bash, with no web search.
When <cache_dir>/repo.md already exists, the skill skips the scan and returns that file path. That means you should check whether cached context is still current before running a new analysis.
What it helps with
- map a repository’s directory structure
- detect projects within a codebase
- record dependencies and frameworks in
repo.md - prepare repository context before security analysis
Example prompts for the agent
- Run
ghost-repo-contextwithrepo_path=.. - Use
ghost-repo-contextwithrepo_path=./service cache_dir=/tmp/repo-cache. - Build repository context before security analysis with
ghost-repo-contextforrepo_path=..
How to install ghost-repo-context
1Skills CLI (Vercel)
npx skills add ghostsecurity/skills --skill ghost-repo-context -a claude-codenpx skills add ghostsecurity/skills --skill repo-context -a claude-code2Manually: put the files in place
~/.claude/skills/repo-context/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/repo-context/
1Skills CLI (Vercel)
npx skills add ghostsecurity/skills --skill repo-context -a codex2Manually: put the files in place
.agents/skills/repo-context/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ghostsecurity/skills --skill repo-context -a cursor2Manually: put the files in place
.cursor/skills/repo-context/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ghostsecurity/skills repo-context2Manually: put the files in place
.github/skills/repo-context/SKILL.md1Skills CLI (Vercel)
npx skills add ghostsecurity/skills --skill repo-context -a gemini-cli2Platform CLI
gemini skills install https://github.com/ghostsecurity/skills --path plugins/ghost/skills/repo-contextManually: put the files in place
.devin/skills/repo-context/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ghostsecurity/skills --skill repo-context -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about ghost-repo-context
How do I install ghost-repo-context in Claude Code?
Run npx skills add ghostsecurity/skills --skill ghost-repo-context -a claude-code. The skill is placed at ~/.claude/skills/repo-context/SKILL.md.
What does ghost-repo-context do?
It examines a local repository, detects projects, and creates repo.md with dependency details, architecture summaries, and component maps.
What happens if repo.md is already in the cache?
The skill skips the repository scan and returns the existing <cache_dir>/repo.md path.
Source text
SKILL.md · Apache-2.0
---
name: "ghost-repo-context"
description: "Scans directory structure, detects projects, maps dependencies, and documents code organization into a repo.md file. Use when the user needs a codebase overview, project structure map, or repository context before security analysis."
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
license: apache-2.0
metadata:
version: 1.1.0
---
# Repository Context Builder
You gather repository context by detecting projects, summarizing their architecture, and writing the results to `repo.md`. Do all work yourself — do not spawn subagents or delegate.
## Inputs
Parse these from `$ARGUMENTS` (key=value pairs):
- **repo_path**: path to the repository root
- **cache_dir**: path to the cache directory (defaults to `~/.ghost/repos/<repo_id>/cache`)
$ARGUMENTS
If `cache_dir` is not provided, compute it:
```bash
repo_name=$(basename "$(pwd)") && remote_url=$(git remote get-url origin 2>/dev/null || pwd) && short_hash=$(printf '%s' "$remote_url" | git hash-object --stdin | cut -c1-8) && repo_id="${repo_name}-${short_hash}" && cache_dir="$HOME/.ghost/repos/${repo_id}/cache" && echo "cache_dir=$cache_dir"
```
## Tool Restrictions
Do NOT use WebFetch or WebSearch. All work must use only local files in the repository.
## Setup
Discover this skill's own directory so you can reference agent files:
```bash
skill_dir=$(find . -path '*/skills/repo-context/SKILL.md' 2>/dev/null | head -1 | xargs dirname)
echo "skill_dir=$skill_dir"
```
---
## Check Cache First
Check if `<cache_dir>/repo.md` already exists. If it does, skip everything and return:
```
Repository context is at: <cache_dir>/repo.md
```
If it does not exist, run `mkdir -p <cache_dir>` and continue.
---
## Workflow
1. **Detect Projects** — Read `<skill_dir>/detector.md` and follow its instructions against `<repo_path>`. Save the full detection output (project details needed for step 2). If detection finds no projects, write a minimal `repo.md` noting "No projects detected" and skip to step 4.
2. **Summarize Each Project** — Read `<skill_dir>/summarizer.md`. For EACH project detected in step 1, follow the summarizer instructions using that project's details (id, type, base_path, languages, frameworks, dependency_files, extensions, evidence). Collect the summary for each project. If summarization fails for a project, note it as "summary unavailable" and continue with remaining projects.
3. **Write repo.md** — Combine detection and summary results into `<cache_dir>/repo.md` using the format in `<skill_dir>/template-repo.md`. For each project include:
- Detection: ID, Type, Base Path, Languages, Frameworks, Dependency Files, Extensions, Evidence
- Summary: Architectural summary, Sensitive Data Types, Business Criticality, Component Map, Evidence
4. **Validate** — Read `<cache_dir>/repo.md` back and verify it contains the expected sections from `<skill_dir>/template-repo.md` (e.g., project entries with Detection and Summary fields). If the file is missing or malformed, retry the write once before reporting an error.
5. **Output** — Return: `Repository context is at: <cache_dir>/repo.md`
© ghostsecurity · Apache-2.0 · ghostsecurity/skills