agentsclimarketplace

Generate project plan

Skill KirKruglov/claude-project-manager/skills/generate-project-plan

AI Project Manager plugin for Claude Cowork — full project lifecycle automation: charter, plan, risks, budget, monitoring, comms, closure. 21 skills, PMBoK + Agile.

Install
npx -y skills add KirKruglov/claude-project-manager --skill generate-project-plan

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generates a project plan from the approved charter, scope, and optional duration/resource estimates. The plan is the first artifact of the Planning phase. Once approved, it unlocks: generate-risk-register (mode: detailed) and generate-comm-plan (can run in parallel). Accepts both structured estimates and free-form descriptions. Triggers RU: «сформируй план проекта», «подготовь план», «составь project plan», «нужен план проекта». Triggers EN: 'generate project plan', 'create project plan', 'build plan', 'prepare project plan'.

SKILL.md

15.5 KB, as published. Nobody here has run it

generate-project-plan

Language Detection

Determine the language of the user's request:

  • If the request is in Russian → use templates with -ru suffix
  • Otherwise → use templates with -en suffix

All output (headings, labels, comments, instructions) must match the detected language.

Triggers

Russian: «сформируй план проекта», «подготовь план», «составь project plan», «нужен план проекта» English: "generate project plan", "create project plan", "build plan", "prepare project plan"


1. Inputs

DataRequiredSourceNotes
Project charter (project-charter.md)yesknowledge or chatApproved charter. Extract: goal, scope, dates, budget (if present), team, constraints, top-3 risks
Duration estimatesnochat or knowledgeWork package estimates from the user. If absent — agent estimates and marks as assumption
Team availability datanochat or knowledgeLoad by period, constraints (vacations, part-time). If absent — agent distributes evenly, marks as assumption
Additional inputsnochatPriorities, external dependencies, technical constraints not included in the charter

If no charter is available — request it (system-prompt-draft.md §3 p.2):

A project plan requires an approved charter (project-charter.md).
Available data: [list what is available].
Charter status: [not started / draft / approved].
If the charter has not been created yet — start with generate-charter.

2. Execution Algorithm

  1. Validate inputs. Check for an approved charter. Not found → request per §1 template. Do NOT generate a plan without a charter — this breaks the dependency chain. Found → step 2.
  2. Extract data from the charter. Break down by category: goal, scope (included/excluded), dates (start/end), budget (if specified), team, constraints, risks. Record gaps.
  3. Check data for conflicts. If charter dates conflict with user-provided duration estimates — do NOT resolve independently. List discrepancies, ask which takes precedence. Exception: if the user explicitly clarifies in chat — use the clarification.
  4. Decompose scope into work packages (WP). Each deliverable from the charter's "Included" section → one or more WPs. Granularity: a WP is a group of related tasks with a single output. Do NOT decompose to individual tasks — that is Jira level. Assign each WP an ID (WP-001, WP-002, etc.). Group WPs by project phase. After decomposition, count total WPs: if >20 — consolidate adjacent packages within the same phase. WP count must be ≤ 20 for MVP. If consolidation would lose meaning — record as assumption and proceed to step 5.
  5. Set duration for each WP.
    • Use user-provided estimates if available.
    • If no estimates — assess based on: scope volume, resource count, comparable projects, charter constraints. Mark each such estimate as assumption.
    • Unit: project ≤ 3 months → working days (wd); project > 3 months → weeks (wk). Unit must be consistent within one plan. 1 wk = 5 wd.
    • Verify: sum of critical path durations (accounting for maximum parallelism) ≤ total project duration from charter. If it doesn't fit — record as issue, propose options (parallel execution / scope reduction / resource increase / date shift). Do NOT generate WP dates beyond the charter end_date. If unavoidable — mark affected WPs with [⚠ exceeds deadline] and require a decision from the user before finalizing.
  6. Identify dependencies between WPs. For each related WP pair: dependency type (FS / SS / FF). FS is the default if the relationship is not explicit. Verify no circular dependencies.
  7. Define milestones. A milestone is a checkpoint marking the achievement of a significant result. A milestone is NOT a task — it has zero duration. It answers "what must be done by this point", not "what needs to be done". What counts as a milestone: phase completion (all WPs in phase closed); delivery of a key deliverable to the customer; external event the project depends on (approval, procurement, integration); go/no-go decision point. What does NOT count as a milestone: completion of a routine WP that is not a deliverable; internal intermediate results without external review; recurring events (weekly status, sprint reviews). Milestones from the charter (section 3) — must be included. ID: M1, M2, etc. Minimum: 3 milestones (start, mid, finish). Maximum: one per phase + key deliverables.
  8. Fill the resource map.
    • Use availability data if provided.
    • If not — take team from charter (section 5), distribute across WPs by role, treat load as uniform. Mark as assumption.
    • Period columns — actual project months (not fixed).
  9. Read the template project-plan-ru.md (or project-plan-en.md) from project knowledge.
  10. Fill the template per the rules in section 3.
  11. Validate the output using the checklist (section 5).
  12. Present the output in chat. Format (system-prompt-draft.md §3 p.4):
    • What was done: "Project plan generated based on [list sources]."
    • Assumptions: list all (duration estimates, resource allocation, etc.).
    • Issues: if found (schedule overrun, insufficient resources).
    • What is required: "Approve, provide comments, or reject."
    • Do not include system paths. Use file name only: "Plan saved as project-plan.md."
  13. Wait for user response (system-prompt-draft.md §3 p.5).
    • Approval → generate final version.
    • Comments → revise, show updated version. After 3rd iteration — ask: "Continue revising or finalize the current version?"
  14. After approval:
    • Propose text for the user to insert into log.md and project-state.md (system-prompt-draft.md §11).
    • Notify: "Project plan approved. The following tasks are now available (can run in parallel): generate-risk-register (detailed risk register) and generate-comm-plan (communications plan). Which one to start?" (system-prompt-draft.md §7).

