Help us improve
Share bugs, ideas, or general feedback.
From temper
Loads context hierarchically (rules → arch → source → errors → conversation) to maximize signal per token for AI coding agents.
npx claudepluginhub galando/temper --plugin temperHow this skill is triggered — by the user, by Claude, or both
Slash command
/temper:context-engineeringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Version:** 1.0.0
Optimizes AI agent context setup using rules files like CLAUDE.md, specs, source files, and hierarchy. Use for new sessions, degrading output, task switches, or project configuration.
Curates Claude Code agent context hierarchy: rules files, memory, specs, source, and live state. Use for new sessions, output drift, subagent fan-out, rules config.
Guides writing enforceable conventions, stack declarations, and context for HARNESS.md to help LLMs follow project standards and aid team onboarding.
Share bugs, ideas, or general feedback.
Version: 1.0.0 Last Updated: 2026-05-12
Context engineering is the discipline of loading the right information, in the right order, at the right time. AI coding agents have finite context windows. Loading too much wastes tokens and dilutes attention. Loading too little causes hallucinations and missed dependencies.
This skill provides a hierarchical loading strategy that maximizes signal per token:
Priority 1: rules → pack rules, stack conventions, guardrails
Priority 2: arch → module boundaries, dependency graph, entry points
Priority 3: source → specific files relevant to the current task
Priority 4: errors → recent failures, test output, runtime errors
Priority 5: conversation → prior decisions, user intent, stakeholder context
/temper stage (plan, design, build, review, check, fix)Before loading anything, answer:
This takes 10 seconds and prevents loading 80% of files you won't use.
Load in this order:
.claude/temper.config — enabled packs, stack, review settings.claude/packs/{enabled-pack}/rules.md — only enabled packs.claude/packs/stacks/{detected-stack}.md — stack-specific patterns (if exists).claude/CLAUDE.md — project conventionsBudget: ~200 lines total. If packs exceed this, load only the packs scoped to the current phase.
plan.md exists: read the file list section only (not the full plan)Budget: ~400 lines. Use grep to find imports, not cat to read entire files.
Budget: ~1000 lines. This is the bulk of your context. Be selective.
check-context.json or review-context.json (if resuming from feedback loop)Budget: ~200 lines. Only relevant failures, not full test suites.
These are loaded ONLY when explicitly needed:
Total context loaded per task should stay under 2000 lines. This includes rules, architecture, source, and errors. If you're approaching this limit:
Why 2K? Larger contexts reduce attention density. The agent spends tokens processing information instead of acting on it. Smaller, focused contexts produce better results.
| Rationalization | Why It's Wrong |
|---|---|
| "I need to read the whole codebase to understand the patterns" | No, you need to read 3-5 representative files. Patterns emerge quickly. |
| "More context means better decisions" | More context means more noise. The signal-to-noise ratio drops after 2K lines. |
| "I'll just load everything and filter later" | You can't "filter" context — it all consumes attention tokens whether you reference it or not. |
| "The file is short, I'll read it just in case" | 10 "short" files = 500 lines you didn't need. Read on demand, not preemptively. |
| "I need the full git history for context" | The last 5 commits tell you what changed. Full history is archaeology, not engineering. |
Watch for these signs that your context strategy is failing:
After loading context, verify: