Claude-Skills Output Formats: The Complete Enum Guide for Skill Metadata
Claude-skills supports exactly ten standardized output format values—code, document, report, architecture, specification, schema, manifests, analysis, analysis-and-code, and code+analysis—that must be declared in a skill's YAML front-matter and are strictly validated by the repository's tooling.
The Jeffallan/claude-skills repository defines a strict contract for how AI skills declare their deliverables. Understanding the complete list of claude-skills output formats ensures your skill metadata passes validation and integrates correctly with the ecosystem's automation scripts.
The Ten Canonical Claude-Skills Output Formats
According to the core specification in CLAUDE.md (line 69), the output-format field accepts only the following enum values:
code— Raw source code in any programming language, without markdown fences or conversational wrapper text.document— Structured documentation such as Markdown or HTML files intended for human reading.report— Human-readable analysis, summaries, or findings presented in narrative form.architecture— High-level system design descriptions, diagrams, or architectural decision records.specification— API contracts, interface definitions, or formal technical specifications.schema— Data model definitions including JSON Schema, GraphQL schemas, or database DDL.manifests— Deployment configurations such as Kubernetes YAML, Docker Compose files, or Terraform HCL.analysis— Pure analytical output without accompanying implementation code.analysis-and-code— Combined deliverable where analysis precedes the implementation.code+analysis— Code-first presentation followed by explanatory analysis.
These values represent the complete, closed set. The validation scripts reject any skill declaring an output format outside this enumeration.
How to Declare Output Formats in Skill Metadata
Each skill defines its output format in the YAML front-matter of its SKILL.md file. The metadata parser reads this field to determine how the skill's deliverables should be handled.
Here is the standard front-matter structure:
---
name: react-expert
description: Generates optimized React components and hooks
license: MIT
metadata:
author: https://github.com/Jeffallan
version: "1.0.0"
domain: frontend
triggers: react, component, hook
role: specialist
scope: implementation
output-format: code # ← must be one of the ten enum values
related-skills: typescript-master, test-engineer
---
In this example from skills/react-expert/SKILL.md (line 12), the output-format: code declaration signals that this skill produces raw source code without markdown fences or conversational wrapper text.
Validation and Enforcement Mechanisms
The repository maintains strict validation through automated scripts that parse every skill's front-matter and verify compliance with the output format enum.
Validation Script
The scripts/validate-skills.py file enforces that every skill's output-format value appears in the canonical list defined in CLAUDE.md. If a skill declares an invalid format, the validation fails with an explicit error message identifying the offending skill and the unsupported value.
Migration Helper
The scripts/migrate-frontmatter.py script (lines 218 and 279) handles bulk updates and migrations of the output-format field. When the enum evolves or when normalizing legacy skills, this script ensures that migrated values remain within the allowed set, preventing drift from the specification.
Real-World Usage Examples
The repository demonstrates every output format through concrete skill implementations:
code:skills/react-expert/SKILL.md(line 12) — Generates React components without markdown wrappers.report:skills/the-fool/SKILL.md(line 12) — Produces narrative analysis and summaries.architecture:skills/cloud-architect/SKILL.md(line 12) — Creates high-level system design documentation.document: Used by skills generating structured Markdown documentation for human consumption.specification: Employed by API design skills defining OpenAPI or GraphQL contracts.schema: Used for JSON Schema or database modeling skills.manifests: Infrastructure-as-code skills producing Kubernetes or Docker Compose files.analysis: Pure research skills delivering findings without implementation.analysis-and-code: Comprehensive skills that explain then implement.code+analysis: Implementation-first skills that follow up with explanation.
Summary
- Claude-skills recognizes ten standardized output formats defined as a closed enum in
CLAUDE.md(line 69). - Valid values are:
code,document,report,architecture,specification,schema,manifests,analysis,analysis-and-code, andcode+analysis. - Skills declare their format in the
output-formatfield ofSKILL.mdYAML front-matter. - The
scripts/validate-skills.pyandscripts/migrate-frontmatter.py(lines 218, 279) enforce strict compliance with the enum. - Real-world examples in
skills/react-expert/SKILL.md,skills/the-fool/SKILL.md, andskills/cloud-architect/SKILL.mddemonstrate practical usage.
Frequently Asked Questions
What happens if I use an invalid output format in my skill?
The validation script scripts/validate-skills.py will reject your skill during the CI/CD pipeline or local validation run. It produces an explicit error message identifying your skill file and the unsupported output-format value, preventing invalid skills from entering the registry.
Can a skill support multiple output formats simultaneously?
No, the output-format field accepts a single enum value per skill. If your use case requires both code and analysis, you should select the composite format analysis-and-code or code+analysis depending on which deliverable should appear first in the output.
How do I migrate an existing skill to a new output format?
Use the scripts/migrate-frontmatter.py utility, which handles bulk updates of the output-format field at lines 218 and 279. This script ensures that migrated values remain within the allowed enum and can normalize legacy skills to match the current specification in CLAUDE.md.
Where is the authoritative source for valid output format values?
The canonical enum definition resides in CLAUDE.md at line 69. This file serves as the central specification for the entire repository, and all validation scripts reference this definition when checking skill compliance.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →