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

# pome checks

> Browse the typed checks a digital twin declares, add one to a task, and lint criteria that bind nothing.

`pome checks` reads the closed set of typed checks a digital twin declares. Those
checks are the vocabulary a `[code]` criterion is graded by.

This matters because a `[code]` criterion that binds no declared check is never
graded. It does not fall back to the judge — it scores `unmatched` and leaves the
score's denominator, so a task can look green while asserting nothing. Use
`pome checks add` to write criteria that cannot fail to bind, and
`pome checks lint` to catch the ones that already do.

<Note>
  Do not hand-write `[code]` criterion sentences. Pick a declared check and let
  Pome render the English.
</Note>

## Usage

```bash theme={"dark"}
pome checks [twin] [options]
pome checks add <file> [options]
pome checks lint <file...>
```

## `pome checks [twin]`

Lists the checks a digital twin declares: the check id, the English template it
renders, what the predicate actually compares, the substrate it needs, and every
parameter with a valid example.

### Arguments

| Argument | Required | Description                                                                           |
| -------- | -------- | ------------------------------------------------------------------------------------- |
| `[twin]` | No       | Digital twin id, for example `github`. Omit it to list the twins that declare checks. |

### Options

| Flag     | Default | Description                                          |
| -------- | ------- | ---------------------------------------------------- |
| `--json` | off     | Emit the declaration as JSON, for skills and agents. |

## `pome checks add`

Appends one `[code]` criterion to a task file. You pick the check and supply its
parameters; Pome writes the criterion text.

### Arguments

| Argument | Required | Description                                    |
| -------- | -------- | ---------------------------------------------- |
| `<file>` | Yes      | Task markdown file to append the criterion to. |

### Options

| Flag                | Default               | Description                                      |
| ------------------- | --------------------- | ------------------------------------------------ |
| `--check <id>`      | —                     | Check id. Run `pome checks <twin>` to list them. |
| `--arg <key=value>` | —                     | One per declared parameter. Repeat the flag.     |
| `--api-url <url>`   | `https://api.pome.sh` | Control-plane base URL.                          |

## `pome checks lint`

Reports `[code]` criteria that bind no declared check, so are never graded. Run it
over a task library before you spend runs on it.

### Arguments

| Argument    | Required | Description                                        |
| ----------- | -------- | -------------------------------------------------- |
| `<file...>` | Yes      | One or more task markdown files. Shell globs work. |

## Examples

```bash theme={"dark"}
# Which twins declare checks?
pome checks

# What can a GitHub task assert?
pome checks github

# Machine-readable, for an agent or a skill
pome checks github --json

# Add a criterion without hand-writing it
pome checks add tasks/01-bug-happy-path.md \
  --check github.issue-has-label \
  --arg issue=41 \
  --arg repo=acme/api \
  --arg label=bug

# Find criteria that are silently never graded
pome checks lint tasks/*.md
```

## See also

* [`pome compile-seeds`](./compile-seeds) — compile a task's seed prose into a sidecar.
* [`pome run`](./run) — run a task once its criteria bind.
