PROCESS.md

A simple, open format for teaching AI agents how your business operates.

Describe your processes in plain text and provide context. Agents turn them into todos and execute them step by step.

What is PROCESS.md?

PROCESS.md, introduced by Askpilot, teaches AI agents how your business operates. You describe what needs to be done in plain text, and agents use it to create todos, execute them in order, and ask for help when needed.

Think of it as writing down the instructions you'd give a new team member on their first day. "Here's how we handle a maintenance request." "Here's how we renew a tenancy."

If you can write a checklist, you can write a PROCESS.md.

- [ ] Check payment received Verify amount matches expected rent. - [ ] Deduct agency fee Apply the fee percentage from the agreement. - [ ] Transfer to landlord Verify account before sending. Approval: required - [ ] Send receipt Confirm amount and date of payment. Agents: email-composer Assets: assets/receipt-template.md

Why PROCESS.md?

Built for business processes

Structured around pipelines, tasks, deadlines, and approvals. Exactly the way your business already operates.

Turns workflows into todos

Agents read your process and automatically create todos they can follow, complete, and report on.

Human readable

Plain text that anyone on your team can read, write, and understand. No technical knowledge required.

No complex syntax required

No programming, no special syntax. If you can write a checklist in a text file, you can write a PROCESS.md.

Progressive complexity

Start with a simple checklist. Add task groups, stages, pipelines, and supporting resources only when your process demands it.

Built-in guardrails

Human-in-the-loop approval is part of the format. Mark any step as requiring human sign-off before the agent acts.

The format

Every PROCESS.md starts with a YAML header. Agents read the name and description to understand what the process does before executing any steps.

--- name: process-rent-payment description: Process incoming tenant rent and distribute to landlord ---

Every process is made of todos. A todo is a single item that needs to be completed. Each todo moves through three statuses: pending, in_progress, and completed.

Anatomy of a todo

Every todo has a title and a description, plus optional context parameters.

- [ ] Send follow-up email to landlord Personalise based on valuation discussion and any concerns raised. Include next steps and timeline. Approval: required Agents: email-composer Assets: assets/landlord-followup-email.md

Context parameters

Approval

Approval: required

A human must approve before the agent acts on this step

Agents

Agents: name, name

Which agent to use for this todo

Assets

Assets: assets/file.md

A template, reference, or example to load as context

Only add what's needed. Every todo needs a title and a description. Use context parameters when the agent needs to flag human approval, assign agents, or reference assets.

Scales with your process

Start with the simplest approach that works. You can always add structure later.

1

Quick checklist

A flat list of todos in one file. Perfect for quick procedures and simple checklists.

--- name: process-rent-payment description: Process incoming tenant rent and distribute to landlord --- - [ ] Check payment received in bank account Verify amount matches expected rent for the tenant. - [ ] Match payment to correct tenant and property - [ ] Deduct agency management fee Apply the fee percentage from the agency agreement. - [ ] Transfer remainder to landlord's nominated account Use bank details on file. Verify account before sending. Approval: required - [ ] Send payment receipt to tenant Agents: email-composer Assets: assets/tenant-receipt-template.md - [ ] Update accounting system
process-rent-payment/ └── PROCESS.md
2

Task groups

Organize todos into named groups. The agent uses group names to understand what each set of todos relates to.

--- name: handle-maintenance-request description: Triage and resolve a property maintenance request --- ## Assess the issue - [ ] Contact tenant for details Ask for description, location in property, and duration. - [ ] Determine urgency (emergency / urgent / routine) Emergency: no heating, water leak, security risk. Urgent: broken appliance, plumbing issue. Routine: everything else. ## Arrange repair - [ ] Find suitable contractor Match issue type to approved contractor list. - [ ] Get quote and approve with landlord Send quote details and recommended contractor. Approval: required - [ ] Schedule repair date with tenant ## Close out - [ ] Confirm repair done - [ ] Get tenant sign-off - [ ] File invoice and update records
handle-maintenance-request/ └── PROCESS.md
3

Full pipeline

When your process is a pipeline with clear phases. Define the stages, assign tasks to each one, and track where every item is.

A full pipeline has three components:

Stages

The columns of your pipeline. Each stage represents a phase of work (e.g. Valuation, Marketing, Move In).

Task files

Each stage links to .md files in a tasks/ folder. Each task file contains the todos for that part of the process.

Assets

An optional assets/ folder with templates, references, and examples. Agents load these as context when executing todos.

--- name: property-letting-lifecycle description: End to end property lifecycle from landlord acquisition through tenant move-in. --- ## Stages | Stage | Tasks | |------------------|-------------------------------------------------| | Brand Marketing | qualify-lead.md, send-marketing-pack.md | | Valuation | conduct-inspection.md, market-analysis.md | | Instruction | agree-terms.md, compliance-check.md | | Marketing | launch-on-portals.md, monitor-and-adjust.md | | Pre-booked | offer-accepted.md, tenant-referencing.md | | Move In | inventory-check-in.md, key-handover.md |
property-letting-lifecycle/ ├── PROCESS.md ├── tasks/ │ ├── qualify-lead.md │ ├── send-marketing-pack.md │ ├── conduct-inspection.md │ ├── ... │ └── key-handover.md └── assets/ ├── compliance-requirements.md ├── valuation-report-template.md └── ...

Real-world example

A property letting lifecycle. From landlord acquisition through tenant move-in. Six stages, 24 task files.

