A skill definition is the contract between a domain expert and a coding agent. It tells the agent:Documentation Index
Fetch the complete documentation index at: https://docs.ntropii.com/llms.txt
Use this file to discover all available pages before exploring further.
- What this workflow does, when to use it, and how it fits into the broader fund-ops process
- What steps it has, what each step does, and how each step renders to a human reviewer
- What configuration the workflow accepts at runtime
- Which template files to generate and what each one is responsible for
runbook.md file with YAML frontmatter and a markdown body, sitting at the root of each runbook directory.
Where skills live
runbook.md. The coding agent reads it, then writes (or updates) the files in templates/ to satisfy the skill.
Anatomy of a skill definition
Frontmatter — identity
Frontmatter — steps
Eachstep describes one stage of the workflow. The agent uses these to produce the NtroWorkflow subclass and its activities.
component field tells the Tenant UI how to render the step’s progress and review screen — LOADING, DATA_TABLE, SUMMARY, APPROVAL, etc.
Frontmatter — templates
A manifest of files the agent should generate, with a one-line responsibility for each:templates/ that isn’t listed here is treated as bespoke and left alone.
Frontmatter — config schema
JSON Schema for the runtime configuration the workflow accepts. This is what the Tenant UI renders as a config form, and what the runbook reads viantro.capabilities.config at runtime.
Markdown body — when to use, workflow patterns, edge cases
After the frontmatter, the markdown body is for the agent’s grounding. Standard sections:- When to use — selection criteria. “Use this when an SPV needs a monthly NAV with HITL review at two checkpoints.”
- Workflow patterns — code skeleton showing the canonical structure. Anchors the agent so the generated code matches house style.
- Edge cases / variants — known forks. “If the GL is hand-maintained instead of in Xero, replace the post step with a download_link.”
How a coding agent uses this
Reads the skill
“I want a monthly NAV runbook for Acme SPV.” The agent finds
runbooks/nav-monthly/runbook.md, reads the frontmatter and body, and now knows the step structure, the config schema, and the templates it needs to produce.Reads existing templates as reference
The agent looks at the existing
templates/workflow.py, activities.py, and models.py in nav-monthly to ground itself in the SDK calling conventions — which ntro.capabilities to import, how to call data.get_data_plane(), where @ui_step decorators go.Generates / adapts the templates
Either creates a new runbook directory (if the request is novel) or modifies the existing templates (if the request is “tweak this one for Acme’s specific schema”). The output is plain Python — no AI in the runtime.
Validates locally
Runs
ntro workflow test (the local test harness) to confirm the runbook executes against fixtures. Iterates if scenarios fail.Available skills today
Three skills ship in thentro-runbook-templates repo, all DRAFT state and battle-testable:
| Slug | Purpose | Type |
|---|---|---|
nav-monthly | Monthly NAV cycle for a real-estate SPV | Parent workflow |
document-ingest | Inbound document → AI extraction → HITL approval → store | Child workflow |
nav-monthly-journals | TB + extracted docs → propose allocation journal → HITL approval | Child workflow |
What the correction corpus does
When a fund accountant corrects a coding agent’s output during PR review (a wrong GL classification, a missing edge case, a misnamed field), that correction is captured with full context: skill slug, jurisdiction, error category, resolution. The corpus feeds back into future skill executions — over time, the same skill applied to similar tenants generates fewer errors before the human ever sees the PR. This is the long arc of the compiled-agent model: the LLM gets better at generating the deterministic code, even though it’s not in the runtime loop.Related
Workflow capability
NtroWorkflow and @ui_step — the SDK primitives a generated runbook uses.Coding agents
Wire your agent to consume these skills.