← ClaudeAtlas

ingest-projectlisted

Use when the friend wants to bring an EXISTING project (real code/git history) into their wiki as an L2 pointer-map. Triggers on the /ren:ingest-project slash command (optional [path]). A read-only scanner mines the repo for facts; the live session drafts compact knowledge + pointers from those facts; this skill assembles and queues the map, then shows the friend the first-session artifact — the visible proof memory was captured (spec §3.8 A-10). For a brand-new project with nothing to scan, use /ren:bootstrap-project instead.
hazarsozer/ren-os · ★ 1 · AI & Automation · score 73
Install: claude install-skill hazarsozer/ren-os
# ingest-project Bringing an existing repo's context into the wiki, in one visible artifact. `scan_repo` mines the repo for facts (never writes, never touches the project); the live session turns those facts into `knowledge` (compact facts) and `pointers` (topic → wiki-path#anchor); `ingest` assembles the frozen L2 schema from that and queues it, then hands back the exact text to show the friend. ## When to use this skill - Friend invokes `/ren:ingest-project [path]` (path defaults to cwd) against a project with real code, a README, or git history - Friend says: "bring this existing project into the wiki", "set up memory for this codebase I already have" ## When NOT to use this skill - Brand-new, empty project → `/ren:bootstrap-project <slug>` instead (empty map, no scan) - Friend wants to re-scan without changing anything → still this skill; `ingest` proposes an `UPDATE` and the queue surfaces a `supersedes` conflict against the prior map for a human to reconcile, it never silently clobbers ## Behavior 1. Resolve the repo path (default cwd) and a project slug (kebab-case, from the repo's manifest name or directory name — caller's choice of derivation). 2. Call `importlib.import_module("skills.ingest-project.lib").scan_repo(repo_root)` — read-only facts: detected languages/package managers/frameworks, entry points, doc inventory, git history summary, size signals. Never writes to the project, never raises on a non-project path (see the carried `scan.py`'s own contract)