Skip to content
schema

SNIPER Protocol

Schema for SNIPER protocol definition files that define lifecycle phase sequences.

Properties

PropertyTypeRequiredDescription
namestringYesUnique protocol identifier (e.g. full, feature, patch, hotfix).
descriptionstringYesHuman-readable description of the protocol's purpose.
phasesarrayYes
auto_retrobooleanNo

Full Schema

108 lines
yaml
$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://sniper.ai/schemas/protocol"
title: SNIPER Protocol
description: Schema for SNIPER protocol definition files that define lifecycle phase sequences.
type: object
required:
  - name
  - description
  - phases
properties:
  name:
    type: string
    description: Unique protocol identifier (e.g. full, feature, patch, hotfix).
  description:
    type: string
    description: Human-readable description of the protocol's purpose.
  phases:
    type: array
    minItems: 1
    description: Ordered list of phases that compose this protocol.
    items:
      type: object
      required:
        - name
        - description
        - agents
        - spawn_strategy
      properties:
        name:
          type: string
          description: Phase identifier (e.g. discover, plan, implement, review).
        description:
          type: string
          description: Human-readable description of what this phase accomplishes.
        agents:
          type: array
          minItems: 1
          items:
            type: string
          description: Agent personas assigned to this phase.
        spawn_strategy:
          type: string
          enum:
            - single
            - team
          description: Whether to spawn a single agent or a coordinated team.
        gate:
          type: object
          properties:
            checklist:
              type: string
              description: >
                Name of the checklist to evaluate at the gate.
                Use "none" to skip checklist evaluation (phase still completes normally).
            human_approval:
              type: boolean
              description: Whether a human must approve the gate before proceeding.
            multi_model_checklist:
              type: string
              description: Checklist to use for multi-model review (optional).
          required:
            - checklist
            - human_approval
          additionalProperties: false
          description: Quality gate configuration for this phase.
        outputs:
          type: array
          items:
            type: string
          description: Expected artifacts produced by this phase.
        plan_approval:
          type: boolean
          description: Whether agents must get their plan approved before executing.
        coordination:
          type: array
          description: Inter-agent coordination constraints for team phases.
          items:
            type: object
            required:
              - between
              - topic
            properties:
              between:
                type: array
                minItems: 2
                items:
                  type: string
                description: Agent personas that must coordinate.
              topic:
                type: string
                description: Description of the coordination requirement.
            additionalProperties: false
        skip_if:
          type: string
          description: >
            Predicate expression that, when true, causes this phase to be skipped.
            Available variables: learning_count (active learnings),
            last_curation_within_N_protocols (boolean).
            Example: "learning_count < 30 AND last_curation_within_5_protocols"
      additionalProperties: false
  auto_retro:
    type: boolean
    deprecated: true
    description: >
      DEPRECATED — Use a 'retro' phase in the phases list instead.
      When true, spawns retro-analyst after protocol completion. Retained for
      backward compatibility with custom protocols that don't define a retro phase.
additionalProperties: false