Skip to content

SpecMem

Unified Agent Experience and Pragmatic Memory for Every Coding Agent

AI coding agents forget everything between sessions, lock you into proprietary formats, and generate mountains of markdown nobody maintains. SpecMem fixes this: persistent memory, agent portability, and specs that stay alive.

Executable Specs ยท Living Documentation ยท Impact-Aware Context

Open-source ยท Local-first ยท Agent-agnostic

๐Ÿ† First ever Agent Experience tool built for Coding Agents

๐ŸŽฏ The Problem

๐Ÿ“„ Markdown Madness & Verbosity

Today's coding agents generate mountains of markdown files. Developers using Claude Code, Cursor, or any AI coding tool are drowning in CLAUDE.md, AGENTS.md, .cursorrules, requirements.md, design.md... What happens to all these specs after features are built? Nobody has figured out how to turn this chaos into better Agent Experience.

๐Ÿ”’ Vendor Lock-In & Format Fragmentation

Every coding agent uses its own proprietary format. Claude uses CLAUDE.md, Cursor uses .cursorrules, Kiro uses .kiro/specs/. This creates massive IDE lock-in. Switching agents means rewriting all your specs. Your project knowledge is trapped in one tool.

๐Ÿง  Agents Have Amnesia

Modern coding agents suffer from catastrophic forgetting. Sessions reset, context is lost, previous decisions vanish. Agents write code without knowing your specs, acceptance criteria, or earlier decisions. This causes regressions and misaligned implementations.

โšก Wasted Compute & Slow CI

Without understanding what changed, agents trigger full test runs for every tiny change. This wastes compute, slows CI pipelines, and blocks development.

๐Ÿ“‰ No Agent Experience (AgentEx) Layer

We have DevEx (Developer Experience) for humans. But where is AgentEx for AI coding agents? There's no unified memory layer, no context optimization, no impact analysis, no spec-to-test mapping.

These issues cause: regressions, misaligned implementations, slow CI pipelines, unpredictable agent behavior, and increased costs.

The industry lacks a Pragmatic Memory + Agent Experience platform to fix this

โš–๏ธ Pragmatic SDD: Not Waterfall, Not Chaos

Spec-Driven Development has real problems: verbose docs, waterfall vibes, spec rot. But pure "vibe coding" means agents forget everything and repeat mistakes.

SpecMem strikes the balance:

  • Specs as Memory: Not bureaucratic gates, but searchable knowledge
  • Selective Context: SpecImpact gives agents only relevant specs, not everything
  • Living Docs: SpecDiff detects drift, SpecValidator finds contradictions
  • Gradual Adoption: Start with any format, no big-bang migration

๐Ÿ’ก The Solution: SpecMem

SpecMem is the first-ever Agent Experience (AgentEx) platform: a unified, embeddable memory layer for AI coding agents.

How SpecMem Solves Each Problem

Problem SpecMem Solution
Markdown Madness Concise spec templates, auto TL;DRs, living documentation
Vendor Lock-In Agent-agnostic adapters: read ANY format, output to ANY agent
Agent Amnesia Persistent cognitive memory with semantic search
Wasted Compute SpecImpact selects only impacted specs/tests to execute
No AgentEx Complete Agent Experience layer with context optimization
pip install specmem
from specmem import SpecMemClient

sm = SpecMemClient()
bundle = sm.get_context_for_change(["auth/service.py"])
print(bundle.tldr)

๐Ÿ”Œ Multi-Framework Adapters

Parse specs from Kiro, SpecKit, Tessl, Claude Code, Cursor, Codex, Factory, Warp, Gemini CLI and more. One unified format for all your specifications.

๐Ÿง  Intelligent Memory

Vector-based semantic search with LanceDB, ChromaDB, or Qdrant. Pinned memory ensures critical constraints are never forgotten.

๐Ÿ“Š SpecImpact Graph

Bidirectional relationships between specs, code, and tests. Know exactly what's affected by your changes.

โฑ๏ธ SpecDiff Timeline

Track spec evolution, detect drift, find contradictions, and manage deprecations over time.

โœ… SpecValidator

Quality assurance for specifications. Detect contradictions, missing criteria, and duplicates automatically.

