From geas
Generate a role-specific ContextPacket for a worker — compressed briefing with focused, relevant context only.
npx claudepluginhub choam2426/geasThis skill uses the workspace's default tool permissions.
Creates a focused, role-specific briefing for a worker. Workers read their packet instead of replaying full project history.
Creates structured handoff briefings between agents for delegating complex work to subagents, packaging task context, constraints, and progress into compact parseable packets.
Implements PACT agent teams protocol for task claiming, teachback verification, inter-agent messaging with SendMessage, blocker reporting, and work handoffs.
Implements mission specs via autonomous coding, milestone commits, evaluator reports in Markdown, and verification asset captures. For TandemKit structured development.
Share bugs, ideas, or general feedback.
Creates a focused, role-specific briefing for a worker. Workers read their packet instead of replaying full project history.
Orchestrator invokes this skill before dispatching any worker for a task.
.geas/missions/{mission_id}/tasks/{task-id}.json.geas/missions/{mission_id}/evidence/{task-id}/ for upstream worker output.geas/missions/{mission_id}/decisions/ for relevant decisions.geas/missions/{mission_id}/spec.json for mission contextLoad the contract to understand:
Different workers need different context:
.geas/memory/_project/conventions.md if it exists.geas/missions/{mission_id}/contracts/{task-id}.json to verify the implementation matches the agreed planself_check — known_risks and possible_stubs to focus review attentioncode_quality score and threshold (from TaskContract rubric)self_check — untested_paths, known_risks, and what_i_would_test_next from the worker's EvidenceBundle (prioritize testing these areas).geas/missions/{mission_id}/contracts/{task-id}.json for demo_steps and edge_cases the worker committed to handlingrubric)From prior evidence (.geas/missions/{mission_id}/evidence/{task-id}/):
summary and files_changed fieldsFrom decision records (.geas/missions/{mission_id}/decisions/):
From tech debt (.geas/missions/{mission_id}/evolution/debt-register.json, if it exists):
After extracting task context, retrieve applicable memories:
Read .geas/state/memory-index.json. If it doesn't exist or has no entries, skip memory retrieval.
Filter entries by state: only include provisional, stable, canonical. Skip candidate, decayed, archived, rejected, superseded, under_review.
For each eligible entry, read the full memory file from .geas/memory/entries/{memory-id}.json and compute retrieval score:
score = scope_match(0.25) + path_overlap(0.20) + role_match(0.15)
+ freshness(0.15) + confidence(0.10) + reuse_success(0.10)
- contradiction_penalty(max 0.15)
Where (see protocol/09 for canonical definitions):
task (same task) × task context=task → 1.0; memory scope=mission × task context=task → 0.7. Multiply by 0.25.|memory_paths ∩ task_paths| / |task_paths| (0.0 if task_paths is empty). Memory paths are extracted from evidence_refs[] — if an evidence_ref points to a task, use that task's scope.paths. Multiply by 0.20.max(0.0, 1.0 - (days_since_last_confirmed / 180)). last_confirmed_at = created_at of the most recent effect = "positive" entry in memory-application-log for this memory_id; if none, use the memory-entry's own created_at. Multiply by 0.15.signals.confidence. Multiply by 0.10.successful_reuses / (successful_reuses + failed_reuses) (0.5 if no application history). Multiply by 0.10.min(contradiction_count * 0.05, 0.15).risk_pattern type when task risk_level is high or critical.Sort by score descending. Apply role-specific budget:
orchestration_authority: top 5-8 entriesproduct_authority: top 3 entriesWrite .geas/missions/{mission_id}/packets/{task-id}/memory-packet.json conforming to schemas/memory-packet.schema.json:
{
"meta": {
"version": "1.0",
"artifact_type": "memory_packet",
"artifact_id": "mp-{task-id}-{agent-type}",
"producer_type": "orchestration_authority",
"created_at": "<ISO 8601>"
},
"packet_id": "mp-{task-id}-{agent-type}",
"target_agent_type": "<agent type>",
"target_task_id": "{task-id}",
"pinned_items": ["<L0 invariants — phase, focus task, rules.md entries>"],
"applicable_memory_ids": ["mem-xxx", "mem-yyy"],
"caution_items": ["<memories with confidence < 0.5 or contradiction_count > 0>"],
"suppressed_memory_ids": ["<memories excluded due to low score or budget>"],
"assembly_reason": "Generated for {agent-type} working on {task-id}"
}
Inject into the context packet markdown. Add an ## Applicable Memory section to the agent's packet:
## Applicable Memory
The following lessons from previous tasks may be relevant:
- **[mem-xxx] {title}** (confidence: 0.7, stable): {summary}
- **[mem-yyy] {title}** (confidence: 0.5, provisional): {summary}
⚠️ Caution items (lower confidence):
- **[mem-zzz] {title}** (confidence: 0.4): {summary} — treat as suggestion, not rule
Regenerate the memory packet when any of these occur:
under_review or supersededWrite to .geas/missions/{mission_id}/packets/{task-id}/{worker-name}.md
mkdir -p .geas/missions/{mission_id}/packets/{task-id}
Write the packet as a markdown file with this structure:
# Context Packet: {worker-name} for {task-title}
## Your Task
{goal from TaskContract}
## Summary
{1-3 sentence summary of what's needed and why}
## Design Context
{communication_specialist's design spec excerpt, if available}
## Technical Approach
{design_authority's technical guidance excerpt, if available}
## Boundaries
**Prohibited paths:** {list}
## Acceptance Criteria
{numbered list from TaskContract}
## Eval Commands
{list of commands to run for verification}
## Known Risks
{risks identified during planning}
## Prior Work
{summaries from upstream evidence bundles}
## Known Tech Debt
{Open debt items relevant to this task. Workers should be aware but fix only if the task explicitly addresses them.}
## Applicable Memory
**Agent Memory:** Before assembling the general applicable memory, check if `.geas/memory/agents/{agent_type}.md` exists for the target agent. If it does, include its contents at the top of the Applicable Memory section. This file is included unconditionally (not scored by the retrieval heuristic) as it contains Orchestrator-curated, role-specific guidance. Agent memory files are typically small and SHOULD be preserved even under context budget pressure.
{Injected from memory retrieval — see Step 3. Omit if no memories scored above threshold.}
## Reference
- Mission spec: .geas/missions/{mission_id}/spec.json
- Contract: .geas/missions/{mission_id}/tasks/{task-id}.json
Omit sections that have no content (e.g., no design context for a task before the communication_specialist has worked).
When generating a quality_specialist packet, include a ## Verification Tools Available section listing available MCP tools and commands from .geas/memory/_project/conventions.md:
## Verification Tools Available
- **API**: HTTP request tools for direct endpoint testing
- **Database**: Database query MCP (if available)
- **Browser**: Browser automation MCP (if connected) for E2E, screenshots, visual regression
- **Performance**: Performance audit MCP (if connected) for accessibility and performance
- **Dev server**: {{dev command from conventions.md}} — start before state verification
Only include tools that are actually connected or available for the project. Do not assume any specific MCP is present.
Include a ## Rubric Scoring section listing the dimensions the evaluator must score:
## Rubric Scoring
You MUST include `rubric_scores` in your EvidenceBundle for these dimensions:
| Dimension | Threshold | Your role |
|-----------|-----------|-----------|
| core_interaction | 3 | Score 1-5 with rationale |
| feature_completeness | 4 | Score 1-5 with rationale |