SpecWorks Factory

Welcome

The SpecWorks Factory uses AI tooling to materialize software components directly from their specifications. This is a specification-centric ecosystem where components are discovered by problem space, not programming language.

What is SpecWorks?

SpecWorks is a Factory pattern system for creating, cataloging, and distributing software components that implement publicly available specifications. Components are:

  • Specification-Compliant - Implement RFCs, W3C standards, ISO specifications, and other public standards
  • Multi-Language - Available in .NET, Python, Rust, and other languages
  • Discoverable - Find components by problem space, not language
  • Quality-Focused - Comprehensive test suites demonstrate compliance
  • Open Source - MIT licensed, hosted on GitHub

Available Parts

Part Specification Languages Test Cases Status
vCard RFC 6350 - Contact Information .NET, Python, Rust testcases/ ✅ Active
JsonDiff RFC 6902 - JSON Patch .NET TestCases/ ✅ Active
iCalendar RFC 5545 - Calendar Data .NET testcases/ ✅ Active
RateLimiter IETF Draft - HTTP Rate Limits .NET testcases/ ✅ Active
linkset RFC 9264 - Web Link Sets .NET testcases/ ✅ Active
MarkMyWord CommonMark 0.31.2 + ECMA-376 - Markdown/Word Conversion .NET ✅ Active
MarkMyDeck CommonMark 0.31.2 + ECMA-376 - Markdown/PowerPoint Conversion .NET testcases/ ✅ Active
Message RFC 5322 + MIME - Email Messages .NET testcases/ ✅ Active
Sidemark MRSF v1.0 - Markdown Review Sidecar Format .NET testcases/ ✅ Active
OfficeTalk OfficeTalk/1.0 - Deterministic Office Document Operations .NET testcases/ ✅ Active
OfficeTalkEngine OfficeTalk/1.0 - Execution Engine + CLI .NET testcases/ ✅ Active
A2A-Ask A2A Protocol - Agent-to-Agent Communication CLI .NET ✅ Active

Explore the full xRegistry catalog →

Find Parts By Problem Space

Quick Start

AI Agent Skills & Plugins

SpecWorks provides AI agent skills that teach coding assistants (GitHub Copilot CLI, Claude Code, VS Code Copilot, Cursor) how to use SpecWorks tools. Install from the SpecWorks Plugins Repository:

Plugin Type Description Install
a2a-ask Skill Interact with remote A2A protocol agents dotnet tool install --global SpecWorks.A2A-Ask
markmyword Skill Markdown ↔ Word (.docx) conversion dotnet tool install --global SpecWorks.MarkMyWord.CLI
markmydeck Skill Markdown → PowerPoint (.pptx) conversion dotnet tool install --global SpecWorks.MarkMyDeck.CLI
officetalk Skill Deterministic Office document operations dotnet tool install --global SpecWorks.OfficeTalkEngine.CLI
xregistry-mcp MCP Server xRegistry specification discovery See README

To install a skill into your AI coding assistant, copy the SKILL.md from the plugin folder into your skills directory:

# GitHub Copilot CLI (personal)
mkdir -p ~/.copilot/skills/<plugin-name>
cp SKILL.md ~/.copilot/skills/<plugin-name>/SKILL.md

# Claude Code (personal)
mkdir -p ~/.claude/skills/<plugin-name>
cp SKILL.md ~/.claude/skills/<plugin-name>/SKILL.md

Browse all plugins →

Finding a Component

Browse the Available Parts table above, or search the xRegistry catalog to find components by specification or problem space:

  • Need to parse contact information? → vCard (RFC 6350)
  • Need JSON Patch operations? → JsonDiff (RFC 6902)
  • Need calendar/event parsing? → iCalendar (RFC 5545)
  • Need email message parsing? → Message (RFC 5322 + MIME)
  • Need Markdown review comments? → Sidemark (MRSF v1.0)

Installing a Component

Each Part provides packages for standard package managers:

.NET (NuGet):

dotnet add package SpecWorks.JsonDiff

Python (PyPI):

pip install vcard

Rust (crates.io):

[dependencies]
vcard = "*"

Using a Component

Each Part includes comprehensive documentation with examples:

// Example: Using JsonDiff (.NET)
using SpecWorks.JsonDiff;

var original = JsonDocument.Parse("{\"name\":\"John\"}");
var modified = JsonDocument.Parse("{\"name\":\"Jane\"}");
var patch = JsonDiffer.Diff(original, modified);

Documentation

Contributing

Goals

  • Operationalize the theory of an AI-powered software factory
  • Provide a place to learn and improve AI-assisted developer tooling
  • Produce high-quality software components that conform to publicly available specifications
  • Demonstrate the viability of LLM-generated software components

Why SpecWorks?

Specification-Centric Discovery

Traditional package search:

"I need a JSON library for .NET"

SpecWorks approach:

"I need to implement RFC 6902 (JSON Patch)"

Find solutions by problem space and specification, not by programming language.

Multi-Language Implementations

A single Part (like vCard) can have implementations in multiple languages, all implementing the same specification. Choose the language that fits your stack.

Quality and Compliance

Every component includes:

  • ✅ Comprehensive test suites (typically 20+ tests)
  • ✅ Specification compliance documentation
  • ✅ Real-world payload examples
  • ✅ CI/CD automated testing

Open and Reproducible

The SpecWorks Factory pattern is:

  • 📖 Fully documented - Complete specification available
  • 🔓 Open source - All code MIT licensed
  • 🔄 Reproducible - Create your own factory following the pattern
  • 🤖 AI-friendly - Designed for AI-assisted development

Repository Organization

The SpecWorks organization uses a multi-repository pattern:

  • Each Part has its own repository (e.g., github.com/spec-works/vCard)
  • Factory specifications and conventions in the specification repository
  • Shared workflows and documentation in .github repository

This enables:

  • Parallel AI-agent operations on different Parts
  • Independent version control and release cycles
  • Specification-centric organization

Community

License

All SpecWorks components are licensed under the MIT License.


Ready to explore? Browse the xRegistry catalog →