Stage 1

Brand Marketing

3 tasks

Stage 2

Valuation

4 tasks

Stage 3

Instruction

3 tasks

Stage 4

Marketing

5 tasks

Stage 5

Pre-booked

5 tasks

Stage 6

Move In

4 tasks

Example task file: tenant-referencing.md

> Referencing protects both the landlord and the agency. Do not > allow move in until all references are satisfactory. - [ ] Referencing application sent to tenant Generate application link and send to tenant. Include deadline for completion (48 hours). Agents: email-composer - [ ] Credit check completed Run through referencing provider. Score must meet minimum threshold (50+). If below, flag to property manager. Agents: credit-check - [ ] Right to Rent check completed Use Home Office online checking service. Tenant provides share code and date of birth. Save screenshot as proof of check. Approval: required

Full directory structure

property-letting-lifecycle/ ├── PROCESS.md ├── tasks/ │ ├── qualify-lead.md │ ├── send-marketing-pack.md │ ├── book-valuation.md │ ├── conduct-inspection.md │ ├── market-analysis.md │ ├── prepare-report.md │ ├── landlord-followup.md │ ├── agree-terms.md │ ├── compliance-check.md │ ├── prepare-for-marketing.md │ ├── discuss-with-landlord.md │ ├── update-advertisement.md │ ├── notify-tenants.md │ ├── launch-on-portals.md │ ├── monitor-and-adjust.md │ ├── offer-accepted.md │ ├── tenant-referencing.md │ ├── landlord-approval.md │ ├── contract-prep.md │ ├── deposit-collection.md │ ├── pre-move-in-prep.md │ ├── inventory-check-in.md │ ├── key-handover.md │ └── landlord-confirmation.md └── assets/ ├── compliance-requirements.md ├── marketing-pack-template.md ├── valuation-report-template.md ├── tenant-notification-template.md └── ...

Specification reference

The full technical specification for agents creating and executing PROCESS.md files.

Frontmatter

Every PROCESS.md file begins with YAML frontmatter between --- marks. Two required fields:

  • name — a unique identifier for the process (lowercase, hyphenated)
  • description — what the process does. Agents read this first to understand scope.

File format

  • PROCESS.md uses YAML frontmatter (between --- marks) with exactly two fields: name and description
  • All content after the frontmatter is plain markdown
  • Todos are markdown checkboxes: - [ ] (incomplete) or - [x] (complete)
  • Todo descriptions are indented plain text below the checkbox line
  • Context parameters are indented lines using the format FieldName: value. Recognised parameters: Approval, Agents, Assets
  • Task notes are blockquotes (>) placed at the top of a task file, before the first todo
  • Labels are markdown H2 headings (##) that group todos
  • Stages are defined in a markdown table with columns: Stage, Tasks
  • Task files contain an optional task note (blockquote), then todos. No YAML header needed.

Hierarchy

Process (PROCESS.md) ├── Todo (checkbox in PROCESS.md) ← quick checklist ├── Label (heading in PROCESS.md) → Todos ← task groups └── Stage (row in stages table) → Task (file) → Todos ← full pipeline

Naming conventions

  • Process name: lowercase, hyphenated (e.g., property-letting-lifecycle)
  • Task files: hyphenated name with .md extension (e.g., qualify-lead.md)
  • Task names in stages table: the file name including .md extension, separated by commas

Directory structure

Quick checklist / Task groups:

{process-name}/ └── PROCESS.md

Full pipeline:

{process-name}/ ├── PROCESS.md ├── tasks/ │ ├── {task-name}.md │ └── ... └── assets/ # optional ├── {template}.md ├── {reference}.md └── {example}.md

Todo structure

- [ ] Title ← always present Description (indented text) ← required Approval: required ← optional, ask human before acting Agents: name, name ← optional, agents to use Assets: assets/filename.md ← optional, template/reference/example to load

Rules for agents

  1. 1.Always start by reading the process description to understand scope
  2. 2.When stages exist, read the stages table first to understand the pipeline
  3. 3.Task files listed in the stages table are located in the tasks/ folder next to PROCESS.md
  4. 4.The order of tasks within a stage is determined by their order in the stages table (left to right)
  5. 5.Execute todos in the order they appear, top to bottom
  6. 6.Load task files only when working on that specific stage
  7. 7.Read the task note (blockquote at the top of a task file) before executing any todos
  8. 8.Every todo has a title and a description. The description explains how to complete the step. Read both before acting.
  9. 9.When Approval: required is present, pause and ask a human to approve before acting
  10. 10.When Agents: is present, use the named agents to execute the todo
  11. 11.When Assets: is present, load the file from the assets/ folder and use it as context
  12. 12.Track each todo's status: pending, in_progress, or completed
  13. 13.Track which stage each item is in
  14. 14.If a todo cannot be completed, flag it and do not skip it
  15. 15.Labels give context but do not enforce execution order

How Askpilot uses PROCESS.md

Askpilot reads your PROCESS.md files and uses them to guide your team through every step of their work.

1

You write a PROCESS.md

Describe your workflow in plain text. Each step becomes a todo an agent can execute.

2

Askpilot reads and understands it

Askpilot learns your workflows, rules, and way of working. It knows every stage, every step, and when to ask for help.

3

Your team gets guided through step by step

When a task is assigned, Askpilot walks your team through each todo. It prepares the work, flags what needs attention, and asks for approval when required. Nothing gets missed.