PMing with Claude Code: Chapter 2 - Data
How adding the Snowflake CLI to Claude Code turned it into a PM data analyst - running SQL queries, comparing retention across product versions, and making sense of messy data fast.
In chapter one, I wrote about setting up Claude Code as a PM command center - GitHub issues, Notion docs, local strategy files, all connected through one terminal. The biggest gap I called out? Data. I was manually exporting CSVs from Looker or Sigma and dropping them in a folder. It worked, but it was friction. That gap is closed now. The Missing Piece: SQL Access The problem was never that Claude couldn't analyze data. Give it a CSV and it'll find patterns, summarize trends, draft observations. The problem was getting the data to Claude in the first place. Every time I needed fresh numbers, I had to open a browser, navigate to a dashboard, export a file, move it to the workspace. By the time Claude had the data, I'd already spent five minutes on something that should take five seconds. The fix was obvious in hindsight: give Claude direct access to the data warehouse. Our analytics live in Snowflake, and Snowflake has a CLI. (Thanks for this Abhi!) Setting Up the Snowflake CLI The Snowflake CLI (snow) is a command-line tool for interacting with Snowflake. Install it, configure a connection, and you can run SQL queries directly from the terminal. Which means Claude can run them too. The connection config lives in ~/.snowflake/connections.toml: toml [myorg] account = "your-account" user = "your-user" authenticator = "externalbrowser" role = "ROLEREADONLY" warehouse = "your-warehouse" A few things worth noting. The externalbrowser authenticator means auth goes through your company's SSO. You authenticate once in the browser and the session persists. No API keys or passwords sitting in config files. And the role is read-only. Claude can query data but can't modify anything. Same philosophy as the GitHub permissions from chapter one: give the tool exactly the access it needs, nothing more.
Add a comment: