AI Analyst Agent (Slack)

Role Product Manager, AI and Sales Experience · Freedom Forever Stack Anthropic Claude · Slack · Redshift · MySQL Scope C-suite and engineering leadership · Internal-only

Problem

Freedom Forever's leadership team asked the same kinds of questions over and over (revenue, payroll, pipeline forecasts, install capacity, the state of the Realization Rate model), and each one routed through a small analytics bench. The bench was a bottleneck. We had the data warehouse (Redshift), the operational store (MySQL), and the analytical depth; what we didn't have was a way for non-SQL people to interrogate the data conversationally without waiting on a person.

Approach

We built a Slack-resident agent that translated natural-language questions into SQL against Redshift and MySQL, ran the queries, and returned a clean answer with the query and result attached. The agent design centered on a few things:

  • A skill architecture: narrow, well-named skills for each kind of question (revenue lookups, payroll, pipeline forecasting, prediction-model state) rather than one giant prompt trying to do everything
  • Tight schema context: the agent only saw the tables relevant to the question class it was answering, scoped by skill
  • Conservative defaults: when the model wasn't sure, it surfaced the SQL it was about to run and asked for confirmation before executing

The Slack app itself (the connection plumbing, the slash command, the response formatting) was built by an engineering partner. My job was the architecture above that: how the agent thought about its job, what skills it had, what context each skill saw, how it handled ambiguity.

What I built personally

I designed the agent's prompt and skill architecture. I defined which questions each skill answered, what schema context it received, how it formulated SQL, and how it presented results back. I did not build the Slack app itself or the integration glue; that was an engineering partner's work. The framing matters: the value of this project was the prompt and skill design, which is the work I owned.

Outcomes

The agent gave leadership a faster path to answers that previously required an analyst's time. It changed the shape of how questions arrived at the analytics team: fewer one-off lookups, more "this answer looks weird, can someone validate." Which is exactly the right reallocation.

What I learned

Agent design for analytics is not "make Claude write SQL." It's "constrain the question space so the SQL Claude writes is correct." The hardest engineering decision is what schema and prior context to put in front of the model. Get that right and the SQL is fine; get it wrong and no amount of prompt cleverness rescues you.