원클릭으로
new-coffee
> Use when this capability is needed.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
> Use when this capability is needed.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| 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.
> 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.