Capability-First Development

Capability-first development declares the transformations you want before implementing them so the graph tracks unmet intent and AI can fill the gaps.

Capability-First Development

Capability-first development starts by declaring what should exist, not by writing how it works. Instead of building a function and then wiring it in, you declare a capability: its inputs, outputs, and intent. The system tracks that declaration as a node in the graph, even if no implementation exists yet.

Imagine you need a slugify transformation. You declare:

This creates a capability node. The graph can then show that the capability is declared but unrealized. AI can propose an implementation, or you can route it through an external gate. Either way, the system now knows that this transformation should exist.

Why Capabilities First

Traditional development forces you to implement before you can reason about integration. Capabilities-first development inverts this:

This turns development into a map of desired truths rather than a list of incomplete functions.

The Capability Node

A capability node typically includes:

The node is not code. It is a declaration of necessity. It becomes part of the system’s cognitive map.

Tests as Truth Conditions

Capabilities often link to tests not as after-the-fact verification but as truth claims. You can declare:

When you later implement the capability, the system can check whether it fulfills the declared truth. This is test-driven thinking at the level of meaning.

AI as Filler of Gaps

AI thrives in this mode. If the system tells it “here is a declared capability with no implementation,” it can propose one. The AI does not need to guess in the dark; it has a structural target. It can also search for similar capabilities in the graph and reuse patterns.

This makes AI a natural collaborator: it fills gaps between intent and implementation.

Routing and Gates

Some capabilities may be fulfilled by external systems. Instead of importing a library directly, you define a gate:

This keeps the dependency explicit and structural. You can compare multiple gates for the same capability, or replace one without changing the capability declaration.

Benefits

Example Workflow

  1. Declare capabilities for a new pipeline.
  2. Connect them in the graph to show intended flow.
  3. Ask AI to implement missing capabilities.
  4. Bind tests to capability declarations.
  5. Replace or refine implementations without changing the capability nodes.

This creates a development process where structure leads, and code follows.

How It Changes Thinking

Scaling Capability-First Development

As the system grows, capability nodes become a catalog of what your system can do. You can query:

This turns your system into a map of declared truths and their realizations.

Capability-first development is a way to keep your system aligned with intent, not just with code. It makes meaning first-class and lets implementation follow with clarity.

Part of Graph-Native Cognition Programming