Deploy production agents that run on your organisational knowledge.

CS Triage scenario
Slack · Direct message
Your raw source
Riya K. ↔ Dani M.Just you two
DM
Dani M.2:14 pm
hey — quick one. how do we handle the refund for accounts on the old grandfathered plan? finance just bounced one back to me
RK
Riya K.2:17 pm
oh those — route them through finance directly. Sarah usually approves them, just CC her on the original ticket. don't run them through the standard flow, they'll get rejected on the SKU check
DM
Dani M.2:18 pm
life saver, ty 🙏
guide.md · canonical
What your team approves
Refunds — grandfathered plans
id: refund-grandfathered-plans
owner: ops
last-reviewed: 2026-04-29
When it applies

The customer is on a grandfathered plan SKU and has requested a refund.slack:dm-2:17

Procedure

Route the request through finance directly. Do not run it through the standard refund flow — the SKU check will reject it.slack:dm-2:17

CC Sarah (finance) on the original ticket. Sarah is the standing approver for grandfathered SKUs.slack:dm-2:17

Approved by ops · 2 hours ago
skill.md · derived
What your agent runs
handle-refund-grandfathered
when_to_fire: customer.plan == grandfathered && intent == refund
preconditions: [ticket.sku_resolved, customer.verified]
steps:
- route_to: finance
- cc_on_ticket: sarah@
- skip: standard_refund_flow
validation: sku_check.bypass = true
failure_modes: [finance_unreachable, sku_unresolved]
Rendered from approved guide.
Connect your sources.
Lorify compiles them into an operational guide your team reviews and approves.
Derive the skills.
Lorify mechanically derives the skill from the approved guide — without diverging from what your team signed off on.
Deploy the agent.
Ship a production-ready agent on any harness — MCP, Anthropic Skills, OpenAI Agents — in hours, not months.

Why enterprise agents fail in production.

# competitor-intel12 members
Slack
PM
Priya M.Mar 4, 9:42
Just saw Acme's new pricing page — they dropped a procurement tier. acme.co/enterprise
JT
Jamal T.Mar 4, 10:08
Heard the same thing on the Cooper deal call last week 👀
👀 4💡 2
— thread goes quiet —
Direct messageJust you two
Slack
DM
Dani M.2:14 pm
hey — quick one. how do we handle the refund for accounts on the old grandfathered plan? finance just bounced one back to me
RK
Riya K.2:17 pm
oh those — route them through finance directly. Sarah usually approves them, just CC her on the original ticket. don't run them through the standard flow, they'll get rejected on the SKU check
DM
Dani M.2:18 pm
life saver, ty 🙏
Workspace · Ops
Notion
Refund policy — 2024
Last edited 14 months ago
Eligibility

All tiers eligible for refund within 30 days of purchase.

Process

Submit ticket via #refunds channel. Approver: Marco T. (Ops)

Grandfathered SKUs

— missing —

Three places knowledge dies. Your agent reaches none of them.
gap ingestion

Sources are broken

Knowledge lives in places your agent can't reach.

Chat threads where decisions get made. DMs where exceptions get handled. Wiki pages 14 months out of date. Your agent reads context windows; none of this gets there.

Pending review · awaiting canonical version
Refund policy
2 conflicting drafts · last updated by 3 authors
version: —No approver
Escalation criteria
Wiki page · permanent draft
draftNo approver
Grandfathered SKU handling
Referenced in 4 DMs · no document
missingNo approver
No canonical version found. Nothing to approve.
gap governance

No canonical guide

There's nothing your team has signed off on.

Even when policies are written down, no single artefact has been reviewed and approved by ops. Nothing your agent can be governed by.

Ops can't approve what doesn't exist.
refund_handler.pylast edited 4 months ago
1
2
3
4
5
6
7
8
9
10
11
12
# TODO: update when finance changes the policy
def handle_refund(ticket):
if ticket.plan == "grandfathered":
return route_to_standard_flow(ticket)
# ^ stale rule — fails SKU check
if ticket.amount > 500:
return escalate(ticket, approver="marco")
# ↑ Marco left ops 2 months ago
return auto_approve(ticket)
 
# last review: never
 
gap rendering

Skills drift from policy

Engineering hand-codes what the agent runs.

When policy changes, the prompt doesn't. The agent acts on rules engineering wrote weeks or months ago. By the time someone notices the drift, it's been wrong in production for dozens of tickets.

The prompt is stale. The policy moved on.
Closed incidents · this week
IDResolutionLessonStatus
#4821agent escalated → human resolved— none —Closed
#4822agent escalated → human resolved— none —Closed
#4823agent escalated → human resolved— none —Closed
#4824agent escalated → human resolved— none —Closed
47
escalations this week
No skill update attached. Substrate unchanged.
gap feedback

No feedback loop

Production failures don't make the substrate better.

When the agent fails, a human handles the ticket and the failure is forgotten. The substrate doesn't learn. Tomorrow it fails the same way.

