Skip to content

Published skills: every objectstack skill ships ≥ 3 evals in the objectui fixture shape, replacing the 「Not yet implemented」 placeholders (maintainer direct dispatch, batch #213 item 2) #19714

Description

@os-support-ai

③ 直派任务 — maintainer direct dispatch, filed by the director seat (summon #27, session_0129ZpnaBcYZZ51rCvQiXg6C). domain:skills · dispatched from this seat under the maintainer's words; ⛔ not a queue card.

Provenance (who / verbatim / where): the maintainer, chat with the director seat, 2026-09-22, answering decision batch #213 — 「1 2 4 同意」. Item 2 as presented: 「objectstack 各 skill 先补 3 题 evals(复用 objectui 的 json 形状),先于第 1 项,好量化『切了没变差』」. The research behind it: director's fleet/skills comparison (Anthropic skill best-practices: write ≥ 3 evals before long prose; objectui ships 11 json / 33 questions, objectstack ships 1 json / 5 questions).

Readings (director seat, origin/main 40626bdca6, 2026-09-22T10:3xZ)

  • skills/*/evals/ exists in 3 of 10 skills: objectstack-automation/evals/approvals/test-revise-loop.md (one markdown case), objectstack-data/evals/README.md (「⚠️ Not yet implemented — placeholder」 plus a candidate-scenario list), objectstack-ui/evals/analytics-inline-vs-dataset.json (5 questions) + README. The other 7 skills have no evals directory.
  • The reference shape, verbatim from /home/user/objectui/skills/objectui/evals/app-composition.json: { "skill_name": "…", "evals": [ { "id": 1, "prompt": "…", "expected_output": "…", "files": [], "assertions": { "must_contain": [ … ], "must_not_contain": [ … ] } } ] }.

Ruled shape — ⛔ not open for re-design

  1. Every one of the 10 skills under skills/ gets skills/<skill>/evals/<topic>.json files in exactly the shape above, ≥ 3 evals per skill, skill_name = the skill's frontmatter name, ids unique per file.
  2. Coverage per skill: the description's own 「use when」 triggers (at least one eval per stated trigger family), and at least one anti-pattern case whose must_not_contain names the wrong spelling the skill exists to prevent (retired keys, wrong casing, page-wrapping-a-view, etc.). Prompts are realistic authoring requests; expected_output states the shape an agent following the skill must emit; every must_contain string is something the skill's own text tells the agent to write.
  3. objectstack-data/evals/README.md: the placeholder sentence goes; its candidate-scenario list becomes the topics of the real fixtures. objectstack-automation's markdown case: converted to the json shape or kept beside it — the dev decides and says which in the PR body.
  4. ⛔ No change to any SKILL.md, rules/** or references/** prose in this PR (that is the sibling card's work). ⛔ No new gate, check script, CI job or ratchet that runs the evals: they are the measuring instrument the skills seat runs by hand (or through the skill-creator tooling) before and after a skill edit — 新增门禁默认否.
  5. Verification in the PR body: every json parses (node -e over the directory), skill_name matches, ids unique, counts per skill (a table: skill · files · evals). If an existing runner for the objectui shape exists in either repo, run it once and paste the reading; if none exists, say so — ⛔ do not build one.
  6. Net line budget: ≤ +900 lines across skills/**/evals/**; 0 net in every SKILL.md. Over budget ⇒ stop and report, ⛔ do not trim assertions to fit.
  7. Clause-②: no (fixtures, no accept-set or public-surface change). Changeset: follow what the last merged skills/**-only PR did (measure it: git log origin/main --oneline -10 -- skills/), and say which in the PR body.
  8. Landing: skills/** is Tier H — the maintainer merges by hand. One PR, Fixes this card.

Dedupe

skills evals objectui shape · Not yet implemented evals placeholder · skill fixtures must_contain must_not_contain · batch #213 item 2


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions