Handbook
Reusable agent prompts
Copy a block into your agent. No live secrets—use placeholders and local paths only.
Updated
See Safe edit matrix for risk tiers before mixing code + contract edits.
Prompt: fix a contract / schema audit failure
audit_contract_docs.py failed on <task_id>: open src/forge_lcdl/contracts/<task_id>/v1/contract.json, ensure top-level task_id / version match the directory, restore capabilities.uses_llm, examples, object input_schema / output_schema with non-empty properties + required, then run python3 scripts/audit_contract_docs.py --strict --strict-md --require-contract-identity and targeted pytest.
Prompt: refresh generated task catalog draft
Run python3 scripts/generate_task_catalog_md.py --write docs/reference/task-catalog.generated.md then python3 scripts/generate_task_catalog_md.py --check. Merge narrative updates into docs/reference/task-catalog.md manually if grouping changes.
Prompt: publish handbook after source docs change
Commit/push forge-lcdl, bump forge-lcdl-website/forge-lcdl submodule to that SHA, then from forge-lcdl-website run python3 generator/build-site.py --link-check, python3 scripts/check-generated-site.py --strict-diagrams --verify-rendered-diagrams, bash scripts/verify-hosting-target.sh. Deploy per Website publishing.
Prompt: debug live gateway failure without leaking secrets
Classify TransportFailure vs GatewayFailure vs ParseFailure vs SchemaFailure from redacted logs only (replace bearer tokens with REDACTED). Compare failing payload keys against contract.json required. Reproduce offline with fake_chat when possible; reserve pytest -m granite for intentional live lanes.
Prompt: add a Kitchen Sink diagram with ASCII fallback
Add a fenced ```blueprint-diagram block with valid key: (linear, swimlane, …) plus alt:, then add a ```text ASCII summary right after. Run python3 scripts/audit_docs_site.py --strict and rebuild forge-lcdl-website with --verify-rendered-diagrams when wiring CI.
Prompt: add a new governed task
In forge-lcdl, add or extend catalog task <task_id> v1 following patterns from pw_chunk_classify: update src/forge_lcdl/contracts/<task_id>/v1/contract.md, regenerate or edit contract.json, wire the runner if needed, add tests with fake chat, run python3 scripts/audit_contract_docs.py --strict and pytest -q. Do not weaken responsible-use or browser-policy language.
Prompt: enrich a contract with schemas
For task <task_id> v1, align contract.md sections (inputs, outputs, failures, examples) with contract.json input_schema / output_schema, ensure capabilities includes uses_llm, then run python3 scripts/generate_contract_sidecars.py (if using generator) and python3 scripts/audit_contract_docs.py --strict.
Prompt: add a 101 tutorial lesson
Add or edit a lesson under docs/tutorials/101/ using existing frontmatter keys (title, description, audience, learning_level, handbook_area, status). Offline-only steps; link “Next” to the following lesson. Run python3 scripts/audit_docs_site.py. Do not add Mermaid to handbook pages.
Prompt: diagnose a failed LCDL task
Given stderr or Err from run_task / TaskRunner, classify TransportFailure vs ParseFailure vs SchemaFailure vs GatewayFailure, cite the contract path src/forge_lcdl/contracts/<task_id>/v1/contract.md, suggest a minimal payload fix or fake-chat JSON shape, and point to docs/reference/errors.md.
Prompt: update MCP sidecar docs
Update docs/agents/sidecar-overview.md and docs/agents/MCP-SIDECAR.md consistently: clarify Python MCP client (library calling a server) vs LCDL sidecar (IDE calling LCDL tools), reference .cursor/mcp.json.example when present, and run pytest -q tests -k mcp if touching client code.