Syntic
← All skills
OrchestrationFreeCommunityv1.0.0

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.md

Place 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.

SKILL.md
---
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

  1. 1Create a dedicated folder for this skill in your local skills library.
  2. 2Place SKILL.md into that folder.
  3. 3Restart Syntic and invoke this skill on matching tasks.

Syntic Code (CLI)

  1. 1Save SKILL.md in your local Syntic Code skills directory.
  2. 2Keep related files in the same skill folder.
  3. 3Run in a safe environment and validate outputs.