Add organisational-dysfunction skill - #95
sorensensig wants to merge 25 commits into
Conversation
Adds a skill that diagnoses recurring organisational and team dysfunctions through open sociotechnical systems theory (the DP1 top-down vs DP2 self-managing distinction). A router SKILL.md carries the shared lens and an index of 59 named dysfunctions; each references/NN-*.md gives how it shows up, the sociotechnical diagnosis, and concrete remedies. The 59 dysfunctions originate from Trond Hjorteland's "Organisational Dysfunction of the Day" series; content is synthesised/paraphrased (not copied) and each reference links its source post. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…(stop GitHub auto-linking #N to PRs)
- `#63` The leadership team that isn't — a leadership "team" that is really serial reporting to the CEO, with no goals none of them can reach alone. - `#64` The code review that became personal — a recurring two-person conflict read as a personality clash, produced by a structure that makes critique a status contest. Both synthesised through open sociotechnical systems theory from Trond Hjorteland's "Organisational Dysfunction of the Day" series, following the same authoring guide as the existing entries; paraphrased, never copied. SKILL.md is synced with upstream: the router carries no kihub-specific content, and the diff is exactly the reference count (62 -> 64) plus the two new index entries. The kihub-specific README is untouched apart from appending its 0.4.0 changelog entry — its install instructions still point at Altinn/kihub. `npm run skill:validate` passes: all 3 skills valid.
|
Flagging the obvious about this PR, since it now predates a significant change on This branch was opened on 2026-07-01 against the previous repository layout, where contributed skills lived in
So this PR contributes content to a repo that deliberately no longer holds it, and the Intent: re-target this contribution to Until then the branch is kept current with upstream (it's at 64 dysfunctions as of today) so it's ready to move across rather than needing a rebuild. No review effort is warranted on it in the meantime, and no action is needed from maintainers. One thing that would help when the time comes: a pointer to |
- `#65` The facilitator's toolkit — treating facilitation technique as the variable when the constraint is the authority the room actually holds. Synthesised through open sociotechnical systems theory from Trond Hjorteland's "Organisational Dysfunction of the Day" series, following the same authoring guide as the existing entries; paraphrased, never copied. SKILL.md synced with upstream: the diff is the reference count (64 -> 65) plus one index entry. The kihub-specific README is untouched apart from its 0.5.0 changelog entry. `npm run skill:validate` passes: all 3 skills valid.
Propagates "Everything is fine" from the upstream series: status stays green all the way up because each hop softens bad news and the level above cannot act on it anyway. - references/66-everything-is-fine.md added - SKILL.md synced with upstream (index entry + reference count 65 -> 66) - skill README changelog entry 0.6.0; kihub-specific install paths untouched - npm run skill:validate passes (3/3 skills valid) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds the reference merged into sorensensig/ai-corner-store main since the last propagation, keeping this contribution branch current with upstream. - references/67-the-it-business-divide.md (new) — shared ceremonies and embedded engineers, but roadmap, technical decisions and budgets still sit apart, so only the CEO integrates them. - SKILL.md synced with upstream (router carries no kihub-specific content): index line for no. 67, reference count 66 -> 67. - skills/organisational-dysfunction/README.md: dated changelog entry only. Its kihub-specific install/use instructions are deliberately untouched. npm run skill:validate passes (3/3 skills valid). npm run build deliberately NOT run — it regenerates docs/README.skills.md from this branch's superseded architecture. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds references/68-the-bureaucracy-that-became-the-work.md ("The
bureaucracy that became the work"), bringing the skill to 68
dysfunctions.
- SKILL.md synced with upstream: index line for no. 68 added under its
theme heading and the reference count updated 67 -> 68. The router
carries no kihub-specific content, so it is copied wholesale.
- skills/organisational-dysfunction/README.md: dated Changelog entry
only (0.8.0 - 2026-08-10). kihub's own install/use instructions are
left untouched.
- npm run skill:validate passes (all 3 skill folders valid).
Propagated by the org-dysfunction-watcher pipeline from
sorensensig/ai-corner-store main.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Propagated from sorensensig/ai-corner-store main (68 -> 69 dysfunctions). - references/69-playing-politics.md — new: informal influence as a structural output of concentrated authority plus contested scarce resources; Herbst on bureaucracies being unable to function without the informal practices that grow inside them. - SKILL.md — synced with source: index line under "Leadership, power & decisions", reference count 68 -> 69. - README.md — kihub-local file, install paths untouched: appended changelog 0.9.0, and corrected the two stale prose counts (59 -> 69) that had drifted since the initial contribution. npm run skill:validate: passed (3/3 skills valid). npm run build deliberately not run — it regenerates docs/README.skills.md from this branch's superseded architecture.
Propagated from sorensensig/ai-corner-store main (organisational-dysfunction/skills/organisational-dysfunction/). - references/70-the-blind-decision.md added (69 -> 70 references). - SKILL.md synced with upstream: index line for no. 70 under its theme heading, and the "The N reference files" count corrected 69 -> 70. - README.md: dated changelog entry 0.10.0 and the two prose counts corrected 69 -> 70. kihub-specific install paths and clone URL left untouched. npm run skill:validate passes (3/3 skills valid). Deliberately did NOT run npm run build — it regenerates docs/README.skills.md from this branch's superseded architecture.
Reconciles this branch with sorensensig/ai-corner-store main, which now carries 72 references. Two were missing here: - no. 71 "The values on the wall" - no. 72 "Hired from above" Also synced the router SKILL.md from upstream (index lines for both new entries plus the reference-count sentence, 70 -> 72). The router carries no kihub-specific content, so it is copied wholesale. The kihub-local README keeps its own install paths and clone URL untouched; only the two stated dysfunction counts (70 -> 72) and a new dated changelog entry (0.11.0) were changed. npm run skill:validate passes (all 3 skill folders valid).
Propagates the reference merged into sorensensig/ai-corner-store main since the last update on this branch: - references/73-what-the-war-room-proves.md — incident mode grants the team full authority and works; the same decision takes days once nothing is on fire, which shows the constraint was never capability. SKILL.md synced with the upstream router (index line for no. 73, reference count 72 -> 73). README.md changelog entry added and its dysfunction count corrected 72 -> 73; kihub-specific install paths left untouched. npm run skill:validate passed (3/3 skills valid).
Adds references/74-matrices.md, propagated from sorensensig/ai-corner-store main where it was merged as part of the organisational-dysfunction release. SKILL.md synced with upstream (index entry for no. 74 under Leadership, power & decisions; reference-file count 73 -> 74). The kihub-specific README keeps its own install paths and clone URL; only its dysfunction count (73 -> 74) and a dated changelog entry were touched. npm run skill:validate passes (all 3 skills valid). Per the upstream runbook, npm run build was deliberately not run: it regenerates docs/README.skills.md from this branch's pre-restructure architecture and would deepen the standing conflict on a PR that is parked pending the ai-artifacts repository. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…vided for efficiency Adds references/75-divided-for-efficiency.md from upstream (a workshop splits into parallel groups to cover more ground, and afterwards nobody can recall what the other tables decided or why — suboptimisation applied to a conversation). SKILL.md synced with upstream: the new entry is indexed under Rituals & ceremonies, and the reference count corrected 74 -> 75. The kihub-specific skill README keeps its own install paths; only its dysfunction counts (74 -> 75) and a dated changelog entry (0.14.0) were updated. npm run skill:validate passes (all 3 skill folders valid).
…upstream Propagates the reference already merged into sorensensig/ai-corner-store main but missing here, keeping this contribution branch current with upstream while the PR is parked. - Added references/76-we-transformed-our-suppliers-didnt.md — the internal redesign worked, and then every request that leaves the building hits a vendor backlog or a ticket tier (DP2 org inside a DP1 ecosystem). - Synced SKILL.md with upstream main: index line under "Strategy, direction & environment" and reference count 75 -> 76. The router carries no kihub-specific content. - README.md: dysfunction count 75 -> 76 in both prose mentions, plus a dated 0.15.0 changelog entry. kihub's own install paths and clone URLs are deliberately untouched. `npm run skill:validate` passes (3/3 skills valid). `npm run build` was NOT run — it regenerates docs/README.skills.md from this branch's superseded architecture and would deepen a conflict that will not be resolved here. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…upstream Adds references/77-becoming-teal.md (Becoming Teal) from sorensensig/ai-corner-store main, bringing the skill to 77 dysfunctions. - SKILL.md synced with upstream router (index line for no. 77, count 76 -> 77). - kihub README.md: dysfunction count corrected to 77 in both places, dated changelog entry 0.16.0 added. kihub-specific install paths left untouched. - npm run skill:validate passes (all 3 skill folders valid). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Reconciliation run by the org-dysfunction-watcher loop against sorensensig/ai-corner-store main. - Added references/78-back-to-the-office.md - Synced SKILL.md with upstream (index line + reference count 77 -> 78); the router carries no kihub-specific content - kihub README: corrected the dysfunction count 77 -> 78 and appended a dated changelog entry. kihub's own install paths and clone URLs are deliberately left untouched. - npm run skill:validate passes (3/3 skills valid) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds references/79-the-adaptation-plan-nobody-owns.md, propagated from sorensensig/ai-corner-store main (release 0.19.0). AI coding assistants scaled across every team while the organisation's green-coding standards predate the technology, so the environmental consequence belongs to no function — read as Emery/Trist Type IV turbulence met with a DP1 planning instrument. SKILL.md synced with the upstream router (index line added, reference count 78 -> 79). The skill README's dysfunction count corrected to 79 and a dated changelog entry appended; all other kihub-specific content in that README (install paths, clone URL) left untouched. npm run skill:validate passes (all 3 skill folders valid). npm run build deliberately not run — it regenerates docs/README.skills.md from this branch's superseded architecture.
Catch-up propagation of five upstream entries that landed in sorensensig/ai-corner-store main since the last kihub sync (2026-08-26, no. 79). References added: - no. 80 When the glue leaves - no. 81 Loose in name only - no. 82 The wrong people in the room - no. 83 The wellness programme - no. 84 Deskilled by AI Router SKILL.md synced with upstream (index lines for the five new entries; the hard-coded reference count corrected 79 -> 84). The skill README's dysfunction count corrected in the same way and a dated changelog entry appended; all kihub-specific divergences in that file (install paths, clone URL, skills-guide link) left untouched. npm run skill:validate passes (all 3 skill folders valid). npm run build deliberately not run - it regenerates docs/README.skills.md from this branch's superseded architecture.
Catch-up propagation from sorensensig/ai-corner-store main (84 -> 88 references): - no. 85 The enterprise architect - no. 86 Removing management - no. 87 It took an outsider to say it - no. 88 The gates they removed Router SKILL.md synced with upstream (index lines for the four entries plus its reference count); the router carries no kihub-specific content, so it is taken wholesale. kihub's own skill README keeps its Altinn/kihub install paths untouched — only its dysfunction count (84 -> 88) and a dated changelog entry (0.20.0) are updated. npm run skill:validate passes (all 3 skills valid). npm run build was deliberately not run: it regenerates docs/README.skills.md from this branch's superseded architecture and would deepen an unresolvable conflict. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds `#89` **We need a resource** from the upstream series (88 -> 89 dysfunctions): staffing a person by a label on a profile and an open slot in a calendar, so the expertise the assignment actually needed never reaches it. - references/89-we-need-a-resource.md (new) - SKILL.md synced with upstream (index line + reference count) - README.md: dysfunction counts 88 -> 89, changelog entry 0.21.0. kihub-specific install paths and clone URLs left untouched. `npm run skill:validate` passes (3/3 skills valid). `npm run build` was deliberately not run - it regenerates docs/README.skills.md from this branch's superseded architecture. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Catch-up propagation of three upstream entries (89 -> 92 dysfunctions): - references/90-somebody-has-to-chase-it.md (new): the topology gave teams control but never designed the negotiation between them. - references/91-endless-alignment-meetings.md (new): syncs and steering updates fill the calendar because boundaries make coordination manual. - references/92-the-change-they-stopped-believing-in.md (new): repeated transformations that changed the vocabulary but never the design principle. - SKILL.md synced with upstream (three index lines + reference count). - README.md: dysfunction counts 89 -> 92, changelog entry 0.22.0. kihub-specific install paths and clone URLs left untouched. `npm run skill:validate` passes (3/3 skills valid). `npm run build` was deliberately not run - it regenerates docs/README.skills.md from this branch's superseded architecture. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
What
Adds a new skill,
organisational-dysfunction, that diagnoses recurring organisational and team dysfunctions through open sociotechnical systems theory — the DP1 (top-down bureaucracy) vs DP2 (self-managing teams) distinction.It uses Anthropic's progressive-disclosure pattern:
SKILL.md— the router: a practitioner persona, the shared DP1/DP2 lens stated once, and a themed index of all 59 dysfunctions.references/NN-*.md— one lean file per dysfunction: how it shows up → the sociotechnical diagnosis → what to do (structural fix vs. realistic local move), with cross-links.When it triggers
Team/org problems that are structural rather than personal: stuck decisions, hollow agile rituals (standups, retros, OKRs, DORA), disengagement, a "frozen middle", stalled transformations, AI dropped into a broken process — especially when symptoms get blamed on individuals, mindset, or "communication".
Attribution
The 59 dysfunctions originate from Trond Hjorteland's "Organisational Dysfunction of the Day" series. Content is synthesised and paraphrased (not copied) through the OST framing he uses, and each reference links its specific source post.
Validation
npm run skill:validate→ ✅ passes (organisational-dysfunction is valid)npm run build→ regenerateddocs/README.skills.md(included);marketplace.jsonunchanged (skill, not a plugin)skills/convention; it lives in the standalone repo: https://github.com/sorensensig/organisational-dysfunctionNotes
Skill only (no plugin wrapper) to match the existing
skills/convention. Happy to add aplugins/wrapper if the team would prefer it installable as a named plugin.