Skip to content
/

MetaSpec (ACNet-AI)

metaspec-acnet · ACNet-AI/MetaSpec · ★ 47 · last commit 2025-11-22

Generates complete spec-driven toolkits for any domain from a single command, enabling the creation of domain-specific specification systems rather than applying generic SDD to every project.

Best whenAI agents need domain-specific specifications to generate expected results; generic SDD specs are insufficient and a meta-framework that generates speckits p…
Skip ifUsing generic SDD specs when domain-specific ones are needed, Conflating SDS (specification definition) with SDD (toolkit implementation)
vs seeds
spec-kitMetaSpec has no hooks and targets toolkit generation rather than feature development. Versus BMAD-METHOD, MetaSpec gener…
Primitive shape 6 total
Commands 6
00

Summary

MetaSpec (ACNet-AI) — Summary

MetaSpec is a Python meta-specification framework that generates complete "speckits" — autonomous spec-driven toolkits for any domain — from a single metaspec init command. Where other frameworks in this corpus apply SDD to software development, MetaSpec applies SDD to the act of creating SDD toolkits themselves, making it recursive: MetaSpec uses SDS (spec-driven specifications) + SDD (spec-driven development) to build itself, and generates speckits that in turn carry domain specs. It ships a Python CLI (metaspec) with 6 subcommands and a Jinja2 template engine producing CLIs, parsers, validators, AGENTS.md files, and slash-command templates for any domain (development, design, testing, operations, etc.). A key engineering innovation is "precision-guided navigation" — every large template begins with a line-number navigation index so AI agents can read just the relevant 20–50 lines rather than thousands-line files, claiming 84–99% token reductions. MetaSpec is closest to openspec in the seed set (both ship a multi-command CLI for spec pipelines) but differs fundamentally by operating at the meta-level: instead of applying SDD to a feature, it applies SDD to generate a new SDD toolkit for any domain.

01

Overview

MetaSpec (ACNet-AI) — Origin & Philosophy

Origin

Created by ACNet-AI, an organization focused on AI agent tooling. The repo's author lineage traces to building spec-kit and OpenSpec first ("Phase 1: Universal SDD Tools"), then discovering domain-specific specifications are needed ("Phase 2: The Domain Insight"), and finally realizing the meta-framework should generate domain-specific toolkits ("Phase 3: Beyond Development"). Status: Alpha, last commit November 2025, 47 stars, 1 contributor.

Core Philosophy

Two foundational principles per README:

Domain Refinement: "Specifications refine from general to specific through multiple levels. Example: Development Spec → MCP Development Spec → Weather Query MCP Spec. Each level adds more context and constraints, enabling more precise AI guidance."

Modular Composition: "Specifications are independent, reusable modules that can be composed in two ways: Compose specs (combine sub-domain specs into a complete domain spec — Full-stack Web = Frontend + Backend + Database) and Compose usage (apply multiple specs to one project — MetaSpec uses SDS + SDD; MCP project uses MCP + Python + Testing)."

Manifesto-style Quotes (verbatim)

"MetaSpec is a meta-specification framework that enables AI Agents to automatically generate production-ready speckits (Spec-Driven X toolkits). Define your speckit once → Get complete development environment with CLI, parser, validator, templates, and AI agent support."

"MetaSpec 0.5.4 introduces precision-guided navigation so AI agents can read just the slices of large command templates they need... Real-world scenarios show 84-99% token reductions."

"This pattern isn't limited to software development... Any domain can benefit from specification-driven workflows."

Key Innovation

The "precision-guided navigation" pattern: every enhanced command template includes a structured table mapping section → line-number range → recommended read_file(offset, limit) call, enabling AI agents to surgically read only the relevant section of a multi-thousand-line spec template.

02

Architecture

MetaSpec (ACNet-AI) — Architecture

Distribution

Python package, installed via pip/uv from GitHub (not yet on PyPI as of analysis date).

Install

# Recommended
uv pip install git+https://github.com/ACNet-AI/MetaSpec.git

# Or pip
pip install git+https://github.com/ACNet-AI/MetaSpec.git

# Development
git clone https://github.com/ACNet-AI/MetaSpec.git && cd MetaSpec
uv pip install -e .

Required Runtime

  • Python >= 3.11
  • uv or pip

Directory Structure (source repo)

src/
└── metaspec/
    ├── __init__.py
    ├── cli/             # click-based CLI entry points
    ├── generator.py     # speckit generator engine
    ├── models.py        # data models
    ├── registry.py      # community speckit registry client
    ├── templates/
    │   ├── base/        # base templates shared across speckits
    │   ├── library/     # component library templates
    │   └── meta/
    │       └── sdd/
    │           └── commands/
    │               ├── specify.md.j2       # 3000+ line Jinja2 template
    │               ├── implement.md.j2     # 2000+ line Jinja2 template
    │               ├── tasks.md.j2
    │               └── plan.md.j2
    └── validation.py    # speckit validation logic
