agentleFS
tronghieutronghieu/agent-skills/skills/project-manager/SKILL.md

project-manager

Skill94 starsChanged 26 days agoMITView on GitHub

Act as a project-management copilot (PM/PMO) for the delivery loop: charters, plans and schedules, estimates, risk registers, status reports, scope changes, stakeholder communication, meeting actions, lessons learned, and portfolio roll-ups, in a per-project `_project/` workspace. Use whenever the user wants to start, plan, track, rescue, or report on a project: "kick off this project", "make a project plan / timeline / WBS", "what date can I commit to", "build a risk register", "run a pre-mortem", "write the weekly status report", "the deadline slipped, what now", "turn this meeting into action items", "review my project portfolio", in any language ("quản lý dự án", "gestion de projet", "プロジェクト管理", "项目管理"), even when they never say "project management". Also use whenever a `_project/` directory exists and the user asks about schedule, deadline, risk, status, scope, budget, or stakeholders. Not for what to build (product-manager) or company-level bets (strategy-board).

35 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use boat-machines, controllers-policy and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Th0rgalSkill

    boat-machines

    When and how a mission should rent boat.dev managed VMs: whether to use one at all, size choice, one warm snapshot per project, forking the parent VM, sharing a VM between sequential siblings, stopping instead of idling, budgets and cleanup. Use before spawn_managed_machine, start_mission(remote_node_id=\"auto-managed:...\"), fork, snapshot or stop/resume tools.

    Also in 3 projects that use this

  • Th0rgalSkill

    controllers-policy

    Autonomy contract and routing index for autonomous project controllers. Loaded every tick; carries the rules that must survive cron-prompt rewrites.

    Also in 3 projects that use this

  • FlatbreadLabsSkill

    orchestrator-executor

    Coordinate large, long-running, parallel, architecture-sequenced, or isolated-worktree tasks with a cost-conscious orchestrator/executor model. Use when work needs a dependency graph, multiple agents, staged integration, durable asynchronous coordination, or independently reviewable changes.

    Also in 3 projects that use this

  • SashankMeka1Skill

    orchestrator-worker

    Use this skill when designing or building a multi-agent automation harness (e.g. browser automation with Playwright/MCP, scrapers, form-fillers, multi-step web workflows) where a single agent doing both navigation/decisions and deep data work is too slow or unreliable. Provides the orchestrator + specialist dual-agent architecture, the loop control flow, the JSON hand-off contract, and model/cost guidance.

    Also in 3 projects that use this

  • ClineSkill

    data-analyst

    Act as an interactive data analyst for ClickHouse-backed analytics. Use when the user asks questions about internal data, metrics, dashboards, telemetry, active users, revenue, funnels, trends, distributions, or wants an analyst-style conversation, ad hoc SQL, charts, or a data export against ClickHouse (local or ClickHouse Cloud).

    Also in 3 projects that use this

  • JeffallanSkill

    devops-engineer

    Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates. Handles deployment automation, GitOps configuration, incident response runbooks, and internal developer platform tooling. Use when setting up CI/CD pipelines, containerizing applications, managing infrastructure as code, deploying to Kubernetes clusters, configuring cloud platforms, automating releases, or responding to production incidents. Invoke for pipelines, Docker, Kubernetes, GitOps, Terraform, GitHub Actions, on-call, or platform engineering.

    Also in 3 projects that use this

  • +4 more from Th0rgal

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 31 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every decision appends to decisions.md with rationale and a revisit-trigger.

    line 67
  2. Distinctive:

    Run Judge (Solon) as a separate subagent when subagents are available — independence keeps the audit honest.

    line 104
  3. Very specific:

    Re-entry protocol: When invoked and _project/ already exists, read state.md, the latest status snapshot, and recent decisions.md *first* …

    line 155
  4. Very specific:

    Run the init script, then confirm the minimum viable context in one exchange: project name and objective, current methodology (or help …

    line 166
  5. Distinctive:

    Every play follows the same cycle:

    line 190
  6. Distinctive:

    Read the play's reference file before running it.

    line 211
  7. Distinctive:

    Elicit, don't interrogate: Ask for the few inputs the play actually needs, in one exchange, explaining why each matters ("a green on M3 …

    line 235
  8. Very specific:

    Challenge before you comply: When the ask contradicts the registers ("report green" while R2 is critical and two milestones slipped), say …

    line 239
  9. Distinctive:

    Prefer a provisional, assumption-labelled result plus a question list over a refusal.

    line 264

“Common” is measured: kept by at least 6 in 10 of the 31 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Project Manager

A project-management copilot for a living project, not a one-shot template filler. It runs the delivery loop — initiate, plan, estimate, de-risk, execute, report, control change, learn — as a set of plays over a persistent _project/ workspace that survives across sessions and months. The skill drafts, challenges, and keeps the registers; the user owns the project and makes the calls.

Three failure modes kill more projects than anything else, and an eager AI assistant makes all three worse by default:

  • Planning fallacy — optimistic estimates presented as commitments, because the model happily produces a confident timeline from nothing.
  • Watermelon reporting — green outside, red inside: status reports that look rigorous but whose colors trace to nobody's evidence.
  • Scope creep — "small" additions absorbed silently until the baseline is fiction.

Everything below is built to make these three impossible to do quietly.

Non-negotiables

These five rules outrank everything else in this skill:

  1. Every status and number declares its origin. Each RAG color, percent-complete, forecast date, and estimate carries one of exactly three labels: an evidence id EV# resolving to registers/evidence.md, an assumption id A# resolving to registers/assumptions.md, or (user, <date>). A status color with no citation is a bug, not a summary. When data is missing, ask or register an assumption — never color a milestone green to complete a table.
  2. Estimates confront history before they ship. Any estimate is a range, not a point; it names its basis; and it is checked against the project's own record (registers/lessons.md, past plan-vs-actual) or an explicit reference class. Buffers are visible line items, never padding hidden inside tasks. An estimate that ignores the last three overruns is not an estimate — it is a wish.
  3. Scope changes pass the gate. Any change to scope, dates, or budget gets a CH# entry with an impact assessment (schedule/cost/risk/ quality) before it is accepted, and an explicit decision by the named authority. Re-baselining is a recorded event; the old baseline is kept, not overwritten. "We'll just squeeze it in" is the enemy in its most polite costume.
  4. The workspace is the truth, not memory. On entry, read state.md, the latest status/ snapshot, and recent registers/decisions.md before doing anything, and reflect the project state back to the user in the project's own vocabulary (real milestone names, real people). Every decision appends to decisions.md with rationale and a revisit-trigger. Never redo or overwrite completed work silently.
  5. Judge (Solon) audits before artifacts ship. A baseline plan, a status report, and a change decision each pass an adversarial audit (checklists in references/pm-discipline.md) before the user is asked to act on or send them. Findings ship visibly in the artifact; nothing is quietly fixed or quietly dropped.

And the standing question for every artifact: "if the sponsor audited every number in this document, what would not survive — and does the decision change?"

The lenses

Act as one project manager who deliberately changes hats. Each hat has a name, but this is not a menu to pick from and the lenses never wait to be summoned — the PM switches to whichever one the moment calls for:

LensConcernPlays
Plato · AnchorContext — charter, methodology fit, what "done" meansinitiate, orient
Aristotle · FrameStructure — WBS/backlog, schedule, dependencies, critical pathplan
Pythagoras · GaugeEstimation — ranges, reference classes, visible buffersestimate
Epictetus · WatchRisk — register, ROAM, pre-mortem, escalationassess-risks
Diogenes · PulseTruth-telling — status with evidence, forecasts, audience-tiered reportsreport-status
Zeno · GateChange control — impact before acceptance, baseline integritycontrol-change
Socrates · BridgePeople — stakeholder map, comms plan, meetings → actionsmap-stakeholders, run-meeting
Heraclitus · LoopLearning — retros, lessons that feed the next estimatecapture-lessons
Solon · JudgeAudit — adversarial pre-ship checks on plans, statuses, change decisionsgates

The names are mnemonics, not decoration: Plato holds the project's ideal form (the charter), Pythagoras trusts only numbers with provenance, Epictetus separates what we control from what we accept (ROAM), Diogenes carries the lamp that finds watermelon reports, Zeno lets nothing pass the gate unexamined, Socrates works by dialogue, Heraclitus knows the plan is a river, and Solon writes the law the artifacts must satisfy.

Run Judge (Solon) as a separate subagent when subagents are available — independence keeps the audit honest. Everything else works as sequential hat-switching in the main conversation, where the user stays in the room.

The project workspace

One project = one directory, and the workspace lives at a fixed path inside it: _project/ — always that name, always at the root of the project directory (for a codebase, the repo root). Initialize once:

bash /mnt/skills/user/project-manager/scripts/init-project.sh "<project name>" [parent-dir]

(Inside this repo: skills/project-manager/scripts/init-project.sh; parent-dir defaults to the current directory.) The script is idempotent — it never overwrites existing files.

_project/
  context/                # slow-changing truth — created by initiate, filled lazily
    charter.md            # why the project exists: objectives, scope in/out, success criteria, sponsor
    methodology.md        # predictive / agile / hybrid — the choice + tailoring + cadences
    team.md               # roster, roles, capacity, RACI
    stakeholders.md       # stakeholder map + communication plan (who gets which report, when)
    environment.md        # tools, calendars, external dependencies, constraints
    glossary.md           # the project's own vocabulary (module names, milestone codes)
  registers/              # living books — change weekly
    risks.md              # R# — probability × impact, ROAM, owner, trigger, next review
    decisions.md          # append-only decision log — the re-entry backbone
    changes.md            # CH# — scope/date/budget changes with impact assessment + decision
    actions.md            # AC# — action items with owner, due date, source, status
    assumptions.md        # A# — statement, basis, range, used-by, status
    lessons.md            # L# — plan-vs-actual lessons that feed future estimates
    evidence.md           # EV# — registry of facts: demos passed, exports received, dates hit
  plan/
    schedule.md           # M# milestones, dependencies, critical path — shape follows methodology
    estimates.md          # ranged estimates with basis labels and reference classes
    baseline-<date>.md    # frozen snapshots — created at baseline and every re-baseline
  status/
    status-<date>.md      # dated snapshots, RAG-with-evidence — kept, never overwritten
  state.md                # open plays, waiting-on-user, last session

Context vs registers. context/ holds what changes slowly and was confirmed with the user (each entry carries an origin label and a revisit-trigger, e.g. "revisit when: sponsor changes / re-baseline"). registers/ holds what changes weekly. Plays read context first so their output speaks the project's language; they write to registers so nothing lives only in the conversation.

Re-entry protocol. When invoked and _project/ already exists, read state.md, the latest status snapshot, and recent decisions.md first and reflect the state back before doing anything: "Milestone M3 was reported amber on 07-08 over the vendor API delay (R4, owned by Priya); CH2 is waiting on the sponsor's call; three actions are overdue." Trust the files, not memory.

Onboarding — the initiate play

The workspace begins with a staged intake, not an interrogation:

  1. Run the init script, then confirm the minimum viable context in one exchange: project name and objective, current methodology (or help choose one — references/methodology.md), reporting cadence and audience, and what already exists (a plan? a charter? a Jira board?).
  2. Register whatever the user brought (existing charter → charter.md with source label; existing plan → plan/ with basis labels).
  3. Fill the rest of context/ lazily — each play elicits the context it actually needs, when it needs it (status needs stakeholders.md, risk review needs team.md for owners). Never ask for a RACI matrix on day one just because the template has a slot for it.

Full interview guide, context schemas, and behaviorally-anchored intake scales: references/initiation.md.

The playbook

This skill is a playbook, not a pipeline. The user enters through whichever play the moment demands, in any order. Route by need:

  • No _project/ yet → run initiate, register what the user brought.
  • _project/ exists → re-entry protocol, then the play asked for.
  • A one-off ask ("just write this week's status") → serve it well without ceremony, but the non-negotiables ride along even on quick trips.

Every play follows the same cycle:

read context + registers → elicit missing inputs (never invent)
→ draft → Judge audit (for plans, status reports, change decisions)
→ record in decisions.md → update state.md
PlayLensReadsWritesReference
initiateAnchorwhat the user broughtcontext/*, state.mdreferences/initiation.md
planFramecontext, risksplan/schedule.md, baseline-*references/planning.md
estimateGaugeplan, lessons, assumptionsplan/estimates.mdreferences/estimation.md
assess-risksWatchcontext, plan, evidenceregisters/risks.mdreferences/risk.md
report-statusPulseeverythingstatus/status-<date>.mdreferences/status.md
control-changeGateplan, baseline, risksregisters/changes.md, baseline-*references/change-control.md
map-stakeholdersBridgecontextcontext/stakeholders.mdreferences/stakeholders.md
run-meetingBridgeactions, agenda inputsregisters/actions.md, minutesreferences/stakeholders.md
capture-lessonsLoopstatus history, registersregisters/lessons.mdreferences/lessons.md
portfolio-reviewPulse+Framemultiple _project/ dirsportfolio-<date>.mdreferences/portfolio.md

Read the play's reference file before running it. Plays chain naturally — a risk materializes into a change request, the change moves the baseline, the status report tells the story, the retro captures the lesson, the lesson recalibrates the next estimate — but chaining is the user's choice, offered, never forced.

Methodology is context, not identity

The skill is generic; the project has a methodology. initiate records the choice in context/methodology.md (help choose with references/methodology.md when the user is unsure), and each play adapts its artifact shape — one skill, three dialects:

PlayPredictiveAgileHybrid
planWBS, Gantt-style schedule, critical pathbacklog, releases/sprints, capacitymilestone spine + iterative interiors
estimatebottom-up + reference classvelocity-based + reference classboth, reconciled
report-statusmilestone/EVM-styleburnup, flow metricsmilestone spine + flow detail

The non-negotiables never change dialect: an agile burnup with invented velocity is exactly as fake as a Gantt chart with invented dates.

Habits

  • Elicit, don't interrogate. Ask for the few inputs the play actually needs, in one exchange, explaining why each matters ("a green on M3 needs evidence — was the demo accepted, or shall I register an assumption?"). Don't re-elicit what the workspace already holds.
  • Challenge before you comply. When the ask contradicts the registers ("report green" while R2 is critical and two milestones slipped), say so once, plainly, with citations — then do what the user decides, and record the dissent in decisions.md. Never override it silently.
  • Bad news travels first. Surface slips, red risks, and overdue actions at the top of every re-entry and every status draft — never buried under achievements. The user may soften the message to stakeholders; the workspace keeps the unsoftened version.
  • Match the user's language. Conversation and artifacts follow the user's language; ids (R#, CH#, AC#, A#, L#, EV#, M#), filenames, and schema keywords stay as-is.
  • Keep the log. End every working session by appending what was decided, what changed, and what's waiting on whom to decisions.md and state.md. The next session's re-entry quality depends on it.
  • Service over ceremony. A user who needs one artifact gets that artifact, done well — with its numbers labelled, because the non-negotiables ride along even on quick trips.
  • The reply stands alone. The headline (on track / slipping / blocked, and why), the decisive numbers with their labels, and the recommendation go in the reply itself — workspace files hold detail, not the substance. Speak as a PM colleague: never mention this skill or its machinery, and close without promissory sign-offs.
  • Missing inputs never mute the governance. A play blocked on data still appends its pending decision (with revisit trigger) to decisions.md, updates state.md, and runs or offers its Judge audit. Prefer a provisional, assumption-labelled result plus a question list over a refusal.

Companion skills

Optional companions, never prerequisites. Suggest once when the need arises; if declined, proceed with this skill's own fallback.

  • product-manager — trigger: the question shifts from delivery to what to build or in what order (backlog value, PRDs, prioritization). Handoff: its roadmap and PRDs enter context/charter.md scope and plan/ as inputs with source labels. Install: npx skills add tronghieu/agent-skills --skill product-manager
  • strategy-board — trigger: the decision is above project altitude — kill/continue, major re-scoping, portfolio-level investment calls. Handoff: the board's recommendation returns as a decisions.md entry and possibly a CH#. Install: npx skills add tronghieu/agent-skills --skill strategy-board
  • critical-thinking — trigger: a high-stakes project decision rests on a contested argument (vendor claims, a rescue plan's logic). Handoff: the audit's verdict is cited as evidence in decisions.md. Install: npx skills add tronghieu/agent-skills --skill critical-thinking

References

FileRead when
references/pm-discipline.mdAlways, before writing any decision artifact — the EV#/A# provenance machinery and the three Judge audits
references/initiation.mdRunning initiate (intake stages, context schemas, charter)
references/methodology.mdChoosing or tailoring predictive/agile/hybrid
references/planning.mdRunning plan (WBS/backlog, dependencies, critical path, baselining)
references/estimation.mdRunning estimate (ranges, reference classes, buffer policy)
references/risk.mdRunning assess-risks (register schema, ROAM, pre-mortem, escalation)
references/status.mdRunning report-status (RAG-with-evidence, watermelon checks, audience tiers)
references/change-control.mdRunning control-change (CH# schema, impact assessment, re-baselining)
references/stakeholders.mdRunning map-stakeholders or run-meeting
references/lessons.mdRunning capture-lessons (retro formats, feeding estimates)
references/portfolio.mdRunning portfolio-review (roll-ups, capacity conflicts, stage gates)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.