Build an optimal context pack for the user's task — ranked file list with offset/limit suggestions, based on git state, mentioned paths, and historical patterns
Installs into .claude/skills of the current project.
Are you the author of Cco Pack?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/egorfedorov-cco-pack)
---
name: cco-pack
description: Build an optimal context pack for the user's task — ranked file list with offset/limit suggestions, based on git state, mentioned paths, and historical patterns
license: MIT
allowed-tools:
- "Bash(node ${CLAUDE_PLUGIN_ROOT}/src/smart-pack.js:*)"
- Read
---
# Smart Context Pack
When the user runs `/cco-pack` or asks "what files do I need for X", build a curated, token-budget-aware list of files to load instead of guessing or reading the whole repo.
## How to use
```bash
node ${CLAUDE_PLUGIN_ROOT}/src/smart-pack.js "the task description"
```
Or for the current git state without a description:
```bash
node ${CLAUDE_PLUGIN_ROOT}/src/smart-pack.js
```
Or to feed it back into automation as JSON:
```bash
node ${CLAUDE_PLUGIN_ROOT}/src/smart-pack.js --json "..."
```
## How it ranks files
Priority order:
1. **Mentioned in prompt** — explicit file paths or recognisable names → relevance 100
2. **Modified in git working tree** → 85
3. **Historically useful** in this project (high confidence, edited often) → up to 70
4. **Keyword match** against the task → up to 70
For each file the pack also suggests `offset` / `limit` — pointing at the structurally relevant section based on file landmarks (function/class declarations near task keywords).
## Token budget awareness
Pack stops adding files once it would exceed 25% of the user's effective context budget. The budget itself respects the configured model (e.g. the full 1M window for `opus-5.5` — 1M is standard on Opus, no premium tier).
## Presentation
After running, present the list to the user and offer to:
- Read the top N files with the suggested offset/limit
- Save the set as a template (`/cco-templates create <name>`)
- Drop low-relevance items if they want a tighter pack