# Cup History

Display the last N CocoCupper findings from .cocoplus/grove/cupper-findings.md.

- Repository: https://github.com/Snowflake-Labs/cocoplus (727 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-04
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Snowflake-Labs/cocoplus --skill cup-history -g -a claude-code -y`
Codex: `npx skills add Snowflake-Labs/cocoplus --skill cup-history -g -a codex -y`
Cursor: `npx skills add Snowflake-Labs/cocoplus --skill cup-history -g -a cursor -y`
Gemini CLI: `npx skills add Snowflake-Labs/cocoplus --skill cup-history -g -a gemini-cli -y`

## Description

Display the last N CocoCupper findings from .cocoplus/grove/cupper-findings.md. Usage: $cup history [n] where n defaults to 5.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

Your objective is to display recent CocoCupper findings.

Before proceeding, verify that `.cocoplus/` exists.
If not: output "CocoPlus not initialized in this directory. Run `$pod init` to begin." Then stop.

Parse argument: `$cup history [n]`, n defaults to 5.

Read `.cocoplus/grove/cupper-findings.md`. If it does not exist or is empty:
Output: "No CocoCupper findings yet. Run `$cup` to trigger an analysis."
Then stop.

Extract the last N findings (each finding starts with `## Finding`).

Output each finding in summary format:
```
| ID | Title | Type | Severity | Date | Promoted |
|----|-------|------|----------|------|----------|
[one row per finding]
```

Then show the full text of the most recent finding.

## Auto-Captured Corrections (Feature 8 Enhancement)

Correction detection is requested silently on every developer prompt via `the UserPromptSubmit hook` appending a `cococupper/cupper-capture` request to `.cocoplus/v2-runtime-requests.jsonl` (Tier 1, no LLM, <50ms). The V2-native capture path appends matches to `.cocoplus/cupper/auto-captured.json`. This section surfaces those alongside the manual findings above.

Read `.cocoplus/cupper/auto-captured.json` if it exists. For each auto-captured correction, apply a routing classification:
- **incorrect-behavior**, the correction reverses or contradicts an action just taken
- **missing-variant**, the correction asks for an option or mode that didn't exist
- **agent-misapplication**, the correction indicates a skill or persona was invoked in the wrong context

Output a second table:
```
| Timestamp | Correction Text | Routing | Skill Context |
|-----------|-----------------|---------|----------------|
[one row per auto-captured entry]
```

Output: "Showing [N] of [total] findings and [M] auto-captured corrections. Use `$patterns promote [finding-id]` to promote a finding to the pattern library. Use `$wisdom route` to route auto-captured corrections to skill edits."

## Anti-Rationalization

The rest: https://github.com/Snowflake-Labs/cocoplus/blob/HEAD/.cortex/skills/cococupper/cup-history/SKILL.md
