04.10Visualisation
Goal map: Claude Code skill to map AI agents onto goals
Claude Code skill from AR Labs that maps AI agent work onto goals: each project on a spiral around the month's goal by priority, its agents as moons.
Goal map is a Claude Code skill, built at AR Labs, that draws one interactive page answering two questions at once: what we are pursuing this month, and which AI agents (language models run in a loop with tools, so they can act) are working on it. Every project sits on a spiral around the month's goal, nearer the centre the higher its priority, and the agent sessions working on each project orbit it as moons. Projects that serve no current priority sit on a belt outside the spiral, so drift is visible at a glance, and so is a priority with no agent on it. It is for anyone supervising several agents at once. Our strategy agent, which runs our planning reviews, uses the map as its view of the whole agent fleet. The page the skill produces is described on the Goal map project page, and its place among our other planning views on goal maps and dashboards.
How it works
Refreshing the map is a short pipeline. The orchestrating session runs it and hands the slowest step, the inventory, to a background agent.
flowchart LR F["Frame: goal and priorities"] --> S["Sweep: find every agent"] S --> R["Review the sweep"] R --> B["Build the page"] B --> C["Check: screenshots light and dark"] C --> P["Report the strategic reading"]
- Frame. Update the month's north star (its overall theme, drawn as the sun at the centre) and its numbered priorities from the current goals document.
- Sweep. A background agent, working read-only from a written brief, inventories every agent session active in roughly the last three days, on the laptop (Claude Code and Codex) and on our server, and writes what it finds as JSON: each project's single outcome and the priority it serves, and each agent's current work and anything it is waiting on. Many short runs dispatched by one pipeline are bundled into one entry, so the map shows threads of work, not processes. The goals document and this sweep are the map's only sources; unlike our task maps, it does not read the task graph.
- Review. The orchestrating session checks the sweep against what it already knows: every numbered priority appears as a project, empty or not; each outcome is one end state rather than a task list; nothing described as failing is shown as active; every agent from the previous map is still present, marked not running if unseen.
- Build. A Python script validates the sweep and generates the page. It rejects a sweep that lacks what the page needs and says what is missing, and prints the changes since the previous map.
- Check. A script screenshots the page in dark and light themes, and an agent looks at both at full size for overlapping planets, colliding labels and anything cut off.
- Report. The report opens with the strategic reading: which priorities have no agent, what is drifting on the belt, what is waiting on a person and how much, and anything failing. Then the changes since the last map.
The judgement it encodes
The form carries the message. Each visual element makes a claim, and the skill keeps a design record of what each one means, so that changing the picture is understood as changing what it says. Distance from the centre reads as distance from the month's goal. Planet colour is project status in the same phase colours our task maps use: amber working, green waiting on a person, grey idle, faint dashed violet parked. A moon is amber and pulsing only when its agent's process was alive and active within the last six hours, blue within a day, and grey after that. Every age is measured against the viewer's clock, so a map opened days later shows nothing as current. Zooming changes what is shown: far out, project names and agent counts; closer, each project's outcome; closest, agent labels.
Positions are computed, not dragged. A planet that could be dragged would lie about its priority.
Nothing disappears silently. The map keeps every conversation it has shown until a person archives it. An agent the latest sweep did not see stays on the map, marked not running, with its last known work.
A public edition is rewritten, never invented. The same sweep can produce a dated public snapshot. An overlay file rewrites each description for an outside reader, removing identifiers, client names and anything sensitive, and can drop or hold out a project. The overlay can only reword or drop; it cannot add. The build refuses any agent shown without a public description, and any rewrite that matches nothing in the sweep, so a fresh sweep surfaces every description that needs writing.
What exists today
The skill is in use as the strategy agent's fleet view. The page is a single HTML file that loads React Flow 12 through an import map, so it has no build step and opens from disk or any static server. It is driven from the keyboard: arrow keys walk the spiral, Enter steps into a project's agents, and / searches. A small local helper can bring an agent's terminal tab to the front. A check script screenshots every build in both themes. A public snapshot of 6 November 2026 is published at /goal-map.
Example
Illustrative example. The opening of a refresh report:
Strategic reading:
- Priority 3 (publish the documentation pages) has no agent on it.
- Two projects sit on the belt with active agents: a scheduler
refactor and a tooling experiment. Both are drift against this
month's goal.
- Four agents wait on you: two for a design ruling, one for a merge,
one for a credential.
Since the last map: +2 agents on the voice project; the research
agent on the website project stopped.Referenced by 06
- ProjectsGoal Map / Agent Orchestrator: AI agent sessions around the month's goallinks here in its text
- SkillsTaskgraph: Claude Code skill for AI agent status mapslists this as related
- SkillsPaper-and-ink theme: Claude Code skill for design tokenslists this as related
- SkillsStrategy agent skills: planning cadences and escalationlists this as related
- SkillsStrategic alignment: Claude Code skill for prioritisationlists this as related
- OperationsAI agent operations dashboards and goal mapslinks here in its text