The agent fails. Nothing improves.

From scattered sources to a governed agent — in three phases.

Phase 1 · Stages 1–2
Compile
Messy sources triaged and compiled into one canonical guide.
Phase 2 · Stages 3–4
Approve
Your team reviews the guide; the skill is derived from what they approve.
Phase 3 · Stages 5–6
Run
The agent runs the derived skill; outcomes feed back into the pipeline.
Compile · how the guide gets made
1
Source Triage

Every incoming source is classified before any compilation runs. Triage decides which existing guide this source contributes to, whether it carries enough signal to compile at all, and which compile mode to route to.

2
Guide Compilation

The source compiles — together with related existing guides and citations — into a canonical guide. Two modes depending on routing: write (new guide) or update (structured diff against the live guide). Human-readable body with frontmatter and full citation chain back to source.

Approve · the audit gate
3
Human Review

Operations reviews the compiled guide, edits where needed, approves. Diff review, version control, and rollback all on the guide. The audit gate — and because the skill is derived from the guide, approving the guide is approving the skill.

4
Skill Derivation

Once a guide is approved, the skill is mechanically rendered from it. No separate authoring step. If the guide changes, the skill re-derives; the agent's behaviour updates atomically.

Run · production with a feedback loop
5
Agentic Execution

The agent runs the derived skill via MCP, Anthropic Skills, OpenAI Agents, or any supported harness. Skills are read at runtime; the agent acts on the structured procedure.

6
Validation & Feedback Loop

The runner library reports execution outcomes back to Lorify — success, failure, escalation, deflection. Findings re-enter the pipeline as new sources at Stage 1. Guides update; skills re-derive; the substrate gets better with use.

New sources keep the loop running
The resultReady for production

Production agents grounded in your operations,
with every action approved by your team.


Your team reviews and approves the guide.Your agent runs the derived skill.

Five things you don't get from a prompt.

The compiler

Schema-constrained, not prompted.

Every output passes through a typed schema and a deterministic source-authority rule. Conflicts resolve by precedence, not by whatever the LLM decided this morning. BYOK on the model.

P1ops/runbookRoute via finance
P3slack:#generalUse standard flow
Resolvedprocedure: route_via_finance
rule:precedence(ops/runbook) > precedence(slack:#general)
Compile once

Run on any agent harness.

Plain markdown, exportable as a zip, owned by your team. Switch the LLM or the platform — your substrate travels.

Bundlecs-triage.zip · 4 files · plain markdown + JSON
guide.md{}skill.jsonschema.tsharness.test.ts
MCP
Anthropic Skills
OpenAI Agents
$lorify export --target=mcp ./skills
Approval workflow

The audit gate is the deploy gate.

Operations reviews, edits, and approves the canonical guide. Because the skill is derived from the guide, approving the guide is approving the skill.

Historyv1v2v3v4↻ rollback
guides/refund-grandfathered-plans.mdv3 → v4
Submit refunds via standard flow.
+Route grandfathered SKUs through finance directly.
+CC Sarah (finance) on the original ticket.
Approved by ops · 2 hours ago
Skill re-deriving…
Refresh & feedback

Compounds with use, not against it.

Sources change, the guide updates. Production fails, the skill re-derives. The substrate gets stronger every week it runs — not staler.

SOURCE
Mon
Notion · refund policy edited
→ guide v3 → v4
EXECUTION
Wed
#4823 · escalated, human resolved
→ skill re-derived
Continuous · BYOK · same substrate
Or skip the build.

Pre-compiled pipelines, ready to deploy.

Each template ships the whole pipeline — sources, schema, integration patterns, eval harness, reference guide — calibrated to a real production use case. Picked before any sources flow in; the pipeline runs within its configuration.

Sales Research

Account context, competitor intel, and win/loss patterns for meeting prep.

From
CRMtranscriptswin/loss
Headline outcomeCited account briefs
Ops Runbook

Refunds, escalations, and exceptions handled consistently across the policy surface.

From
Confluence runbooksSlack #opsdecision logs
Headline outcomeReduced escalations
On-Call Response

Triage incidents, route SEV1/SEV2, and execute runbook steps under pressure.

From
postmortemsrunbooksalerting
Headline outcomeFaster MTTR

From scattered sources to a signed-off agent in 4 steps.

  1. Pick

    Pick a template.

    Four templates at launch. Each one comes pre-configured for the use case — sources, schema, integration patterns, eval harness.

  2. Connect

    Connect your sources.

    Slack, Zendesk, Notion, Confluence, runbooks, voice memos. Or import an existing guide directly.

  3. Approve

    Approve the guide.

    Lorify compiles your sources into a canonical guide. Your team reviews, edits, approves. Versioned, auditable, owned by you.

  4. Deploy

    Run your agent.

    The skill derives from the approved guide. Ship to MCP, Anthropic Skills, OpenAI Agents, or your custom harness.

    $lorify deploy --target=mcp ./skills/cs-triage
    Live in production