Plugin Eval
Use this as the beginner-friendly umbrella entrypoint for local Codex skill and plugin evaluation.
Start Here
- Resolve whether the target path is a skill, a plugin, or another local folder.
- Prefer the chat-first router when the user speaks naturally or is not sure which command they need:
plugin-eval start <path> --request "<user request>" --format markdown
- Route natural chat requests to the matching workflow:
- "Give me an analysis of the game dev skill." -> resolve the named skill path, run
plugin-eval analyze <path> --format markdown, then initialize a benchmark and show the setup questions needed to tailor benchmark.json
- "Evaluate this skill." ->
plugin-eval analyze <path> --format markdown
- "Why did this score that way?" ->
plugin-eval analyze <path> --format markdown
- "What should I fix first?" ->
plugin-eval analyze <path> --format markdown
- "Explain the token budget for this skill." ->
plugin-eval explain-budget <path> --format markdown
- "Measure the real token usage of this skill." -> benchmark flow, then
plugin-eval measurement-plan
- "Help me benchmark this plugin." -> starter benchmark flow
- "What should I run next?" ->
plugin-eval start <path> --request "What should I run next?" --format markdown
- If the user wants rewrite help after evaluation, route to
../improve-skill/SKILL.md.
- If the user wants a custom rubric, route to
../metric-pack-designer/SKILL.md.
- If the user names a skill instead of giving a path, resolve it locally before running commands:
- check
~/.codex/skills/<skill-name> first
- then check any repo-local
skills/<skill-name> directory
- if the name is still ambiguous, ask one short clarifying question before continuing
- When the request sounds like "analysis" rather than just "evaluate", do the fuller path:
- run the report
- initialize
.plugin-eval/benchmark.json
- surface the setup questions that will refine the starter scenarios
- preview the dry-run command the user can execute next
Chat Requests To Recognize
Give me an analysis of the game dev skill.
Evaluate this skill.
Evaluate this plugin.
Why did this score that way?
What should I fix first?
Explain the token budget for this skill.
Measure the real token usage of this skill.
Help me benchmark this plugin.
What should I run next?
Matching Commands
plugin-eval start <path> --request "Evaluate this skill." --format markdown
plugin-eval start <path> --request "Give me a full analysis of this skill, including benchmark setup." --format markdown
plugin-eval analyze <path> --format markdown
plugin-eval explain-budget <path> --format markdown
plugin-eval measurement-plan <path> --format markdown
plugin-eval init-benchmark <path>
plugin-eval benchmark <path> --dry-run
plugin-eval benchmark <path>
Output Expectations
- Prefer the JSON result as the source of truth.
- Lead with
At a Glance, Why It Matters, Fix First, and Recommended Next Step.
- Keep the
why content terse and easy to skim.
- Call out whether budget numbers are static estimates or measured harness results.
- Show the user the exact chat phrase they can reuse next, the
plugin-eval start command that routes it, and the first local workflow command behind it.
- When the user asks for an analysis of a named skill, do not stop at the report if benchmark setup is still missing.
- When the user is asking about a skill specifically, hand off to
../evaluate-skill/SKILL.md.
- When the user is asking about a plugin bundle, hand off to
../evaluate-plugin/SKILL.md.
References
../../references/chat-first-workflows.md
../../references/technical-design.md
../../references/evaluation-result-schema.md
1---2name: openai-plugin-eval-plugin-eval3description: plugin-eval — plugin-eval4license: MIT5---6
7# Plugin Eval
8
9Use this as the beginner-friendly umbrella entrypoint for local Codex skill and plugin evaluation.
10
11## Start Here
12
131. Resolve whether the target path is a skill, a plugin, or another local folder.
142. Prefer the chat-first router when the user speaks naturally or is not sure which command they need:
15
16```bash
17plugin-eval start <path> --request "<user request>" --format markdown
18```
19
203. Route natural chat requests to the matching workflow:
21 - "Give me an analysis of the game dev skill." -> resolve the named skill path, run `plugin-eval analyze <path> --format markdown`, then initialize a benchmark and show the setup questions needed to tailor `benchmark.json`
22 - "Evaluate this skill." -> `plugin-eval analyze <path> --format markdown`
23 - "Why did this score that way?" -> `plugin-eval analyze <path> --format markdown`
24 - "What should I fix first?" -> `plugin-eval analyze <path> --format markdown`
25 - "Explain the token budget for this skill." -> `plugin-eval explain-budget <path> --format markdown`
26 - "Measure the real token usage of this skill." -> benchmark flow, then `plugin-eval measurement-plan`
27 - "Help me benchmark this plugin." -> starter benchmark flow
28 - "What should I run next?" -> `plugin-eval start <path> --request "What should I run next?" --format markdown`
294. If the user wants rewrite help after evaluation, route to `../improve-skill/SKILL.md`.
305. If the user wants a custom rubric, route to `../metric-pack-designer/SKILL.md`.
316. If the user names a skill instead of giving a path, resolve it locally before running commands:
32 - check `~/.codex/skills/<skill-name>` first
33 - then check any repo-local `skills/<skill-name>` directory
34 - if the name is still ambiguous, ask one short clarifying question before continuing
357. When the request sounds like "analysis" rather than just "evaluate", do the fuller path:
36 - run the report
37 - initialize `.plugin-eval/benchmark.json`
38 - surface the setup questions that will refine the starter scenarios
39 - preview the dry-run command the user can execute next
40
41## Chat Requests To Recognize
42
43- `Give me an analysis of the game dev skill.`
44- `Evaluate this skill.`
45- `Evaluate this plugin.`
46- `Why did this score that way?`
47- `What should I fix first?`
48- `Explain the token budget for this skill.`
49- `Measure the real token usage of this skill.`
50- `Help me benchmark this plugin.`
51- `What should I run next?`
52
53## Matching Commands
54
55```bash
56plugin-eval start <path> --request "Evaluate this skill." --format markdown
57plugin-eval start <path> --request "Give me a full analysis of this skill, including benchmark setup." --format markdown
58plugin-eval analyze <path> --format markdown
59plugin-eval explain-budget <path> --format markdown
60plugin-eval measurement-plan <path> --format markdown
61plugin-eval init-benchmark <path>
62plugin-eval benchmark <path> --dry-run
63plugin-eval benchmark <path>
64```
65
66## Output Expectations
67
68- Prefer the JSON result as the source of truth.
69- Lead with `At a Glance`, `Why It Matters`, `Fix First`, and `Recommended Next Step`.
70- Keep the `why` content terse and easy to skim.
71- Call out whether budget numbers are static estimates or measured harness results.
72- Show the user the exact chat phrase they can reuse next, the `plugin-eval start` command that routes it, and the first local workflow command behind it.
73- When the user asks for an analysis of a named skill, do not stop at the report if benchmark setup is still missing.
74- When the user is asking about a skill specifically, hand off to `../evaluate-skill/SKILL.md`.
75- When the user is asking about a plugin bundle, hand off to `../evaluate-plugin/SKILL.md`.
76
77## References
78
79- `../../references/chat-first-workflows.md`
80- `../../references/technical-design.md`
81- `../../references/evaluation-result-schema.md`