Your own fishing guide, in your terminal. Ask where to fish and it reads today's river gauges, tides, and fish counts before it answers — then gives you a real place, the two hours worth being there, and what to tie on.
A skill for Claude Code. Free, no account, no API keys.
Two commands in Claude Code:
/plugin marketplace add stephenoffer/fishing-guide
/plugin install fishing-guide@fishing-guide
Prefer to install it directly?
git clone https://github.com/stephenoffer/fishing-guide ~/fishing-guide
cd ~/fishing-guide && ./install.shThe script copies the skill into ~/.claude/skills/, runs a self-test, and fetches a live water
temperature so you can watch the whole chain work. Re-run it any time to update.
Ask the way you'd ask someone at a fly shop. No special phrasing.
Plan a trip. It'll ask what it needs, or you can front-load the details and skip the back-and-forth:
Where should I fish near Bozeman this weekend?
I'm in Bozeman, willing to drive an hour, fly fishing for trout,
Saturday morning, wading. Intermediate.
Ask about a water by name. Then it looks up the gauges that sit on that river instead of searching a radius around a town:
How's the Madison below Hebgen fishing this week?
Is the Farmington fishable right now, and where would you start?
Ask about timing. Some of the best answers come from asking when rather than where:
Is the salmon run in near Astoria yet?
Are the browns pre-spawn yet near Traverse City?
When did they last stock Bear Lake?
Ask anything else. Trip planning is maybe half of what it's for:
I've been fishing this pool for two hours with a pheasant tail and
nothing. Water's clear, sunny, about noon. What am I doing wrong?
Lake's at 58 degrees and I've got four hours. Bass, from the bank.
What do I throw?
Show me how to rig a Carolina rig.
How do I fillet a walleye?
Real output from a July afternoon in Bozeman, trimmed:
Hyalite Creek, and be there for first light at 5:27. It comes cold out of the mountains ten minutes from town, and you've got a solid two-hour window before the sun is on the water.
What I'm reading: Yellowstone at Livingston 68.7°F, measured 20 minutes ago. Gallatin at Logan 69.3°F, Madison near Norris 75.7°F. That's warm enough that a released trout struggles, which is why the good water today is upstream and early. Flows are normal, so it'll fish the way it usually does.
Tackle: nymphs on the seams and the deeper pockets. Carry a thermometer and move on if it reads over 68°F.
Confidence: high on the temperature, which is measured, close, and current. Lower on Hyalite, since no gauge reports its temperature and I'm reasoning from elevation.
The value is knowing on Thursday that Saturday afternoon on the Gallatin won't work, and having somewhere better to be.
Water temperature from the nearest gauge, with its distance and how old the reading is. Flow compared against the historical median for that calendar day, so "584 cfs" becomes "low, 10th–25th percentile, fish light and early." Tide windows and actual current in knots, because an inlet keeps running after the tide turns. Where the fish are in their spawn cycle, worked out from measured temperature rather than the calendar. Daily salmon counts from Columbia Basin dams. Stocking dates, reservoir levels, this week's hatch.
Behind the live data sits a reference library: 66 species with thermal bands, the bass technique tree, fly disciplines from euro nymphing to spey, surf through offshore salt, ice, rigs, knots, casting, reading water, electronics, safety, and cleaning and cooking.
New to all this? Getting started assumes nothing.
Worked examples · Asking good questions · Reading the answer · FAQ · For developers
Every number carries its source, its distance, and its age. Readings too old to trust are quarantined rather than quoted. When the water temperature is unknown it says so and drops its confidence — it never infers it from air temperature. Regulations are always looked up and cited, never recalled.
The reasoning order is written down in methodology.md: temperature first, then flow and clarity or tide and current, then light, forage, and pressure. Solunar tables come last and only break ties. Two files enforce it — 686 real questions each pointing at the section that must answer them, and 390 ways a fishing answer goes wrong, each naming its guard.
Live data is fullest across the United States (USGS gauges, NOAA tides and buoys, NWS advisories, Columbia Basin fish counts). Everywhere else you still get weather, candidate waters, sun and moon, and seasons correctly flipped south of the equator. Any source it couldn't reach is named.
Two caveats. The nearest gauge isn't always your water, so when readings disagree it tells you instead of picking one. And saltwater structure is thinly mapped in free sources, so on the coast expect a short list and lean on local reports.
Regulations change and carry emergency closures. Check locally before you keep anything.