Repository navigation
fix(agent-context): bring shipped skills inside skill-authoring limits - #434
Merged
Merged
Conversation
…imits Move sections of metaobjects-audit, metaobjects-authoring and metaobjects-fit-assessment into reference files so each SKILL.md is under 500 lines, with a row and an open-when condition per file in a top-of-file reference table. Add a contents list to every reference file over 100 lines, link the five TypeScript topic files and all language files from metaobjects-codegen, and put the reference table at the top of metaobjects-prompts, metaobjects-runtime-ui and metaobjects-audit. The hosted single-file assess prompt is now built by scripts/build-assess-prompt.mjs, which inlines the new references; it is gated in ci-local and equals the previous hosted text except for one dropped phrase. Fit-assessment's scaffold marker moves under metadata (no code reads it) and its maintainer notes move beside the design spec. The releasing skill gains disable-model-invocation, folds the Phase 0 addendum into Phase 0 and points to docs/RELEASING.md for the dated outage and credential notes. An SDK test holds the 500-line, contents-list and one-hop rules. Agent-context conformance fixtures are regenerated, not hand-edited.
…imits Move sections of metaobjects-audit, metaobjects-authoring and metaobjects-fit-assessment into reference files so each SKILL.md is under 500 lines, with a row and an open-when condition per file in a top-of-file reference table. Add a contents list to every reference file over 100 lines, link the five TypeScript topic files and all language files from metaobjects-codegen, and put the reference table at the top of metaobjects-prompts, metaobjects-runtime-ui and metaobjects-audit. The hosted single-file assess prompt is now built by scripts/build-assess-prompt.mjs, which inlines the new references; it is gated in ci-local and equals the previous hosted text except for one dropped phrase. Fit-assessment's scaffold marker moves under metadata (no code reads it) and its maintainer notes move beside the design spec. The releasing skill gains disable-model-invocation, folds the Phase 0 addendum into Phase 0 and points to docs/RELEASING.md for the dated outage and credential notes. An SDK test holds the 500-line, contents-list and one-hop rules. Agent-context conformance fixtures are regenerated, not hand-edited.
Check for the backticked references/<file> path, or the bare file name in a reference-table row, instead of a substring anywhere in the body. Apply the any/all aggregate wording from main to the moved reporting section and regenerate the agent-context fixtures.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
metaobjects-audit,metaobjects-authoringandmetaobjects-fit-assessmentintoreferences/files, bringing eachSKILL.mdunder 500 lines. Adds a reference table at the top ofmetaobjects-audit,metaobjects-promptsandmetaobjects-runtime-ui. Adds a## Contentslist to every reference file over 100 lines, and links themetaobjects-codegenTypeScript and language reference files directly from itsSKILL.md.scripts/build-assess-prompt.mjs, which builds the hosted fit-assessment prompt as one file by inlining the skill's references.scripts/ci-local.shgains ahosted assess prompt buildsgate. The maintainer notes move todocs/superpowers/specs/2026-07-12-metaobjects-fit-assessment-maintainer-notes.md, andscaffold: falsemoves undermetadata:.releasingskill setsdisable-model-invocation: true, folds the Phase 0 addendum into the credentials check, and moves the dated npm token and Trusted Publishing notes intodocs/RELEASING.md.README.mdnow points at the build script. A new SDK test,skill-structure.test.ts, enforces the 500-line limit, the## Contentsrule and one-hop reference links.Run count and size
agent-context/skills/metaobjects-authoring/SKILL.md(only that file: PR 433 edited the Reporting section this PR moved out). I kept the section moved, applied PR 433'sany/allwording toreferences/declaring-reports.md, regenerated the agent-context fixtures, then ran run 2 on the rebased branch. A first attempt at run 2 was aborted because its intent file had been overwritten by another worker; it was restarted with the right intent, so run 2 is one completed run. The CI step was skipped bynm-triage: the PR has no forge checks and the local gate is the validation.ci-local --quickwas killed by a wrapper timeout on a loaded machine). A fix round inside the same run re-drove the two untested scenarios (front-matter / maintainer notes /disable-model-invocation, andci-local --quickto completion) and ended withLOCAL CI PASSED. Before run 2 I also ranscripts/ci-local.sh --quickto completion on the rebased branch; its final line wasLOCAL CI PASSED (with 4 skipped — see ⊘ above).Both scenarios were also driven live in run 1 on the same content.skill-structure.test.tsrequires a real link to each reference file (the backtickedreferences/<file>path, or the bare file name in a reference-table row), not a substring anywhere in the body. The branch carries one tree-unchanged merge commit recording the pre-rebase pipeline head, which the pipeline's private mirror required.## Contentslines. Code, tests and scripts only: +285 / -38.bun scripts/regen-agent-context-conformance.ts, not hand-edited): +4801 / -3652, counted separately.Required pre-release step (outside this repo)
The hosted
https://metaobjects.dev/assess.mdis built in the site repo's.github/workflows/deploy.ymlby asedcopy of the skill'sSKILL.mdat the pinned release tag. With the split, that copy lacks the capability sheet and JSON contract. Before the first release tag carrying this change becomes the pinned one, replace that step with the block recorded indocs/RELEASING-docs-checklist.md: callnode scripts/build-assess-prompt.mjs --out /tmp/assess.mdwhen the tag has the script, keep the oldsedcopy only for older tags, and never fall back tosedwhen the script exists but fails. The pin is 1.0.13 today, so nothing changes until a tag with this change is cut.Validation
Risk Assessment
✅ Low: Docs-only reshuffle of skill text plus a small offline build script and a structure test; SKILL.md line counts (263/479/481) meet the intent, and the hosted prompt builds as the old prompt with one phrase dropped.
Testing
Drove the real CLI (dist/bin/meta.js
init,init --refresh-docs) in two disposable projects under /tmp and ran a pointer/size/TOC checker over the emitted skills. Built the hosted assess prompt with scripts/build-assess-prompt.mjs to the evidence dir and passed its test. Re-ran ci-local --quick to EXIT=0 (4 lanes skipped by --quick design). Ran the verification-plan targeted suites (75 agent-context pass, 34 CLI skill-reading pass, positioning, doc-examples, test-references) and regen with zero fixture drift. Static reads covered the maintainer-notes move and the releasing skill; those two scenarios are untested because no live surface was reachable for them. The full local suite was not run, per the verification plan; the quick gate is the configured scope.Evidence: Hosted assess prompt built from the worktree (601 lines)
~/.no-mistakes/evidence/01M4Q0R3B8ZNTDHTR1WAQ45SN3/ci-quick-rerun.log)Pipeline
Updates from git push no-mistakes
✅ **Intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
🔧 **Test** - 1 issue found → no changes applied ✅
scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchainscd server/typescript/packages/sdk && bun test test/agent-context test/agent-context-capability-grounding.test.ts test/agent-context-conformance.test.ts (75 pass, 0 fail)cd server/typescript/packages/cli && bun test test/skill-catalog-grounding.test.ts test/unit/init-agent-context.test.ts test/unit/init-docs-only.test.ts test/unit/init-orphan-prune.test.ts test/unit/init-refresh-docs.test.ts test/agent-docs-alias.test.ts (34 pass, 0 fail)node scripts/build-assess-prompt.mjs --out <evidence>/assess.md (exit 0, 601 lines, no references/ pointers)node scripts/test-build-assess-prompt.mjs (all passed)bun scripts/check-positioning-claims.ts, bun scripts/test-positioning-claims.ts, bun scripts/check-doc-examples.ts, scripts/check-test-references.sh (all exit 0)cd server/typescript/packages/sdk && bun scripts/regen-agent-context-conformance.ts (exit 0; git status clean, fixtures match)Live disposable project: bun server/typescript/packages/cli/bin/meta.ts init (exit 0); skill line counts and 26 of 26 reference links checkedscripts/ci-local.sh --quick logged to <evidence>/ci-quick.log; conformance, TS unit and gate lanes passed; completeness-gate (stryker) stalled from 23:13:34 and was killed by the 590s timeout (conformance:mutation exited 143)Not run: full local suite, excluded by the verification plan's scope limit🔧 No changes applied.
✅ Re-checked - no issues remain.
scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchainscd /tmp/mo-live/proj && node <worktree>/server/typescript/packages/cli/dist/bin/meta.js init (live CLI, bare project)cd /tmp/mo-live/proj2 (package.json type=module) && meta init && meta init --refresh-docs (live CLI, TS project)node /tmp/mo-live/checker/check.mjs <emitted project> (size <500, reference pointer resolution, Contents on >100-line refs, codegen two-hop links, reference table position)node scripts/build-assess-prompt.mjs --out ~/.no-mistakes/evidence/01M4Q0R3B8ZNTDHTR1WAQ45SN3/assess.md && node scripts/test-build-assess-prompt.mjsscripts/ci-local.sh --quick (log: ~/.no-mistakes/evidence/01M4Q0R3B8ZNTDHTR1WAQ45SN3/ci-quick-rerun.log, EXIT=0)cd server/typescript/packages/sdk && bun test test/agent-context test/agent-context-capability-grounding.test.ts test/agent-context-conformance.test.ts (75 pass, 0 fail)cd server/typescript/packages/cli && bun test test/skill-catalog-grounding.test.ts test/unit/init-agent-context.test.ts test/unit/init-docs-only.test.ts test/unit/init-orphan-prune.test.ts test/unit/init-refresh-docs.test.ts test/agent-docs-alias.test.ts (34 pass, 0 fail)bun server/typescript/packages/sdk/scripts/regen-agent-context-conformance.ts && git status --short (no diff)bun scripts/check-positioning-claims.ts; bun scripts/test-positioning-claims.ts; bun scripts/check-doc-examples.ts; scripts/check-test-references.sh (all exit 0)Static reads: .claude/skills/releasing/SKILL.md, docs/RELEASING.md, agent-context/skills/metaobjects-fit-assessment/SKILL.md, docs/superpowers/specs/2026-07-12-metaobjects-fit-assessment-maintainer-notes.md, README.md:96-102, capability-checklist.md pointers at lines 97/241/330✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.