All projects

AI Agents & Workflows

Personal project

Two personal systems I designed and use daily. Neither is custom code: each is a Claude project configured with a written skill, connected tools and explicit rules about what it may do without asking. I treat them like any data workflow, with clear inputs, defined rules and decisions I can check.

Hybrid Training Coach

Purpose

A daily coach for my running and CrossFit training. Each day it turns activity data into one decision: keep the planned session or adjust it.

How it’s set up

I configured it as a Claude project with the Strava connector as its main data source, Todoist for follow-ups, and working documents: season plan, training zones, logs. Sleep data has no connector, so a daily screenshot fills the gap. It acts as an active coach that argues for its advice and fits the plan to the week I actually have, but it never makes medical calls or fills in missing data.

What it does

  • Reads the morning’s sleep data and decides whether today’s session stands.
  • Summarises yesterday’s training with my own effort and pain notes.
  • Reviews the week and plans the next one day by day.
  • Follows open injury topics in every summary.

A design decision

The first version was too cautious and flagged risk constantly. I changed the default to load-ready: it pulls back only when I report a problem or the data shows a concrete signal.

John (Todoist Assistant)

Purpose

A daily assistant for task and life management. It keeps one Todoist system consistent, so everything I capture is filed, prioritised and closed properly.

How it’s set up

I configured it as a Claude project connected only to Todoist, with a written standard for projects, labels and priorities. Its scope is deliberately narrow: it manages and plans, and when something needs real content work it writes a starting prompt for another project. It never deletes tasks or opens a new section without asking.

What it does

  • Files new tasks and ideas in the right place with a priority.
  • Adds a decision note before closing a task and opens a new one for the next step.
  • Moves ideas through a simple lifecycle until each becomes a task or is dropped.
  • Handles reminders in conversation, since my Todoist plan cannot set them through the API.

A lesson

Early on it acted on an ambiguous request and closed the wrong task. Since then the rule is simple: if a request could mean two things, it asks.