You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/improve-ic-skill/SKILL.md
+12-8Lines changed: 12 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,18 +98,19 @@ ls evaluations/<skill-name>.json 2>/dev/null || echo "No evals yet — create th
98
98
99
99
**Keep the suite lean.** Don't add cases for things that are obvious or already well-covered. Each case is a future regression test that costs tokens to run.
100
100
101
-
## Step 7 — Run existing evals (only when relevant)
101
+
## Step 7 — Run evals
102
102
103
-
Running the existing suite is a regression check — it answers "did I break something that was already tested?" It is separate from adding new cases (Step 6). You can add a new eval case for a new pitfall without running the existing suite at all.
103
+
Two separate things happen here — don't conflate them:
104
104
105
-
**Run evals when you modified existing tested content:**
106
-
- You changed or removed content that an eval explicitly tests (canister ID, command name, error message)
107
-
- You rewrote a section that several evals cover
105
+
**A. Always run every case you added or changed (with baseline).** A new or edited eval case is code you just wrote. Running it confirms it actually passes with the skill and shows a real with-skill vs baseline delta. An unrun case can be mis-scoped — e.g. a prompt that says "just the command" paired with an expected behavior that requires an explanation will fail the with-skill run — and you'd be committing a silently broken regression test. Include these results in the PR. This is not optional, even when the change is "purely additive": additive means new cases, and new cases must be run.
106
+
107
+
**B. Re-run untouched existing cases only when relevant.** Re-running the rest of the existing suite is a regression check — "did I break something that was already tested?" Do this when:
108
+
- You changed or removed content that an existing eval explicitly tests (canister ID, command name, error message)
109
+
- You rewrote a section that several existing evals cover
108
110
- The description changed significantly — run trigger evals only
109
111
- You're unsure whether a change is safe
110
112
111
-
**Skip running evals when your changes were purely additive:**
112
-
- New pitfall, new section, new example — nothing you touched is already tested
113
+
Skip re-running an existing case only when nothing you touched is content that case covers.
Copy file name to clipboardExpand all lines: .claude/CLAUDE.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,7 +80,7 @@ New pitfalls and non-obvious behaviors are strong candidates for new eval cases
80
80
81
81
**PR eval requirements:**
82
82
- **New skill:** run the full suite (`node scripts/evaluate-skills.js <skill-name>`) and include both output eval and trigger eval results in the PR description. PRs without eval results are not accepted.
83
-
- **Skill improvement:** running and including eval results is recommended but not required. If included, provide only the cases you changed or added.
83
+
- **Skill improvement:** always (re)run every eval case you added or changed — with baseline — and include those results in the PR. A new eval case is code you just wrote; running it confirms it actually passes with the skill and shows a real with-skill vs baseline delta (an unrun case can be mis-scoped and silently broken). Include only the cases you added or changed. Re-running the rest of the existing suite is a separate regression check — do that only when you modified content an untouched case covers.
84
84
- Always wrap eval output in a collapsed `<details>` block in the PR description.
85
85
86
86
## LLM Quality Scoring
@@ -175,7 +175,7 @@ When syncing a skill from a new upstream release, verify all of these before com
175
175
- [ ] **Icskills-only content audited** — Any content we have that is absent from the upstream diff must be either listed as owned in `.claude/upstream.md` or removed. Content not tracked there is a gap — file an upstream issue or add it to the owned list.
176
176
- [ ] **Cross-references use icskills skill names** — "Load `motoko`" not upstream's skill name; "Load `migrating-motoko-enhanced`" not upstream's name
177
177
- [ ] **Experimental/removed features excluded** — If upstream removed a command or feature (e.g., `mops migrate new/freeze`), remove it from the skill
178
-
- [ ] **Evals reviewed** — Open `evaluations/<skill-name>.json` and apply the same logic as any improvement: (1) add new eval cases for new pitfalls, new commands, changed defaults, or renamed APIs in the diff — these are exactly where agents will hallucinate without updated guidance; (2) run existing evals with `node scripts/evaluate-skills.js <skill-name> --eval <N>` only if the diff modified content an existing eval covers; (3) skip running evals if the changes were purely additive. Running and including eval results is recommended but not required — if included, collapse in a `<details>` block.
178
+
- [ ] **Evals reviewed** — Open `evaluations/<skill-name>.json` and apply the same logic as any improvement: (1) add new eval cases for new pitfalls, new commands, changed defaults, or renamed APIs in the diff — these are exactly where agents will hallucinate without updated guidance; (2) always run every case you added or changed with baseline (`node scripts/evaluate-skills.js <skill-name> --eval <N>`) and include those results in the PR — this verifies each new case passes with the skill and shows a real delta; (3) re-run untouched existing cases only if the diff modified content they cover. Collapse eval output in a `<details>` block.
0 commit comments