foreman — the one entrance

SkillDev tools

The one entrance to Foreman, say what you want in plain language and this routes it. Covers the six things Foreman does to a project: add work, show status, correct work, check the roadmap, pick work, or reconcile and pick. It owns no flow of its own; each intent is handed to the skill that already

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the foreman — the one entrance skill

What this skill tells your AI

The instructions your AI receives, as published by v-songbird/foreman in skills/foreman/SKILL.md and read by ahel’s review.

Foreman runs in Claude Code and in Codex. Every step applies to both unless it names a host. Read the shared runtime first: it covers plugin paths, JSON payloads, questions and authorization for both hosts.

This skill routes. It does not add, pick, correct, or survey anything itself, and it never reads or writes ROADMAP.jsonl. Every step of every flow lives in the skill that owns it; duplicating any of it here would give Foreman two versions of the same truth. Classify the request, say in one short line which flow is taking it, then hand off and let that skill run from its own first step.

The six intents

The user says something like…IntentRoute to
"add this", "put X on the roadmap", "we also need to…", "track this for later"add workforeman:roadmap → "Branch: Add a task" (add.md)
"where are we", "roadmap status", "what's left", "what's waiting on me"show statusforeman:roadmap → "Branch: Review status" (status.md)
"that entry is wrong", "reword 003", "retarget 007 at the proxy", "its description is stale"correct workforeman:roadmap → "Branch: Correct a task" (correct.md)
"my roadmap is broken", "check the roadmap", "is the roadmap file healthy"check the roadmapforeman:roadmap → "Branch: Check the roadmap" (doctor.md)
"what's next", "pick a task", "something quick on auth", "give me work"pick workforeman:roadmap → "Branch: Pick the next task" (pick.md)
"is the roadmap still accurate — then give me something", "double-check the top tasks before I start", "audit it and pick"reconcile and pickforeman:roadmap → "Branch: Pick the next task", its reconcile path (pick.md, which runs survey first)

Each route reads the roadmap skill and then the linked branch file.

Notes that change how a route is handed over:

  • pick work is Fast pick, the default confidence mode and the sense of a bare "what's next": that branch deliberately does not investigate the codebase. Don't promote it to reconcile and pick because the roadmap looks old — the user asks for that or it doesn't happen.
  • reconcile and pick is the other confidence mode, Reconcile and pick — survey and pick in sequence, nothing new. The pick branch owns that sequence: it takes the near-term set from its own menu, hands it to foreman:survey, which ground-truths those entries and applies only the repairs the user authorizes, then picks from the repaired roadmap. Say up front that the reconcile half costs real tokens, since that is the whole difference from a plain pick.
  • check the roadmap is a structural check — is the file itself well formed (duplicate ids, broken dependency edges, a stale schema version) — not a check against the codebase. That's the difference from reconcile and pick: this one never touches foreman:survey and never leads into a pick unless the user separately asks for one.
  • Four of the five roadmap intents can also be reached by the user picking from foreman:roadmap's own menu; check the roadmap is phrase-reached only. Route to the branch when the request already names one; hand over without a branch when it genuinely doesn't.

When the request fits two intents

When two intents fit and the distinction changes the work, ask one concise question naming the closest two intents in the user's own terms — AskUserQuestion in Claude Code, the picker in questions.md in Codex. Never a menu of all six, and never a guess dressed up as a route. Then hand off to the one they pick. Skip the question when the intent is clear.

The pairs worth expecting: "what's next" after describing new work (add work vs. pick work), "the plan looks off" (correct work vs. reconcile and pick), and "sort out what's next" (pick work vs. reconcile and pick).

Anything else is out of scope here

This entrance covers those six intents and nothing else. When a request falls outside them, name the skill that owns it in one line and stop — don't stretch a route to fit. If the user names a specialized skill, go straight to it.

  • setting a project up for the first time, or re-initializing it — foreman:init (init).
  • explicitly building or refining a handoff prompt for something that isn't a roadmap entry — foreman:craft-prompt (craft-prompt).
  • accepting, resuming, deferring, archiving, or restoring entries — those live inside foreman:roadmap's branches above; route to the intent that carries them rather than describing the mechanics here.
  • anything that isn't a Foreman request at all — this skill has no opinion on it and shouldn't have taken the turn.

Signals

GitHub stars
35
Forks
5
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
foreman-v-songbird
Source
github.com/v-songbird/foreman