graph-thinking

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.

210 stars

Best use case

graph-thinking is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using graph-thinking should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/graph-thinking/SKILL.md --create-dirs "https://raw.githubusercontent.com/flpbalada/my-opencode-config/main/skills/graph-thinking/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/graph-thinking/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How graph-thinking Compares

Feature / Agentgraph-thinkingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Graph Thinking - Non-Linear Problem Solving

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.

## When to Use This Skill

- Mapping feature dependencies in product development
- Analyzing stakeholder relationships
- Understanding system architectures
- Exploring interconnected concepts
- Designing recommendation systems or knowledge graphs
- Identifying opportunity areas through network analysis

## Core Concepts

### Graph Elements

| 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      |

### Graph-of-Thought (GoT) Reasoning

```
Traditional (Chain-of-Thought):
A → B → C → D → Conclusion

Graph-of-Thought:
    ┌─── B ───┐
    │         │
A ──┼─── C ───┼──→ Synthesis → Conclusion
    │         │
    └─── D ───┘
         ↑
    Feedback Loop
```

GoT enables:

- Combining arbitrary thoughts into synergistic outcomes
- Distilling networks of thoughts for clarity
- Enhancing ideas using feedback loops
- Non-linear exploration of solution spaces

## Fundamental Principles

### First Principles Thinking

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"
```

### Second-Order Thinking

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
```

### Non-Linear Processing

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 |

## Analysis Framework

### Double Diamond Model

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
```

### Step 1: Map the Nodes

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
```

### Step 2: Define Relationships (Edges)

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
```

### Step 3: Identify Clusters and Patterns

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)
```

### Step 4: Analyze Pathways

Trace routes through the network:

```
User Journey Graph:

Landing Page
    ↓
[Sign Up] ←→ [Social Login]
    ↓
Onboarding
    ↓           ↓
Quick Start   Full Setup
    ↓           ↓
    └─────┬─────┘
          ↓
    First Value
          ↓
    ↙    ↓    ↘
Churn  Retain  Upgrade
```

## Output Template

After completing analysis, document as:

```markdown
## 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]     |
```

## Application Examples

### Feature Dependency Mapping

```
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
```

### Stakeholder Analysis

```
                    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
```

### System Architecture Analysis

```
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)
```

## Best Practices

### Do

- **Visualize relationships** - Draw the graph, don't just describe it
- **Iterate continuously** - Graphs evolve as understanding deepens
- **Measure centrality** - Identify the most critical nodes
- **Look for clusters** - Natural groupings reveal system structure
- **Trace pathways** - Understand how information/value flows

### Avoid

- **Over-connecting** - Not everything relates to everything
- **Ignoring edge types** - Different relationships have different meanings
- **Static thinking** - Graphs change over time
- **Missing feedback loops** - Circular dependencies are significant
- **Forgetting weights** - Some relationships are stronger than others

## Integration with Other Methods

| 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

### Visualization

- **Mermaid** - Code-based diagrams in markdown
- **Graphviz** - Programmatic graph generation
- **Excalidraw** - Hand-drawn style diagrams
- **Miro/FigJam** - Collaborative whiteboarding

### Analysis

- **Gephi** - Network analysis and visualization
- **Neo4j** - Graph database for complex queries
- **NetworkX** - Python library for graph algorithms

## Resources

- [Graph of Thoughts: ArXiv Paper](https://arxiv.org/abs/2308.09687)
- [Neo4j Graph Database Use Cases](https://neo4j.com/use-cases/)
- [Network Science by Albert-László Barabási](http://networksciencebook.com/)

Related Skills

what-not-to-do-as-product-manager

210
from flpbalada/my-opencode-config

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.

visual-cues-cta-psychology

210
from flpbalada/my-opencode-config

Design effective CTAs using visual attention and gaze psychology principles. Use when designing landing pages, button hierarchies, conversion elements, or optimizing user attention flow through interfaces.

vercel-sandbox

210
from flpbalada/my-opencode-config

Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.

value-realization

210
from flpbalada/my-opencode-config

Analyze if end users discover clear value. Use when evaluating product concepts, analyzing adoption, or uncertain about direction.

user-story-fundamentals

210
from flpbalada/my-opencode-config

Capture requirements from user perspective with structured user stories. Use when writing backlog items, defining acceptance criteria, prioritizing features, or communicating requirements between product and development.

typescript-satisfies-operator

210
from flpbalada/my-opencode-config

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.

typescript-interface-vs-type

210
from flpbalada/my-opencode-config

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.

typescript-best-practices

210
from flpbalada/my-opencode-config

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.

typescript-advanced-types

210
from flpbalada/my-opencode-config

Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.

trust-psychology

210
from flpbalada/my-opencode-config

Build trust signals that reduce perceived risk and enable user action. Use when designing landing pages, checkout flows, onboarding experiences, or any conversion point where user hesitation is a barrier.

theme-epic-story

210
from flpbalada/my-opencode-config

Structure product work hierarchically using themes, epics, and stories. Use when organizing backlogs, planning releases, communicating with stakeholders, or breaking down large initiatives into manageable work.

tailwind-v4-configuration

210
from flpbalada/my-opencode-config

Configure Tailwind CSS v4 with CSS-first approach. Use when installing, migrating from v3, setting up build tools (Vite/PostCSS/CLI), customizing themes with @theme, or configuring plugins.