kookr-codex-pr-statelisted
Install: claude install-skill kookr-ai/kookr
## When to Use
This skill is invoked after the critic phase completes for a batch. It persists the observations and updates tracking state.
## Non-Negotiable Rules
| # | Rule | Violation Example | Correct Pattern |
|---|------|-------------------|-----------------|
| 1 | Append to learnings-raw.md, never overwrite | Writing fresh file that drops prior learnings | Append batch section to end of file |
| 2 | Update state.json atomically | Writing partial state on error | Read → modify → write complete JSON |
| 3 | Add ALL batch PR IDs to processed_prs | Only adding merged PRs | Add every analyzed PR, merged or not |
| 4 | Add skipped PR IDs to skipped_prs | Forgetting skipped PRs, re-evaluating them | Track skips separately from processed |
| 5 | Never commit state files | `git add state.json` | All state files live in ~/.claude/codex-pr-lessons/ |
| 6 | Timestamp each batch entry | Undated learnings | Include ISO date in batch header |
## State File Schema (state.json)
```json
{
"repo": "openai/codex",
"version": 1,
"processed_prs": [101, 102, 103],
"skipped_prs": [50, 51],
"total_processed": 3,
"total_skipped": 2,
"distillation_count": 0,
"last_batch_at": "2026-03-26T10:00:00Z",
"last_distillation_at": null,
"cursor": 2,
"notes": "State file for codex-pr-lessons playbook."
}
```
> **`repo` is required.** Kookr's dashboard reads this field to match PR lessons state to projects. Without it, the project's PR lessons count will not display.
### Field