npx claudepluginhub rune-kit/rune --plugin @rune/analyticsThis skill uses the workspace's default tool permissions.
When a parent agent delegates work to a subagent, critical context gets lost — the subagent starts fresh without knowing what was tried, what failed, what constraints apply, or what the parent already decided. Context-pack solves this by creating structured handoff briefings (context packets) that compress the essential information into a compact, parseable format. The packet is small enough to...
Persists task state across context compaction using TaskCreate/Update/List/Get. For long tasks, agent coordination, and workflows nearing limits.
Provides protocols, templates, and rules for constructing subagent delegation prompts with context chains, protocol injection, and downstream declarations in agent orchestration.
Implements PACT agent teams protocol for task claiming, teachback verification, inter-agent messaging with SendMessage, blocker reporting, and work handoffs.
Share bugs, ideas, or general feedback.
When a parent agent delegates work to a subagent, critical context gets lost — the subagent starts fresh without knowing what was tried, what failed, what constraints apply, or what the parent already decided. Context-pack solves this by creating structured handoff briefings (context packets) that compress the essential information into a compact, parseable format. The packet is small enough to fit in a subagent's system prompt but complete enough to prevent redundant work and constraint violations.
cook, team, rescue before spawning subagentssession-bridge (L3): read persisted state for inclusion in packetcontext-engine (L3): check current context budget before deciding packet sizecook (L1): before Phase 2-5 subagent spawningteam (L1): before dispatching parallel workstreamsrescue (L1): before delegating module-level refactoringscaffold (L1): before delegating component generationcompletion-gate (L3): packet's success criteria → claim validation baselinesession-bridge (L3): persisted state from prior sessionsplan (L2): phase files with task breakdownsCOLLECT — Gather context from the current conversation:
COMPRESS — Reduce to essential information:
STRUCTURE — Format as a context packet (v2 — see Output Format and references/brief-template.md)
VALIDATE — Check packet completeness:
### Out of scope? (mandatory)### Type Surface (mandatory if task >= 300 tokens)?PHASE 4.5 — SMELL TESTS — Run mechanical regex gates before emit. See references/durability-rules.md.
| Regex | Tier | Reason |
|---|---|---|
\b\S+\.[a-z]{1,4}:\d+\b | BLOCK | file:line reference (e.g., login.ts:42) — line numbers go stale |
^- \S*[\\/]\S+\.(ts|js|py|go|rs|java)\b outside ### Files Touched | BLOCK | Path-only bullet in narrative |
\b(line |on line )\d+\b | BLOCK | "line 42" / "on line 100" |
\b(src|lib|app)/\S+ in narrative paragraphs | WARN | Path mention; verify it belongs in Files Touched section |
EMIT — Send the validated packet to the receiving agent.
## Context Packet
**Task**: [One-line behavioral description, verb-led]
**Parent**: [delegating skill]
**Scope**: [type names / module names — NOT file paths]
### Decisions Made
- [Decision]: chose [X] over [Y] because [reason]
### Constraints
- MUST: [behavioral assertion]
- MUST NOT: [behavioral prohibition]
- BLOCKED BY: [contract dependency, not file path]
### Already Tried
- [approach] — [observable failure mode]
### Type Surface (durable)
- `TypeName { field: type }` — [what it represents]
- `Module.method(input: T): Result<O, E>` — [contract]
### Files Touched (locator-only, may rename)
- `path/to/file.ts` (TypeName, Module.method) — [behavioral hint]
### Acceptance Criteria
- [ ] [verb-led testable statement starting with: accepts, rejects, produces, notifies, persists, retries, times-out, validates, returns, dispatches, redirects, throws, logs, increments, decrements, retrieves, emits, caches, invalidates, authenticates]
- [ ] ...
### Out of scope
- [Thing the receiver should NOT do]
- (or "(none)" if explicitly empty)
### Progress
- [partial state if mid-handoff — omit if fresh start]
Full template + worked examples: references/brief-template.md.
The standard packet (above) is for immediate sub-agent dispatch in the same session. When the handoff target is async — issue tracker, scheduled cron agent, rune:autopilot (Pro) for multi-session work, or any receiver that may execute hours or days later — switch to the agent brief variant.
Agent brief adds two durability principles on top of the standard packet:
### Files Touched (locator-only, may rename).Additional BLOCK-tier checks for agent briefs (on top of the standard smell tests):
**Category:** line present (bug / enhancement / refactor)**Current behavior:** and **Desired behavior:** sections present**Key interfaces:** names types/functions, not file pathsFull template + worked examples: references/agent-brief.md.
| Field | Type | Description |
|---|---|---|
packet | markdown | Structured context packet ready for subagent injection |
token_estimate | number | Estimated token count of the packet |
completeness | enum | full / partial / minimal — how much context was captured |
warnings | string[] | Missing context that could cause subagent failure |
### Out of scope section — empty (none) allowed, missing section is rejected by completion-gate### Type Surface section for tasks >= 300 tokens — durable contract spine| Failure Mode | Severity | Mitigation |
|---|---|---|
| Packet too large (>2000 tokens) | HIGH | Compress aggressively — type names not file contents, decisions not discussions |
| Missing constraint causes subagent violation | CRITICAL | Always scan for MUST/MUST NOT in parent conversation |
| Stale context from prior session included | MEDIUM | Cross-check session-bridge state with current files |
| Over-constraining subagent with parent's approach | MEDIUM | Include constraints and goals, not implementation approach (unless approach is the constraint) |
| File:line references in packet (rotting briefs) | CRITICAL | Phase 4.5 BLOCK gate — regex \b\S+\.[a-z]{1,4}:\d+\b catches them; rewrite to type/function names |
Narrative paragraphs with bare paths (src/auth/) | MEDIUM | WARN tier — surface and rewrite or move to Files Touched table |
| Missing Type Surface section for non-trivial task | HIGH | Mandatory for tasks >= 300 tokens; the durable spine is what survives file moves |
| Missing Out of scope section | HIGH | Always required (even "(none)"); completion-gate rejects briefs without it |
| Acceptance Criteria using shape verbs ("is defined", "has property") | MEDIUM | Rewrite to behavior verbs from the whitelist |
| Async handoff (issue tracker / autopilot / scheduled run) emitted as standard packet | HIGH | Switch to agent-brief variant (references/agent-brief.md) — standard packet rots when receiver runs hours/days later. Brief adds durability rules: behavioral not procedural, no line numbers in narrative |
Agent brief with file:line references in narrative ("change auth.ts:42") | CRITICAL | Brief BLOCK gate — line numbers go stale on first edit. Reference type names, function signatures, contracts instead. File paths only in ### Files Touched |
Agent brief without **Current behavior:** AND **Desired behavior:** split | HIGH | Brief BLOCK gate — without the delta explicit, async agent cannot verify when work is done |
SELF-VALIDATION (run before emitting output):
- [ ] Packet includes a clear task goal (verb-led)
- [ ] Packet includes acceptance criteria (verb-led, testable, not vague)
- [ ] All MUST/MUST NOT constraints from parent are present
- [ ] Failed attempts are listed (if any exist)
- [ ] Token estimate is under 2000
- [ ] No full file contents embedded (type names + paths only)
- [ ] No file:line references anywhere (regex check)
- [ ] No bare-path narrative bullets outside Files Touched
- [ ] ### Out of scope section present (even if "(none)")
- [ ] ### Type Surface section present (if task >= 300 tokens)
- [ ] Files Touched entries include (TypeName, function) annotations
IF ANY check fails → fix before reporting done. Do NOT defer to completion-gate.
~200-500 input tokens (scanning conversation) + ~300-800 output tokens (generating packet). Haiku model — minimal cost per invocation.
Scope guardrail: Do not implement code changes, run tests, or modify files. Only produce context packets for handoff. If asked to do more, defer to the delegated skill.