agentsclimarketplace

Status report

Skill kenmulford/PMSkills/skills/status-report

Generate a Project+ style weekly project status report as .docx — executive summary, RAG with trend vs prior week, accomplishments, upcoming, risks vs issues (distinguished), asks, metrics, and dependencies. Use whenever a user needs to produce a status report, weekly update, steering committee update, stakeholder update, or "where are we" document. Triggers include "status report", "weekly status", "exec update", "sponsor update", "RAG status", "this week's update". Enforces never-invent discipline and structural consistency across reporting weeks so stakeholders can scan the same sections in the same order every time.From its SKILL.md

Install
npx -y skills add kenmulford/PMSkills --skill status-report

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

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 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.

SKILL.md

6.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Status Report

Draft-first: parse what the user gave, fill the schema, run the script. Only interview if the user explicitly asks.

Why this skill exists

Status reports live or die by consistency. The value isn't in the single-week artifact — it's that every week has the same sections in the same order, the same RAG scale, and an explicit trend comparison vs the prior week. Unskilled baselines drift: they reorder sections, rename "Risks" to "Concerns," forget to compare RAG week-over-week, and silently convert the user's exact metrics into rounded percentages. This skill nails the format to the wall.

Hard rules

  1. Never invent. Accomplishments, upcoming work, risks, issues, metrics, asks, dependencies — if the user didn't say it, it's not in the report. No [TBD] filler either; an empty section is correct if nothing happened.
  2. Never assign a RAG color. If the user did not say Green/Yellow/Red, the RAG cell is [TBD — PM to assign]. Do not infer.
  3. Trend only with a prior baseline. Show ↑ improving, ↓ declining, → stable ONLY if the user provided previous_rag or prior-week context. Otherwise show — no prior baseline. Do not guess.
  4. Risks vs Issues are different sections. Per Project+: a risk is a potential future event; an issue is happening now. Don't collapse them. If the user says "X is slowing us down right now," that's an issue. If they say "X might slip later," that's a risk.
  5. Preserve exact user wording for metrics and counts. "6 of 40 confirmed" stays "6 of 40 confirmed" — do NOT compute "15%". "Ahead of schedule" stays as text, not a fabricated "+3 days."
  6. Reporting-line managers never appear. If the user says "Aisha reports to Raj," Raj is not in the report. Full stop.
  7. Section order is fixed. Header → Executive Summary → RAG + Trend → Metrics (if any) → Accomplishments → Upcoming → Risks → Issues → Asks → Dependencies → Appendix (Draft Gaps if any). Same order every week. Do not editorialize the ordering.
  8. Asks have an owner and a needed-by. If either is missing, mark that field TBD — but keep the ask in the report.
  9. Fidelity pass. For every sentence in accomplishments/upcoming/risks/issues/asks/metrics, cite a verbatim phrase in the user's message. If you can't, leave the slot empty.

Run

python3 scripts/create_status.py --output "<dir>/<ProjectName>_Status_<week>.docx" <<'JSON'
{ ...schema... }
JSON

Script produces a .docx with the fixed section order, a RAG badge, a trend arrow when possible, and an Appendix listing any TBD items. Emits open_questions.md when gaps ≥ 5.

JSON schema

{
  "header": {
    "project_name": "string",
    "project_manager": "string or [TBD]",
    "sponsor": "string or [TBD]",
    "week_ending": "YYYY-MM-DD",
    "version": "v1"
  },
  "rag": "Green | Yellow | Red | [TBD — reason]",
  "previous_rag": "Green | Yellow | Red or null",
  "executive_summary": "string (1-2 sentences) or [TBD]",
  "metrics": [
    {"name": "string", "value": "string — user's verbatim wording", "target": "string or empty"}
  ],
  "accomplishments": ["string — user's words"],
  "upcoming": ["string"],
  "risks": [
    {"risk": "string", "status": "Open | Mitigating | Closed", "mitigation": "string or [TBD]"}
  ],
  "issues": [
    {"issue": "string", "owner": "string or [TBD]", "impact": "string or [TBD]"}
  ],
  "asks": [
    {"ask": "string", "owner": "string or [TBD]", "needed_by": "string or [TBD]"}
  ],
  "dependencies": ["string"]
}

Notes:

  • metrics[i].value is a STRING, not a number. "6 of 40 confirmed" goes in verbatim. Do not convert to percentage.
  • previous_rag is null if the user didn't reference last week. The script handles the trend rendering.
  • Empty arrays are valid and preferred over fabricated filler.

Worked example

User: "Weekly status for ServiceNow migration. Ken PM, reporting Priya. RAG yellow — last week was green. Field mapping complete ahead of schedule. Jen started ETL. Taylor drafted deck. Salesforce integration still has no owner, escalated to Priya, no reply yet. Ask: need owner confirmation by Friday. Upcoming: Jen continues ETL, Taylor runs workshop 1, mock cutover dry-run Tuesday."

Correct JSON:

{
  "rag": "Yellow",
  "previous_rag": "Green",
  "accomplishments": [
    "Field mapping complete ahead of schedule",
    "Jen started ETL",
    "Taylor drafted the training deck"
  ],
  "upcoming": ["Jen continues ETL", "Taylor runs workshop 1", "Mock cutover dry-run Tuesday"],
  "risks": [],
  "issues": [
    {"issue": "Salesforce integration has no owner", "owner": "[TBD]", "impact": "Escalated to Priya, no reply yet"}
  ],
  "asks": [
    {"ask": "Confirm Salesforce integration owner", "owner": "Priya Patel", "needed_by": "Friday"}
  ]
}

Note: Salesforce-no-owner is an issue (happening now), not a risk. RAG went Green → Yellow = ↓ declining. Do NOT invent a percentage for "ahead of schedule." Do NOT add filler accomplishments.

Grounding (Project+)

Status reports are the primary communication artifact to stakeholders. Project+ distinguishes risks (potential events that may occur) from issues (events that have occurred and are impacting the project). RAG (Red/Amber/Green) is the standard health indicator. Trend reporting (whether health is improving/declining vs the last period) is what makes status useful over time — a single Yellow is context-free; a Green→Yellow transition is a signal. This skill enforces that discipline structurally so PMs don't have to re-invent the format each week.

What ships with it: 2 files

13.9 KB alongside SKILL.md, 1 of them executable

evals/

scripts/

Gives 0 of the 12 instructions most docs writing skills give in ~1.5k tokens

Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-07

  • Announce the skill at startin 54 of 1637, across 26 files
  • Convert legacy doc files before editingin 45 of 1637, across 7 files
  • Predict questions readers might askin 42 of 1637, across 4 files
  • Generate clarifying questions for initial contextin 42 of 1637, across 3 files
  • Create document scaffold with placeholder textin 42 of 1637, across 3 files
  • Brainstorm content options for each sectionin 42 of 1637, across 3 files
  • Test the document with a fresh context-less instancein 42 of 1637, across 3 files
  • Include exact file paths in every taskin 42 of 1637, across 15 files
  • Ask interview questions one at a timein 42 of 1637, across 27 files
  • Apply surgical edits during refinementin 41 of 1637, across 2 files
  • Offer structured workflow or freeformin 40 of 1637, across 1 file
  • Ask for document meta-contextin 40 of 1637, across 2 files

Said here and by no other author read

  • parse provided inputs before interviewing
  • run the script to produce the docx
  • never invent report content
  • leave empty sections blank
  • do not assign a rag color without input
  • show trend only with prior baseline

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,512. 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.