new-coffee

star 24

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.

julianleopold By julianleopold schedule Updated 2/23/2026

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

Install via CLI
npx skills add https://github.com/julianleopold/gaggimate-mcp --skill new-coffee
Repository Details
star Stars 24
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator
julianleopold
julianleopold Explore all skills →