Sample agents in this repo

C

Campaign Analyst

Attribution, cohort analysis, and dashboard assembly for campaigns.

B

BOQ Empire

Unified front door for the BOQ Empire — PT Corp fiber install, BOQ local ISP, and the strategic JV. New project, existing client, or partnership inquiry.

H

Hanoi Trip Planner

AI guide for Hanoi, Vietnam — weather, SIM cards, top places, day trips, food, and digital-nomad logistics.

O

ONE — workforce demo

The right rail on `/`. Answers every "Show me" seed with the best UI we ship — cards over prose, every reply ≤ 2 sentences of framing then one emit_card.

M

Marketing Strategist

Opinionated AI partner. Drafts copy, picks angles, builds calendars. Ships artifacts, not hedges.

marketingcopyemailheadlines+1
P

PTC Corp · Lead Qualifier

B2B fiber and telecom lead qualifier for Poirier Technical Solutions Corp — Quinte West, Ontario. Routes new inquiries to sales and existing clients to service with context pre-loaded.

P

PTC Sales

B2B fiber and telecom scoping for Poirier Technical Solutions Corp. Quotes ranges, scopes jobs, recommends catalog items. No residential.

P

PTC Service Desk

24/7 service dispatch for Poirier Technical Solutions Corp existing clients. Triage → dispatch → done.

P

Poirier Technical Solutions

B2B fiber and network infrastructure. FTTH/FTTX, MDU, structured cabling, security systems. Quinte West, Ontario — serving nationally.

S

Sales

Let's find the right plan for you.

salesdiscoveryclosing
C

Customer Support

Here to help you solve problems quickly.

supportcustomer-servicehandoff

Every card here is a markdown file

The grid fetched nothing. The build opened one.ie/web/ai/agents/, parsed each agent.md, and handed the result straight to the component. These are the sample agents that ship with the repo, not customer deployments.

What you just read

  1. the plain list above the grid

    That list is server-rendered HTML — it is there before any JavaScript runs, and a crawler reads it. The card grid under it is the same data, mounted as a component once the section is on screen.

  2. the heading on each card

    That string is the title: line in that agent's frontmatter, and the sentence under it is description:. Nothing on a card was written for this page. Edit the file, rebuild, the card changes.

  3. the tag chips

    An agent file lists skills by name. The build resolves each name against ai/skills/<name>/skill.md, and the chips are the tags those skill files declare. Cards with no chips name no skills.

  4. the three buttons above the grid

    Cards, list, graph. The graph draws a line between two agents that share a tag, so it is a picture of which agents share skills. Most of these sample files name no skills, so most nodes stand alone — that is the tree, not a rendering fault.

  5. the small arrow on each card

    It opens /api/agents/<id> — the JSON the site itself reads for that agent. The page and the API are looking at one file.

These paths are real. Open the repo.

The tree below is the directory the grid above was built from. The file beside it is printed from disk at build time, whole.

  • ai
    • agents
      • analyst/agent.md
      • boq-empire/agent.md
      • hanoi-planner/agent.md
      • home/agent.md
      • marketing-strategist/agent.md
      • ptcorp-qualifier/agent.md
      • ptcorp-sales/agent.md
      • ptcorp-service/agent.md
      • ptcorp/agent.md
      • sales/agent.md
      • support/agent.md
    • skills
      • brand-voice-check/skill.md
      • close-deal/skill.md
      • draft-email/skill.md
      • escalate/skill.md
      • handle-complaint/skill.md
      • headline-variants/skill.md
      • qualify-lead/skill.md

one.ie/web/ai/ — 11 agent files, 7 skill files

one.ie/web/ai/agents/support/agent.md

---
name: support
title: Customer Support
description: Here to help you solve problems quickly.
starters:
  - My order hasn't arrived
  - I need to request a refund
  - How do I reset my password?
  - I'm having trouble logging in
skills: [handle-complaint, escalate]
tools: [crawl]
---

You are a Customer Support agent. Help users solve problems quickly and leave them feeling heard.

## How you work

- **Listen first** — summarise the problem back before offering a fix
- **One solution at a time** — don't overwhelm with options
- **Escalate clearly** — if you can't resolve it, say so and offer a next step

## Tone

Calm, warm, direct. Never robotic. Never over-apologetic.

## Boundaries

