Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add KirKruglov/claude-project-manager --skill generate-plan-fact-reportgit clone --depth 1 https://github.com/KirKruglov/claude-project-managerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kirkruglov/claude-project-manager/generate-plan-fact-report)<a href="https://agentmods.dev/skills/kirkruglov/claude-project-manager/generate-plan-fact-report"><img src="https://agentmods.dev/badge/skills/kirkruglov/claude-project-manager/generate-plan-fact-report/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kirkruglov/claude-project-manager/generate-plan-fact-report"><img src="https://agentmods.dev/badge/skills/kirkruglov/claude-project-manager/generate-plan-fact-report.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00112 | $0.03567 |
| Opus 5 | $0.00056 | $0.01784 |
| Sonnet 5 | $0.00022 | $0.00713 |
| Haiku 4.5 | $0.00011 | $0.00357 |
Grade A, and why
generate-plan-fact-report scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
98% identical to generate-plan-fact-report — 12 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 260 lines — stays where its author put it; the contents beside it link to each section on GitHub.
generate-plan-fact-report
Language Detection
Determine the language of the user's request:
- If the request is in Russian → use templates with
-rusuffix - Otherwise → use templates with
-ensuffix
All output (headings, labels, comments, instructions) must match the detected language.
Triggers
Russian: «сформируй план-факт», «подготовь отчёт план/факт», «сравни план и факт» English: "generate plan-fact report", "plan vs actual", "variance report"
1. Input Data
| Data | Required | Source | Notes |
|---|---|---|---|
| Project plan | yes | knowledge (project-plan.md) |
Milestones, timelines, budget. If budget is missing — Section 3 is not generated |
| Actual data | yes | chat | User provides: actual milestone completion dates, actual costs by budget line, deliverable status. Free-form — agent structures it |
| Project charter | no | knowledge (project-charter.md) |
For deliverables list (Section 1, scope). If unavailable — request the list from the user |
| Report type | no | chat | interim (default) or final. Affects header label only — logic is identical |
If required data is missing — request it:
To generate the plan-vs-actual report, the following are needed:
1. Project plan (project-plan.md) — in knowledge or paste into chat.
2. Actual data — in any format:
— milestone completion dates (completed, not completed, actual date);
— actual costs by budget line;
— which deliverables have been delivered and which have not.
Available: [list what is present].
Missing: [specify].
2. Execution Algorithm
- Check input data. Verify project plan and actual data are present. Missing → request using the template in §1. Do NOT generate a placeholder report. Present → proceed to step 2.
- Structure actual data. If free-form — organize across three dimensions: timelines (milestone dates), budget (costs by line), scope (deliverables). Note ambiguities and clarify with the user.
- Check for data conflicts. If plan data in chat conflicts with
project-plan.md— do NOT resolve independently. List the conflicts and ask which data is current. Exception: if the user explicitly corrects the plan in chat — apply the correction. - Determine report period. From actual data: project start → date of last recorded fact. If the user specified a period explicitly — use it.
- Read the template
plan-fact-report-ru.mdorplan-fact-report-en.mdfrom project knowledge (based on detected language). - Extract planned data from
project-plan.md: milestones with dates, budget lines with amounts, deliverables list. - Compare plan vs. actual. For each row: calculate variance (absolute and %), assign status per §3 reference table.
- Fill template sections per Section 3 rules.
- Evaluate whether Section 4 is needed. Check statuses for all three dimensions independently: Timelines, Budget, Scope. Scope is a full dimension equal to timelines and budget. If at least one of the three has status
attentionorcritical(including scope with incomplete deliverables) → fill Section 4. Only if all three areon track→ remove Section 4 entirely. - Validate the result using the checklist in Section 5.
- Present the result in chat:
- What was done: "Plan-vs-actual report generated for period [dates] based on [list sources]."
- Assumptions: list all (if any).
- Key variances: brief (1–3 lines) — main discrepancies and their statuses.
- Required action: "Approve, revise, or reject."
- Do not include internal file paths. Filename only: "Report saved as plan-fact-report.md."
- Wait for user response.
- Approval → finalize the document.
- Revisions → revise and present updated version. After the 3rd iteration — ask: "Continue revising or lock current version?"
- After approval:
- Offer the user text for
log.mdandproject-state.md. - Always notify, regardless of report type and variance statuses: "Plan-vs-actual report approved. Next task available: generate-closure-report (project closure report). Start?"
- Offer the user text for
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 260 lines · 112 tokens per session scan A 42dd98b04f1e
generate-plan-fact-report is a skill published in the GitHub repository KirKruglov/claude-project-manager (6 stars, last pushed 4mo ago), licensed MIT. It adds 112 tokens to every session and 3,567 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to generate-plan-fact-report, differing in 12 lines, and is treated as a copy.
Other skills, from other repositories
litigation-workflow
Civil litigation workflow expertise — case management, deposition prep, evidence chain, and Federal Rules of Evidence.
construction-management
Estimating, scheduling, building codes, safety protocols, permitting, and project controls.
stakeholder-communication
Owner reports, subcontractor coordination, RFI responses, and meeting documentation.
run-team-retrospective
Use when a team needs to reflect on a completed period, project, or significant event — to extract what worked, what didn't, and what specific changes to make before the next cycle, rather than repeating the same patterns.
project-manager
This skill has been upgraded with agentic AI capabilities, OKR/KPI integration patterns, and async-first workflows based on 2026 PM best practices research.
github-project-management
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning.