Xaku Intake Agent
Artificial Intelligence

Xaku Intake Agent

AI Agent Engineer & Backend Developer

Client-intake and lead-qualification chat agent for Xaku, Daniel's freelance studio. Built as an audition piece mapped explicitly to Salesforce Agentforce's four primitives (Topics, Actions, Instructions, Guardrails): the model proposes, but deterministic code in the loop — not the model — decides whether a price, deadline, or scope commitment is ever allowed to leave the agent. Bilingual (Norwegian/English), rate-limited, and defended against prompt injection, with a full observability trace for every conversation.

Technologies

PythonFastAPIAnthropic Claude APIPydanticSQLitepytest

Core Skills

AI Agents & Tool UseGuardrails & SafetyAPI Design
View source on GitHub ↗

Challenge

A solo studio's intake needed to qualify leads and answer pricing questions while Daniel is unavailable — without an LLM ever being able to quietly promise a price, deadline, or scope it shouldn't.

Approach

Built a FastAPI backend around Claude's tool-calling loop with six single-purpose tools (qualify, answer, scope, book, escalate, propose-commitment) and a guardrail layer that intercepts every tool call in code before it can take effect — there is deliberately no tool that confirms a commitment, only one that queues it for human approval. Every reasoning step, tool call, and guardrail decision is written to an append-only trace, visible live on a self-contained showcase page with its own chat, session-trace, and password-gated admin queue.

Outcome

Shipped with a 141-test suite covering the full guardrail matrix (price floors, minimum lead time, out-of-scope and always-escalate categories) plus scripted end-to-end and adversarial/prompt-injection cases — all runnable without a live API key via a pluggable scripted model client.

Highlights

  • 141 automated tests, including a full guardrail rule + boundary matrix
  • Zero-trust commitment architecture: no tool exists to confirm a price, deadline, or scope
  • Full per-conversation observability trace, scoped by an unguessable conversation id
  • Bilingual (Norwegian/English) end to end with prompt-injection defenses