Filed unassigned by the domain:spec @ objectui execution seat, session session_01VCpmqvacV4BypY48QdoxcE, 2026-09-16T11:4xZ, on the maintainer's instruction 「如果技能有问题的话,也要立卡修改」. ⛔ Not claiming; grading and domain:* are the triage seat's.
The shape
SKILL.md and its references make several instruments named preconditions of an action, without saying whether the named instrument answers for the repository the seat is standing in. The scripts live in objectstack; several lanes work a sibling repo.
⚠️ This is a SKILL-text gap, ⛔ not a tooling defect — stated up front because this seat initially got it backwards. Each script's own behaviour is defensible and at least one documents the hazard in its header. What no line says is which of the three behaviours below a given citation implies.
Measured this shift, from one seat working objectstack-ai/objectui, three instruments, three DIFFERENT behaviours:
| instrument |
cited by |
cross-repo behaviour |
how it fails |
dispatch-gates.mjs |
〈派发〉 「门禁清单取 dispatch-gates.mjs --commands 逐条跑」 |
REFUSES, loudly: "asked for objectstack-ai/objectui, but this checkout is objectstack-ai/objectstack" |
✅ safe — it says so |
check-expected-skips.mjs |
〈复核〉 「入队资格 = 每个 check 为 success 或预期 skip(名单:check-expected-skips.mjs)」 |
ANSWERS, with the wrong roster — EXPECTED_SKIPS is objectstack's workflow names |
⚠️ a clearance that does not apply |
check-clause2-carriers.mjs |
〈入队与落地〉 gate ② |
WORKS, via PM_SWEEP_REPO |
✅ but only if the seat knows to set it |
⇒ ⛔ no uniform rule; it must be judged per script — and nothing in the skill says that.
The measurement
On objectui PR #9604, the three skipped check-runs were Test (coverage), the coverage shard job, and dependabot. Against check-expected-skips.mjs's roster: 0 hits for all three, with a lit control (Build Core → 11 hits in the same file). ⇒ the roster is objectstack's and cannot judge this board.
⭐ The script already documents this in its own header, which is why this card is filed against the skill and not against the script:
The board is PM_SWEEP_REPO, else GITHUB_REPOSITORY, else the default … The roster, however, is THIS repository's workflows — a sibling repo needs its own roster, and pointing this file at another board judges […]
⇒ the author knew. The reader of SKILL.md, who is told only 「名单:check-expected-skips.mjs」, does not.
Why it matters more than a docs nit
The enqueue bar is 「每个 check 为 success 或预期 skip」. A seat on a sibling repo that runs the named instrument and reads its silence as the skip half of that bar has cleared a gate with an instrument that cannot see its board. That is a false green on a landing path, and it is invisible: unlike dispatch-gates.mjs, nothing refuses.
ℹ️ On PR #9604 this seat judged the three skips by hand from objectui's own ci.yml (both coverage jobs carry if: github.event_name == 'push'; dependabot is the dependabot-only gate) — so nothing landed on a false clearance. ⛔ But that was caught by noticing the roster looked foreign, not by any rule telling it to check.
⛔ Not prescribed here
Whether the repair is a line per citation naming the applicability, a single applicability table, a repo guard added to the scripts that currently lack one, or per-repo rosters, is the skills lane's call. ⛔ This card establishes the three measured behaviours and the citation gap, and chooses nothing.
⚠️ A fourth instance, already recorded elsewhere and ⛔ not re-filed: SKILL.md 〈候选与批次〉 makes the depth wait 「第 N 单派发前读 scripts/pm/os-verify-lock.sh --status」 a named precondition, and that script does not exist in objectui at all (objectstack#18426 §3).
Dedup words
cross-repo instrument applicability · check-expected-skips roster sibling repo · PM_SWEEP_REPO per-script · enqueue bar expected skip false clearance · dispatch-gates refuses cross-repo
Generated by Claude Code
Filed unassigned by the
domain:spec@ objectui execution seat, sessionsession_01VCpmqvacV4BypY48QdoxcE, 2026-09-16T11:4xZ, on the maintainer's instruction 「如果技能有问题的话,也要立卡修改」. ⛔ Not claiming; grading anddomain:*are the triage seat's.The shape
SKILL.mdand its references make several instruments named preconditions of an action, without saying whether the named instrument answers for the repository the seat is standing in. The scripts live inobjectstack; several lanes work a sibling repo.Measured this shift, from one seat working
objectstack-ai/objectui, three instruments, three DIFFERENT behaviours:dispatch-gates.mjsdispatch-gates.mjs --commands逐条跑」check-expected-skips.mjscheck-expected-skips.mjs)」EXPECTED_SKIPSis objectstack's workflow namescheck-clause2-carriers.mjsPM_SWEEP_REPO⇒ ⛔ no uniform rule; it must be judged per script — and nothing in the skill says that.
The measurement
On objectui PR #9604, the three skipped check-runs were
Test (coverage), the coverage shard job, anddependabot. Againstcheck-expected-skips.mjs's roster: 0 hits for all three, with a lit control (Build Core→ 11 hits in the same file). ⇒ the roster is objectstack's and cannot judge this board.⭐ The script already documents this in its own header, which is why this card is filed against the skill and not against the script:
⇒ the author knew. The reader of
SKILL.md, who is told only 「名单:check-expected-skips.mjs」, does not.Why it matters more than a docs nit
The enqueue bar is 「每个 check 为 success 或预期 skip」. A seat on a sibling repo that runs the named instrument and reads its silence as the skip half of that bar has cleared a gate with an instrument that cannot see its board. That is a false green on a landing path, and it is invisible: unlike
dispatch-gates.mjs, nothing refuses.ℹ️ On PR #9604 this seat judged the three skips by hand from objectui's own
ci.yml(both coverage jobs carryif: github.event_name == 'push';dependabotis the dependabot-only gate) — so nothing landed on a false clearance. ⛔ But that was caught by noticing the roster looked foreign, not by any rule telling it to check.⛔ Not prescribed here
Whether the repair is a line per citation naming the applicability, a single applicability table, a repo guard added to the scripts that currently lack one, or per-repo rosters, is the skills lane's call. ⛔ This card establishes the three measured behaviours and the citation gap, and chooses nothing.
SKILL.md〈候选与批次〉 makes the depth wait 「第 N 单派发前读scripts/pm/os-verify-lock.sh --status」 a named precondition, and that script does not exist in objectui at all (objectstack#18426 §3).Dedup words
cross-repo instrument applicability·check-expected-skips roster sibling repo·PM_SWEEP_REPO per-script·enqueue bar expected skip false clearance·dispatch-gates refuses cross-repoGenerated by Claude Code