docs: route schema authoring to the build-schema skill (ADR-0010) - #187
Open
yuanwen-tian wants to merge 1 commit into
Open
docs: route schema authoring to the build-schema skill (ADR-0010)#187yuanwen-tian wants to merge 1 commit into
yuanwen-tian wants to merge 1 commit into
Conversation
SKILL.md now tells agents driving this CLI to invoke the build-schema skill when a schema needs authoring, improving, or validating, and to feed its deliverable/schema.json to `ade extract`. Carries the per-iteration cost disclosure and the store-reuse seeding hint. ADR-0010 records the decision to bridge the parse -> schema -> extract gap in the skill layer rather than growing CLI surface, and why the CLI-side bridge was rejected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Supersedes #185 — same goal, skill layer only, zero CLI surface.
The problem #185 identified
The workflow is parse → schema → extract, and
adeonly ships two of the steps:Meanwhile the build-schema skill (the
landingai-adeplugin, mirrored fromschema-loop) already does the middle step properly: it drives this very CLI through measured iteration — real extractions, reviewer-confirmed ground truth, negotiated per-field accuracy targets — and stops only converged with numbers or blocked with evidence. It delivers the final schema at<workspace>/deliverable/schema.json.The two just didn't know about each other. That diagnosis, and all the context below, comes from #185.
What changed from #185
#185 bridged the gap in the CLI: a new
ade schema buildcommand, a post-parse "What next?" menu, agent adapters, PATH detection, newconfig.jsonkeys, subprocess launching, and terminal gating — ~2,400 lines across 19 files.This PR bridges it in the skill layer. The CLI is untouched: no new commands, no menus, no config keys, no subprocess launching, no agent detection.
parse,extract, and the entire machine contract are byte-identical, because nothing insrc/changed.The reasoning: the CLI's primary callers are agents, and an agent must never be handed an interactive foreground subprocess — #185 acknowledged this itself, gating the whole feature off under
--json,--id-only, agent hosts, and CI, and telling agents in SKILL.md to invoke the skill directly instead of shelling out to the new command. That instruction was already the integration doing the real work for the primary caller. This PR keeps it and drops the CLI surface built around it.What this PR does
Three files, no
src/changes:SKILL.md— a new section, "No schema yet? Invoke the build-schema skill", sitting between the loop and the reuse posture. It tells an agent driving this CLI to invoke the build-schema skill rather than hand-authoring a schema and eyeballing the output; how to acquire the skill if the plugin isn't installed (local copy, else shallow-clone and followplugins/landingai-ade/skills/build-schema/SKILL.md); and to hand the delivereddeliverable/schema.jsonstraight toade extract.It also carries two things an agent must surface before starting a run:
job_item_idof any parse already run, and its environment — re-runs are free, so the skill authors from the cached parse instead of re-billing one.docs/adr/0010-schema-authoring-stays-in-the-skill-layer.md— the decision, including an explicit record of the CLI-side bridge and why it was rejected, so this doesn't get re-litigated from scratch. Notes thatdeliverable/schema.jsonis the one seam this repo trusts from the skill, with SKILL.md as the single place to follow if that layout ever changes; and that if a human-facing doorway is ever wanted, it is a separate decision that must revisit the rejection.tests/test_help.py— one test in the existing SKILL.md narrative-guard band, pinning the routing, the skill's public location, the deliverable seam, and the cost disclosure.What is not carried over
ade schema buildcommand, no post-parse menu, noagents.py, norun_agent/whichports, noagent.default/agent.command/schema_promptconfig keys.README.mdis untouched. The README is user-facing, and this integration is agent-facing — a human without an agent session keeps the status quo.docs/reference/help.jsonneeds no regeneration, since the command tree didn't change.Testing
743 passed offline (
tests/, integration excluded), plus the one new SKILL.md guard test.ruff check src testsanduvx ty check srcare both clean.No integration tests were needed or added: nothing in this PR executes, so there is no new seam to exercise against production and no credits are billed by the change.
🤖 Generated with Claude Code