prompts/skills/extra-reference-material/SKILL.md
Manage offline reference material in the `extra/` directory. Use when needing external documentation, library source code, screenshots, PDFs, or API specs. ALWAYS check `extra/` before web searches. HALT and ask the human when required material is missing - do NOT fall back to WebFetch/WebSearch.
npx skillsauth add ramblurr/nix-devenv extra-reference-materialInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The extra/ directory (gitignored) contains offline reference material: cloned repos, docs, screenshots, PDFs, API specs. Always prefer extra/ over web fetches.
Most of the time the entries in there are symlinks to other documents, be careful your search/glob/list tool (whatever its name is) may not list or follow symlinks, so best explore it with a good 'ol ls extra in bash.
Related skills: local-git-reference, for material not in extra/
The extra/ directory lives at the project root, NOT in worktrees.
Detection logic:
# If CWD contains .worktrees/, extract project root
# /home/user/project/.worktrees/feature → /home/user/project
pwd | grep -q '\.worktrees/' && echo "${PWD%/.worktrees/*}/extra" || echo "./extra"
Example:
/home/user/myapp/.worktrees/auth-feature/src/extra/ is at: /home/user/myapp/extra/ (NOT /home/user/myapp/.worktrees/auth-feature/extra/)Verify with: git worktree list shows main worktree path.
extra/
├── <repo-name>/ # Full git clones (e.g., extra/ratatui/)
├── <name>_docs/ # Documentation folders
├── <name>.md # Single-file docs
├── screenshots/ # Visual references
└── *.pdf # PDF documentation
Priority order:
extra/ with Grep/GlobQuick lookup:
ls extra/
# Find files by name
find extra/<repo-name> -name "*.md" -o -name "border*" 2>/dev/null
# Search with ripgrep - ALWAYS scope to a subpath
rg "pattern" extra/<repo-name>/src/
ripgrep notes:
rg on extra/ directly - millions of hits in cloned reposextra/<repo>/src/, extra/<name>_docs/Small files - read directly:
Large codebases - use Skill(coding-agents):
Directly reading entire reference codebases pollutes your context window. Instead:
Example:
- Prompt: "In extra/ratatui/, find how borders are implemented.
Return: file paths, key types/functions, and a brief explanation."
- The subagent explores, you receive a concise summary
When to use agents:
What to do directly:
ls extra/ to see what's availablefind to locate files by namerg to verify something exists (always pass subpath, never top-level extra/)If required material is not in extra/:
HALT message format:
HALT: Missing reference material.
Required: <what you need>
Suggestion: <how to add it>
Example commands:
git clone <url> extra/<name>
# or
Add file: extra/<name>.md
Example HALT:
HALT: Missing reference material.
Required: Ratatui widget implementation patterns
Suggestion: Clone ratatui source:
git clone https://github.com/ratatui/ratatui extra/ratatui
Required: API documentation for external service
Suggestion: Save docs to extra/service_api.md or extra/service_docs/
With user permission, add material directly:
# Clone reference repos
git clone https://github.com/org/repo extra/repo
# Create doc folders
mkdir -p extra/screenshots
# Download specific files
curl -o extra/spec.pdf https://example.com/spec.pdf
Naming conventions:
extra/<repo-name>/ (use original repo name)extra/<name>_docs/ or extra/<name>.mdextra/screenshots/<descriptive-name>.png| Mistake | Fix |
|---------|-----|
| Web searching instead of checking extra/ | Always ls extra/ first |
| Looking for extra/ in worktree path | Use project root path |
| Proceeding without required material | HALT and ask user |
| Creating extra/ in worktree | Create in project root only |
testing
Use this OCP when executing or preparing to execute commands that change a live or important system, service reloads/restarts, package changes, deployments, migrations, firewall/network/access changes, credential rotation, NixOS switch/test/boot/deploy, or incident mitigation. It guides safe operations with a persisted ledger for scope, preflight, baseline, rollback, validation, and evidence.
development
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
documentation
Naming conventions for workflow documents in prompts/. Use when creating plans, PRDs, research reports, idea capture or other workflow documents. Triggers on (1) creating new planning documents, (2) naming PRDs or research reports, (3) questions about document organization in prompts/.
testing
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.