Skip to content

Agent Manifest Reference

Agent manifests describe every AI capability the platform can expose. They live alongside other configuration-as-code assets inside .kiket/agents/ within your repository.
Looking for the companion configuration-as-code format? See the Agent Definition DSL for authoring repositories of reusable agents.

File Locations

  • Bundled defaults: config/kiket/agents/*.yml
  • Template repositories: definitions/<template>/.kiket/agents/*.yml
  • Customer repositories: storage/workflow_sources/<org>/<repo>/.kiket/agents/*.yml

Files are loaded in that order. Duplicate id values are rejected so each agent is defined exactly once.

Schema Overview

Every manifest uses schema version 1.0 and must include the following keys:

Key Type Notes
model_version String Use 1.0 for the current schema.
id String Lowercase slug (a-z, 0-9, _, -, .). Must be unique.
version String Semantic version for rollout tracking.
name String Human-friendly title for dashboards and admin tooling.
description String (optional) Short explanation of what the agent does.
prompt String ID of the prompt template to render.
capabilities Array\<String> Tags such as summarize, classify, assign.
context.required Array\<String> Context providers that must be present (e.g. issues, organization_settings).
context.optional Array\<String> Additional providers used when available.
human_in_loop Hash (optional) Approval policy (required, escalation_strategy, notes, reason).
confidence_threshold Float (optional) Value between 0.0–1.0 used to trigger human review.
metadata Hash (optional) Free-form data for UI hints or rollout flags.

All strings are stripped of whitespace and blank entries are removed from arrays at load time.

Validating Manifests

Use the kiket agents lint command before committing. It validates manifests against the schema, checks for required fields, validates ID formats, and reports errors for unknown keys. Run from your project root:

kiket agents lint                    # Lint agents in current directory
kiket agents lint path/to/project    # Lint agents in specific path
kiket agents lint --fail-fast        # Stop on first error

Example Manifest

model_version: "1.0"
id: triage.classifier
version: 1.2.0
name: Incident Triage Classifier
description: Suggests severity and the right responder for new incidents.
prompt: ai.prompts.triage
capabilities:
  - classify
  - summarize
context:
  required:
    - issues
    - organization_settings
  optional:
    - analytics_snapshot
human_in_loop:
  required: true
  escalation_strategy: escalate_to_oncall
  notes: "Escalate if confidence < 0.6 or priority is critical."
confidence_threshold: 0.65
metadata:
  audience: support

Authoring Tips

  • Keep manifests declarative—business logic should live in extensions or KiketScript actions.
  • Increment version whenever behaviour changes to help identify rollout state.
  • Pair every manifest with an integration or system test whenever you roll out a new capability.