Files
2025-11-29 18:26:08 +08:00

137 lines
3.6 KiB
YAML

name: artifact.scaffold
version: 0.1.0
description: >
Generate new artifact templates automatically from metadata inputs.
Creates fully compliant artifact descriptors with auto-incremented versions,
saves them as .artifact.yaml files, and registers them in the artifacts registry.
Supports optional validation of generated artifacts.
inputs:
- name: id
type: string
required: true
description: Unique identifier for the artifact (e.g., "new.artifact")
- name: category
type: string
required: true
description: Category/type of artifact (e.g., "report", "specification")
- name: extends
type: string
required: false
description: Optional base artifact to extend from (e.g., "base.artifact")
- name: fields
type: array
required: false
description: List of field definitions with name, type, description, and required properties
- name: output
type: string
required: false
description: Custom output path for the artifact file (defaults to artifacts/{id}.artifact.yaml)
- name: validate
type: boolean
required: false
default: false
description: Whether to validate the artifact after generation
outputs:
- name: artifact_id
type: string
description: ID of the generated artifact
- name: file_path
type: string
description: Path to the generated artifact YAML file
- name: version
type: string
description: Version assigned to the artifact (default 0.1.0)
- name: category
type: string
description: Category of the artifact
- name: registry_path
type: string
description: Path to the artifacts registry
- name: artifacts_registered
type: integer
description: Total number of artifacts in the registry
- name: validation
type: object
required: false
description: Validation results if --validate flag was used
dependencies:
- artifact.define
entrypoints:
- command: /skill/artifact/scaffold
handler: artifact_scaffold.py
runtime: python
description: >
Generate a new artifact template from metadata. Creates a valid .artifact.yaml
file with the specified structure, registers it in the artifacts registry,
and optionally validates the output.
parameters:
- name: id
type: string
required: true
description: Artifact ID in namespace.name format
- name: category
type: string
required: true
description: Artifact category
- name: extends
type: string
required: false
description: Base artifact to extend
- name: fields
type: array
required: false
description: Field definitions as JSON array
- name: output
type: string
required: false
description: Custom output path
- name: validate
type: boolean
required: false
description: Validate after generation
permissions:
- filesystem:read
- filesystem:write
status: active
tags:
- artifacts
- scaffolding
- generation
- templates
- metadata
artifact_metadata:
produces:
- type: artifact-definition
description: Generated artifact YAML descriptor file
file_pattern: "*.artifact.yaml"
content_type: application/yaml
- type: artifact-registry
description: Updated artifacts registry with new entries
file_pattern: "registry/artifacts.json"
content_type: application/json
consumes:
- type: artifact-metadata
description: Optional artifact metadata for extension
file_pattern: "*.artifact.yaml"
content_type: application/yaml