.config/opencode/skills/graph-thinking/SKILL.md
Apply graph-based thinking to visualize complex relationships and solve problems non-linearly. Use when mapping dependencies, analyzing systems, exploring interconnected concepts, or designing architectures.
npx skillsauth add klen/dotfiles graph-thinkingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Mental model for visualizing complex relationships and connections between ideas, concepts, or data points. Evolved from Graph-of-Thought (GoT) reasoning that mirrors human cognition.
| Element | Description | | -------------- | ------------------------------------------ | | Nodes | Individual elements or concepts | | Edges | Relationships or connections between nodes | | Clusters | Groups of highly connected nodes | | Pathways | Routes through the network | | Centrality | Measures identifying most important nodes | | Topology | Structural arrangement of connections |
Traditional (Chain-of-Thought):
A → B → C → D → Conclusion
Graph-of-Thought:
┌─── B ───┐
│ │
A ──┼─── C ───┼──→ Synthesis → Conclusion
│ │
└─── D ───┘
↑
Feedback Loop
GoT enables:
Break down complex problems into fundamental truths:
Surface Level:
"We need more marketing"
↓
Why?
↓
"Not enough customers"
↓
Why?
↓
Root Truth:
"Value proposition unclear to target audience"
Demand deeper analysis by asking "And then what?":
Decision: Reduce prices by 20%
First-order: More sales
Second-order: Lower margins → Less R&D budget
Third-order: Competitors catch up → Price war
Fourth-order: Race to bottom → Industry commoditization
Unlike sequential thinking:
| Sequential | Graph-Based | | ----------------------- | ----------------------------------------- | | One path at a time | Multiple paths simultaneously | | Linear information flow | Multi-directional exploration | | Fixed order | Iterative refinement through loops | | Single conclusion | Synthesized insights from multiple angles |
Apply divergent and convergent thinking cycles:
DISCOVER DEFINE DEVELOP DELIVER
(Diverge) (Converge) (Diverge) (Converge)
/\ \/ /\ \/
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
Explore Focus on Generate Focus on
problem specific diverse optimal
space challenges solutions implementation
Identify all relevant elements:
Product Launch Analysis:
Nodes:
├── Stakeholders
│ ├── Customers
│ ├── Engineering
│ ├── Marketing
│ └── Leadership
├── Features
│ ├── Core functionality
│ ├── Nice-to-haves
│ └── Technical debt
├── Constraints
│ ├── Timeline
│ ├── Budget
│ └── Resources
└── Dependencies
├── External APIs
├── Infrastructure
└── Regulatory
Document connections between nodes:
Edge Types:
├── Dependency: A requires B
├── Influence: A affects B
├── Correlation: A and B move together
├── Conflict: A competes with B
└── Synergy: A enhances B
Find highly connected groups:
High Centrality (Critical Nodes):
├── Authentication service → 12 dependencies
├── Database layer → 8 dependencies
└── API gateway → 6 dependencies
Clusters:
├── User-facing features (tightly coupled)
├── Backend services (loosely coupled)
└── Third-party integrations (isolated)
Trace routes through the network:
User Journey Graph:
Landing Page
↓
[Sign Up] ←→ [Social Login]
↓
Onboarding
↓ ↓
Quick Start Full Setup
↓ ↓
└─────┬─────┘
↓
First Value
↓
↙ ↓ ↘
Churn Retain Upgrade
After completing analysis, document as:
## Graph Thinking Analysis
**Subject:** [What you're analyzing]
**Analysis Date:** [Date]
### Node Map
| Category | Nodes | Centrality |
| -------- | ------- | -------------- |
| [Cat 1] | [Nodes] | [High/Med/Low] |
| [Cat 2] | [Nodes] | [High/Med/Low] |
### Relationship Matrix
| From | To | Relationship | Strength |
| ---- | --- | ------------ | -------- |
| [A] | [B] | [Type] | [1-5] |
### Key Insights
1. **Clusters identified:** [Description]
2. **Critical paths:** [Description]
3. **Bottlenecks:** [Description]
4. **Opportunities:** [Description]
### Recommendations
| Priority | Action | Rationale |
| -------- | -------- | --------- |
| High | [Action] | [Why] |
| Medium | [Action] | [Why] |
Feature: Real-time Collaboration
Dependencies:
├── WebSocket infrastructure
│ ├── Connection management
│ └── Message queuing
├── Conflict resolution
│ ├── Operational transforms
│ └── CRDT implementation
├── Presence indicators
│ └── User state sync
└── Permissions
├── Document access
└── Cursor visibility
HIGH INFLUENCE
│
Keep Satisfied │ Manage Closely
┌─────────────────────┼─────────────────────┐
│ │ │
│ Executives │ Product Owner │
│ Compliance │ Key Customers │
│ │ │
LOW ──────────────────────┼────────────────────── HIGH
INTEREST │ INTEREST
│ │ │
│ General Users │ Power Users │
│ IT Support │ Dev Team │
│ │ │
└─────────────────────┼─────────────────────┘
Monitor │ Keep Informed
│
LOW INFLUENCE
Microservice Graph:
API Gateway [Centrality: 0.95]
│
├── Auth Service [0.82]
│ └── User DB
│
├── Product Service [0.71]
│ ├── Catalog DB
│ └── Search Index
│
├── Order Service [0.68]
│ ├── Order DB
│ └── Payment Gateway (external)
│
└── Notification Service [0.45]
└── Email Provider (external)
Critical Path: Gateway → Auth → Product → Order
Bottleneck: Auth Service (single point of failure)
| Method | Combined Use | | ------------------- | ---------------------------------------------- | | Five Whys | Trace causal chains through the graph | | Business Canvas | Map relationships between canvas elements | | Jobs-to-be-Done | Connect user needs to feature nodes | | Hypothesis Tree | Structure experiments as branching graphs | | Stakeholder Map | Visualize influence and interest relationships |
tools
Anti-patterns and mistakes to avoid as a product manager. Use when evaluating leadership behaviors, improving team dynamics, reflecting on management practices, or onboarding new product managers.
development
Guides proper usage of TypeScript's satisfies operator vs type annotations. Use this skill when deciding between type annotations (colon) and satisfies, validating object shapes while preserving literal types, or troubleshooting type inference issues.
development
Guides when to use interface vs type in TypeScript. Use this skill when defining object types, extending types, or choosing between interface and type aliases.
development
Guides TypeScript best practices for type safety, code organization, and maintainability. Use this skill when configuring TypeScript projects, deciding on typing strategies, writing async code, or reviewing TypeScript code quality.