Skip to content
Back to skills

Output Format

ASecurity

The exact shape of what every dapilot agent produces, the one-line result JSON, the log paragraph, and the report section, plus the validator that checks it. Loaded into every agent. Your superior rejects anything else.

  • 6 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 16, 2026
ai-agentsgoapi

Works with

  • api

Security analysis

A100/100

Scanned October 16, 2026

npx -y skills add 3DAPI-Inc/dapilot --skill output-format --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Output Format?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Output Format
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/3dapi-inc-output-format/badge)](https://www.skillsdirectory.com/skills/3dapi-inc-output-format)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: output-format
description: The exact shape of what every dapilot agent produces, the one-line result JSON, the log paragraph, and the report section, plus the validator that checks it. Loaded into every agent. Your superior rejects anything else.
user-invocable: false
---

# output-format

## The result line

The last thing you print is one JSON object on one line, and then nothing.
Every field is required. `null` is allowed only where shown.

```json
{"ok": true, "cached": false, "run": "<run id>", "item": "<sha256>", "stage": "analyze",
 "agent": "catalogue-worker", "department": "catalogue",
 "outputs": ["analysis.json"], "needs_human": null, "reason": null,
 "summary": "8 bodies, all solid, 29.4 cm3, 152 x 14 x 12 mm"}
```

- `ok` true means the stage completed. false means it did not; `reason`
  says why in one sentence naming what was run and what came back.
- `cached` true means the output already existed and you did nothing.
- `run`, `item`, `stage`, `department` are copied from the brief verbatim.
  `agent` is your agent name.
- `outputs` are paths relative to the work dir that now exist. Empty when
  `ok` is false or `needs_human` is set.
- `needs_human` is null, or one question a person can answer with yes, no,
  or one value. When set, `ok` is true and the stage will be marked blocked.
- `summary` is one line, at most 200 characters, and goes into the report
  verbatim. Numbers and facts, not narration.

Check it before printing:

```
echo '<the json>' | $PY ${CLAUDE_PLUGIN_ROOT}/scripts/validate_result.py --workdir $WORKDIR
```

Leads run the same check with `--expect item=... stage=...` on every result
they receive, and `ledger.py record` runs it again. A result that fails is
recorded as rejected, not repaired.

## The log paragraph

Append one paragraph to `$WORKDIR/log.md` per stage, before the result line:

```
## analyze  2026-09-03T14:02:11Z  catalogue-worker  attempt 1
Ran analyze_mesh.py on source.stl (1.1s). 8 bodies, all watertight, volume
29.4 cm3, bbox 152 x 14 x 12 mm. Flagged multi-part. Wrote analysis.json.
```

What ran, how long, what came out, what was written. Not what you thought.

## The report section (leads)

A lead's final message is its section of the run report, produced by
`ledger.py report`, followed by its own result line whose `item` is `-` and
`stage` is `lead`. The director does not read anything else from a lead.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.