memory/
└── constitution.md      # constitutional principles for MetaSpec itself

Generated Speckit Structure (output)

<speckit-name>/
├── cli/               # Generated CLI (Python + click)
├── parser/            # Generated spec parser
├── validator/         # Generated spec validator
├── templates/         # Domain-specific spec templates
├── AGENTS.md          # AI agent guide for the speckit
└── <name>-constitution.md  # Domain spec principles

Target AI Tools

Multi-tool — AGENTS.md files are generated for Claude Code, Cursor, and other MCP-compatible agents. Speckits include slash-commands for both Claude Code and Codex CLI.

03

Components

MetaSpec (ACNet-AI) — Components

CLI Commands (6 total — metaspec binary)

Command Purpose
metaspec init [name] Create speckit (interactive wizard or template-based); --dry-run for preview
metaspec search <query> Search community speckits registry
metaspec install <name> Install speckit from community registry
metaspec list List locally installed speckits
metaspec info <name> Show speckit information
metaspec contribute [--check-only] Validate and contribute speckit to community

Template Commands Generated in Speckits

Each generated speckit includes slash commands derived from Jinja2 templates. SDD-type speckits include:

  • specify — define toolkit implementation specifications
  • implement — implementation guidance with language-specific sections
  • tasks — task management
  • plan — planning

SDS-type speckits include separate specification definition commands.

Jinja2 Templates (key source templates)

Template Size Purpose
meta/sdd/commands/specify.md.j2 ~3100 lines SDD toolkit specification generation with navigation index
meta/sdd/commands/implement.md.j2 ~2000 lines Implementation guidance with language-specific sections
meta/sdd/commands/tasks.md.j2 unknown Task management for SDD speckits
meta/sdd/commands/plan.md.j2 unknown Planning for SDD speckits

Memory / Constitution

  • memory/constitution.md — three-part constitutional document defining: Part I (Project Core Values), Part II (Specification Design Principles), Part III (Implementation Standards)
  • This file is referenced from AGENTS.md as the supreme governing document

No Hooks / No MCP Servers

MetaSpec itself ships zero Claude Code hooks or MCP servers. It generates speckits that may include hooks and MCP configurations for the generated domain toolkit.

05

Prompts

MetaSpec (ACNet-AI) — Prompt Files

Excerpt 1: SDD Specify Template Navigation Index (from src/metaspec/templates/meta/sdd/commands/specify.md.j2)

The template opens with a machine-readable navigation guide for AI token optimization:

---
description: Define toolkit specification (SDD - Spec-Driven Development)
---

## Outline

The text the user typed after `/metaspec.sdd.specify` is the **toolkit specification description**.

**PURPOSE: Toolkit Specification (SDD)** 🎯

This command is for defining **toolkit implementation specifications**:
- Focus: HOW to implement the toolkit
- Output: `specs/toolkit/001-{name}/spec.md`
- Must depend on specification specs
- Implementation-focused

### 📖 Navigation Guide (Quick Reference with Line Numbers)

**🎯 AI Token Optimization**: Use `read_file` with `offset` and `limit` to read only needed sections.

| Step | Lines | Size | read_file Usage |
|------|-------|------|-----------------|
| 1. Setup & Verify | 103-159 | 56 lines | `read_file(target_file, offset=103, limit=56)` |
| 2. Gather Content | 160-239 | 79 lines | `read_file(target_file, offset=160, limit=79)` |
| 3. Generate Sections | 240-2673 | 2433 lines | See components below ⬇️ **LARGE** |
| 4. Write File | 2674-2722 | 48 lines | `read_file(target_file, offset=2674, limit=48)` |

Technique: Precision-guided navigation — embedding line-number indices inside templates so AI agents use read_file(offset, limit) to stream only the relevant slice, avoiding full-file reads of 3000+ line templates. Claimed 84–99% token savings.

Excerpt 2: Generator vs AI Commands Guidance (from the same template, lines ~2116-2211)

**🎯 Generator vs AI Commands** ⭐⭐⭐ UPDATED

| Subsection | Lines | Size | Usage |
|------------|-------|------|-------|
| **🎯 Generator vs AI Commands** ⭐⭐⭐ UPDATED | 2116-2211 | 96 lines | `read_file(target_file, offset=2116, limit=96)` |
| Step 1-4: Analysis Logic | 2214-2293 | 80 lines |
| **Step 5: Define Generator** ⭐ UPDATED | 2294-2487 | 193 lines |
| **✅ Verification Checklist** ⭐⭐ ENHANCED | 2488-2513 | 25 lines |

