Skip to content

Design Concepts

Gully Burns edited this page Feb 5, 2026 · 9 revisions

Design Concepts

This document explains the architecture and design principles behind Skillful-Alhazen.

Core Philosophy: Curation Over Collection

The system exists to help you make sense of material, not just store it. This distinction is crucial:

  • Collection = passively accumulating information
  • Curation = actively interrogating, extracting meaning, building understanding

Every component serves the curation mission. We embody Alhazen's philosophy: be an enemy of all you read.

The Curation Workflow

All skills follow a five-stage workflow:

┌─────────────────────────────────────────────────────────────────────────────┐
│                         CURATION WORKFLOW                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  1. FORAGING          2. INGESTION         3. SENSEMAKING                   │
│  ┌──────────┐        ┌──────────┐         ┌──────────────┐                  │
│  │ Discover │───────▶│  Capture │────────▶│ Claude reads │                  │
│  │ sources  │        │   raw    │         │ & extracts   │                  │
│  └──────────┘        └──────────┘         └──────────────┘                  │
│       │                   │                      │                          │
│       ▼                   ▼                      ▼                          │
│  - URLs             - Artifacts            - Fragments                      │
│  - APIs             - Provenance           - Notes                          │
│  - Feeds            - Timestamps           - Relations                      │
│                                                                              │
│                              │                                               │
│                              ▼                                               │
│               4. ANALYZE/SUMMARIZE        5. REPORT                         │
│               ┌──────────────────┐       ┌──────────────┐                   │
│               │ Reason over many │──────▶│  Dashboard   │                   │
│               │ notes over time  │       │  & answers   │                   │
│               └──────────────────┘       └──────────────┘                   │
│                        │                        │                           │
│                        ▼                        ▼                           │
│                   - Synthesis notes        - Pipeline views                 │
│                   - Trend analysis         - Skills matrix                  │
│                   - Recommendations        - Strategic reports              │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

Stage Descriptions

Stage Purpose Outputs
Foraging Discover sources of information URLs, API endpoints, feeds
Ingestion Capture raw content with provenance Artifacts with timestamps and sources
Sensemaking Claude reads and extracts meaning Fragments, notes, relationships
Analysis Reason over accumulated knowledge Synthesis notes, gap analysis
Reporting Present actionable insights Dashboards, answers, recommendations

Separation of Concerns

A key architectural principle: scripts handle I/O, Claude handles thinking.

Python Scripts Handle:

  • Fetching from APIs (pagination, rate limits, bulk operations)
  • Storing raw artifacts with provenance
  • TypeDB transactions
  • Returning structured data to Claude

Claude Handles:

  • Reading and comprehending content
  • Extracting entities and relationships
  • Creating structured notes
  • Synthesizing across sources
  • Recommending actions

This separation:

  • Minimizes token usage (scripts do the heavy lifting)
  • Maximizes comprehension (Claude focuses on understanding)
  • Enables scaling (scripts handle pagination, bulk operations)

Claude Code as the Interface

You interact through natural conversation. You never:

  • Write TypeQL queries
  • Call APIs directly
  • Manage database transactions
  • Navigate file structures

Claude translates your intent into actions, choosing the right skill and executing the appropriate operations.

TypeDB as Ontological Memory

TypeDB provides a logic-driven knowledge graph. Key properties:

Schema as Conceptual Vocabulary

The schema defines the concepts Claude thinks with:

entity collection sub thing;
entity artifact sub thing;
entity fragment sub thing;
entity note sub thing;

relation has-artifact relates owner, relates artifact;
relation has-fragment relates source, relates fragment;
relation annotates relates note, relates subject;

These aren't just storage tables—they're the vocabulary for reasoning about knowledge.

Provenance Preservation

Every piece of knowledge traces back to its source:

Artifact (raw job description)
    ↓
Fragment (extracted requirement)
    ↓
Note (your fit analysis)

You can always ask: "Where did this come from?"

Embrace the Bitter Lesson

Following Richard Sutton's insight: general methods that leverage computation win in the long run.

We don't:

  • Over-engineer extraction pipelines
  • Hand-code entity recognizers
  • Build brittle rule systems
  • Require perfect structured input

Instead:

  • Let Claude read and comprehend
  • Store what Claude extracts
  • Query and synthesize

The system improves as Claude improves, without requiring code changes.

Skills Architecture

Skills are modular domain capabilities. Each skill has:

.claude/skills/<skill-name>/
├── SKILL.md     # Instructions for Claude
└── *.py         # TypeDB transaction scripts

Data Model

The core schema defines five entity types:

Entity Description Examples
Collection Named group of things "CRISPR Review", "Q1 Job Hunt"
Thing Any recorded item Paper, company, position
Artifact Raw captured content Job description, PDF, API response
Fragment Extracted portion Requirement, finding, quote
Note Claude's annotation Fit analysis, research note, strategy

Domain-specific extensions add specialized types:

  • scilit.tql - Papers, authors, citations
  • jobhunt.tql - Positions, companies, skills, requirements

Clone this wiki locally