Create a specification: $ARGUMENTS
What this skill does
Creates a new specification by:
- Running the scaffold script to generate the directory and template
- Guiding the agent through filling each TODO section
- Validating the spec against the normative scaffold
This skill exists to prevent agents from reading specification-specification each time they write a specification. The scaffold script encodes the normative scaffold (A.1-A.10) as a template; this skill encodes the content-filling process.
Instructions
1. Parse arguments
From $ARGUMENTS, extract:
- spec-id: kebab-case identifier (e.g.,
semiotic-citation) - category:
formatorconvention(default: convention) - source material: paths to triage files or existing docs that inform the spec’s content
2. Run the scaffold script
cd content
python technology/specifications/specification-specification/scripts/scaffold-specification.py \
SPEC_ID --category CATEGORYThis creates technology/specifications/SPEC_ID/index.md with all
sections from the specification-specification normative scaffold
(A.1-A.10) pre-filled as TODO markers. Convention specs omit A.2,
A.7, A.9 per specification-specification §0.
3. Read source material
If source material paths were provided, read each file. Extract:
- Key concepts and vocabulary
- Existing practices being codified
- Normative constraints already in use
- Terms that need glossary entries
Do NOT copy source material into the spec. The spec defines normative rules; source material provides context for what those rules should be.
4. Fill the specification
Open the scaffolded index.md and replace each TODO section:
§0 Scope: What does this spec apply to? Name directories, file types, practices, or actors. One paragraph.
§1 What X is: Define the core concept in 2-4 paragraphs. What is it? Why does it exist? What problem does it solve?
§2+ Normative sections: The main content. Rules for how things work. Follow these patterns:
- Number every rule
- Use MUST/SHOULD/MAY per RFC 2119
- Prefer tables for structured information
- Prefer lists for sequential procedures
- One concept per section
- Each rule should be independently testable
Glossary: Define every term used normatively. Bulleted list.
Rationale: Why these rules? What practice does this codify? Non-normative, concise.
Relationship to other specs: What does this spec require, extend, or relate to?
5. Validate
After filling, check the spec against specification-specification A.1-A.10:
- A.1: Frontmatter has spec-id, version, stability
- A.3: Error semantics defined (classes, schema)
- A.4: Conformance matrix maps each MUST/SHOULD/MAY to actors
- A.6: Security considerations addressed (format) or noted
- A.10: Glossary defines normative terms; rationale exists; all examples marked normative or informative
- Scope section declares format or convention
- Opening paragraph states what the spec is
- (Format only) A.2: CANON(x) defined; A.7: determinism stated; A.9: formal artifacts provided
6. Register
If the specification belongs to a larger system that maintains a registry or dependency map, update those registrations. The specifics depend on the context in which the specification is being created.
7. Report
State:
- The spec-id and title
- The file path
- How many normative sections were written
- What source material was used
- What registration was done