name: new-coffee metadata: version: 53269c1 (2026-02-23) description: > Research a new coffee bean and propose starting extraction parameters. Use when: (1) user shares a new bag of coffee (photo, name, or description), (2) user says "new beans", "dialing in a new coffee", (3) user asks "where should I start with this coffee". Accepts bag photos (extracts info via vision) or text descriptions. Researches origin, process, roast level via web search, then recommends temperature, grind, ratio, and profile.
New Coffee Research Skill
Systematically research a coffee and propose starting extraction parameters.
Adapted from gaggimate-barista by Charlie Hall.
Workflow
1. GATHER Coffee Info
If photo provided:
- Extract from label: roaster, coffee name, origin, roast date, tasting notes
- Note any visible processing info (washed, natural, etc.)
If text provided:
- Parse roaster and coffee name
- Ask for roast date if not mentioned
2. REVIEW Brewing Insights
Before researching externally, check what we already know:
- Read brewing insights:
manage_brewing_insights(action="read") - Read grind map:
manage_grind_map(action="read") - Look for coffees with matching attributes (origin, process, roast level)
- If a similar coffee was brewed before, leverage those learnings as a starting point
3. RESEARCH via Web Search
Search for the specific coffee to find:
- Processing method (washed, natural, honey, anaerobic)
- Origin details (country, region, altitude if available)
- Variety (Bourbon, Gesha, Caturra, etc.)
- Roast level (light, medium, dark) — infer from tasting notes if not stated
- Roaster's tasting notes
See: read_knowledge(action="read", filename="research/RESEARCH_CHECKLIST") for detailed research patterns, origin profiles, and variety extraction guidance.
4. SYNTHESIZE Recommendations
Load the relevant knowledge files via MCP tools and build recommendations:
- Temperature: From
read_knowledge(action="read", filename="ESPRESSO_BREWING_BASICS")roast guidelines - Pressure: From
read_knowledge(action="read", filename="PRESSURE_GUIDE")roast × processing matrix - Ratio: From processing method patterns (washed: 1:2, natural: 1:2-2.5, etc.)
- Profile: From
read_knowledge(action="read", filename="PROFILE_LIBRARY")by roast/process, adjusted for correct pressure - Dose: Based on user's basket size. Dose = basket size (e.g., 18g basket → 18g dose). Don't underdose.
5. CONFIRM with User
Before 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:
- Conservative: Classic profile, standard ratio
- Recommended: Profile matched to bean characteristics
- Adventurous: Bloom profile or turbo shot if appropriate
6. UPLOAD Profile (if requested)
Use MCP tool to upload:
manage_profile(action="create", profile_name="[Coffee Name] [AI]", temperature=X, phases=[...])
Always add [AI] suffix to profile names.
7. CREATE Coffee Tracking File
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>").
Output Format
## 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]
Quick Reference
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