🧪 Skills

Mindgraph

Create and query an Obsidian-style [[wikilink]] knowledge graph with learnable repeatable MindSkills for managing and analyzing workspace files.

v1.0.0
❤️ 0
⬇️ 265
👁 1
Share

Description


name: mindgraph description: Obsidian-style [[wikilink]] knowledge graph and learnable MindSkills for OpenClaw workspaces. Use for ALL of these: (1) Any workspace file read/write — always use [[wikilinks]] for people, projects, tools, concepts. (2) Running learned processes like knockout-test, seo-validator, competitor-analysis. (3) Querying knowledge — "what do I know about X", "show connections to Y". (4) Learning new repeatable processes — "learn a new mindskill called Z". (5) Memory maintenance — finding orphans, dead links, unconnected files. This skill is always active — treat [[wikilinks]] as standard practice in every markdown file you write.

MindGraph 🕸️🧠

A knowledge graph + learnable process engine for OpenClaw. Two core features:

  1. Knowledge Graph — Obsidian-style [[wikilinks]] across all workspace files
  2. MindSkills — Learned, repeatable processes that save graph-connected results

Always-On Rules

Every time you write or edit a markdown file, use [[wikilinks]] for:

  • People: [[Alice]], [[Bob]]
  • Projects: [[my-saas]], [[landing-page]]
  • Companies/tools: [[Stripe]], [[Vercel]], [[GitHub]]
  • Concepts/frameworks: [[Knockout Test]], [[B2B SaaS]]
  • Other agents/models: [[Claude Code]], [[Sonnet]]

This is not optional. Links are how knowledge connects. No links = isolated notes = useless.

NEVER use [[wikilinks]] in messages to the user (Telegram, Discord, etc.). Wikilinks are for workspace files only. In conversations, write names plain: "Alice", not "[[Alice]]".

After significant file changes, rebuild the index:

python3 skills/mindgraph/scripts/mindgraph.py index

Graph Commands

# Build/rebuild index
python3 skills/mindgraph/scripts/mindgraph.py index

# Query a topic (backlinks + context + connections)
python3 skills/mindgraph/scripts/mindgraph.py query "<name>"

# Backlinks only (what references this?)
python3 skills/mindgraph/scripts/mindgraph.py backlinks "<name>"

# Forward links (what does this link to?)
python3 skills/mindgraph/scripts/mindgraph.py links "<file>"

# Bidirectional connections
python3 skills/mindgraph/scripts/mindgraph.py connections "<name>"

# ASCII tree visualization
python3 skills/mindgraph/scripts/mindgraph.py tree "<name>" [depth]

# Find orphans, dead links, unconnected files
python3 skills/mindgraph/scripts/mindgraph.py orphans
python3 skills/mindgraph/scripts/mindgraph.py deadlinks
python3 skills/mindgraph/scripts/mindgraph.py lonely

# Full statistics
python3 skills/mindgraph/scripts/mindgraph.py stats

MindSkills — Learned Processes

MindSkills are repeatable frameworks stored in skills/mindgraph/mindskills/. Each has a defined process and saves results as graph-connected markdown.

Using a MindSkill

# List all learned mindskills
python3 skills/mindgraph/scripts/mindgraph.py skills

# Show a mindskill's process
python3 skills/mindgraph/scripts/mindgraph.py skill <name>

# List results for a mindskill
python3 skills/mindgraph/scripts/mindgraph.py results <name>

When a user asks to run a process (e.g., "run the knockout test on X"), follow this flow:

  1. Read the mindskill's PROCESS.md for the process definition
  2. Execute the process conversationally
  3. Save the result to skills/mindgraph/mindskills/<name>/results/<subject>.md
  4. Use [[wikilinks]] throughout the result file
  5. Include YAML frontmatter with metadata
  6. Rebuild the graph index

Result file template:

---
mindskill: <skill-name>
subject: <what was tested/analyzed>
date: <YYYY-MM-DD>
verdict: <outcome>
aliases: [<aliases>]
---
# [[<MindSkill Name>]]: [[<Subject>]]

<Results following the process defined in PROCESS.md>

## Connections
- Related: [[link1]], [[link2]]

Learning a New MindSkill

When a user says "learn a mindskill called X" or describes a repeatable process:

# Create a new mindskill
python3 skills/mindgraph/scripts/mindgraph.py learn "<name>"

This creates the directory structure. Then write the PROCESS.md based on the user's description.

A good PROCESS.md contains:

  • Purpose: What this process does and when to use it
  • Trigger phrases: What the user might say to invoke this
  • Steps: The actual process to follow (numbered)
  • Output format: What the result file should contain
  • Verdict/scoring: How to summarize the outcome (if applicable)

Discovering MindSkills

When a user's request matches a learned mindskill, proactively suggest it:

  • "Want me to run the [[Knockout Test]] on that?"
  • "I have an [[SEO Validator]] mindskill — should I audit that?"
  • "This looks like a [[Competitor Analysis]] — want the full framework?"

Link Resolution

Links match (case-insensitive) against:

  1. File basenames: [[MEMORY]]MEMORY.md
  2. Project dirs: [[my-saas]]projects/my-saas/
  3. MindSkill results: [[Pet Tracker KT]] → knockout test result
  4. YAML aliases: aliases: [AV-Check][[AV-Check]] resolves
  5. Unresolved → concept node (still tracked for backlinks)

File Locations

  • Graph index: mindgraph.json (workspace root)
  • MindSkills: skills/mindgraph/mindskills/
  • Script: skills/mindgraph/scripts/mindgraph.py

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs