Tools · Context

Context tools

The first tools any agent should reach for. They turn vague requests into ordered workflows, ranked context, and source-labeled evidence — instead of grepping blind. All read-only.

mako_help read

Return an ordered Mako workflow recipe for a task, with suggested arguments, batching hints, and verification steps.

When to use it

When the agent knows the task but not the right Mako tool sequence. This is the lowest-friction first call for new agents.

Input

{
  "task": "audit route authorization before editing",
  "focusFiles": ["app/dashboard/layout.tsx"],
  "changedFiles": ["app/dashboard/layout.tsx"]
}

context_packet read

Turn a messy coding request into ranked, source-labeled context using deterministic providers first. Modes tune the packet for exploration, planning, implementation, or review.

When to use it

The first call for any vague task. "debug auth onboarding", "where does X live?", "review impact of changing Y" — start here.

Input

{
  "request": "debug why manager onboarding role checks are failing",
  "focusFiles": ["lib/auth/dal.ts"],   // optional
  "mode": "implement",
  "includeInstructions": true,
  "includeRisks": true,
  "risksMinConfidence": 0.7,
  "includeLiveHints": true,
  "freshnessPolicy": "prefer_fresh",
  "budgetTokens": 4000
}

Output (abridged)

{
  "primaryContext":  [{ "path": "...", "reason": "...", "score": 0.91 }, ...],
  "relatedContext":  [...],
  "activeFindings":  [...],
  "risks":           [...],
  "modePolicy":      {...},
  "freshnessGate":   {...},
  "scopedInstructions": [...],
  "recommendedHarnessPattern": "...",
  "_hints":          [...],
  "expandableTools": ["route_trace", "db_rls", "reef_inspect"]
}

Related

reef_scout for broader fact/finding scout. reef_inspect for one-file deep dive. See What is a context packet? for the full shape.

reef_scout read

Reef-backed scout packet of facts, findings, rules, and diagnostic candidates for a request.

When to use it

When the question is "what does Mako already know about this?" rather than "what files are relevant?". Heavier on durable Reef data than context_packet.

Input

{
  "request": "audit auth boundaries before refactor",
  "limit": 30
}

Output

{
  "facts":           [...],
  "findings":        [...],
  "rules":           [...],
  "diagnosticCandidates": [...]
}

reef_diff_impact read

Diff-aware impact packet for files changed in the working tree. It reports changed-file overlay state, downstream callers, active findings on those callers, and convention risks.

When to use it

Mid-edit or just before review, especially when a change may invalidate facts on callers instead of only the edited files.

Input

{
  "filePaths": ["lib/auth/dal.ts", "app/dashboard/layout.tsx"],
  "depth": 2
}

reef_inspect read

Explain one file or subject fingerprint with its facts, findings, and relevant diagnostic runs.

When to use it

Before editing a sensitive file. Returns the full evidence trail Reef has for that subject — what's known, what's questioned, what's been acked.

Input

{
  "subjectKind": "file",
  "subjectId":   "lib/auth/dal.ts"
}

evidence_confidence read

Label evidence as verified, fresh, stale, fuzzy, historical, contradicted, or unknown.

When to use it

When you've pulled a fact or finding and want to know whether you can trust it. Drives the freshness model — see How agentmako tracks freshness.

evidence_conflicts read

Find places where evidence sources disagree or where stale facts should be checked before an answer or edit.

tool_batch read

Run independent read-only Mako lookups in one labeled request. Reduces MCP round trips.

When to use it

When you want freshness, conventions, and open loops in one call. tool_batch rejects mutation tools (no project_index_refresh, working_tree_overlay, diagnostic_refresh, db_reef_refresh, finding_ack, or finding_ack_batch).

Input

{
  "verbosity": "compact",
  "continueOnError": true,
  "ops": [
    { "label": "freshness", "tool": "project_index_status", "args": { "includeUnindexed": false } },
    { "label": "auth-conventions", "tool": "project_conventions", "args": { "limit": 20 } },
    { "label": "open-loops", "tool": "project_open_loops", "args": { "limit": 20 } }
  ]
}