Get the project context pack
Pull the durable Vestige memory an agent should read before doing serious work in this project. Same shape MCP tooling exposes via vestige_get_project_context.
When to fire
- Session start. First time you're working on this project today, fire this once.
- Cold start on unfamiliar code. About to refactor a module you haven't touched? Pull the pack first.
- User explicitly asks. "What's the state?", "remind me where we are", "summarise this project for me".
- Before a non-trivial decision. If you're about to commit to architecture, the pack tells you what you're already committed to.
Tie-breaker vs vestige-recall: the pack is broad (project-wide). Recall is narrow (one query). If you have a specific question, use recall — it's cheaper.
How to invoke
vestige context --json
--budget-tokens <n>(default 1200): caps the total pack size. Lower it (300–500) when context is tight; raise it (2400+) for a deep dive.--per-section <n>(default 8): caps each list section.--json(recommended for agents): structured envelope. Skip for human-readable markdown.
After invocation
The JSON envelope:
{
"project_name": "…",
"summary": { "id": "mem_…", "one_liner": "…", "available_depths": […] } | null,
"decisions": [{ "id": "mem_…", "one_liner": "…", "score": …, "type": "decision" }, …],
"open_questions": [ … ],
"recent": [ … ],
"warnings": []
}
For any card whose one_liner isn't enough, use vestige-show <id> to expand at higher fidelity. Cite handles (mem_…) when you reference a finding.
Idempotence & dedup
Read-only — calling repeatedly is safe and cheap, but pointless. Skip if:
- You already pulled the pack this session and nothing has changed.
- The user just asked a narrow question — don't pull the whole pack to answer "what's our SQLite version?", use
vestige-recall "sqlite"instead.