affinagelisted
Install: claude install-skill paulnsorensen/easy-cheese
# /affinage
Act on existing claims about a PR.
Claims can come from reviewers, CI checks, or merge conflicts.
Grade each claim through the `/age` lens.
Send accepted claims to `/cure`.
`/affinage` always grades claims that exist on the PR.
Its entry path controls whether it also finds new `/age` findings:
- **Standalone** — The user starts `/affinage <pr>` without `handoff_context`.
Run `/age` on the PR diff unless the user passes `--no-age`.
Add the new findings to the same report.
- **Chained** — `/cook` or `/cure` supplies `handoff_context`.
Skip the fresh review because `/age` already ran in this chain.
See `## Fresh review` for the entry rule.
See `## Merge-conflict resolution` for the conflict path.
## Phase entry
Run `python3 skills/affinage/scripts/affinage.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
```text
/affinage [<pr-ref>] [--auto --stake <floor>] [--plate] [--safe] [--open-pr] [--hard] [--full] [--include-outdated]
```
`<pr-ref>` accepts a PR number, a `PR#<n>` reference, or a full GitHub PR URL.
Extract the integer before you call `pr-status`.
The command accepts only the integer.
If no reference exists, run `gh pr view --json number` on the current br