with one click
new-coffee
> Use when this capability is needed.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
> Use when this capability is needed.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
> Use when this capability is needed.
Use when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.
Use when writing a Rust test that exercises a failure path or a MASM test that expects a `panic` / `assert` — assert on the specific expected error variant or error code.
Use when writing or reviewing MASM hot paths — prefer the cheaper equivalent instruction: `neq.0` over `gt.0` for non-zero checks, `cdrop` over an `if/else` selecting between two values, `dup.N` over `loc_load` for a value still on the stack, `eqw` over element-wise word comparison, `u32gt`/`u32lt` over generic `gt`/`lt` on known-u32 operands.
Use when writing Rust arithmetic on amounts or other quantities derived from external/user input — guard against silent overflow.
Use when naming a conversion or accessor method in Rust — follow the Rust API naming conventions for the method's cost and ownership.
| name | new-coffee |
| description | > Use when this capability is needed. |
Systematically research a coffee and propose starting extraction parameters.
Adapted from gaggimate-barista by Charlie Hall.
If photo provided:
If text provided:
Before researching externally, check what we already know:
manage_brewing_insights(action="read")manage_grind_map(action="read")Search for the specific coffee to find:
See: read_knowledge(action="read", filename="research/RESEARCH_CHECKLIST") for detailed research patterns, origin profiles, and variety extraction guidance.
Load the relevant knowledge files via MCP tools and build recommendations:
read_knowledge(action="read", filename="ESPRESSO_BREWING_BASICS") roast guidelinesread_knowledge(action="read", filename="PRESSURE_GUIDE") roast × processing matrixread_knowledge(action="read", filename="PROFILE_LIBRARY") by roast/process, adjusted for correct pressureBefore finalizing, ask:
"This [process] [origin] typically shines with [approach]. Would you like to start there, or prefer a more conservative/adventurous approach?"
Options to offer:
Use MCP tool to upload:
manage_profile(action="create", profile_name="[Coffee Name] [AI]", temperature=X, phases=[...])
Always add [AI] suffix to profile names.
After researching and setting up a new coffee, create a coffee tracking file via MCP:
manage_coffee(
action="create",
coffee_name="[coffee-name]",
roaster="[roaster]",
origin="[country, region]",
process="[washed/natural/honey/anaerobic]",
roast_level="[light/medium/dark]",
variety="[if known]",
roast_date="YYYY-MM-DD",
bag_size="[e.g. 250g]",
roaster_notes="[tasting notes from bag/roaster]",
freshness_note="[e.g. 10 days off roast, in peak window]",
approach="[Profile name] at [temp]. [Pressure logic from PRESSURE_GUIDE]. Starting at grind [X], [dose]g in, targeting 1:[ratio]. [Why this approach suits this bean — connect origin, process, and roast level to the profile choice. If similar to a previous coffee, reference that experience.]"
)
The approach field is a narrative paragraph — not a table of numbers. It should explain
why you chose this profile/params for this specific bean, connecting the research to
the recommendation. Reference brewing insights from similar coffees if applicable.
This creates a persistent tracking file accessible in all future sessions via manage_coffee(action="read", coffee_name="<name>").
## Coffee Research: [Name]
### Bean Profile
- **Roaster:** [roaster]
- **Origin:** [country, region]
- **Process:** [washed/natural/honey/anaerobic]
- **Roast Level:** [light/medium/dark]
- **Variety:** [if known]
- **Tasting Notes:** [from roaster]
- **Days Off Roast:** [X days, or "unknown"]
### Recommended Starting Parameters
| Parameter | Value | Reasoning |
|-----------|-------|-----------|
| Temperature | X°C | [roast level rationale] |
| Grind | Start at [general guidance] | [reasoning] |
| Ratio | 1:X | [process rationale] |
| Profile | [name] | [why this profile] |
| Dose | Xg in → Xg out | [basket size rationale] |
### What to Watch For
- [Specific guidance for first shot based on bean characteristics]
- [What taste outcomes to expect]
- [When to adjust and in which direction]
User says: "I got a new bag of [coffee]" Action: Extract info → research → recommend → confirm → upload profile
User shares photo: Action: Vision extract → research → recommend → confirm → upload profile
Converted and distributed by TomeVault — claim your Tome and manage your conversions.