# A2ui Create Feature Blueprint

> Provides instructions on how to create a new language-agnostic A2UI Feature Blueprint, ensuring consistency and ease of cross-language implementation.

- Skill: `a2ui-project/a2ui-create-feature-blueprint` (Agent Skill)
- Install (CLI): `npx skillmds@latest add a2ui-project/a2ui-create-feature-blueprint`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a2ui-project/a2ui-create-feature-blueprint/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a2ui-project (https://skillmd.com/u/a2ui-project)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/a2ui-project/a2ui-create-feature-blueprint

---


# A2UI Create Feature Blueprint Skill

This skill provides step-by-step instructions on how to design, format, and check in a new A2UI **Feature Blueprint** inside `blueprints/features/` to specify behavioral or protocol changes before implementation.

---

## **1. Design Principles for Feature Blueprints**

- **Language Agnosticism:** Keep the blueprint completely free of language-specific or framework-specific terminology.
- **Generic Protocol Alignment:** Reference specific messages, schemas, or JSON pointers as the primary mechanism for interaction.
- **Portability:** Design the feature so that it can be implemented cleanly across targeted SDK languages.

---

## **2. Step-by-Step Creation Recipe**

### **Step 1: File Naming & Location**

- **Target Path:** `blueprints/features/<feature_name>.blueprint.md`
  - `<feature_name>` must be in `snake_case` (e.g. `dynamic_theming.blueprint.md`).
  - Do **NOT** prefix filenames with a date.
- **Initial Status:** All newly created feature blueprints in `blueprints/features/` start as **optional** (unmerged).

### **Step 2: Define YAML Frontmatter**

Every feature blueprint must start with a YAML block containing:

```yaml
---
feature_name: feature_name # Must match the filename's snake_case name exactly
module_blueprints:
  - a2ui_core # One or more valid module blueprint names affected
dependencies: [] # Optional list of prerequisite feature names
date_added: 2026-07-07 # Date initially authored (YYYY-MM-DD)
---
```

### **Step 3: Structure Content**

Implement canonical Markdown sections:

1. `# **[Feature Name] Feature Blueprint**`
2. `## **Requirements**`
3. `## **Detailed Description of Changes**`
4. `## **Links**`
5. `## **Test Cases & Conformance**`
6. `## **Implementation Steps**`

### **Step 4: Validate Blueprint**

Run the blueprint validator script:

```bash
python3 blueprints/validate_blueprints.py
```

