Run the analysis-orchestrator evals with skillscope - #3
Merged
Conversation
The Agent Skills format requires `name` to equal the directory name, and skillscope's structural check fails on the mismatch. Federation into amd/skills rewrites the name to the `as:` value, so the catalog copy stays `tracelens-analysis-orchestrator`. Co-authored-by: Daniel Holanda <holand.daniel@gmail.com>
Runs the structural, routing, and behavior evals for TraceLens/Agent/Analysis/skills against danielholanda/skillscope. Co-authored-by: Daniel Holanda <holand.daniel@gmail.com>
danielholanda
marked this pull request as ready for review
August 29, 2026 19:52
Drops the SKILL_GLOBS indirection and `--routing-skills all` in favour of naming analysis-orchestrator where the choice is made, which also makes the routing comment unnecessary. Co-authored-by: Daniel Holanda <holand.daniel@gmail.com>
Naming the one skill makes the behavior job's --skill redundant, so it goes too; --routing-skills stays because routing has no default. Co-authored-by: Daniel Holanda <holand.daniel@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Template
Wires
TraceLens/Agent/Analysis/skills/analysis-orchestrator/evals/evals.jsonup to danielholanda/skillscope.What is here
.github/workflows/skill-evals.yml, three jobs, one per test type:structuralroutingbehaviorEach job is a checkout plus a single
danielholanda/skillscope@mainstep pointed atTraceLens/Agent/Analysis/skills/analysis-orchestrator.routingandbehaviorboth wait onstructural, so a malformed dataset fails before anything spends a token.Routing therefore runs solo:
analysis-orchestratoris the only skill in the room, graded against its own two near misses plus the five negatives skillscope ships rather than against a neighbour. It is still named explicitly in--routing-skills, because routing has no default — who a skill competes against is what its score means. The behavior job needs no such flag: it grades every skill it can see, which is this one.Adding a second skill here means widening the
skills:lines and deciding whether the new skill belongs in the routing room. Both are diffs a reviewer can see, which is the point.The one choice worth reviewing
This calls the action, not skillscope's reusable workflow.
danielholanda/skillscope/.github/workflows/skill-evals.ymlwould be a shorter caller, but its steps referenceamd/skillscope@bootstrapinternally and that repository does not resolve yet, so a caller would fail at job start. Callingdanielholanda/skillscope@maindirectly avoids that and is also more legible as a reference: the three commands are visible in the file instead of behind twentywith:inputs.The trade-off to know about: this workflow does not run
skillscope select, so it does not readevals/machine.yml. Everything runs onubuntu-latest, which satisfies theos: [Linux]the skill asks for today. A skill that later asks for hardwarelabelswould need either the reusable workflow or a matrix here.The one change outside the workflow
SKILL.mddeclaredname: tracelens-analysis-orchestratorinside a folder namedanalysis-orchestrator. The Agent Skills format requires the two to agree, andskillscope structuralfails on it — so nothing else could run until it was fixed. This does not change the published catalog entry:amd/skillsfederation rewrites the frontmatternameto theas:value from.github/federation.json, which is stilltracelens-analysis-orchestrator.No change was needed to
evals.jsonitself. Its{trace_path}/{platform}/{output_dir}placeholders are already filled byevals/hooks.pyin behavior mode, and the file validates against skillscope's schema as written.Verification
Ran against this branch with the harness installed from the ref the workflow uses:
Also confirmed the composite action's launcher resolves to the same command, that the routing and behavior invocations resolve against this repo's layout, and that the workflow is clean under
actionlint.The
routingandbehaviorjobs could not be run here: they need an authenticatedclaudeCLI, andANTHROPIC_API_KEYhas to exist as a repository secret before this workflow's first run.