Pack the local codebase using Repomix CLI into three targeted snapshots (code, docs, full) stored in .pipeline/ for sharing across /qa audit agents. Run before /qa for maximum token efficiency. Usage: /pack [path] (defaults to cwd).
Install
npx skillscat add pmco23/claude-developer-toolbox/pack Install via the SkillsCat registry.
PACK — Codebase Snapshot
Role
Model: Haiku (
claude-haiku-4-5). Haiku is sufficient for this task. Sonnet or Opus will also work.
Pack the current project into three targeted Repomix snapshots via CLI:
| Variant | File | Purpose |
|---|---|---|
| code | repomix-code.xml |
Source code only — used by /cleanup, /frontend-audit, /backend-audit, /security-review |
| docs | repomix-docs.xml |
Documentation only — used by /doc-audit |
| full | repomix-full.xml |
Full codebase — fallback and ad-hoc use |
Metadata stored at .pipeline/repomix-pack.json. All /qa audit agents read from their mapped snapshot variant instead of independently discovering files.
Hard Rules
- Repomix must be installed. If
repomixis not found on PATH, stop: "PACK BLOCKED — repomix is not installed. Runnpm install -g repomixfirst." - Never modify source files. This skill only reads the codebase and writes to
.pipeline/.
Process
Step 1: Resolve path
If an argument is provided, use it as the target directory. Otherwise use the current working directory.
Step 2: Check repomix is available
Run: command -v repomix
If not found, stop with the message from Hard Rule #1.
Step 3: Generate three snapshots
Run all three sequentially:
mkdir -p .pipeline
# Code snapshot — source code only, excludes docs/config/assets
repomix --compress --remove-empty-lines --no-file-summary --include-diffs \
--ignore "**/*.md,**/*.mdx,**/*.rst,**/*.txt,docs/**,doc/**,*.config.*,*.json,*.yaml,*.yml,*.toml,*.lock,*.svg,*.png,*.jpg,*.gif,*.ico" \
--output .pipeline/repomix-code.xml <resolved-path>
# Docs snapshot — documentation files only
repomix --remove-empty-lines --no-file-summary --no-directory-structure \
--include "**/*.md,**/*.mdx,**/*.rst,**/*.txt,docs/**,doc/**,README*,CHANGELOG*,CONTRIBUTING*,LICENSE*" \
--output .pipeline/repomix-docs.xml <resolved-path>
# Full snapshot — entire codebase
repomix --compress --remove-empty-lines \
--output .pipeline/repomix-full.xml <resolved-path>Step 4: Write state file
Write .pipeline/repomix-pack.json:
{
"packedAt": "<current ISO timestamp>",
"source": "<absolute path to packed directory>",
"snapshots": {
"code": {
"filePath": "<absolute path to .pipeline/repomix-code.xml>",
"fileSize": <bytes>
},
"docs": {
"filePath": "<absolute path to .pipeline/repomix-docs.xml>",
"fileSize": <bytes>
},
"full": {
"filePath": "<absolute path to .pipeline/repomix-full.xml>",
"fileSize": <bytes>
}
}
}Get file sizes via Bash (wc -c < file or stat).
Step 5: Report
Report to user:
Pack complete.
code: .pipeline/repomix-code.xml (<size>KB)
docs: .pipeline/repomix-docs.xml (<size>KB)
full: .pipeline/repomix-full.xml (<size>KB)
Source: <path>
QA agents will use their mapped snapshot variant.
Run /qa to use these packs across all audits.Output
Three snapshots written to .pipeline/. .pipeline/repomix-pack.json updated with paths, sizes, and timestamp. Run /qa to use these packs across all five audit agents.