From Prompt to Progress: A Goal-Tracking Agent for the Enterprise

TL;DR — I built a single AI agent that turns natural-language requests into well-structured tickets and generates weekly executive reports from the same source of truth. Result: cleaner data in, sharper reports out, less manual overhead.


The Problem

Engineering teams lose hours every week to two predictable workflows:

  1. Ticket intake — translating informal asks into properly linked, labeled, and scoped tickets.
  2. Weekly reporting — manually stitching status updates across goals, epics, and owners.

The cost isn't just time. It's inconsistency — missing labels, orphan tickets, duplicate work, and reports that don't roll up cleanly.


The Solution

A single agent. Two skills. One source of truth.




What Shipped


CAPABILITY

OUTCOME

Unified agent

One entry point — no more guessing which tool to use

NL ticket creation

Plain prompts → summary, description, epic link, labels, AC

Duplicate detection

Searches open tickets in the same epic before creating

Label inheritance

New stories auto-inherit parent epic metadata

Default acceptance criteria

Every ticket ships review-ready

Team user registry

Config-driven name resolution ("Alex" → auser1)

Idempotent reporting

Reruns update the same page — no duplicate reports

Tiered auth

Browser session → service credential → token override



Example Flow


User:

Create a ticket for the K8s activity rollout and assign it to Jordan.

Agent:

Found 2 open tickets in the same epic that may already cover this:

  1. TICKET-123 — Rollout planning — In Progress — Alex
  2. TICKET-456 — Migration readiness — To Do — Priya

Add to an existing ticket, or create a new one?

User: Create new.

Agent: ✅ Created TICKET-789 with parent epic, inherited labels (Goal_1234, Parent_Goal_1200), generated Acceptance Criteria, and assignee.


Why It Matters

A ticket is only as useful as its metadata. Manual intake produces fragmented labels, broken epic linkage, and reports that require human cleanup. By moving goal mapping, duplicate detection, metadata inheritance, and reporting behind one interface, we get:

  • Better input quality — every ticket is goal-linked and report-ready on creation
  • Better output quality — weekly reports roll up cleanly because the source data is clean
  • Lower friction — natural language in, structured tracking out


Lessons Learned

  1. Design for the user, not the implementation. Ticket creation and reporting are different internally — but from the user's view, both are "goal tracking." One agent.
  2. Metadata is the product. Labels, parent links, and Acceptance Criteria determine whether reporting works six weeks later.
  3. Don't blindly create. A ticket agent that prevents tickets when appropriate is more valuable than one that just creates them faster.
  4. Config beats code. Team membership changes periodically — registry files keep the agent maintainable without redeploys.


The Takeaway

The win isn't automation. It's consistency.

Better intake → cleaner tracking → sharper reporting. Automatically.


Comments

Popular posts from this blog

I Built an AI That Reads 400 Repos and 22 RSS Feeds So I Don’t Have To

AI-Powered Scrum for building software

My spiritual journey - Dalai Lama