From project-manager
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'.
npx claudepluginhub kirkruglov/claude-project-managerThis skill uses the workspace's default tool permissions.
Determine the language of the user's request:
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Determine the language of the user's request:
-ru suffix-en suffixAll output (headings, labels, comments, instructions) must match the detected language.
Russian: «сформируй план проекта», «подготовь план», «составь project plan», «нужен план проекта» English: "generate project plan", "create project plan", "build plan", "prepare project plan"
| Data | Required | Source | Notes |
|---|---|---|---|
| Project charter (project-charter.md) | yes | knowledge or chat | Approved charter. Extract: goal, scope, dates, budget (if present), team, constraints, top-3 risks |
| Duration estimates | no | chat or knowledge | Work package estimates from the user. If absent — agent estimates and marks as assumption |
| Team availability data | no | chat or knowledge | Load by period, constraints (vacations, part-time). If absent — agent distributes evenly, marks as assumption |
| Additional inputs | no | chat | Priorities, 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.
[⚠ exceeds deadline] and require a decision from the user before finalizing.project-plan-ru.md (or project-plan-en.md) from project knowledge.Version: 1.0Date: current generation date.File: project-plan.mdDocument status: draft (on generation). After approval — approved.Source: list documents used to generate the plan.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.Table is the core of the plan.
| Column | Rule |
|---|---|
| ID | Unique code: WP-001, WP-002, etc. Sequential numbering |
| Phase | Phase name (Initiation, Planning, Development, etc.). Group WPs by phase |
| Work package | Group of related tasks with a single output. NOT an individual task — task-level detail belongs in Jira |
| Owner | Role or name from charter team |
| Duration | Unit 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 / End | YYYY-MM-DD. Calculate from dependencies and duration. First WP start ≥ charter start_date. Last WP end ≤ charter end_date |
| Dependencies | IDs of predecessor work packages. "—" if none |
| Column | Rule |
|---|---|
| ID | M1, M2, etc. |
| Milestone | Checkpoint — event marking the achievement of a significant result. Zero duration |
| Date | YYYY-MM-DD. Matches the end date of the corresponding WP or phase |
| Completion criterion | Specific, verifiable condition. Format: "[artifact/result] [action] [by whom]". Example: "Prototype accepted by customer", "API deployed to staging and passed smoke tests" |
| Status | On generation: not achieved. Allowed values: not achieved / achieved / overdue |
Table details the relationships from the WP table's Dependencies column.
| Column | Rule |
|---|---|
| Source block | ID of WP that must finish/start |
| Target block | ID of WP that depends on the source |
| Type | FS (Finish-to-Start) — default; SS (Start-to-Start); FF (Finish-to-Finish) |
| Comment | Explanation of the relationship. Required for SS and FF types |
| Column | Rule |
|---|---|
| Team member | Name from team roster |
| Role | Role from charter |
| Period columns | Project months (adapt to actual dates). Load in % of full working time |
| Constraints / Notes | Vacations, part-time, outsourcing, dual roles |
Placeholders
{{}}in the template are fill-in guides, not auto-substitution variables. Replace each with the corresponding value from the inputs.
| Placeholder | Required | Source | Allowed values |
|---|---|---|---|
{{project_name}} | yes | charter | text |
{{version}} | yes | agent | "1.0" on creation |
{{date}} | yes | system | YYYY-MM-DD |
{{doc_status}} | yes | agent | draft / pending approval / approved / revision |
{{source_docs}} | yes | agent | list of input documents |
{{project_goal}} | yes | charter, section 1 | text |
{{start_date}} | yes | charter, section 3 | YYYY-MM-DD |
{{end_date}} | yes | charter, section 3 | YYYY-MM-DD |
{{duration}} | yes | agent (calculate) | "N weeks" or "N months" |
{{budget}} | no | charter, section 4 | number + currency or "not defined" |
{{team_size}} | yes | charter, section 5 | number |
{{customer}} | yes | charter, sections 5/8 | name |
{{pm}} | yes | charter, sections 5/8 | name |
{{phase_name}} | yes (≥1) | agent | project phase name |
{{work_package}} | yes (≥1) | agent / scope | work package description |
{{owner}} | yes | charter / team | role or name |
{{wp_duration}} | yes | user / assumption | number + "wd" or "wk" |
{{wp_start}} | yes | agent (calculate) | YYYY-MM-DD |
{{wp_end}} | yes | agent (calculate) | YYYY-MM-DD |
{{wp_dependency}} | no | agent | WP ID or "—" |
{{milestone_name}} | yes (≥3) | charter + agent | milestone name |
{{done_criteria}} | yes | agent | completion condition: "[result] [action] [by whom]" |
{{assumption_N}} | no | agent | assumption text |
{{constraint_N}} | yes (≥1) | charter | constraint text |
{{name_N}} | no | charter / team | team member name |
{{role_N}} | no | charter / team | role |
{{load_period}} | no | data / assumption | number (% load) |
Before presenting the output to the user — verify:
{{}} placeholders remain in the textdraftproject-plan.md listed in the headerConsumes (input):
project-charter.md (approved) — from skill generate-charterProduces (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 6coordinate-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.
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]
| Date | Version | Change |
|---|---|---|
| 2026-03-25 | 1.0 | Skill created. Algorithm: 14 steps. Hybrid duration estimation model. Resource map with fallback to charter data. Milestone definition criteria. Budget is optional |
| 2026-03-26 | 1.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-29 | 1.2 | Translated to English. Added Language Detection block and bilingual triggers |