3. Section Fill Rules

Header Metadata

  • Version: 1.0
  • Date: current generation date.
  • File: project-plan.md
  • Document status: draft (on generation). After approval — approved.
  • Source: list documents used to generate the plan.

"Project Summary" Section

  • Fill from the charter. Fields Project goal, Dates, Team, Customer, PM — required.
  • Project goal — from charter section 1 (verbatim or condensed).
  • Dates — start_date and end_date from charter; duration — calculate.
  • Budget — from charter section 4 (total amount). If not specified — enter: "not defined". The plan is generated without budget data. This does not block generation.
  • Team — headcount from charter section 5.
  • Customer and PM — from charter sections 5/8.

"Phases and Work Packages" Section

Table is the core of the plan.

ColumnRule
IDUnique code: WP-001, WP-002, etc. Sequential numbering
PhasePhase name (Initiation, Planning, Development, etc.). Group WPs by phase
Work packageGroup of related tasks with a single output. NOT an individual task — task-level detail belongs in Jira
OwnerRole or name from charter team
DurationUnit selected by project duration: ≤ 3 months → working days (wd); > 3 months → weeks (wk). Consistent unit throughout the plan. Use suffix: "5 wd" or "2 wk". Calculation: 1 wk = 5 wd
Start / EndYYYY-MM-DD. Calculate from dependencies and duration. First WP start ≥ charter start_date. Last WP end ≤ charter end_date
DependenciesIDs of predecessor work packages. "—" if none
  • Minimum WPs: one per deliverable from the charter.
  • Maximum WPs: no more than 20 for MVP. Consolidate if exceeded.

"Milestones" Section

ColumnRule
IDM1, M2, etc.
MilestoneCheckpoint — event marking the achievement of a significant result. Zero duration
DateYYYY-MM-DD. Matches the end date of the corresponding WP or phase
Completion criterionSpecific, verifiable condition. Format: "[artifact/result] [action] [by whom]". Example: "Prototype accepted by customer", "API deployed to staging and passed smoke tests"
StatusOn generation: not achieved. Allowed values: not achieved / achieved / overdue

"Dependencies" Section

Table details the relationships from the WP table's Dependencies column.

ColumnRule
Source blockID of WP that must finish/start
Target blockID of WP that depends on the source
TypeFS (Finish-to-Start) — default; SS (Start-to-Start); FF (Finish-to-Finish)
CommentExplanation of the relationship. Required for SS and FF types
  • Verify: no circular dependencies (A→B→C→A).
  • Every dependency from the WP table must appear here.

"Assumptions and Constraints" Section

  • Assumptions: all agent assumptions (duration estimates, resource allocation, priorities). One item per line.
  • Constraints: from charter (section 6) + identified during planning.

"Resource Map" Section

ColumnRule
Team memberName from team roster
RoleRole from charter
Period columnsProject months (adapt to actual dates). Load in % of full working time
Constraints / NotesVacations, part-time, outsourcing, dual roles
  • Use provided load data if available.
  • If not — distribute evenly across WPs, mark as assumption.
  • Total load per person per period must not exceed 100% (record as issue if exceeded).

4. Placeholder Table

Placeholders {{}} in the template are fill-in guides, not auto-substitution variables. Replace each with the corresponding value from the inputs.

