Wbs
Generate a Project+ style Work Breakdown Structure (WBS) as a .xlsx, decomposing project deliverables into a hierarchy of work packages with codes, owners, effort estimates, and durations. Use whenever a user needs to break a project into plannable chunks — triggers include "WBS", "work breakdown structure", "work packages", "project decomposition", "break down the project", "deliverables hierarchy", "scope decomposition", or any context where a PM is turning a charter into plannable work. Enforces Project+ WBS conventions (100% rule, 8–80 hour work packages, hierarchical numbering) and prevents fabrication of work packages, owners, or estimates the user never stated.From its SKILL.md
npx -y skills add kenmulford/PMSkills --skill wbsAssembled 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
4.6 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Work Breakdown Structure (WBS)
Draft-first: parse what the user gave, fill the schema, run the script. Only interview if the user explicitly asks.
Hard rules
- Never invent. Any deliverable, work package, owner, effort, or duration the user did not state →
[TBD — reason]. The WBS is load-bearing for schedule/budget; fabrication anchors bad decisions. - 100% rule. Children fully describe the parent — nothing missing, nothing extra. Don't add a 4th child just because a typical project has one.
- Work packages = 8–80 hours, one owner. Level 1 = project. Level 2 = phases or major deliverables (use whichever the user used — do not invent "Initiate/Plan/Execute/Close"). Level 3+ = work packages. If the user hasn't decomposed that far, stop at level 2 and mark level 3
[TBD]. - Hierarchical codes. Dotted:
1,1.1,1.1.1. The script indents by code depth. - Use the user's exact wording for deliverables. "agent training" → "Agent training", not "Training Program Development".
- Reporting-line managers are not owners. If the user named someone only as a boss ("Aisha reports to Raj"), Raj does not appear anywhere. Same rule as team-roster.
- Preserve numeric imprecision. "About 2 weeks" →
[TBD — user said ~2 weeks], not80. "About a month" →[TBD — user said ~1 month, exceeds 80-hr rule], not160. - Fidelity pass before running. For every hour count, day count, owner, or dep in your JSON, point to a verbatim phrase in the user's message. If you can't, replace with
[TBD].
Run
python3 scripts/create_wbs.py --output "<dir>/<ProjectName>_WBS_v1.xlsx" <<'JSON'
{ ...schema... }
JSON
Script handles indentation, rollups, TBD highlighting, Draft Gaps sheet, Work Package Summary, Integrity Issues sheet, and open_questions.md when gaps ≥ 5.
JSON schema
{
"header": {
"project_name": "string",
"project_manager": "string or [TBD]",
"sponsor": "string or [TBD]",
"date": "YYYY-MM-DD",
"version": "v1"
},
"elements": [
{
"code": "1",
"level": 1,
"name": "string",
"type": "Project | Phase | Deliverable | Work Package",
"description": "string or [TBD]",
"owner": "string or [TBD]",
"effort_hours": "number or [TBD]",
"duration_days": "number or [TBD]",
"dependencies": "comma-separated codes or [TBD] or empty"
}
]
}
- Flat array;
codeencodes hierarchy. Script sorts by code and indents by level. - Effort/duration only required on Work Packages (types Project/Phase/Deliverable roll up from children automatically).
- Work package
effort_hoursmust be 8–80. Translate "a month" →[TBD — exceeds 80-hr rule, needs decomposition], not 160.
Worked example
User: "ServiceNow migration has three pieces: ticket migration (Marcus's team, ~1 month), agent training (Taylor running workshops, ~2 weeks), and Salesforce+Slack integrations (owners TBD). I'm Ken, PM."
Correct:
1 ServiceNow Migration Project level 1
1.1 Ticket migration Deliverable level 2, Marcus Chen, [TBD — ~1 month exceeds 80-hr rule]
1.2 Agent training Deliverable level 2, Taylor Kim, [TBD — ~2 weeks]
1.3 Salesforce integration Deliverable level 2, [TBD]
1.4 Slack integration Deliverable level 2, [TBD]
Do NOT invent level-3 packages ("Map ticket fields", "Write migration scripts") the user didn't name. Do NOT add phases the user didn't use. Do NOT convert "about a month" to 160h.
Grounding (Project+)
WBS = deliverable-oriented decomposition; lowest level is work packages (estimable, manageable). 100% rule = captures all deliverables, internal+external+interim. Work packages sized 8–80 hours. Hierarchically coded. The script enforces columns, indentation, rollups, and integrity checks.
What ships with it: 2 files
22.3 KB alongside SKILL.md, 1 of them executable
evals/
- evals.json3.1 KB
scripts/
- create_wbs.pyruns19.1 KB
Gives 0 of the 12 instructions most task breakdown skills give in ~1.0k tokens
Counted across 221 of the 230 authors here whose files we hold, read 2026-09-06
- Write acceptance criteria for every taskin 32 of 221, across 30 files
- Add checkpoints every two to three tasksin 18 of 221, across 16 files
- Schedule high-risk tasks earlyin 16 of 221, across 14 files
- Slice work vertically into complete feature pathsin 16 of 221, across 14 files
- Include verification steps in every taskin 15 of 221, across 13 files
- Map dependencies between componentsin 14 of 221, across 12 files
- Get human approval before implementingin 14 of 221, across 12 files
- Enter read-only plan mode before writing codein 10 of 221
- Read the spec and codebase before planningin 9 of 221, across 7 files
- Map the dependency graph before ordering tasksin 8 of 221
- Break any task touching more than five filesin 8 of 221
- List each task's dependenciesin 7 of 221
Said here and by no other author read
- Mark every unstated value as [TBD] with a reason
- Make children fully describe their parent
- Size work packages 8-80 hours with one owner
- Use dotted hierarchical codes like 1.1.1
- Use the user's exact wording for deliverables
- Stop at level 2 if the user hasn't decomposed further
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.