Skip to content
Back to skills

Scan Codebase

ASecurity

`$codemap-py:scan-codebase [flags]` only: Python index; never auto-invoke; skip query/integration.

  • 28 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentspythonshellbashgit

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add Borda/AI-Rig --skill scan-codebase --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scan Codebase?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Scan Codebase
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/borda-scan-codebase-ai-rig/badge)](https://www.skillsdirectory.com/skills/borda-scan-codebase-ai-rig)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: scan-codebase
description: '`$codemap-py:scan-codebase [flags]` only: Python index; never auto-invoke; skip query/integration.'
---

> Before asking, read [User Questions](../../shared/codex-user-questions.md).

# Scan Codebase

Python only: `ast.parse` records imports plus classes/functions/methods and line ranges for every `.py`; non-Python files excluded. Writes `.cache/codemap/<project>.json`, no external dependencies. A zero-Python project writes a valid empty index; downstream queries return no results. Symbol data lets `$codemap-py:query-code symbol`/`find-symbol` return target source instead of full-file reads (~70–94% fewer `Read` tokens).

NOT for: existing-index query (use `$codemap-py:query-code`); integration health (use `$codemap-py:integration`).

**Explicit invocation only** — Codex cannot declare `disable-model-invocation`; never call this skill autonomously, only for the user's literal `$codemap-py:scan-codebase` trigger.

## Runtime note

Codex has no `bin/` PATH entry or plugin-root variable. Resolve installed root once, replace `PLUGIN_ROOT` literally in commands, retain in reasoning; shell state doesn't persist.

## Workflow

### 1. Scan

Parse only `--root <path>` and `--incremental`. For any other `--` token, report `! Unknown flag(s): <tokens>` then `Supported: --root <path>, --incremental` and stop; do not guess. Use this exact `Unknown flag(s)` wording.

```bash
PLUGIN_ROOT/bin/codemap-py index [--root <path>] [--incremental]
```

On Windows use `PLUGIN_ROOT\bin\codemap-py.cmd index ...`. `--root` names index from `basename(<path>)`, unlike default git-root basename. After a custom-root scan, retain exact path printed by scanner as `<emitted-index-path>`; later query must use `--index <emitted-index-path> --root <same-root>`. `--root` is path resolution only, doesn't select the index. Scanner writes `<root>/.cache/codemap/<project>.json` (or `$CODEMAP_INDEX_DIR/<project>.json`), prints indexed/degraded counts. On non-zero exit, report it and stop; never retry silently (`1` index/filesystem failure, `2` syntax).

### 2. Report

Report module and degraded counts; degraded is informational and the index remains usable. For zero Python, report valid but empty. Then suggest:

```text
Index ready. Query it with $codemap-py:query-code — central --top 10, deps/rdeps <module>, coupled --top 10.
See $codemap-py:query-code for the full subcommand list.
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.