Use Cases and Walkthroughs
This guide turns the runtime contracts into practical operator flows. Each walkthrough is independent and names a concrete goal, the prerequisite setup, and a step list you can follow inside any connected MCP client.
What this covers
- Adopting a workflow from the skill library
- HITL-gated proxied tool calls
- Dynamic discovery in a focused session
- Wiring the voice sidecar to a Claude hook
- Verifying hook observability and replay data
- Starting a new repo-maintenance session safely
Walkthrough 1: Adopt a workflow from the skill library
Use this when you want EVOKORE to retrieve process guidance before the model starts acting.
Goal
Find and adopt an existing workflow such as session-wrap.
Steps
-
Ask the client to search skills:
Search the MCP for a workflow about session wrap-up and continuity. -
EVOKORE uses
search_skillsand returns matching skills. -
Ask for a specific skill:
Show me help for the session-wrap skill. -
EVOKORE uses
get_skill_helpand returns the skill’s internal instructions. -
For broader task matching, ask:
Resolve a workflow for wrapping this session, documenting open risks, and preparing the next handoff. -
EVOKORE uses
resolve_workflowand injects the top 1-3 relevant workflows directly into the tool response.
Why this matters
- keeps the model grounded in repo-specific process
- reduces prompt drift
- makes handoff and governance behavior repeatable
Walkthrough 2: Use a proxied tool that requires HITL approval
Use this when the tool is configured as require_approval in permissions.yml.
Goal
Allow a protected proxied tool call such as fs_write_file or github_create_issue.
Steps
- Attempt the tool call normally.
- EVOKORE intercepts it and returns an error-like tool response with
_evokore_approval_token. - Read the message carefully and ask the human user for explicit approval.
- Retry the same tool call with the exact same arguments plus the token.
Contract reminders
_evokore_approval_tokenis one-time use- it is bound to the exact same arguments
- it is short-lived
- if the retry changes arguments or happens too late, request a fresh token by repeating the original call
Example flow
Initial blocked call:
Call fs_write_file with path=/repo/notes.md and content=...
Intercept response conceptually:
ACTION REQUIRES HUMAN APPROVAL...
retry this exact same tool call with _evokore_approval_token=...
Approved retry:
{
"path": "/repo/notes.md",
"content": "...",
"_evokore_approval_token": "returned-token-here"
}
Walkthrough 3: Use dynamic tool discovery during a focused session
Use this when you want a smaller initial tool list but still need proxied tools on demand.
Goal
Start in dynamic mode and activate only the tools needed for the current task.
Setup
EVOKORE_TOOL_DISCOVERY_MODE=dynamic
Steps
-
Connect your MCP client.
-
Notice that
tools/listinitially shows the native EVOKORE tools. -
Ask EVOKORE to find relevant tools:
Discover tools for reading files and comparing markdown changes. -
EVOKORE runs
discover_tools. -
Matching proxied tools are activated for the current session.
-
Re-run
tools/listif your client does not auto-refresh aftertools/list_changed.
Exact-name compatibility
Even if a proxied tool is not currently listed, you can still call it directly by exact prefixed name when you already know it exists.
Example:
Call fs_read_file directly.
That compatibility behavior helps older workflows survive the move to dynamic discovery.
When to choose dynamic mode
- focused sessions
- clients sensitive to tool-list size
- flows that can intentionally call
discover_tools
Walkthrough 4: Use the VoiceSidecar with Claude hooks
Use this when you want Claude responses to be spoken automatically.
Goal
Run the standalone sidecar and forward response text to it with the included hook.
Steps
-
Ensure
ELEVENLABS_API_KEYis set. -
Build the project:
npm run build -
Start the sidecar:
npm run voice -
Configure the Claude hook:
{ "hooks": { "Stop": [ { "command": "node /path/to/EVOKORE-MCP/scripts/voice-hook.js", "env": { "VOICE_SIDECAR_PERSONA": "orchestrator" } } ] } }Or set
VOICE_SIDECAR_PERSONA=orchestratorin the shell that launches Claude Code if you want the bundled hook to use a non-default voice persona without editing the payload shape. -
When Claude completes a response, the hook sends text to
ws://127.0.0.1:8888. -
The sidecar resolves the persona config from
voices.json, synthesizes speech, and plays audio unless playback is disabled.
Useful flags
VOICE_SIDECAR_DISABLE_PLAYBACK=1
VOICE_SIDECAR_ARTIFACT_DIR=artifacts/voice-sidecar
VOICE_SIDECAR_PERSONA=orchestrator
VOICE_SIDECAR_HOST=127.0.0.1
Use them when:
- validating sidecar behavior quietly
- preserving
.mp3artifacts for inspection - forcing the bundled hook to use a specific persona
- overriding the sidecar host explicitly
Walkthrough 5: Verify hook observability and replay data
Use this when you need to confirm hook behavior without changing normal UX.
Goal
Inspect logs for damage-control, purpose-gate, session-replay, or tilldone.
Steps
-
Run the relevant hook-enabled workflow.
-
Inspect JSONL logs:
npm run hooks:view -
Filter by hook:
npm run hooks:view -- --hook tilldone -
Inspect recent replay data:
npm run replay
Stored data locations
- hook logs:
~/.evokore/logs/hooks.jsonl - replay logs:
~/.evokore/sessions/*-replay.jsonl - tilldone task state:
~/.evokore/sessions/*-tasks.json
Walkthrough 6: Start a new repo-maintenance session safely
Use this when you are resuming a branch, triaging repo state, or starting a multi-slice implementation session.
Goal
Re-enter the repo with low context drift and without guessing at branch, worktree, or handoff state.
Steps
-
Run the repo preflight:
npm run repo:audit -
If you need machine-readable output:
npm run repo:audit -- --json -
Read any active in-repo handoff files (session notes, task plan, findings, progress) for context.
-
Read the latest session log if the work is a continuation rather than a fresh slice.
-
Only after that, decide whether to:
- continue on the handoff branch
- branch from
main - clean up stale branches or worktrees
Why this matters
- surfaces branch divergence before you stack work on stale history
- catches disposable worktrees and stale local branches early
- keeps control-plane docs aligned with the actual repo state
Suggested operator path
If you are new to the repo, use the docs in this order:
See also
- Training and Use Cases — category-level skill navigation
- Skills Overview — narrative grouping with code / non-code tags
- Panel of Experts — multi-persona review framework
- Architecture: AEP System — the engineering cycle behind the orchestration workflows
Last verified: 2026-05-20