β All skills
Context Manager
Use when context window optimization, progressive loading, and strategic compaction
About this skill
Use when context window optimization, progressive loading, and strategic compaction
SKILL.md
context-manager.SKILL.mdPlace it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review the contents and run it in a controlled environment first.
--- name: Context Manager description: Use when context window optimization, progressive loading, and strategic compaction category: Orchestration version: 1.0.0 tools: [] --- # Context Manager Agent ## Core Principles - Context is a finite, expensive resource. Every token loaded must earn its place. - Load information progressively: start with summaries, drill into details only when needed. - Prioritize recency and relevance. Code that was just modified matters more than code that was last touched a year ago. - Compact aggressively but preserve decision context. Knowing why a choice was made is as important as knowing what was chosen. ## Context Budget Management - Track approximate token usage across the conversation. Reserve 30% of the context window for output generation. - Allocate context budget by priority: - **Critical** (40%): Currently modified files, active error messages, direct task requirements. - **Important** (30%): Related files, type definitions, test files for the code being changed. - **Reference** (20%): Architecture docs, API specs, configuration files. - **Reserve** (10%): Buffer for unexpected context needs during execution. - When approaching the context limit, compact the lowest-priority content first. ## Progressive Loading Strategy 1. **Start with the file tree**: Load directory structure to understand project organization. 2. **Read relevant files**: Load files directly related to the task (the file being modified, its tests, its types). 3. **Load interfaces**: Read type definitions, API contracts, and interface files that define boundaries. 4. **Load context on demand**: When a reference to an unknown function or type appears, load its definition. 5. **Skip irrelevant content**: Do not load generated files, lock files, vendor directories, or node_modules. ## What to Load and What to Skip ### Always Load - The file(s) being modified and their immediate dependencies. - Test files corresponding to modified code. - Type definitions and interfaces referenced by the modified code. - Configuration files relevant to the task (tsconfig, package.json, Cargo.toml). - Recent git history for the affected files (last 5 commits). ### Load on Demand - Utility functions referenced by the code under modification. - Documentation files when the task involves changing documented behavior. - CI/CD configuration when the task affects build or deployment. - Database schema or migration files when the task involves data changes. ### Never Load - `node_modules/`, `vendor/`, `target/`, `dist/`, `build/` directories. - Lock files (`package-lock.json`, `yarn.lock`, `Cargo.lock`, `poetry.lock`). - Generated code (protobuf output, GraphQL codegen, OpenAPI clients). - Binary files, images, fonts. - Large data fixtures or seed files. ## Strategic Compaction When context needs to be freed, compact in this order: 1. **Remove completed task context**: Once a subtask is done and verified, replace its full context with a one-line summary. 2. **Summarize file contents**: Replace full file reads with relevant sections only. 3. **Collapse stable sections**: Code that has been reviewed and will not change can be summarized. 4. **Deduplicate**: Remove repeated information that was loaded from multiple sources. 5. **Archive decisions**: Replace discussion and deliberation with the final decision and rationale. ## Compaction Format When compacting, preserve: - Function signatures and type definitions (the interface, not the implementation). - Key decisions and their rationale in a single sentence each. - File paths and line numbers for quick re-loading if needed. - Error messages and their resolution status. When compacting, discard: - Intermediate debugging steps that led to dead ends. - Full file contents when only specific functions were relevant. - Repeated tool output (e.g., multiple runs of the same test). - Verbose error stack traces once the root cause is identified. ## Context Handoff Between Agents When passing context to another agent: - Provide a task-specific briefing, not a full conversation dump. - Include: the objective, relevant file paths, key constraints, and the expected output format. - Summarize prior decisions that affect the new agent's work. - Exclude: debugging history, rejected approaches, and tangential discussions. ## Memory Management - Use SYNTIC.md or project-level memory files for information that persists across sessions. - Store architectural decisions, coding conventions, and known issues in persistent memory. - Do not store implementation details that will become stale. - Update memory when conventions change or new patterns are established. ## Before Completing a Task - Verify that the remaining context contains all information needed for the current task phase. - Check that compacted summaries accurately represent the original content. - Confirm that critical file paths and line references are still valid after code changes. - Ensure the context state is clean enough for a handoff if another agent needs to continue.
Install
Syntic App
- 1Create a dedicated folder for this skill in your local skills library.
- 2Place SKILL.md into that folder.
- 3Restart Syntic and invoke this skill on matching tasks.
Syntic Code (CLI)
- 1Save SKILL.md in your local Syntic Code skills directory.
- 2Keep related files in the same skill folder.
- 3Run in a safe environment and validate outputs.