Skill Specification v1

This specification defines the structure for SKILL.md files that describe executable skills in the Emsemioverse library.

Purpose

Skills are the primary unit of automation in this library. Each skill:

  1. Has a well-defined interface (inputs/outputs)
  2. Can be discovered and invoked programmatically
  3. Supports multiple execution contexts (human, automation, service)
  4. Enables composition and chaining

SKILL.md Structure

A compliant SKILL.md file has YAML frontmatter followed by prose documentation.

Required Frontmatter Fields

FieldTypeDescription
skill_spec_versionstringMust be "1"
idstringUnique kebab-case identifier
namestringHuman-readable name
kindstringskill or agent-skill
authorsarrayList of author identifiers
date-createdstringYYYY-MM-DD format

Optional Frontmatter Fields

FieldTypeDescription
summarystringOne-line description
descriptionstringDetailed description
versionstringSemantic version (default: 0.1.0)
skill_kindstringhuman, automation, or service
runtimeobjectExecution configuration
inputsarrayInput parameters
outputsarrayOutput values
capabilitiesobjectIntegration metadata
examplesarrayUsage examples

Runtime Configuration

For automation skills, the runtime object specifies how to execute:

runtime:
  entrypoint: scripts/my-script.py
  language: python
  invocation: cli  # cli | module | function
  env_vars:
    - API_KEY

Input/Output Parameters

Each parameter in inputs or outputs has:

inputs:
  - name: config_path
    description: Path to configuration file
    type: path
    required: true
  - name: dry_run
    description: Preview without making changes
    type: boolean
    required: false
    default: false

Supported types: string, integer, number, boolean, array, object, path

Capabilities

The capabilities object enables skill discovery and composition:

capabilities:
  domains: [publishing, writing]
  consumes: [markdown-file, publication-config]
  provides: [site-directory]
  composable: true

Validation

Use the skill manifest generator to validate SKILL.md files:

python library/mathematics/objects/agential-semioverse/tools/skill-manifest/scripts/build-skill-manifest.py --validate

Schema

The JSON Schema for validation is at library/mathematics/objects/agential-semioverse/practice/skill-spec-v1/skill-spec-v1.json.