agentleFS
coreyhaines31coreyhaines31/makerskills/skills/project-manager/SKILL.md

project-manager

Skill916 starsChanged 38 days agoMITView on GitHub

When you want to manage projects across your businesses using a kanban + Eisenhower methodology. One kanban per business (whatever portfolio of businesses, projects, or initiatives you run). Tool-agnostic — connects via API/MCP to whatever PM tool each business uses (Notion, GitHub Projects, Plane, Linear, Obsidian file-based, or manual mode). Async-first output. Six modes — setup (scaffold a new board for a business), triage (Eisenhower-sort the backlog), next (pick the next thing to work on, single board or across all), status (paste-ready async snapshot), unblock (diagnose Review/Blocked column), weekly (Friday pulse + week planning). Triggers on "/project-manager," "/pm," "/pm setup," "/pm triage," "/pm next," "/pm status," "/pm unblock," "/pm weekly," "project manager," "what should I work on next," "kanban status," "Eisenhower this," "triage my backlog," "what's blocked." Not for specing or launch-readiness checks on an app (see product-manager).

  • Reads credentials

37 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. Uses a controller mission and text board.

    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

11 rules. 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 33 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Async-first: every status snapshot should read like a Loom you didn't have to record.

    line 34
  2. Distinctive:

    If the business has no mapping yet, jump to setup automatically — ask which tool, save the mapping, return to the requested mode.

    line 64
  3. Very specific:

    Read the relevant section of references/adapters.md for the tool.

    line 68
  4. Distinctive:

    Read a single card's full content

    line 70
  5. Distinctive:

    Add a comment / note

    line 73
  6. Distinctive:

    Ask which tool the business uses

    line 86
  7. Distinctive:

    Read everything in Review/Blocked

    line 131
  8. Very specific:

    Default WIP per column (override in your local boards.md per business):

    line 144
  9. Very specific:

    If WIP exceeded in next mode, don't pull more — recommend finishing or moving something to Review/Blocked first.

    line 151
  10. Distinctive:

    When generating status / weekly outputs:

    line 155
  11. Distinctive:

    No verbs without subjects: Write status so the reader can pick up cold — 3 weeks later or forwarded to a partner who missed the last update.

    line 176

“Common” is measured: kept by at least 6 in 10 of the 33 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 — Project management across the portfolio

Methodology-first project management. Kanban + Eisenhower + async. One board per business. Tool-agnostic via adapters.

Mental model

Each business gets its own kanban with 5 columns:

Backlog  →  Ready  →  In Progress  →  Review/Blocked  →  Done/Archived
  • Backlog: everything that might matter — not yet committed
  • Ready: triaged, well-defined, can be picked up
  • In Progress: actively being worked
  • Review/Blocked: waiting on someone else, review, or external dependency
  • Done/Archived: shipped or killed

Eisenhower sits on top of the board — used to triage Backlog → Ready (which items make the cut) and to pick next from Ready (which Ready item to pull).

                Urgent          Not Urgent
Important       Q1: Do          Q2: Schedule    ← Q2 is the high-leverage zone
Not Important   Q3: Delegate    Q4: Delete

Async-first: every status snapshot should read like a Loom you didn't have to record. Make work visible without requiring a meeting.

Step 1 — Detect mode and target

Parse the invocation:

InvocationModeTarget
/project-manager setup [business]setupthe named business
/project-manager triage [business]triagethe named business (or ask)
/project-manager next [business]nextthe named business
/project-manager nextnextacross all boards (cross-portfolio)
/project-manager status [business]statusthe named business (or ask)
/project-manager unblock [business]unblockthe named business (or ask)
/project-manager weeklyweeklyall boards (Friday pulse)
/project-manager weekly [business]weeklythe named business

Step 2 — Load board config + personal overlay

Read ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/project-manager/boards.md (personal — real business list + tool mapping per business). If that directory doesn't exist but ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/pm/ does (the skill was called pm before v0.2.0), read from pm/ instead and offer once to move it: mv "${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/pm" "${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/project-manager". Never move it without a yes. Falls back to references/boards.md in the repo if the local file doesn't exist yet — that's a template.

Also try to load ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/project-manager/team.local.md if present — this is where the user lists partners, active clients, and typical blocker phrasings. Use it to make status output specific ("Waiting on <partner>'s review") instead of generic.

FieldExample
business<slug>
toolnotion / github / plane / linear / obsidian / manual
board_id or URLtool-specific
column overridesonly if this board doesn't use the default 5 columns

If the business has no mapping yet, jump to setup automatically — ask which tool, save the mapping, return to the requested mode.

Step 3 — Load the adapter

Read the relevant section of references/adapters.md for the tool. Each adapter section explains how to:

  • List cards / issues / pages by column
  • Read a single card's full content
  • Create a card
  • Move a card between columns
  • Add a comment / note

Adapters use:

  • Notion → $NOTION_API_KEY (already in zshenv). Database with Status select property.
  • GitHub Projects → gh CLI (already authed). gh project item-list, gh project item-edit.
  • Plane → Plane API (needs $PLANE_API_KEY and workspace slug).
  • Linear → Linear MCP or API key.
  • Obsidian → local kanban markdown files in the vault. Read/write directly.
  • Manual → ask the user to paste the current board state; offer to write back to a local markdown file.

Step 4 — Run the mode

setup

  • Ask which tool the business uses
  • Walk through column setup (default 5 columns; offer custom)
  • Save mapping to ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/project-manager/boards.md (NOT to references/boards.md in the repo — that's a template only). Create the parent directory if it doesn't exist yet.
  • Optionally seed the board with starter cards from a conversation about what's on the user's mind for that business

triage

  • Pull the Backlog column
  • Apply Eisenhower (Q1/Q2/Q3/Q4) — show the user the matrix view
  • Recommend moves:
    • Q1 (urgent + important) → move to Ready or In Progress now
    • Q2 (important, not urgent) → move to Ready, schedule when
    • Q3 (urgent, not important) → delegate (to whom?) or move to Ready if no one
    • Q4 (neither) → archive
  • Apply moves via the adapter (or output text the user applies manually)

next

  • Single board: pull Ready, then In Progress. If WIP exceeded, surface what to finish first. If WIP available, recommend top Ready item by Eisenhower priority.
  • Cross-portfolio (/project-manager next with no business): pull Ready from every board, Eisenhower-rank, recommend top 1–3 across all businesses. Bias toward Q1 then Q2.

status

Generate an async-shareable snapshot:

# [Business] — Status as of YYYY-MM-DD

**Shipped this week:** N cards
- <card title>
- <card title>

**In progress:** N cards
- <card title> — <who/what>

**Review/Blocked:** N cards
- <card title> — blocked on <reason>

**Up next:** top 2–3 from Ready
- <card title>
- <card title>

**Open question:** <one thing that would unblock progress if answered>

Output is paste-ready for Slack, Notion, email, partner DM.

unblock

  • Read everything in Review/Blocked
  • For each card: surface the blocker, suggest an action (nudge X, escalate to Y, descope, kill, move back to In Progress if blocker is gone)
  • Output a short list of moves

weekly

Friday pulse + planning:

  1. For each board: shipped this week, in progress, blocked
  2. Cross-portfolio: where's momentum? where's drift?
  3. Plan next week: 3–5 Q2 items to pull from Ready into In Progress on Monday
  4. Output the combined snapshot — pasteable into Notion weekly log, partner update, or personal journal

WIP limits

Default WIP per column (override in your local boards.md per business):

ColumnDefault WIP
In Progress3
Review/Blocked(no limit — but flag if >5)

If WIP exceeded in next mode, don't pull more — recommend finishing or moving something to Review/Blocked first.

Async-first writing rules

When generating status / weekly outputs:

  • Lead with the headline — what shipped this week, or what's at risk
  • Be specific — "shipped X" not "made progress on Y"
  • No verbs without subjects — write so the reader can pick up cold
  • Blockers name the blocker — "waiting on designer's review" not "blocked"
  • Open questions are explicit — one bolded line per status that asks for what would unblock momentum

Composes with

  • decide — when a project hits a real decision, route to /decide
  • deep-research — when a card needs research before it's actionable
  • business-brainstorm — when an idea on the Backlog deserves pressure-testing before triage
  • jab-hook — when status / shipped items become BIP-post material
  • Memory (project_*.md) — for portfolio context per business

Notes on quality

  • Limit WIP. Multitasking is the most reliable way to ship nothing. Cap In Progress at 3 (override in your local boards.md per business if truly needed). If the cap is hit, don't pull more — recommend finishing or moving something to Review/Blocked.
  • Lead with the headline in every status output — what shipped this week, or what's at risk. Not "made progress on X" — that's noise.
  • Be specific. "Shipped the primary logo variant" beats "made progress on branding." Specificity signals real motion; vagueness signals none.
  • No verbs without subjects. Write status so the reader can pick up cold — 3 weeks later or forwarded to a partner who missed the last update.
  • Blockers name the blocker. "Waiting on designer's review of the homepage draft" — not "blocked." Blockers without names create no urgency.
  • Open questions are explicit — one bolded line per status that asks for what would unblock momentum. Async momentum lives or dies on how well open questions are surfaced.
  • Tool-agnostic by design. project-manager speaks Kanban + Eisenhower; the adapters (Notion / GitHub / Plane / Linear / Obsidian / manual) translate. Adding a new tool = one adapter file, not a rewrite.

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.