Skip to content
Back to skills

Generate Resource Plan

ASecurity

"Generates a resource allocation plan (resource-plan.md) for Phase 2 —

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 28, 2026
ai-agentstesting

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned May 28, 2026

npx -y skills add KirKruglov/claude-project-manager --skill generate-resource-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Generate Resource Plan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Generate Resource Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kirkruglov-generate-resource-plan/badge)](https://www.skillsdirectory.com/skills/kirkruglov-generate-resource-plan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: generate-resource-plan
description: "Generates a resource allocation plan (resource-plan.md) for Phase 2 —
  Planning, based on project-plan.md and team-list.md. Produces a role-by-phase FTE
  matrix with person-month calculations, rates (when available), external resources
  section, and a phase-load summary. Covers task #8 of the project management agent.
  Mode B: agent prepares draft, PM reviews and approves. Required input for
  generate-budget (#9).
  Triggers RU: «составь ресурсный план», «распредели ресурсы по проекту», «кто и когда
  работает», «ресурсный план проекта», «загрузка команды по фазам», «generate-resource-plan».
  Triggers EN: 'generate resource plan', 'resource allocation plan', 'create resource plan',
  'team allocation by phase', 'staffing plan', 'who works when'."
---

# Skill: generate-resource-plan

Generates a resource allocation plan for an IT project during the planning phase (Phase 2).
Reads the project plan (phase durations) and team list (roles, FTE, rates), builds a
role-by-phase FTE matrix with person-month totals and cost estimates (when rates are
available). Output: `resource-plan.md` — the primary input for generate-budget. Mode B:
agent prepares draft, PM reviews.

---

## Triggers

**Russian:** «составь ресурсный план», «распредели ресурсы по проекту», «кто и когда работает», «ресурсный план проекта», «загрузка команды по фазам», «ресурсы на проект»
**English:** "generate resource plan", "resource allocation plan", "create resource plan", "team allocation by phase", "staffing plan", "who works when", "resource plan"

---

## Language Detection

Determine the language of the user's request:
- If the request is in Russian → use templates with the `-ru` suffix, respond in Russian
- Otherwise → use templates with the `-en` suffix, respond in English

---

## Input

| Data | Required | Source |
|------|:--------:|--------|
| Project plan | yes | `02-planning/project-plan.md` |
| Team list | yes | `input/team-list.md` |
| Project charter | no | `01-initiation/project-charter.md` — project name, PM, GTM scope |
| Preliminary estimate | no | `01-initiation/preliminary-estimate.xlsx` — aggregated team costs by phase (fallback) |
| Constraints | no | `input/constraints.md` — resource or headcount constraints |

---

## Output

| File | Project path | Format |
|------|-------------|--------|
| `resource-plan.md` | `02-planning/` | .md |

File structure — 4 sections (Internal Team, Allocation Matrix, External Resources, Summary)
— defined in `templates/resource-plan-{lang}.md`.

---

## Instructions

### Step 1 — Check Dependencies

**Guard-rail — check request type.**
If the request contains language related to budget calculation, cost totals, contingency
reserves, financial planning, or total project cost — even alongside a resource plan
request — respond:
"generate-resource-plan creates a role-by-phase allocation matrix, not a budget.
For the project budget use generate-budget (task #9) — it reads resource-plan.md
and produces project-budget.xlsx. Run generate-resource-plan first, then generate-budget."
Do not start the workflow.

If the request is about task decomposition, sprint planning, or WBS → respond:
"generate-resource-plan shows who is allocated at what FTE per phase, not a task breakdown.
For task-level planning use generate-project-plan."
Do not start the workflow.

Check for required files:
1. `02-planning/project-plan.md`
2. `input/team-list.md`

**If project-plan.md is not found:**
Stop. Respond:
"A project plan is required to generate the resource plan. Run generate-project-plan
(task #7) first — it defines phases, durations, and key activities that drive
resource allocation."

**If team-list.md is not found:**
Stop. Respond:
"A team list is required to generate the resource plan. Create input/team-list.md with
roles, team members, and FTE allocation per phase, then run this skill again."

**If both files are found:** proceed to Step 2.

---

### Step 2 — Extract Phase Data from project-plan.md

Read `02-planning/project-plan.md` and extract:

- List of phases (Phase 1 through Phase 6, or as defined in the plan)
- Duration of each phase (in weeks; convert to months: weeks / 4.3, round to 1 decimal)
- Key activities per phase — used to infer which roles are active
- Project name and PM (if present) — also check project-charter.md

Record the phase list and durations. This is the column structure for the allocation matrix.

---

### Step 3 — Extract Team Data from team-list.md

Read `input/team-list.md` and extract:

**Internal team (штатные / permanent):**
- Role, name, grade
- FTE allocation: use the percentage from team-list.md as the base allocation
  - If allocation is given as a single number for the whole project (e.g., "80%") →
    apply it uniformly across all phases where the role is active
  - If allocation varies by phase or period → record phase-specific values
- Rates:
  - If rates are given ($/month or ₽/month) → record for cost calculation
  - If rates are "—" or marked as штат/operational budget → record as "—",
    add note in assumptions: "Internal team salaries are included in the company's
    operational budget and are not reflected in the project budget."

**External resources (contractors, outsource):**
- Role, vendor/name, engagement period, budget (fixed sum), scope of work
- Map the engagement period to phases from Step 2

**From constraints.md (if available):**
- Any headcount limits, FTE caps, or team availability constraints → record in Assumptions.

---

### Step 4 — Build the Allocation Matrix

Construct the FTE allocation matrix: rows = roles, columns = phases.

For each role × phase combination:
1. Is the role active in this phase?
   - If project-plan.md or team-list.md explicitly states the phase → use it
   - If not explicitly stated: use the general project FTE from team-list.md, assume the
     role is active in phases where the key activities match the role's competency
   - PM / Project Manager is active across all phases at their stated FTE
2. Record FTE % per phase (e.g., 0.5 = 50%, 1.0 = 100%, 0 = not active)
3. Calculate person-months: `p-m = FTE × phase_duration_months`
   - Round to 1 decimal place
4. If rate is available: calculate `phase_cost = p-m × rate`

Row totals: sum of person-months across all phases for each role.
Column totals: sum of person-months across all roles for each phase.

---

### Step 5 — Compile Assumptions and Risk Notes

Write the Assumptions section (minimum 3 items):
1. Data source for phase durations (project-plan.md, which phase structure was used)
2. FTE allocation logic (uniform vs phase-specific; basis for inference if used)
3. Rate handling: "Rates taken from team-list.md" OR "Internal team on operational budget
   — cost columns left blank. External resources: contract amounts as stated in team-list.md"
4. Any phase-allocation assumptions made by the agent (e.g., "QA assumed active in
   phases 3–5 based on testing activities in project-plan.md")
5. If preliminary-estimate.xlsx was used as a fallback for aggregated team cost → state it

**Resource risks (if detected):**
- Any role allocated at 100% across multiple overlapping phases → flag as overallocation risk
- Any role that is the only resource in a critical competency area (e.g., sole developer,
  sole designer) and is heavily loaded (≥80% FTE) across all phases → flag as
  single-point-of-failure risk
- Critical path roles (e.g., sole developer) allocated below 50% on key phases → flag
- External resource engagement not aligned with phase dates → flag

---

### Step 6 — Create resource-plan.md and Save

Follow the schema in `templates/resource-plan-{lang}.md`:

1. Create `resource-plan.md` in `{project}/02-planning/`.
2. Show in chat:
   - Confirmation: "resource-plan.md saved to 02-planning/."
   - Allocation matrix as a markdown table (Section 2 summary).
   - List of assumptions.
   - Resource risk flags (if any).
   - Next step: "Resource plan is ready. Review FTE allocations and correct if needed.
     Once approved, use generate-budget (task #9) — it reads this file to calculate
     the project budget."
3. Write to `logs/log.md`: date, skill, file created, total person-months, rate coverage
   (e.g., "rates available for 2/5 roles").
4. Update `project-state.md`: artifact `resource-plan.md` status → "draft".

---

## Templates

| File | Purpose |
|------|---------|
| `templates/resource-plan-ru.md` | Artifact schema (RU) |
| `templates/resource-plan-en.md` | Artifact schema (EN) |

---

## Dependencies

**Reads:**
- `02-planning/project-plan.md` — phases, durations, key activities
- `input/team-list.md` — roles, FTE allocation, rates, external resources
- `01-initiation/project-charter.md` — project name, PM, GTM scope
- `01-initiation/preliminary-estimate.xlsx` — aggregated team costs (optional fallback)
- `input/constraints.md` — resource constraints (optional)

**Passes data to:**
- `generate-budget` (#9) — FTE, rates, person-months per phase → cost calculation

---

## Constraints

- Mode B: resource plan is a draft for PM review, not a final document
- Does not build a task schedule or WBS — use generate-project-plan
- Does not calculate the project budget — use generate-budget
- FTE values are taken from team-list.md; the skill does not validate them against
  calendar capacity or workday availability
- Internal team rates marked "—" are left blank in cost columns — this is intentional
- Operates on one project per invocation
- If project-plan.md is unavailable — skill does not run; no fallback

Files in this skill

  • SKILL.md9.7 KB
  • templates/resource-plan-en.md3.9 KB
  • templates/resource-plan-ru.md5.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.