> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nika.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# description

> Contract, placement, related fields and source examples for this Nika YAML field.

[Language reference](/reference/language/overview) / `description`

## Meaning and placement

### → inputs · additionalProperties

Free-form prose about this input · what a caller is being asked for. Documentation only — the contract is `type` and `required`.

| Property        | Declaration                                                      |
| --------------- | ---------------------------------------------------------------- |
| Requirement     | Optional in this object                                          |
| Schema location | `/properties/inputs/additionalProperties/properties/description` |
| type            | "string"                                                         |

**In the same object:** [default](/reference/language/words/default) · [required](/reference/language/words/required) · [type](/reference/language/words/type)

[Schema source (use the pointer above)](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/schemas/workflow.schema.json)

### → const · additionalProperties · then

Free-form prose about this constant · why the value is what it is. Documentation only — the contract is `type` and `value`.

| Property        | Declaration                                                          |
| --------------- | -------------------------------------------------------------------- |
| Requirement     | Optional in this object                                              |
| Schema location | `/properties/const/additionalProperties/then/properties/description` |
| type            | "string"                                                             |

**In the same object:** [type](/reference/language/words/type) · [value](/reference/language/words/value)

[Schema source (use the pointer above)](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/schemas/workflow.schema.json)

### → outputs · additionalProperties · anyOf · 1

Free-form prose about this output · what a caller receives. Documentation only — the contract is `value` and `type`.

| Property        | Declaration                                                               |
| --------------- | ------------------------------------------------------------------------- |
| Requirement     | Optional in this object                                                   |
| Schema location | `/properties/outputs/additionalProperties/anyOf/1/properties/description` |
| type            | "string"                                                                  |

**In the same object:** [type](/reference/language/words/type) · [value](/reference/language/words/value)

[Schema source (use the pointer above)](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/schemas/workflow.schema.json)

## In a source template

Excerpt from `templates/agent-loop.nika.yaml`, source lines 45–54. This is a fragment, not a runnable workflow.

```yaml illustration theme={"system"}
    # RUNS the moment it is scaffolded. Replace the default with your job;
    # `--var goal=…` overrides it at any time.
    default: "<SLOT: what the agent must accomplish>"
    description: "What the agent must accomplish"   # SLOT

permits:                            # the blast radius · default-deny once present
  # Exactly what the body invokes: `nika:assert` (the confirm task) plus the
  # two the agent may call. No `fs:` — see the note on `tools:` below.
  tools: ["nika:assert", "nika:done", "nika:jq"]

```

### Templates containing this field

| Template                            | Source                                                                                                                                      |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `templates/agent-loop.nika.yaml`    | [Line 48](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/agent-loop.nika.yaml#L48)      |
| `templates/docker-report.nika.yaml` | [Line 106](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/docker-report.nika.yaml#L106) |
| `templates/etl-state.nika.yaml`     | [Line 149](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/etl-state.nika.yaml#L149)     |

These are literal key occurrences in the source files, not an execution or conformance claim. [How to instantiate a template](/guides/templates).

## Contract and implementation

This page projects the named specification revision. Check [released engine status](/reference/status) and [the validation workflow](/guides/agent-authoring) before running a file. An optional field is not evidence that every engine supports every value.

Canonical identity: `language:word:description`. Spec revision: [`c5ebbb7b862b`](https://github.com/supernovae-st/nika-spec/tree/c5ebbb7b862b68bc6cf7235efba61173b844afc6).

[How documentation stays connected](/reference/knowledge-system).