Technique: Layered specification — the template is a meta-document that both describes what to do and provides the scaffolding for the output. The distinction between "Generator" (code that produces files) vs "AI Commands" (prompts that instruct AI) is an explicit architectural separation enforced through the spec.

Excerpt 3: AGENTS.md Constitutional Principle Reference

From memory/constitution.md (referenced in AGENTS.md):

The constitution is organized into three parts:
Part I: Project Core Values (Managed by: /speckit.constitution)
  - AI-First Design
  - Progressive Enhancement
  - Minimal Viable Abstraction
  - Domain Specificity

Part II: Specification Design Principles (Managed by: /metaspec.sds.constitution)
  - Entity Clarity
  - Validation Completeness
  - Operation Semantics
  - Implementation Neutrality

Technique: Constitutional governance — a supreme document that all other specs must not contradict. Constitutional design in multi-level spec systems.

Prompting Techniques Summary

  1. Precision-guided navigation — line-number table of contents in large templates
  2. SDS/SDD separation — spec definition vs spec implementation as distinct namespaces
  3. Constitutional inheritance — constitution.md as supreme authority over all generated specs
  4. Jinja2 template metaprogramming — templates that generate templates
09

Uniqueness

MetaSpec (ACNet-AI) — Uniqueness & Positioning

differs_from_seeds

MetaSpec is closest to openspec in the seed set (both implement multi-command CLI spec pipelines), but operates at a fundamentally different abstraction level: where openspec applies SDD to a software feature, MetaSpec applies SDD to generate a new SDD toolkit for any domain. This recursive "meta-framework" property is unique in the corpus. Versus spec-kit (Python CLI with hooks), MetaSpec has no hooks and targets toolkit generation rather than feature implementation. The precision-guided navigation pattern (line-number tables of contents embedded in templates so AI agents can stream only relevant slices) has no equivalent in any seed framework.

Unique Positioning

The only framework in this batch that generates spec frameworks rather than applying spec frameworks. By separating SDS (specification definition) from SDD (toolkit implementation) as distinct namespaces, MetaSpec enables domain-specific specification systems to be built with the same methodology used to build any other software system.

Observable Failure Modes

  1. Alpha quality: status explicitly "Alpha"; generated code quality varies.
  2. Not on PyPI: install from GitHub only; brittle dependency management.
  3. Single maintainer: 1 contributor; CHANGELOG shows rapid iteration risk.
  4. Recursion complexity: the meta-level concept is difficult to explain to new users; README is verbose and conceptually dense.
  5. Token optimization is partially documented: the navigation guide pattern works only if agents support read_file(offset, limit) — not all AI tools do.

Explicit Antipatterns (from constitution)

  • Using generic SDD specs when domain-specific specs are needed
  • Conflating SDS (specification definition) with SDD (toolkit implementation)
  • Creating monolithic specs instead of modular composable specs
04

Workflow

MetaSpec (ACNet-AI) — Workflow

Two-Level Workflow

MetaSpec operates at two levels: the MetaSpec level (creating speckits) and the Speckit level (using a generated speckit to develop domain projects).

Level 1: Creating a Speckit

Phase Command Artifact
1. Preview metaspec init <name> --dry-run Preview output (no files written)
2. Create metaspec init <name> Complete speckit directory with CLI, parser, validator, templates
3. Contribute (optional) metaspec contribute Speckit validated + submitted to community

Level 2: Using a Generated Speckit (SDD example)

Phase Slash Command (generated) Artifact
1. Specify /<speckit>.sdd.specify specs/toolkit/001-<name>/spec.md
2. Plan /<speckit>.sdd.plan Implementation plan
3. Implement /<speckit>.sdd.implement Domain artifacts
4. Tasks /<speckit>.sdd.tasks Task tracking

SDS vs SDD Separation

MetaSpec enforces a separation between:

  • SDS (Spec-Driven Specifications): defining WHAT the domain spec says
  • SDD (Spec-Driven Development): implementing HOW the toolkit works

These are distinct command namespaces in generated speckits (e.g., /<name>.sds.specify vs /<name>.sdd.specify).

Approval Gates

No explicit human approval gates in MetaSpec CLI workflow. Interactive wizard (metaspec init) asks questions but proceeds automatically. The --dry-run flag provides a preview before creation.

Community Registry Flow

metaspec search <query> → metaspec install <name> → <speckit> info

Installed speckits are immediately usable as direct CLI commands (e.g., api-speckit info — no metaspec prefix needed after install).

06

Memory Context

MetaSpec (ACNet-AI) — Memory & Context