PlaceholderRequiredSourceAllowed values
{{project_name}}yeschartertext
{{version}}yesagent"1.0" on creation
{{date}}yessystemYYYY-MM-DD
{{doc_status}}yesagentdraft / pending approval / approved / revision
{{source_docs}}yesagentlist of input documents
{{project_goal}}yescharter, section 1text
{{start_date}}yescharter, section 3YYYY-MM-DD
{{end_date}}yescharter, section 3YYYY-MM-DD
{{duration}}yesagent (calculate)"N weeks" or "N months"
{{budget}}nocharter, section 4number + currency or "not defined"
{{team_size}}yescharter, section 5number
{{customer}}yescharter, sections 5/8name
{{pm}}yescharter, sections 5/8name
{{phase_name}}yes (≥1)agentproject phase name
{{work_package}}yes (≥1)agent / scopework package description
{{owner}}yescharter / teamrole or name
{{wp_duration}}yesuser / assumptionnumber + "wd" or "wk"
{{wp_start}}yesagent (calculate)YYYY-MM-DD
{{wp_end}}yesagent (calculate)YYYY-MM-DD
{{wp_dependency}}noagentWP ID or "—"
{{milestone_name}}yes (≥3)charter + agentmilestone name
{{done_criteria}}yesagentcompletion condition: "[result] [action] [by whom]"
{{assumption_N}}noagentassumption text
{{constraint_N}}yes (≥1)charterconstraint text
{{name_N}}nocharter / teamteam member name
{{role_N}}nocharter / teamrole
{{load_period}}nodata / assumptionnumber (% load)

5. Validation Checklist

Before presenting the output to the user — verify:

  • Charter used as primary source (no fabricated data)
  • All required placeholders replaced with values
  • No {{}} placeholders remain in the text
  • Every deliverable from the charter is covered by at least one WP
  • Dates are consistent: start_date ≤ WP dates ≤ end_date
  • No circular dependencies between WPs
  • Charter milestones included; milestone dates match the end of corresponding WPs/phases
  • Each milestone meets the criteria from §2 p.7: marks phase completion, deliverable handoff, external event, or go/no-go. No "false milestones" (routine WP completion, recurring events)
  • Completion criterion for each milestone is specific and verifiable (contains artifact/result + action + by whom)
  • Sum of durations (accounting for parallelism) ≤ total project duration. If not — recorded as issue
  • Duration unit is consistent throughout the plan (wd or wk) and follows the rule: ≤ 3 months → wd, > 3 months → wk
  • Each resource load ≤ 100% per period (or issue is recorded)
  • All agent assumptions listed in the Assumptions section
  • Document status = draft
  • File: project-plan.md listed in the header

6. Dependencies

Consumes (input):

  • project-charter.md (approved) — from skill generate-charter
  • Optional: duration estimates and team availability data from the user

Produces (output): project plan → consumed by skills (system-prompt-draft.md §7):

  • generate-risk-register (mode: detailed) — phase 2, Planning (parallel with comm-plan)
  • generate-comm-plan — phase 2, Planning (parallel with risk-register)
  • generate-resource-plan — phase 2 (Product 1, not MVP)
  • monitor-progress — phases 4–5 (Product 1)
  • generate-plan-fact-report — phase 6
  • coordinate-executors — phases 3, 5 (Product 1)
  • generate-checklist — phases 5, 6 (Product 1)

After the plan is approved, the user must upload project-plan.md to project knowledge so dependent skills can access it.


7. Example Invocation

User command:

Generate a project plan. The charter is approved and uploaded to knowledge. I don't have duration estimates for work packages — assess based on scope.

Agent response (after generation):

Project plan "[name]" generated based on: project charter (project-charter.md).

Assumptions:

  • Duration of all work packages estimated by the agent based on scope volume and team composition.
  • Team load distributed evenly (no availability data provided).
  • Phase priority: Development → Testing → Launch (standard order for IT projects).

Issues:

  • [Name]'s load exceeds 100% in May (WP-005 + WP-007 in parallel). Options: shift WP-007 to June or add a resource.

Required: approve, provide comments, or reject.

[plan text]


Changelog

DateVersionChange
2026-03-251.0Skill created. Algorithm: 14 steps. Hybrid duration estimation model. Resource map with fallback to charter data. Milestone definition criteria. Budget is optional
2026-03-261.1§2 p.4: added explicit WP counter — verify ≤20 after decomposition, consolidate adjacent packages if exceeded. §2 p.5: clarified behavior on date conflict — do NOT generate dates beyond end_date; mark affected WPs with ⚠ and require user decision
2026-03-291.2Translated to English. Added Language Detection block and bilingual triggers

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.