Eval criteria create
Skill 0SxD/advisor-trackable-eval-skills-v01/skills/eval_criteria_create
npx -y skills add 0SxD/advisor-trackable-eval-skills-v01 --skill eval_criteria_createAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
skills/eval_criteria_create/SKILL.md
Status: live Type: planner-time skill Inputs: a phased plan (markdown) plus a working directory Output: a flat-boolean manifest at
<workdir>/<task>_EVAL_CRITERIA_v1.mdRule reference: seedocs/FLAT_BOOLEAN_RULE.md(canonical) for the row template, the conjunction trigger token list, and the two integrity gates.
Purpose
Turn a phased plan into an advisor-trackable manifest. One row per atomic fact. No row stacks two facts. Both integrity gates green at write time.
Input contract
- plan_path: path to a markdown plan with phased implementation units. Each unit names files it touches and outcomes it produces.
- workdir: directory where the manifest is written. Conventionally the same directory as the plan's working artifacts, NOT the plan's own directory.
- task_name: short identifier used in the manifest filename.
Output contract
A markdown file at <workdir>/<task_name>_EVAL_CRITERIA_v1.md with:
- Header naming the plan it derives from.
- A canonical row template block (copy from
docs/FLAT_BOOLEAN_RULE.md §2). - One section per phase from the plan. Each section contains one row per atomic fact the phase produces.
- Stop-condition inverse criteria (one row per stop condition the plan declares).
- Format-level integrity rows (
C-FMT-NO-STACK,C-FMT-ROW-SHAPE,C-FMT-EVIDENCE-ON-CHECKED,C-FMT-NOTE-ON-SKIP).
Both integrity gates from docs/FLAT_BOOLEAN_RULE.md §5 and §6 must pass
on the manifest before the skill returns.
Procedure
-
Read the plan. Extract phases, implementation units, and the verification field of each unit.
-
For each unit, list atomic facts. A fact is one of:
- A file exists at a named path.
- A file's content matches a named regex.
- A grep over a named scope returns N matches (typically 0).
- A line exists in a named log file matching a named pattern.
- A command's output contains a named substring.
-
Reject compound facts. If a unit's verification reads "X and Y", the skill emits two rows. If it reads "X or Y" with two different observable outcomes, the skill stops and surfaces back to the planner -- the unit must be re-decomposed or the verification must be expressed as one regex.
-
Compose row IDs. Convention:
C-<PHASE>-<SUBJECT>-<TAG>where TAG distinguishes facts within the same subject (e.g.,LIC,RBAN,EM,PII,SEC). IDs must match[A-Z0-9-]+. -
Indent template rows by 4 spaces inside fenced code blocks. Templates that name a placeholder (e.g.,
<R>for per-repo expansion) must not match the line anchor^- \[. Indenting prevents the integrity gates from tripping until the executor de-indents on expansion. -
Add stop-condition inverse rows. For each stop condition the plan declares (per
cli_deep_dive_and_publish_prompt v1.0Section 2 style), add a row asserting the condition did NOT trigger. -
Add format-level integrity rows. Four rows that turn the manifest's own gates into criteria the advisor can verify.
-
Run gates A and B against the new manifest. If either fails, fix the violating row before returning. Surface to the planner if a fix is not obvious -- the planner's intent is the source of truth, not the skill's autocorrect.
Output verification
Before returning, the skill validates:
grep -c '^- \[' MANIFEST.mdis non-zero.grep -cE '^- \[[ x]\] C-[A-Z0-9-]+ \| 'matches the active row count.grep -nE '^- \[[ x]\] C-' MANIFEST.md | grep -v 'C-FMT-NO-STACK' | grep -iE ' and | AND | & | plus | or | OR | either |, also 'is empty.
If any check fails, the skill reports the failing rows and does not declare success.
Failure modes
| Failure | Symptom | Mitigation |
|---|---|---|
| Plan's verification field is prose, not a path or command | Row's <verification> field is unparseable | Skill stops; planner must specify the artifact. |
| Unit produces an outcome with no observable (e.g., "the user is happy") | No row can be written for this unit | Skill stops; the unit is unverifiable. |
| Two units produce the same row ID | Manifest has duplicate IDs | Skill renames with a -2 suffix and surfaces a warning. |
| Plan references files that do not exist yet | Verification target is a path that will exist post-execution | Allowed; the row's expected state is "post-execution". The skill only checks targets that should already exist. |
Related
skills/eval_verdict_write/SKILL.mdconsumes the output of this skill.templates/eval_manifest_template.mdis the empty skeleton this skill starts from.tools/lint_no_stack.shruns the gates this skill enforces.examples/cli_publish_eval_manifest_v1.mdis a worked output of this skill against a real plan.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.