Skip to main content
Boundary exposes an agent-ready skill at /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.

Open in Cursor
If your agent cannot install skills directly, give it the docs links:

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
These fixtures should exercise different outcomes. Empty output and provider/runtime errors should not be treated as semantic rule rejections.

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 cleaned data 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.ok is true