About the UCDOps Agent

What this eve agent actually is — six parts, real files, no aspirational features.

agent/instructions.mdagent/skills/agent/tools/agent/connections/agent/channels/eve.tsagent/lib/session_memory.ts

Documented from the agent/ directory in this repository.

Anatomy

Six parts of this agent

The UCDOps eve agent under agent/ — each part maps to authored files you can inspect.

1

Instructions

Role, voice, scope, pipeline, and collaboration rules — agent/instructions.md.

2

Skills

22 Markdown playbooks in agent/skills/, loaded on demand via load_skill.

3

Tools

Four authored tools plus five MCP connections exposed after OAuth.

4

Memory

Session-scoped defineState — context, preferences, decisions only.

5

Channels

Web chat only today — agent/channels/eve.ts at /app.

6

Guardrails

Instructions, pipeline gates, memory filter, OAuth, and route auth.

Part 1 of 6

Instructions — the design brief

agent/instructions.md is read every turn. agent/instructions/session_memory.ts injects stored notes when present.

You decide

  • Identity: UCDOps® UCD expert and coach for design teams
  • Voice: British English, soft and calm, light touch of pun, no bad language
  • Scope: UCD, service design, NN/G and GOV.UK standards only
  • Refuse: off-topic chat, unsourced claims, hostile tone
  • Writing: GOV.UK writing standards on every response

Watch out: Instructions set behaviour; they do not block MCP writes in code — see Guardrails.

agent/agent.ts + instructions.md

model: anthropic/claude-sonnet-4.6

You are UCDOps® — a UCD

expert and coach, here to

support design teams working on

user research, service design,

interaction design, content design,

design systems, accessibility, and more.

- British English, calm tone

- Evidence over opinions

- Refuse off-topic and

unsourced claims

- Stage-gated pipeline

- Session memory policy

Part 2 of 6

Skills — 22 playbooks on demand

Markdown files in agent/skills/. The model loads them with load_skill when the topic matches — not all at once.

You decide

  • pipeline_artefacts for any of the 16 pipeline chips
  • service_designer + artefact skill for blueprints, journeys, SWOT, TOM
  • uk_design_systems, uk_accessibility, govuk_* for UK public-sector work
  • Combine skills when work spans disciplines

Watch out: Skills guide the model; they do not enforce tool access by themselves.

agent/skills/ (22 files)

ucd_foundations, pipeline_artefacts

user_researcher, business_analyst

ux_designer, ui_planner, content_designer

prototype_designer, service_designer

service_blueprint, journey_mapping

ecosystem_mapping, swot_analysis

target_operating_model

uk_design_systems, uk_accessibility

wcag_seizure_safety, uk_digital_blueprint

govuk_a_to_z_style (+ reference)

govuk_technical_a_to_z_style (+ ref)

loaded via load_skill — progressive disclosure

Part 3 of 6

Tools — authored actions and MCP connections

agent/tools/ defines typed tools. agent/connections/ defines remote MCP servers via Vercel Connect OAuth.

You decide

  • remember / forget_memory / show_memory — session memory
  • get_weather — demo tool (off-scope for UCD; still present)
  • figma, miro, notion, mural, google-drive — MCP after user OAuth
  • Read and analyse first; write only when the user asks

Watch out: get_weather remains in the repo — scope rules refuse off-topic use in chat, not the tool itself.

agent/tools/ + agent/connections/

tools/remember.ts

tools/forget_memory.ts

tools/show_memory.ts

tools/get_weather.ts

connections/figma.ts

connections/miro.ts

connections/notion.ts

connections/mural.ts

connections/google-drive.ts

MCP tools: connection__* after OAuth — not in tools/ folder

Part 4 of 6

Memory — session working notes

defineState in agent/lib/session_memory.ts. Durable for this chat session only — not cross-session or cross-user.

You decide

  • remember stores context, preference, or decision (max 500 chars)
  • show_memory lets the user inspect what is held
  • forget_memory removes by id, category, or clear_all
  • Dynamic instructions inject memory each turn when entries exist

remembers

project context

preferences

decisions agreed in session

forgets

credentials and OAuth secrets

sensitive personal data

one-off asides

Watch out: Regex in code rejects credentials, tokens, and sensitive PII — not just instructions.

session-scoped only — no persistent user memory yet

Part 5 of 6

Channels — where people meet it

One channel authored: eve web chat via agent/channels/eve.ts. Signed-in users chat at /app.

You decide

  • Session cookie auth for production users
  • localDev and vercelOidc for development and deployment
  • Principal passed to eve for user-scoped MCP OAuth

one agent, many doors

web chat (/app)

Watch out: Slack, email, API, and schedules are not authored under agent/channels/ yet.

one agent brain today — one surface; more channels would reuse the same agent/ files

Part 6 of 6

Guardrails — as implemented

Mix of instructions (prompt-level), skills (procedure-level), and a few code-enforced limits.

You decide

  • Scope and tone refusals in instructions.md
  • GOV.UK writing standards and British English persona
  • Pipeline human approval — instructional in pipeline_artefacts
  • Session memory sensitive-data filter in session_memory.ts
  • MCP OAuth via Vercel Connect; read-first policy in instructions
  • middleware.ts requires sign-in for /app and file ingest

Watch out: Do not claim MCP write approval or tool allowlists — they are not configured yet.

not yet in code

approval: once() on MCP writes

tools.allow / tools.block on connections

cross-session memory

rate or cost limits in agent.ts

removal of get_weather demo tool

automate the work, not the accountability — gates are mostly instructional today

this page reflects agent/ as of this repository — update when the agent changes

About UCDOps Agent

1 / 8