๐ŸŽฏ Selective Testing

Run only the tests that matter. Save CI time and compute costs with intelligent test selection.

โšก Built for Kiro

SpecMem was built during Kiroween 2025 with first-class Kiro support. Your .kiro/specs/ become living, searchable agent memory.

โšก Kiro Powers

Install SpecMem as a Kiro Power for seamless IDE integration. Query specs, analyze impact, and get context-aware suggestions without leaving Kiro.

๐Ÿ”— MCP Server

Full Model Context Protocol support. Kiro's agent can query your specs, analyze impact, and get optimized context automatically via MCP tools.

๐Ÿ“„ Native Kiro Adapter

First-class support for .kiro/specs/ structure: requirements.md, design.md, tasks.md parsed into searchable, trackable memory.

// Add to your mcp.json for instant Kiro integration
{
  "mcpServers": {
    "specmem": {
      "command": "uvx",
      "args": ["specmem-mcp"]
    }
  }
}

๐Ÿ”„ The Killer Feature

Swap agents without losing context. SpecMem creates a unified, normalized, agent-agnostic context layer.

Switch from Kiro โ†’ SpecKit โ†’ Tessl โ†’ Claude Code โ†’ Cursor without rewriting spec files or losing project knowledge.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         Your Project                            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  .kiro/specs/   .speckit/   .tessl/   Claude.md   cursor.json   โ”‚
โ”‚       โ”‚             โ”‚          โ”‚          โ”‚            โ”‚         โ”‚
โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”‚                           โ”‚                                      โ”‚
โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
โ”‚                    โ”‚   SpecMem   โ”‚                               โ”‚
โ”‚                    โ”‚  Adapters   โ”‚                               โ”‚
โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
โ”‚                           โ”‚                                      โ”‚
โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
โ”‚                    โ”‚   SpecIR    โ”‚  โ† Canonical Representation   โ”‚
โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
โ”‚                           โ”‚                                      โ”‚
โ”‚         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚
โ”‚         โ”‚                 โ”‚                 โ”‚                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”‚
โ”‚  โ”‚ Vector DB   โ”‚   โ”‚ SpecImpact  โ”‚   โ”‚  SpecDiff   โ”‚            โ”‚
โ”‚  โ”‚ (LanceDB)   โ”‚   โ”‚   Graph     โ”‚   โ”‚  Timeline   โ”‚            โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
โ”‚                           โ”‚                                      โ”‚
โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
โ”‚                    โ”‚ AgentXPack  โ”‚  โ† Output for any agent       โ”‚
โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ Quick Start

Try It Now

# See SpecMem in action with its own specs (dogfooding!)
specmem demo

This launches the Web UI with SpecMem's own specifications - the best way to explore the features.

# Initialize SpecMem in your project
specmem init

# Scan and index your specifications
specmem scan

# Build the Agent Experience Pack
specmem build

# Query your specs
specmem query "What are the authentication requirements?"

# Analyze impact of code changes
specmem impact --files src/auth/service.py

# Launch Web UI
specmem serve
from specmem import SpecMemClient

# Initialize client
sm = SpecMemClient()

# Get context for code changes
bundle = sm.get_context_for_change(["auth/service.py"])
print(bundle.tldr)

# Query specifications
specs = sm.query("authentication requirements")

# Get impacted specs for changes
impacted = sm.get_impacted_specs(["auth/service.py"])

# Check for spec drift
drift = sm.get_drift_report()

๐Ÿ“ฆ Output: Agent Experience Pack

SpecMem generates a .specmem/ directory containing everything your agents need:

.specmem/
โ”œโ”€โ”€ agent_memory.json      # All specs with metadata and rankings
โ”œโ”€โ”€ agent_context.md       # Human-readable summary
โ”œโ”€โ”€ knowledge_index.json   # Keyword โ†’ SpecBlock mapping
โ”œโ”€โ”€ impact_graph.json      # Code โ†” Spec relationships
โ””โ”€โ”€ vectordb/              # Embedded vector storage

๐Ÿข About

SpecMem is developed by Superagentic AI as part of the Kiroween Hackathon, December 2025.