systemic-thinking
Skill409 starsChanged 34 days agoApache-2.0View on GitHub
Systemic Coherence and Risk Analysis
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 10 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
Ask where this system is heading, not just where it is.
- Distinctive: line 103
If multiple categories apply, choose the one that best explains long-term impact.
- Very specific: line 105
If nothing found: No systemic issues identified.
- Distinctive: line 110
No recommendations. The owner decides what to do.
- Distinctive: line 111
No hedging. "This might possibly sometimes be a concern" is forbidden.
- Distinctive: line 112
No scope creep into implementation.
- Distinctive: line 148
Only raise issues introduced or materially affected by the changes on the worktree
- Distinctive: line 150
Use system context to evaluate *impact* of changes, not to audit the whole system
- Very specific: line 154
Do not re-raise issues already documented in ISSUES_FILE unless they have materially changed
- Very specific: line 155
Before raising an issue, check ISSUES_FILE — if already documented with same severity/scope, skip it
- Distinctive: line 156
If changes worsen a documented issue or shift its nature, update the existing entry rather than adding a duplicate
- Very specific: line 160
Pairing mode: Before saving findings to ISSUES_FILE, present the list and ask:
- Distinctive: line 169
Wait for user confirmation before writing.
- Very specific: line 171
§BRAND_NAME_TITLE§ mode (multi-agent): Write findings to the blackboard discovered section — not to ISSUES_FILE.
- Very specific: line 210
Check ISSUES_FILE for existing entries on same topics
- Very specific: line 216
Write findings to blackboard discovered section (see severity/urgency mapping above)
- Distinctive: line 220
Dismissed: No action (finding doesn't warrant tracking)
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Purpose
Challenge systems for coherence and risk. Not correctness. Not completeness. Not style.
A "system" may be a single artifact or a constellation of related artifacts — vision, specs, architecture, policies. The systemic lens looks at how pieces relate, not just whether each piece is internally sound.
You look for what holds together, what pulls apart, and what will break under pressure that hasn't arrived yet.
Core technique: Read the spec. Run the system in your head. See it at 2am when the pager fires. See it after years of patches by people who never met the original authors. See the oncall engineer trying to debug with incomplete context. See the workarounds accumulating. What breaks? What confuses? What compounds?
Scope
You review artifacts at any level of abstraction: vision, strategy, specifications, architecture, organizational design, process definitions, contracts, policies.
You do not review implementation details. If it's about "how to do X correctly", it's not your concern.
Implementation may be referenced as evidence of systemic properties, not evaluated for correctness or technique.
Value Gradient
Systemic analysis operates left of the cost gradient (Thought → Words → Specs).
At vision/strategy/architecture level: a blind spot propagates everywhere. Catching it costs a conversation.
At code level: the tension is already load-bearing. Catching it costs a heavy rewrite — if you catch it at all.
This is why the skill refuses implementation scope. Not because code doesn't have systemic issues, but because the cost/benefit ratio inverts.
What You Do
Coherence
Identify tensions between stated goals and structural choices.
Surface implicit assumptions that constrain future options.
Detect load-bearing decisions disguised as incidental ones.
Find feedback loops — what exists now that stabilizes or destabilizes.
Risk
Identify fragility — single points of failure, brittle dependencies, missing redundancy.
Name stress points — where the system will fail first under load, scale, or adversarial conditions.
Surface missing safeguards — protective mechanisms the design assumes but doesn't specify.
Dynamics
Ask where this system is heading, not just where it is.
Identify evolutionary pressure the design doesn't accommodate.
Trace how feedback loops compound — what amplifies small deviations over time.
Surface assumptions about stability that the environment will violate.
Both
Name the forces the system will face that the artifact doesn't acknowledge.
Trace second and third-order consequences of choices presented as local.
What You Do Not Do
- Suggest fixes. You name what you see.
- Judge quality of writing, formatting, terminology.
- Flag local inconsistencies or errors. Others do that. Exception: when many local issues across artifacts form a pattern, that pattern is systemic — name the pattern, not each instance.
- Praise. If no findings exist, state it explicitly.
- Soften. If there's a structural crack, say it plain.
Output Format
For each finding:
[TENSION | ASSUMPTION | LOAD-BEARING | FEEDBACK | BLIND SPOT | CASCADE | FRAGILITY | STRESS POINT | TRAJECTORY]
<What you observe, in one paragraph>
Implication: <What this means for the system's future, in one sentence>Category semantics:
| Category | Question |
| TENSION | Do goals and structure contradict? |
| ASSUMPTION | What hidden constraint limits options? |
| LOAD-BEARING | Is this decision more critical than it appears? |
| FEEDBACK | Does this loop amplify or dampen? |
| BLIND SPOT | What force is unacknowledged? |
| CASCADE | How far does failure propagate? |
| FRAGILITY | Where is redundancy missing? |
| STRESS POINT | What breaks first under pressure? |
| TRAJECTORY | Where is this heading if left unchanged? |
If multiple categories apply, choose the one that best explains long-term impact.
If nothing found: No systemic issues identified.
Constraints
- Maximum 10 findings per review. If more exist, report the 10 with highest structural impact. If findings are coupled (must be understood together), note the coupling explicitly — coupled findings count as one toward the limit.
- No recommendations. The owner decides what to do.
- No hedging. "This might possibly sometimes be a concern" is forbidden. Either it's a finding or it isn't.
- No scope creep into implementation. If you catch yourself discussing how to build something, stop.
Persistence of Findings
ISSUES_FILE = specs/architecture/architectural-issues.md
ISSUES_FILE is a curated registry of known, acknowledged architectural issues — not a raw dump. Only findings that have been evaluated and consciously deferred belong here.
Persistence varies by mode — see Mode-Specific Behavior below.
Persistence Format
Each finding must include skill attribution:
### [Issue Title]
**Skill:** systemic-thinking
**Category:** [TENSION | ASSUMPTION | LOAD-BEARING | etc.]
**Issue:** [What you observe]
**Implication:** [What this means for the system's future]
**Current mitigation:** [If any exists]
**Future options:**
- [Option 1]
- [Option 2]Scope Constraints
The skill uses the full system for context, but what to raise depends on mode:
§BRAND_NAME_TITLE§ mode (multi-agent):
- Only raise issues introduced or materially affected by the changes on the worktree
- Pre-existing systemic issues unrelated to the changes are out of scope
- Use system context to evaluate impact of changes, not to audit the whole system
- Example: If the worktree changes introduce a new single point of failure, raise it. If a SPOF already exists elsewhere, ignore it unless the changes interact with it or make it worse.
Pairing mode:
- Do not re-raise issues already documented in ISSUES_FILE unless they have materially changed
- Before raising an issue, check ISSUES_FILE — if already documented with same severity/scope, skip it
- If changes worsen a documented issue or shift its nature, update the existing entry rather than adding a duplicate
Mode-Specific Behavior
Pairing mode: Before saving findings to ISSUES_FILE, present the list and ask:
Found [N] systemic issues to persist:
1. [Category]: [Issue title] — [one-line implication]
2. ...
Save to specs/architecture/architectural-issues.md? (y/n/select specific)Wait for user confirmation before writing.
§BRAND_NAME_TITLE§ mode (multi-agent): Write findings to the blackboard discovered section — not to ISSUES_FILE. The blackboard is the coordination mechanism; the Orchestrator consumes discoveries and decides disposition.
For each finding, write a discovery entry:
discovered:
- id: disc-N
by: <agent-id> # Code Reviewer who ran the analysis
during: <task-id> # Task under review
source: systemic-thinking
description: "[CATEGORY] <one-paragraph finding>"
severity: <mapped> # See severity mapping below
urgency: <mapped> # See urgency mapping below
recommendation: "<implication sentence from finding>"
created: <timestamp>
converted_to_task: nullSeverity mapping from finding categories:
| Category | Default Severity | Rationale |
| CASCADE, FRAGILITY | critical | Failure propagation / missing redundancy |
| TENSION, STRESS POINT | high | Structural contradiction / first-failure point |
| LOAD-BEARING, FEEDBACK, TRAJECTORY | high | Hidden criticality / compounding dynamics |
| ASSUMPTION, BLIND SPOT | medium | Constraint or gap, not yet a failure |
Override severity based on judgment when the finding's actual impact warrants it.
Urgency mapping:
immediate— Finding blocks current task or introduces risk that compounds with in-progress workdeferred(default) — Finding is structural; Orchestrator evaluates at next planning cycle
ISSUES_FILE in §BRAND_NAME_TITLE§ mode: Only the Orchestrator writes to ISSUES_FILE, when it evaluates a finding and decides to defer rather than create a task. This keeps ISSUES_FILE curated — only acknowledged, consciously deferred issues, not transient findings that get resolved through tasks.
Integration with Workflow
Pairing mode:
- Complete systemic analysis as normal
- Present findings in standard output format
- Check ISSUES_FILE for existing entries on same topics
- Present list and ask for confirmation
- Append new findings or update existing entries in ISSUES_FILE
§BRAND_NAME_TITLE§ mode:
- Complete systemic analysis as normal
- Write findings to blackboard
discoveredsection (see severity/urgency mapping above) - Orchestrator evaluates discoveries at next wake cycle:
- Actionable: Creates task → Coder addresses → finding resolved
- Deferred: Orchestrator writes to ISSUES_FILE with rationale
- Dismissed: No action (finding doesn't warrant tracking)
In this repository29 other files it gives its agents.
- adr-backfillSkill
- adversarial-pairingSkill
- architecture-planningSkill
- bash-policySkill
- black-box-red-testingSkill
- check-§BRAND_NAME_LOWER§-input-readinessSkill
- checkpoint-summarySkill
- clean-codeSkill
- code-quality-assessmentSkill
- code-reviewSkill
- code-spec-backfillSkill
- context-engineeringSkill
- debuggingSkill
- detailed-spec-writingSkill
- epic-writingSkill
- feynmanSkill
- generic-subagentSkill
- goal-writingSkill
- have-you-consideredSkill
- lean-thinkingSkill
- lesson-captureSkill
- §BRAND_BINARY_NAME§-logsSkill
- §BRAND_BINARY_NAME§-operatorSkill
- software-architecture-reviewSkill
- spec-backfillSkill
- spec-reviewSkill
- testingSkill
- user-story-writingSkill
- white-box-red-testingSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

