How To Turn a Customer Call Into Real Tickets

Robert Ta demos Clarity Harness, an open-source workflow that turns customer call transcripts into Linear tickets. Upload a meeting recording, the system builds a stakeholder model, extracts requirements, and drafts tickets with acceptance criteria. You review and adjust before they go to Linear, and can trace each ticket back to the exact transcript segment.
Chapters
If you're an AI PM responsible for objectively and measurably improving your AI product, this is the Clarity Harness that we're going to be open sourcing soon, a version of this that we're using for customers right now. How do we model somebody to then get to the subjectivity of their goal, to then inject the right context at the right time in their context window to help them get to the goal with the agent? So in this case, there is a model of a customer here. His name is Justin. And on the left here, we have a transcript. So all I did was I went to my Claude code and I did /clarity up load learning, which is a skill we've codified in our upcoming open source Clarity Harness release. And you just throw in some sort of input. In this case, it is a transcript from a custom meeting where I'm running discovery. And what it did is it built a model of Justin. And what I could do is go here. You want to go see what the agent did. Here we could see Justin holds the story quality is not the main constraint on reaching 200% backlog health. That's a success metric we're aligning on. I just annotated this one run where I extracted the model of self for a customer stakeholder of mine. Then what this does is it passes that model of self to the requirement synthesizer agent here. So we have this Clarity interview agent. That was where I built the model of the customer. Then we have this requirements agent that gets passed the output of that. And then what we get is, hey, from that transcript, from first-party data, this is what we kind of get. Inject domain codebase context into stories. Define story type taxonomy, standard dialogue. Story output. This is for a story writer agent that we're building to help a day 1 PM for a compliance or domain-specific domain be as ramped up and ready to contribute as a day 365 PM. So if you have that problem and you're interested in using such a harness to compound your own company, business, product team, domain-specific harness to solve that problem, This is how we would go about it. So it passes that over. We see there's these requirements. I could pass these ones that I like. This is the open coding step. If I were doing this really appropriately, not on prod time for a demo, I would be taking my time to actually inject my taste on how well suited these statements for requirements are. What happens after that is the requirements are the spine for writing tickets that make it to our backlog. So over here, we could see this is one of the tickets that came out deploying Clarity. Storywriter harness with simplified access and enablement playbook for broad PM adoption. So that's the thing we're working on. And so I could see what this will look like before I persist it into Linear. And I can also see like where in the transcript was the source, because the transcript to us in this case for this agent run was the first party evidence tied to the stakeholder requirement, which is the main golden context to use for all downstream agent runs. And I'm trying to say, is this a good story? That was written from that first-party evidence tied to the digital twin of the customer that I have tied to the requirements spine, and boom! Here's the ticket. And before we persist it in, I want to read these. This is the acceptance criteria. Okay, access security onboarding steps developer security group are documented in single reusable checklist. This ambiguous any acronyms here so downstream agents can understand. So this is like a personal preference I would have, which is in my story writing, I wouldn't want to have acronyms, or if the acronyms are there, make sure that they also are accompanied by the disambiguated acronym, the full term that the acronym represents. So I would say this is a fail because it didn't get that. And then what I would be able to do is then replay that and regenerate this ticket.










