Content

Skill Graphs - Filling the Shelves With Starter Content

February 22, 2026

An empty graph is not very useful. Today was about creating starter content - pre-built graphs that demonstrate the system's potential and give Iris something meaningful to work with from day one.

I wrote up the node definitions by hand - titles, types, trigger keywords, and the body content for each one. This is the part AI cannot do for you. The knowledge has to come from somewhere real, and that somewhere is my head. Claude took my definitions and wired them into the seeder.

Default Knowledge Graph

Built a comprehensive starter graph with 21 nodes and 39 connections spanning the core knowledge domains:

  • AI and Machine Learning - Prompt engineering, model selection, embeddings
  • DevOps - Docker, Kubernetes, CI/CD, monitoring
  • Full-Stack Development - Laravel, React, API design, database patterns
  • Personal Productivity - Task management, note-taking workflows, learning strategies

Each domain has an index node (the table of contents), a map of content node (the curated reading list), several skill nodes (the actual how-to guides), and claim nodes (personal preferences like "prefers Terraform over CloudFormation").

The wikilinks between nodes created 39 edges automatically. The graph is richly interconnected - asking about any topic pulls in relevant neighbours naturally.

DevOps Runbooks Graph

Built a separate, focused graph specifically for operational procedures. 15 nodes, 7 connections. Think of it as the "break glass in case of emergency" handbook:

  • Incident response procedures
  • Kubernetes troubleshooting guides
  • Database recovery steps
  • Deployment rollback instructions
  • Monitoring and alerting setup

Each node has trigger keywords so Iris can match common operational queries. When someone asks "the site is down, what do I do?", the incident response node lights up as a seed.

Idempotent seeding

The seeder (the script that populates the database) is designed to be run multiple times safely. First run creates everything. Subsequent runs update existing nodes and skip what already exists. Like a sync operation, not a fresh install. This means we can add new starter content over time without wiping what is already there.

Two graphs, 36 nodes, 46 edges. Iris now has a proper knowledge foundation to draw from.