Stakeholder engagement plan
Skill kenmulford/PMSkills/skills/stakeholder-engagement-plan
Generate a Project+ style Stakeholder Engagement Plan as a .docx, with a stakeholder register, power/interest grid, current-vs-desired engagement levels, and a communication plan per stakeholder. Use whenever a user needs to plan how to manage, communicate with, or influence project stakeholders — triggers include "stakeholder engagement plan", "stakeholder register", "stakeholder analysis", "power/interest grid", "communication plan", "stakeholder management", "SEP". Enforces Project+ engagement-level vocabulary and prevents fabrication of stakeholders, positions, or concerns.From its SKILL.md
npx -y skills add kenmulford/PMSkills --skill stakeholder-engagement-planAssembled 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
3.8 KB, 840 tokens by cl100k_base, as published. Nobody here has run it
Stakeholder Engagement Plan
Generate a Project+ SEP .docx. Draft-first. Only interview if the user explicitly asks.
Hard rules
- Never invent stakeholders, positions, or concerns. Unknown →
[TBD — reason]. Do not paraphrase "skeptical about the budget" into "concerns about budget overrun" — those are different claims. If the user said "skeptical," write "skeptical." Fabricated concerns become fabricated comms pitched at problems the stakeholder never raised. - Reporting-line managers are NOT stakeholders. "Noor reports to Elena" → Elena does NOT get a row unless the user separately described her as someone the project needs to engage. The sponsor IS a stakeholder by definition. Check every row before running the script.
- Do NOT invent stakeholders from project description keywords. "Finance dashboard project" does NOT create a "Finance Team" stakeholder. "Auth service" does NOT create a "Security Team". Only add rows for people/groups the user explicitly named as needing to be informed, influenced, or consulted.
- Engagement levels are a controlled vocabulary. Use only
Unaware | Resistant | Neutral | Supportive | Leading. No "Skeptical" or "Enthusiastic". Each stakeholder gets acurrentanddesiredlevel. - Group "the X team" as one row rather than inventing individuals. "Security team approves" → one row "Security Team", not 3 invented engineers.
- Quadrants:
Manage Closely(hi power/hi interest),Keep Satisfied(hi/lo),Keep Informed(lo/hi),Monitor(lo/lo). Must match stated power + interest — don't contradict.
Run it
python3 scripts/create_sep.py --output "<dir>/<ProjectName>_Stakeholder_Engagement_Plan_v1.docx" <<'JSON'
{ ...schema... }
JSON
Script handles formatting, Draft Gaps callout, power/interest grid, engagement matrix, comms plan, and open_questions.md when TBDs ≥ 5.
JSON schema
{
"header": {
"project_name": "string",
"project_manager": "string or [TBD]",
"sponsor": "string or [TBD]",
"date": "YYYY-MM-DD",
"version": "v1"
},
"stakeholders": [
{
"name": "string or [TBD]",
"role_or_title": "string or [TBD]",
"organization": "string or [TBD]",
"interest": "what they care about (1–2 sentences) or [TBD]",
"power": "High | Medium | Low | [TBD]",
"interest_level": "High | Medium | Low | [TBD]",
"quadrant": "Manage Closely | Keep Satisfied | Keep Informed | Monitor | [TBD]",
"current_engagement": "Unaware | Resistant | Neutral | Supportive | Leading | [TBD]",
"desired_engagement": "Unaware | Resistant | Neutral | Supportive | Leading | [TBD]",
"concerns_or_risks": "string or [TBD]",
"communication": {
"frequency": "string or [TBD]",
"channel": "string or [TBD]",
"message_type": "string or [TBD]",
"owner": "string or [TBD]"
}
}
]
}
Stakeholders may be empty. Any string may be [TBD — reason]. Keep prose fields ≤ 2 sentences.
Before running the script, for every specific rating, concern, or comms detail ask: can I point to a verbatim phrase in the user's message? If not, replace with [TBD].
What ships with it: 2 files
16.8 KB alongside SKILL.md, 1 of them executable
evals/
- evals.json2.9 KB
scripts/
- create_sep.pyruns13.9 KB
Gives 0 of the 12 instructions most operations skills give in 840 tokens
Counted across 483 of the 484 authors here whose files we hold, read 2026-08-07
- Collect monitoring data throughout the simulationin 14 of 483, across 6 files
- Set the random seed for reproducibilityin 14 of 483, across 6 files
- Validate simulations against analytical solutionsin 12 of 483, across 4 files
- Clarify goals, constraints, and inputsin 11 of 483, across 2 files
- Implement contract tests for integration pointsin 11 of 483, across 2 files
- Implement strangler fig infrastructure with API gatewayin 11 of 483, across 2 files
- Audit modernized components for security vulnerabilitiesin 11 of 483, across 2 files
- Avoid Python blocking calls in processesin 10 of 483, across 3 files
- Use resource context managers for automatic cleanupin 9 of 483, across 2 files
- Maintain consistent time unitsin 9 of 483, across 2 files
- Validate outcomes against success criteriain 8 of 483, across 1 file
- Analyze the legacy codebase for technical debtin 8 of 483, across 1 file
Said here and by no other author read
- Generate a Project+ style stakeholder engagement plan .docx
- Draft the document first
- Interview only if explicitly requested
- Use [TBD — reason] for unknown stakeholder details
- Use the exact engagement level vocabulary
- Group teams as one row
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.