Demonstrates the copilot-log provider reading Copilot CLI session transcripts
from disk with deterministic graders. No LLM API key needed.
Graders used:
skill-trigger— checks whether a specific skill was invokedscript-grader— custom TypeScript grader inspecting the fullMessage[]with tool calls
Start a Copilot CLI session in the workspace directory:
cd workspace/
copilot --model gpt-5-mini -p "Analyze this CSV file and tell me the top 5 months by revenue"Or interactively:
copilot --model gpt-5-mini
> Analyze this CSV file and tell me the top 5 months by revenueagentv eval evals/skill-trigger.EVAL.yaml --target copilot-logThe before_all hook runs allagents workspace init to sync the agentv-dev
plugin skills into the workspace. The copilot-log provider then auto-discovers
the latest session from ~/.copilot/session-state/ and runs all graders.
allagents workspace init (setup hook)
↓ syncs agentv-dev plugin skills from marketplace
~/.copilot/session-state/{uuid}/events.jsonl
↓ copilot-log provider (reads from disk)
Message[] with tool calls
├─ skill-trigger grader (deterministic) → pass/fail
└─ script-grader (graders/transcript-quality.ts) → pass/fail
Checks whether the csv-analyzer skill was (or was not) invoked.
Inspects tool call names and skill invocation events in the transcript.
Custom grader using defineScriptGrader from @agentv/sdk. Validates:
- Transcript contains assistant messages
- Tool calls were recorded (inspects
Message[].toolCalls) - Response addresses the CSV analysis question
Skills are sourced in two ways:
- Bundled:
csv-analyzerin.copilot/skills/(example-specific) - Plugin: agentv-dev skills synced via
allagents workspace initfrom theagentvmarketplace into.github/skills/