State Storage

File-based, within the generated speckit directory.

MetaSpec-Level Memory

  • memory/constitution.md — constitutional principles that govern all MetaSpec operations; read by AGENTS.md at session start

Speckit-Level Memory (generated)

Each generated speckit includes:

  • Domain specifications in specs/ directory
  • AGENTS.md — AI agent guidance referencing the constitution
  • <speckit>-constitution.md — domain-specific constitutional principles

Cross-Session Handoff

Yes — constitution and generated specs persist as files. AGENTS.md instructs agents to read the constitution at session start.

Compaction / Token Optimization

MetaSpec introduces a unique precision-guided navigation pattern as a token-economy mechanism: large Jinja2 templates (3000+ lines) include a line-number navigation table at the top, so AI agents can call read_file(offset, limit) to read only the 20–80 lines relevant to their current step. This is the framework's primary contribution to context management.

Memory Type

File-based (Jinja2 templates + generated markdown files).

Persistence Scope

Project-scoped (speckit directory).

Community Registry

registry.py implements a community speckit registry client for metaspec search and metaspec install. Registry state is remote (not local file-based).

07

Orchestration

MetaSpec (ACNet-AI) — Orchestration

Multi-Agent

No. MetaSpec itself is a CLI that generates toolkits. The generated speckits may support multi-tool usage, but MetaSpec's core generation is single-agent sequential.

Orchestration Pattern

Sequential. The metaspec init pipeline generates all artifacts in sequence.

Execution Mode

One-shot. Each command completes and returns; no daemon or continuous loop.

Isolation Mechanism

None. Files are written directly in the working directory.

Multi-Model

No single model required. MetaSpec is model-agnostic — it generates AGENTS.md and slash-command templates that work with any AI tool (Claude Code, Cursor, Codex CLI). No model routing built in.

Consensus Mechanism

None.

Prompt Chaining

Yes — within generated speckits. The SDD workflow chains: specify → plan → implement, where each stage's output feeds the next.

Auto-Validators

  • 151 tests with 90.99% coverage (for MetaSpec's own codebase, not for generated speckits)
  • metaspec contribute --check-only validates a speckit before community submission

TDD Enforcement

None at the MetaSpec level. Generated speckits may include TDD guidance depending on domain.

Git Automation

None.

Cross-Tool Portability

High. Generated speckits include AGENTS.md (Claude Code), prompts for Codex CLI, and can target any MCP-compatible agent.

08

Ui Cli Surface

MetaSpec (ACNet-AI) — UI & CLI Surface

CLI Binary

  • Name: metaspec
  • Type: Dedicated CLI Python package
  • Install: uv pip install git+https://github.com/ACNet-AI/MetaSpec.git
  • Subcommands: 6 (init, search, install, list, info, contribute)

Local UI

None. No web dashboard, TUI, or desktop app in MetaSpec itself.

Observability

  • metaspec list — lists installed speckits
  • metaspec info <name> — shows speckit metadata
  • No structured logging or audit trail

IDE Integration

None for MetaSpec itself. Generated speckits include:

  • AGENTS.md for Claude Code
  • Slash-command templates for both Claude Code and Codex CLI
  • MCP configuration templates for MCP-compatible agents

Installation Flow

metaspec init                    # interactive wizard
metaspec init my-spec-kit        # direct creation
metaspec init my-spec-kit --dry-run  # preview first
api-speckit info                 # use installed speckit directly (no metaspec prefix)

Cross-Tool Portability

High. MetaSpec is explicitly designed to generate toolkits for any AI tool. The README lists: "SD-Development, SD-Design, SD-Testing, SD-Documentation, SD-Operations, SD-X."

Related frameworks

same archetype · same primary tool · same memory type

claude-mem (thedotmack) ★ 78k

Background worker service captures every tool call as an observation, AI-compresses sessions, and auto-injects relevant past…

pi (badlogic/earendil) ★ 55k

A minimal, hackable, multi-provider terminal coding agent that adapts to your workflows via npm-installable TypeScript Extensions…

Agent Skills (Addy Osmani) ★ 46k

Encodes senior-engineer software development lifecycle as 23 auto-routed skills and 7 slash commands for any AI coding agent.

wshobson/agents Plugin Marketplace ★ 36k

Single Markdown source for 83 domain-specialized plugins that auto-generates idiomatic artifacts for five AI coding harnesses.

TabbyML/Tabby ★ 34k

Self-hosted AI coding assistant server (alternative to GitHub Copilot) with admin dashboard, RAG-based completions, and multi-IDE…

Compound Engineering ★ 17k

Make each unit of engineering work compound into easier future work via brainstorm→plan→execute→review→learn cycles.