Skip to content
Back to skills

Press

ASecurity

Run the tests-only adversarial pass after `/cook`. Report each defect as a finding for a Cook correction. Use this skill when the user says "press the changes", "harden this", "press before /age", or "/press". Do not edit production code.

  • 18 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
developmentpython

Works with

  • terminal

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add paulnsorensen/easy-cheese --skill press --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Press?

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

Security grade badge for Press
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/paulnsorensen-press/badge)](https://www.skillsdirectory.com/skills/paulnsorensen-press)

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: press
description: Run the tests-only adversarial pass after `/cook`. Report each defect as a finding for a Cook correction. Use this skill when the user says "press the changes", "harden this", "press before /age", or "/press". Do not edit production code.
license: MIT
---

# /press

Press is the tests-only adversarial pass after `/cook`. It reports a GREEN pass to `/age` and a finding to Cook.

Press never owns first coverage. Press never edits production code. Cook owns the implementation. Press attacks the approved contract and reports each defect it exposes.

## Phase entry

Run `python3 skills/press/scripts/press.pyz wheypoint-resolve --ref <slug>`.
`authoritative` uses the record; its `working_context` is the first batched `tilth_read`.
`not-found` proceeds cold; `legacy` shows its source and slug, then proceeds.
`gated`, `ambiguous`, and `error` stop and show the payload.
Show advisory `stale-commit` and `grounded-path-missing` findings.

## Inputs

Press accepts this invocation:

```text
/press <slug> [--auto] [--hard] [--open-pr]
```

After phase entry, Press reads `.cheese/cook/<slug>.md` for the Cook handoff.

`--auto` selects the autonomous chain. See `## Auto mode`.

`--hard` requests the optional final gate. Press forwards this flag to Age.

`--open-pr` is publication permission. Only the user supplies it. Press forwards this flag to Age. Press never adds it.

Press preserves the Cook `durable_flags:` value without change. Press ignores the Cook `taste_test:` value.

## Adversarial loop

1. **Attack** — Add or run only tests, fixtures, and test-only harness support. Use the approved seam and witness. Keep the attack identity and test digest stable.
2. **Classify** — Use `finding` when an attack test exposes a defect. Use `green` for a clean pass. Use `production_changed` when the attempt changed production paths. Use `invalid_evidence` when you cannot verify the evidence.
3. **Report** — Report each finding with its failing test. Hand it to Cook as a correction.
4. **Replay** — Replay the same attack after the correction returns. Use the same attack and test digest. Then classify the result again.
5. **Terminate** — Hand off to `/age` after GREEN.

Invalid evidence and a production tree change stop the run. A third finding on the same attack also stops the run. The outcome table defines the correction cap.

Press has no global `dispatch: /cook` action. A Cook correction runs only for a reported finding.

## Baseline-aware gates

Press preserves baseline-aware readiness for project gates. The Cook `baseline:` line names one artifact. That artifact holds the settled state.

Read the artifact through the `baseline:` path. Do not re-flag a failure when its test and signature match the artifact. New or changed failures block the route.

See [`../cook/references/quality-gates.md`](../cook/references/quality-gates.md). Also see [`references/gap-analysis.md`](references/gap-analysis.md).

## Flow

1. **Read** — Load the approved spec, Cook handoff, and baseline block. Use canonical terms from `.cheese/glossary/<slug>.md` when that file exists.
2. **Attack** — Add or run only adversarial tests. Do not add first-coverage tests. Do not change production paths.
3. **Classify** — Select `green`, `finding`, `invalid_evidence`, or `production_changed` from the adversarial run.
4. **Report** — Write `.cheese/press/<slug>.md`. Include the attempts, evidence, and review follow-ups.
5. **Hand off** — Send GREEN to `/age`. Send a finding to Cook as a correction.

Use [`code-intelligence-routing.md`](../cheese/references/code-intelligence-routing.md) for source changes.

Use [`../cheese/references/harness-portability.md`](../cheese/references/harness-portability.md) for portability.
The reference states that slash commands are host renderings, not the control model.

Press reports one readiness value. Map `ready for /age` to `status: ok` and `next: age`.

Map `follow-up recommended` to `status: ok-with-concerns: <concern>` and `next: age`. Use this status for a GREEN pass that also records a review follow-up. Age owns each recorded concern.

Map `finding` to `status: ok-with-concerns: <defect>` and `next: cook`.

Map `blocked` to `status: halt: <reason>` and `next: done`. `blocked` means invalid evidence or a production change. Stop after that status.

## Auto mode

`--auto` runs the same adversarial loop. It also selects the next phase without a user prompt.

Dispatch `/age <slug> --auto` after `ready for /age` or `follow-up recommended`. Add `--hard` when the user supplied it. Add `--open-pr` when the user supplied it.

Stop after `blocked` or `halt: correction-cap`. Do not dispatch Age.

Honor the no-chain directive when the caller supplies it. Write the Press handoff and stop. Do not start another phase. Cook's fan pathway owns this directive. The retired `/ultracook` orchestrator previously owned it. Test for the directive itself. Do not test for the source name. See [`../cook/references/auto-mode.md`](../cook/references/auto-mode.md).

## Output

Write `.cheese/press/<slug>.md` at each Press result.

Write the file with `python3 skills/press/scripts/press.pyz write-handoff-artifact`; include one or more `--grounded <path[#start-end]>` arguments. Use the canonical preamble:

```text
python3 skills/press/scripts/press.pyz write-handoff-artifact \
  --slug <slug> --status <status> --phase press --next <next> \
  --artifact .cheese/cook/<slug>.md --orientation "<one-line orientation>" \
  --durable-flags "<preserved Cook value>" --baseline "<baseline artifact path>" \
  --grounded <path[#start-end]> --body-file <body-path>
```

```markdown
status: <canonical status field>
next: age | cook | done
artifact: .cheese/cook/<slug>.md
durable_flags: <preserved Cook value>
baseline: none | <baseline artifact path>
<one-line orientation>
```

The [handback contract](../cheese/references/handback-contract.md) defines the `status:` grammar. The preamble accepts no other keys. Put every Press value in the report body.

`artifact:` names the consumed Cook report. Do not put attack evidence on this line.

`baseline:` names the one artifact that Cook recorded. See [`../cook/references/quality-gates.md`](../cook/references/quality-gates.md).

Write these body sections under the preamble:

- `## Attempts` — one row for each attempt. Give the attempt number and outcome.
- `## Evidence` — the stable attack identity, the test digest, and the failing test for a finding.
- `## Review follow-ups` — each out-of-contract concern. Write `none` when the run records no concern. Age reads this section.

Map the outcome to the terminal preamble:

| outcome | status | next |
| --- | --- | --- |
| GREEN | `ok` | `age` |
| GREEN with a recorded concern | `ok-with-concerns: <concern>` | `age` |
| finding (an attack test exposes a defect) | `ok-with-concerns: <defect>` | `cook` |
| invalid evidence or production change (`blocked`) | `halt: <reason>` | `done` |
| third finding on the same attack | `halt: correction-cap` | `done` |

`next: done` is terminal. It never starts another phase.

A `next: cook` handoff is a Cook correction (`correction = true`). Cook fixes the defect. Press then replays the same attack.

Press enforces a correction cap. Press allows at most 2 Cook corrections for the same attack. A third finding on that attack stops with `status: halt: correction-cap` and `next: done`.

## Handoff

**Pipeline:** culture → mold → cook → **[press]** → age → cure → plate

After a GREEN Press report, use the shared [handoff gate](../cheese/references/handoff-gate.md). Start the review with `/age <slug>`.

After a finding, hand off to Cook as a correction with the failing test named in the report.

Forward `--hard`, `--auto`, and `--open-pr` to `/age` when the caller supplied them. Never add `--open-pr`.

## Rules

- Do not edit production code, production fixtures, or production adapters.
- Do not change the attack between replays.
- Do not treat out-of-contract behavior as an implementation request. Record it under `## Review follow-ups`. Report the run as `ok-with-concerns` on a GREEN pass.
- Preserve baseline-aware readiness.

## Discipline

Press uses evidence first. An unverified failure is not a finding.

Name the outcome before each handoff decision. Name the attack digest. Stop if one value is missing. Do not guess.

Generated bundle command inventory: [`references/commands.md`](references/commands.md).

Files in this skill

  • SKILL.md10.6 KB
  • phase-contract.yaml284 B
  • references/commands.md854 B
  • references/gap-analysis.md4.1 KB
  • references/telemetry.md3.4 KB

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.