ctx
Skill1 starsChanged 5 months agoMITView on GitHub
Load deep context bundles for specific work domains. Use when user says /ctx, "load context for", or needs domain-specific operational knowledge before working on a project.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- motiful/ctxtheir own version, first seen Oct 11, 2026
- umitsu-tech/claude-code-discord-bottheir own version, first seen Sep 24, 2026
- ctxrs/ctxtheir own version, first seen Aug 17, 2026
- ctx-hq/ctxtheir own version, first seen Mar 30, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- ctxrs/ctx★ 1.2ksame name
- motiful/ctx★ 1same name
- ctx-hq/ctx★ 0same name
- umitsu-tech/claude-code-discord-bot★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 13 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Use these paths in order for community bundles and stop at the first existing directory:
- Very specific: line 35
Use ~/.claude/contexts/ for user bundles.
- Very specific: line 118
If the bundle contains Current State or Recent Changes, show those sections.
- Distinctive: line 127
If not found, check the community bundle directory above
- Distinctive: line 128
If neither exists, list available bundles and suggest the closest match
- Distinctive: line 129
Read the full bundle file
- Distinctive: line 131
If multiple bundles loaded, note integration points between them
- Distinctive: line 132
If 4+ bundles requested, warn about context cost
- Very specific: line 139
Create ~/.claude/contexts/ if missing.
- Very specific: line 141
If the copied file lacks ## Current State, append it.
- Distinctive: line 143
Do not overwrite an existing local bundle unless the user explicitly asks.
- Distinctive: line 146
Use this exact append block when the sections are missing:
- Distinctive: line 160
Update an existing user bundle after a work session.
- Distinctive: line 166
Keep the bundle focused and under ~3000 words.
- Distinctive: line 170
Create a new user bundle from scratch.
- Distinctive: line 172
If no path is provided, ask for the project directory.
- Very specific: line 174
Use the bundled template from the community bundle directory: _template.md.
- Very specific: line 175
Write the result to ~/.claude/contexts/<name>.md.
- Distinctive: line 182
When working across domains, load all relevant bundles.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Context Bundle Loader
Context bundles are deep domain briefings that give Claude Code instant operational knowledge for a technology stack or work domain. Instead of discovering patterns through trial and error, load a bundle and skip the ramp-up.
There are two bundle classes:
- User bundles:
~/.claude/contexts/-- private, project-specific, stateful bundles - Community bundles: shipped inside this installed skill -- static stack briefings
User bundles take priority when names conflict.
Bundle lookup
Use these paths in order for community bundles and stop at the first existing directory:
BUNDLE_DIR=""
for d in \
./.claude/skills/ctx/bundles \
"$HOME/.claude/skills/ctx/bundles" \
./skills/ctx/bundles
do
[ -d "$d" ] && BUNDLE_DIR="$d" && break
done
[ -n "$BUNDLE_DIR" ] || echo "Community bundle directory not found"Use ~/.claude/contexts/ for user bundles.
Commands
/ctx list or /ctx (no args)
List all available bundles from both locations.
echo "=== Your Bundles ==="
for f in ~/.claude/contexts/*.md; do
[ ! -f "$f" ] && continue
[ "$(basename "$f")" = "_template.md" ] && continue
name=$(basename "$f" .md)
desc=$(head -5 "$f" | grep '^> ' | sed 's/^> //')
lines=$(wc -l < "$f")
printf " %-18s (%3d lines) %s\n" "$name" "$lines" "$desc"
done
BUNDLE_DIR=""
for d in ./.claude/skills/ctx/bundles "$HOME/.claude/skills/ctx/bundles" ./skills/ctx/bundles; do
[ -d "$d" ] && BUNDLE_DIR="$d" && break
done
if [ -d "$BUNDLE_DIR" ]; then
echo ""
echo "=== Community Bundles ==="
for f in "$BUNDLE_DIR"/*.md; do
[ ! -f "$f" ] && continue
[ "$(basename "$f")" = "_template.md" ] && continue
[ "$(basename "$f")" = "example.md" ] && continue
name=$(basename "$f" .md)
desc=$(head -5 "$f" | grep '^> ' | sed 's/^> //')
lines=$(wc -l < "$f")
printf " %-18s (%3d lines) %s\n" "$name" "$lines" "$desc"
done
fiPresent the output as a clean formatted list. Skip empty sections.
/ctx catalog
List only shipped community bundles. Show name, description, and section outline.
BUNDLE_DIR=""
for d in ./.claude/skills/ctx/bundles "$HOME/.claude/skills/ctx/bundles" ./skills/ctx/bundles; do
[ -d "$d" ] && BUNDLE_DIR="$d" && break
done
for f in "$BUNDLE_DIR"/*.md; do
[ ! -f "$f" ] && continue
[ "$(basename "$f")" = "_template.md" ] && continue
[ "$(basename "$f")" = "example.md" ] && continue
name=$(basename "$f" .md)
desc=$(head -5 "$f" | grep '^> ' | sed 's/^> //')
lines=$(wc -l < "$f")
sections=$(grep '^## ' "$f" | sed 's/^## //' | paste -sd ', ' -)
printf " %-18s (%3d lines) %s\n" "$name" "$lines" "$desc"
printf " Sections: %s\n\n" "$sections"
done/ctx show <name>
Preview a bundle without loading it. Search user bundles first, then community bundles.
name=$1
if [ -f ~/.claude/contexts/${name}.md ]; then
f=~/.claude/contexts/${name}.md
else
BUNDLE_DIR=""
for d in ./.claude/skills/ctx/bundles "$HOME/.claude/skills/ctx/bundles" ./skills/ctx/bundles; do
[ -d "$d" ] && BUNDLE_DIR="$d" && break
done
f="$BUNDLE_DIR/${name}.md"
fi
head -5 "$f"
echo ""
grep '^## ' "$f"Then:
- If the bundle contains
Current StateorRecent Changes, show those sections. - Otherwise show the most relevant operational sections that exist, preferring
Common Operations,Gotchas, and one stack-specific section.
/ctx <name> or /ctx <name1> <name2> ...
Load one or more bundles into the conversation.
- For each requested bundle:
- Check
~/.claude/contexts/<name>.mdfirst - If not found, check the community bundle directory above
- If neither exists, list available bundles and suggest the closest match
- Check
- Read the full bundle file
- Confirm:
Loaded **<name>** context. Key focus: <description line>. - If multiple bundles loaded, note integration points between them
- If 4+ bundles requested, warn about context cost
/ctx install <name>
Copy a community bundle to ~/.claude/contexts/ for project customization.
- Find
<name>.mdin the community bundle directory. - Create
~/.claude/contexts/if missing. - Copy to
~/.claude/contexts/<name>.md. - If the copied file lacks
## Current State, append it. - If the copied file lacks
## Recent Changes, append it. - Do not overwrite an existing local bundle unless the user explicitly asks.
- Confirm that the local bundle is now project-specific and ready for
/ctx update.
Use this exact append block when the sections are missing:
## Current State
- Customize this section for your project: deployment status, active work, known issues.
## Recent Changes
- YYYY-MM-DD -- Installed from community bundle; replace with project-specific updates./ctx update <name>
Update an existing user bundle after a work session.
- Read
~/.claude/contexts/<name>.md. - Refuse to update a community bundle in place; require a local installed copy.
- Based on work done in this session, update only the sections that changed.
- Append a dated entry to
Recent Changes. - Keep the bundle focused and under ~3000 words; summarize older entries when needed.
/ctx new <name> [<path>]
Create a new user bundle from scratch.
- If no path is provided, ask for the project directory.
- Explore the project: README, entry points, config, git activity, and directory structure.
- Use the bundled template from the community bundle directory:
_template.md. - Write the result to
~/.claude/contexts/<name>.md. - Present the draft for user review.
Important rules
- Bundles complement CLAUDE.md and MEMORY.md -- never duplicate their content.
- Cross-reference secrets or credentials rather than copying them into bundles.
- When working across domains, load all relevant bundles.
- Suggest
/ctx update <name>after significant work on a local project bundle. - Community bundles are static stack briefings. User bundles are project-state documents.
- User bundles always take priority over community bundles of the same name.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

