# Puffco Proxy

> Puffco Proxy modular concentrate vaporizer: state machine session management, heat profiles, LED indicators, maintenance. Includes Babashka CLI and Graphviz DOT output.

- Skill: `plurigrid/puffco-proxy` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add plurigrid/puffco-proxy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/plurigrid/puffco-proxy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: plurigrid (https://skillmd.com/u/plurigrid)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/plurigrid/puffco-proxy

---


# Puffco Proxy

Modular concentrate vaporizer. State machine for session management.

## Hardware

- **Device**: Puffco Proxy (modular pipe + removable 3D chamber)
- **Chamber**: 3D ceramic, 3-prong alignment to base
- **Glass**: Modular borosilicate pipe attachment
- **Charging**: USB-C, ~90 min full charge, ~15 sessions/charge
- **App**: Puffco Connect (Bluetooth, custom boost profiles)

## Heat Settings

| Color | Temp °F | Label | Character |
|-------|---------|-------|-----------|
| 🔵 Blue | ~490 | LOW | High flavor, low vapor |
| 🟢 Green | ~510 | MED | Balanced (daily driver) |
| 🔴 Red | ~530 | HIGH | Strong vapor, good flavor |
| ⚪ White | ~565 | PEAK | Maximum extraction |

## Button Language

| Action | Effect |
|--------|--------|
| Hold 3s | Power on / off |
| 1x click | Cycle heat setting (blue→green→red→white→blue) |
| 2x click | Initiate heat cycle / Boost mode (during session) |
| 3x click | Battery check (green 60-100%, yellow 30-59%, red 0-29%) |

## LED Indicators

| Pattern | Meaning |
|---------|---------|
| Pulsing color | Heating in progress |
| Solid color + vibrate 3x | Ready to draw |
| 3 white flashes | Chamber misaligned — reseat |
| Solid red 5s | Overheating — cool down |
| Pulsing green (charging) | Charge in progress |
| Light off (charging) | Fully charged |

## State Machine

12 states, defined in `worlds/g/puffco_proxy_state_machine.py`:

```
OFF → IDLE → HEATING → READY → SESSION → COOLING → IDLE
                                  ↓
                                BOOST → COOLING
```

Setup path: `IDLE → BATTERY_CHECK`, `IDLE → HEAT_SELECT`, `IDLE ↔ CHAMBER_ERROR`

## CLI

```bash
# Full session walkthrough
bb worlds/g/puffco_proxy.bb session

# Session with boost
bb worlds/g/puffco_proxy.bb boost

# Best practices
bb worlds/g/puffco_proxy.bb tips

# Heat settings
bb worlds/g/puffco_proxy.bb heat

# Graphviz DOT output
bb worlds/g/puffco_proxy.bb dot

# Interactive REPL
bb worlds/g/puffco_proxy.bb
```

## Best Practices

### Loading
- Cold load only — never load while chamber is hot
- Place concentrate along chamber WALLS, not bottom center
- Rice-grain sized amount — overpacking causes leakage into base
- Seat carb cap snug before heating

### Drawing
- Hold device UPRIGHT / VERTICAL
- Inhale gently — slow steady draw maximizes vapor
- Start at Green, adjust from there

### Cleaning (critical for longevity)
- **Every session**: swab chamber with dry cotton while warm
- **Weekly**: soak chamber + glass in 90%+ isopropyl 20-30 min
- **Base**: swab contact points only, never flood with liquid
- Air dry all components completely before reassembly

### Safety
- Max 4 consecutive heat cycles before mandatory cooldown
- Solid red 5s = overheating protection engaged
- 3 white flashes = reseat chamber (3-prong alignment)

## World
- Letter: G
- Location: `worlds/g/puffco_proxy.bb`

