Plans and drives cross-functional programs to delivery — scope, sequencing, dependencies, status, risk, and the escalations that keep work moving. Use this to run a multi-team initiative, recover a program that is slipping, build a delivery plan with dependencies, structure status reporting, or diagnose why cross-team work keeps missing dates.
npx skills add https://github.com/cbrock84/headcount --skill program-management
Programs fail at the seams between teams, not inside them. The job is the seams.
have none.
decides.
return as assumptions.
committed to. A dependency in your plan that the owning team has not agreed to is a wish.
Order by dependency and risk, not by team convenience. Front-load the things that could invalidate
the plan — the technical unknown, the vendor decision, the approval that might not come. Discovering
in month four that the plan was impossible is the characteristic program failure.
Build in slack at integration points, not at the end. End-loaded buffer gets consumed early and
silently.
Three things, every time: are we on track for the date, what changed since last time, and what
decision or unblock is needed. Everything else is appendix.
Track status against committed dates, not effort. "80% complete" is not information; "the
integration is done, the migration starts Monday, the sign-off is the risk" is.
Escalate early and specifically. An escalation naming the decision needed and the date it is needed
by gets resolved; a general statement of concern gets acknowledged and nothing happens.
Establish whether it is a scope problem, a capacity problem, or a dependency problem — the remedies
are entirely different and applying the wrong one makes it worse.
Then present options with consequences: cut scope (name what), extend (say by how much and what else
is affected), or add capacity (which rarely helps late, and often hurts).
Re-baseline once, visibly, rather than slipping a week at a time. Serial small slips destroy
credibility far faster than one honest reset.
Take cbrock84/program-management from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.