/skill.md and LLM documentation indexes at /llms.txt and /llms-full.txt. Use them when you want an AI coding agent to add deterministic acceptance, repair, rejection, and logging around model output.
The best agent workflow is narrow: find where LLM output becomes trusted, add a contract there, and verify the accepted and rejected paths.
What the Boundary skill does
The Boundary skill teaches an agent to:- inspect the minimal model-output path before editing
- keep the user’s current provider, prompt, and application architecture
- define a Zod schema plus named Boundary rules
- call the provider inside
contract.accept() - return raw provider text from the run function
- gate side effects on
result.ok - add
createBoundaryLogger()only when production analytics are requested - verify accepted, repaired, rejected, empty, and provider/runtime failure paths
Install the skill
Point the agent at your Boundary docs domain:Install the Boundary skill in your AI coding agent.
Existing project prompt
Use this when adding Boundary to an app that already calls a model:New project prompt
Use this when starting a new Boundary-protected flow:Contract-writing prompt
Use this when the agent needs to design the schema and rules:Debugging prompt
Use this when a Boundary run fails:Logging and analytics prompt
Use this when adding hosted Boundary observability:Exploration checklist
Ask the agent to search for these patterns before editing:Example fixtures
Use small fixtures when adding tests:valid-output.json
semantic-invalid-output.json
repairable-output.json
empty-response.txt
provider-error.json
Anti-patterns
Do not let the agent:- replace the model provider unless that is the requested task
- treat schema validation as sufficient
- continue execution after Boundary rejects output
- write rejected
cleaneddata to the database as a fallback - count empty output or provider/runtime failures as contract rejections
- repair values that require external truth
- enable raw prompt or output capture without an explicit data-handling decision
- rewrite unrelated architecture while adding the contract
Verification checklist
Before the integration is complete, verify:- clean valid output passes
- repairable output repairs and then passes
- semantic invalid output rejects with a named rule blocker
- empty output is classified separately
- provider/runtime failure is classified separately
- logs include outcome, attempts, contract name, environment, and rule blockers when logging is configured
- no side effect runs unless
result.okis true