- Don't make promises you can't keep
- Don't guess — say "I'm not sure, let me check"
- Don't close without confirming the problem is solved

That is the whole agent. The card titled Customer Support at the top of this page is this file.

AgentGrid

src/components/agents/AgentGrid.tsx

Props of the AgentGrid component running at the top of this page
Prop Type Default Notes
agents AgentMeta[] required The array this page passes is listAgentsMeta() — the parsed agent.md files, at build time. src/components/agents/AgentGrid.tsx:9
initialView 'cards' | 'list' | 'graph' 'cards' The three buttons above the grid switch it. The graph joins agents that share a tag. src/components/agents/AgentGrid.tsx:10

AgentMeta

src/lib/agents-meta.ts

Fields of AgentMeta, the shape each card is drawn from
Prop Type Default Notes
id string required The folder name. Also the ?agent= value in chat. src/lib/agents-meta.ts:15
name string required The name: line of the frontmatter. src/lib/agents-meta.ts:16
title string required The heading on each card. src/lib/agents-meta.ts:17
description string required The sentence under it. src/lib/agents-meta.ts:18
starters string[] required The opening chips a visitor sees in chat. src/lib/agents-meta.ts:19
tags string[] required Not authored per agent — collected from the tags of every skill it names. src/lib/agents-meta.ts:20
skillNames string[] required The skills that resolved against ai/skills/. src/lib/agents-meta.ts:21

What publish does

Four steps, each one a path you can check.

  1. Step 1 of 4

    Validate first

    publish parses the frontmatter and refuses to upload a file with errors.

    oneie agent validate support/agent.md

  2. Step 2 of 4

    Upload the file

    The whole markdown file, frontmatter and prompt, goes to your workspace.

    POST /api/agents/publish

  3. Step 3 of 4

    It lands in storage

    One object per agent, and the previous version is archived beside it.

    {slug}/agents/{name}.md

  4. Step 4 of 4

    Chat loads it

    Ask chat for that agent by name and the published file is what answers.

    /chat?agent={name}

Counted, not estimated

Three numbers, and the command that produced each one.

11

agent definitions in this repo

ls one.ie/web/ai/agents/*/agent.md | wc -l

7

shared skill definitions

ls one.ie/web/ai/skills/*/skill.md | wc -l

6

compile targets for one file

packages/cli/src/agent.ts:53 — oneie agent compile --target

The first two numbers above are the output of these two commands, run at the repository root.

count it yourself
$ ls one.ie/web/ai/agents/*/agent.md | wc -l11$ ls one.ie/web/ai/skills/*/skill.md | wc -l7

Run this

Five commands. The first is an npm install; the last turns the same file into an MCP tool definition.

bash
$ npm install -g @oneie/cli$ oneie agent new support$ oneie agent validate support/agent.md$ oneie agent publish support/agent.md --slug your-workspace$ oneie agent compile support/agent.md --target mcp

Limits

Three rows here are things ONE does not do, or does worse. They are the rows that make the other five worth reading.

FeatureONEChatbot buildersBuild on model APIs
The agent is a file you can open, diff and commit
Publish without writing code
Every publish archives the previous version, and one command restores it
One file compiles to MCP, uAgents, SKILL.md, web, A2A and ERC-8004
Publish the same file into as many client workspaces as you have
The prompt improves itself while you sleepNothing on this page rewrites a prompt. You edit the file and publish again. oneie agent eval runs the evals declared in the frontmatter, but the edit is yours.
Full control of the runtimeBuilding straight on the model APIs wins here. You get every knob, and you also get to build the publishing, the versioning and the channels yourself.
Drag-and-drop builder with no file to learnThe agent is a markdown file, and you will open one. If you want a product where you never see a file, a builder is the better fit.

No per-agent charge

Pay for what your agents consume. Annual billing pre-selected.

Starter

Up to 10 agents · 3 channels

$500/mo
5M credits/mo
10 agent workspaces
Web + Telegram + WhatsApp
Email support
Most popular

Agency

Unlimited agents across every client

$5,000/mo
60M credits/mo
Unlimited agents across all clients
All available channels
Version history and rollback per agent
Priority support

Scale

Custom architecture · dedicated team

$50,000
750M credits/mo
Custom agent architecture
Dedicated success manager

Questions about agents

You read the files at the top of this page

Write one of your own. It is a markdown file, and it stays in your repository.

The CLI is an npm package. No developer required.