JOURNAL

Claude wrote the renewals brief. One line from the team lead turned 7 into 12

A Claude skill writes Monday's renewals brief. On an invented customer list, one line from the team lead moved five accounts to at risk. Typed in chat, the line lasted one brief. Kept in the skill's file, it holds every week. The skill is free.

1 October 2026·11 min read·Claude · AI agents · Customer success · Renewals · Claude skill

TL;DR: On 29 September Anthropic described how Asana has AI agents write a daily brief on at-risk renewals, and how only a few people get to teach those agents anything that lasts. I had Claude Code build a small version as a Claude skill and run it on an invented customer list with 19 renewals. With no coaching, 7 were at risk. One line from the team lead in the skill's coaching file turned that into 12, because usage doesn't tell you whether the person who signs is still talking to you. Given only in chat, the same rule lasted one brief, because the next run starts fresh from what's in the skill's files.

The whole test in 36 seconds: the same request before and after one committed line. Reconstructed from the recorded runs, and every brief line is Claude's own output.Film: Brinvik
Switch between the two states, and click an account to see the activity behind it. Every company and person is invented.

The demo shows the same skill and the same customer list before and after one committed line, and every brief in it is Claude's own output, unedited. It isn't Asana's product and it doesn't use Asana. Claude Code built the skill for Brinvik from the idea in Anthropic's post about Asana.

In the post, Asana's Chief Product Officer, Arnab Bose, describes an agent called At-Risk Renewal. Every morning it reads every customer success manager's updates on at-risk renewals and sends a digest to leadership, and leadership can coach it so the report improves with each run. Before the agent, Asana's Chief Customer Officer produced a weekly version of the brief, and, as Bose tells it, he learned about problems when leaders told him, not when the data first showed them.

One line, five more renewals at risk

The skill takes a CSV export from the CRM with the accounts and all their logged activity: meetings, calls, emails and internal notes, and for each one, who at the customer took part. It sorts every renewal in the next 90 days into three groups: slipping, steady or growing. Slipping just means someone should look at the account this week. The skill's default rules are: fewer than 60 percent of seats in use, no meeting, call or email from the customer for 30 days, or a note about a champion leaving, a competitor, a budget freeze, an open escalation, a quote with no reply or a team that stopped using the product.

Monday's brief had 7 of 19 at risk. Then the team lead committed one line to coaching.md: if nobody who can sign the renewal has been in a meeting or a call with you, or written to you, in the last 60 days, the account is slipping, however good the usage looks. A name in someone else's note doesn't count, and neither does an email nobody answered or a call nobody picked up. The next run had 12 of 19. A rule that counted any logged row naming someone who can sign, whatever kind of activity it was, would have moved only two of the five.

Two columns of the 19 renewals, each bar labelled with the account name. The left column, "Monday, no coaching", has 7 accounts at risk at the top in dark ink. The right column, "After one committed line", has the same 7 and below them five oxblood accounts: a property company, Aalto Retail, Fosshaug Energi, Ekholm Medical and Nygaard Transport. Oxblood lines carry them across, three from steady and two, Ekholm and Nygaard, climbing steeply from growing. At the bottom: invented customer list.
Five accounts change group, and two of them were listed as growing on Monday.

Take Nygaard Transport: 356,000 DKK, renewing in 38 days. 57 of 60 seats are in use, and the champion, Kasper, wants 20 more for the Jutland depot. On Monday it was listed as growing. But the person who signed last time, the CEO, Birgitte, hasn't been in a meeting or a call for 120 days. The customer success manager emailed her the renewal date 15 days ago, and no answer has been logged. After the line, Nygaard is listed as slipping, and the brief says why, starting with "Coaching:" so the team can see which verdicts come from the new rule. Usage tells you the users are happy. The renewal gets signed by someone else.

The flag is only the start. With Nygaard, the next step is to ask Kasper to bring Birgitte into a short meeting while the renewal is still more than 30 days out, so the contract isn't her first news from you in four months.

A grid of the 12 accounts at risk, sorted by value, with four columns: "Under 60% in use", "No contact for 30 days", "Note flags a risk" and "Nobody who can sign in 60 days". The last column, the committed line, is highlighted in gold. A dot only there: Ekholm Medical, Nygaard Transport, Aalto Retail, Fosshaug Energi and a property company. Virtanen Konepaja and Brattli Maskin only have dots in the first columns. At the bottom: invented customer list.
Five accounts are at risk only because of the new line. The other seven were already caught by the default rules.

The customer list is invented, and it was written with exactly five accounts like that in it. So your own count could be zero or twenty. On that list the money moved too: the value of at-risk renewals went from 1,903,000 to 3,809,000 DKK.

The first brief put Ekholm Medical under growing, while the answer key said steady. The skill counts a new site as growth, and the note said the champion had rolled the product out to two more sites. Claude had applied the skill's rule correctly, so it was the answer key that got fixed.

What the line costs

Ekholm Medical moved too, and may not belong there. The champion has just expanded to two more sites, yet the account is now listed as slipping, because the CEO was last in a meeting 140 days ago. The champion, Sara, writes that the CEO, Johan, is pleased with the rollout, but those are her words, not his. Maybe that's right. Maybe the account has an operations lead who runs everything and a CEO who signs without asking.

And 12 of 19 is a lot. A brief that flags nearly two thirds of the renewals has stopped prioritising. The line is blunt on purpose, which is why it needs a date and an owner, and why it gets deleted when it stops being true. Anthropic's post gives the same advice about an agent's memory: ask it to remember the decisions you want to keep, and delete the ones that are no longer relevant or true.

Five horizontal bars under the heading "Days since the last contact with someone who can sign". A property company 190 days, Fosshaug Energi 160, Ekholm Medical 140, Nygaard Transport 120 and Aalto Retail 95. A dashed vertical line marks the 60-day threshold, and all five bars run well past it. Beside each bar is the usage: 93, 91, 93, 95 and 87 percent. At the bottom: invented customer list.
Usage on the five accounts runs from 87 to 95 percent. On all five, nobody who can sign had been in a meeting or a call, or written in, for at least 95 days.

You don't need Claude to use the rule itself. Pull the customer list out of your CRM, sort the next 90 days of renewals by when someone who can sign was last in a meeting or a call with you, or wrote to you, and read the top five. Count only activity the person took part in. A champion mentioning the CEO isn't the same as talking to the CEO. If you do it with a spreadsheet filter, watch the abbreviations: when the answer key for this test was built, "COO" also matched "coordinator", so an operations coordinator counted as an executive.

Adjust the 60 days and the list of titles to fit how your customers buy. Some only bring in an executive when the contract is ready to sign, and for them the threshold needs to be longer.

Who gets to teach your AI agents?

Asana separates working with an agent from training it. Anyone can give an agent feedback on a task, but only admins and editors can commit feedback to its permanent memory, or undo or delete it. For everyone else, feedback applies to the current task only. Asana's communications team owns the voice, so it would be the editor of an agent that writes. Bose can draft with it, but he can't change how it behaves.

The skill does the same with a file. Claude reads coaching.md on every run and never writes to it. A fifth run put that to the test: a customer success manager gave the same rule in chat while the coaching file was empty. The brief came back with the same 12 of 19, marked the five accounts as "this week's correction" and ended by suggesting the team lead commit the line if it should hold every week.

The file was untouched, and that's the whole reason the rule held only once. The skill doesn't remember anything from one run to the next. Every run starts from what's in the skill folder and the export you give it. Whatever gets typed in chat belongs to that one conversation, and the skill isn't allowed to write it into coaching.md itself. So the next run has never seen the rule and uses only the default rules, the ones that gave 7.

An animation of three runs on the same export from the same Monday, with two rows of briefs. In run 1 both rows go from 7 to 12 of 19 at risk. The top row, "Said in chat", shows 7 of 19 in runs 2 and 3, which is what the default rules give on that export. The bottom row, "Committed to coaching.md", shows 12 of 19 in all three runs.
Said in chat, the rule applies to that run only. Committed to the file, it applies to every run.

Asana has things a skill doesn't. Its agent reads every at-risk renewal across the portfolio by itself each morning, in a shared workspace where leaders can ask follow-up questions. Bose's reason for one shared report: "They could probably have Claude generate a report for themselves," and what he's after is one everyone reads that keeps getting better with every run. At 10 to 80 people, start with one named person who edits coaching.md. A schedule and a shared workspace can come later.

Try it on your own export

The skill is free as a zip file with SKILL.md, coaching.md and a short README, and the invented customer list is a separate download, so you can watch it work before you use your own. You can also read the skill in the browser.

  • Install: add the folder as a skill in Claude, or put it in .claude/skills if you use Claude Code.
  • Your export: one row per activity, with account, region, customer success manager, annual value, renewal date, seats, active users, the date of the activity, the type of activity, who at the customer took part, and the note itself. SKILL.md lists the columns.
  • Change the default rules first, so they match how your team judges a renewal. Then decide who owns coaching.md, and keep it somewhere only that person can edit.
  • Titles: the rule recognises someone who can sign by the title in brackets after the name in the contacts column. If your export keeps titles somewhere else, say so in the coaching file.

There's one data decision to make. The notes carry the names of people at your customers, so use a Claude plan whose data terms you know, or strip the names from the export first. The rule uses the titles, not the names.

And the limits: the customer list is invented and tidy, with titles in brackets and every activity logged with the right type. A real export is messier. The titles may sit in another column, and a call doesn't always get logged, which makes an account you're talking to look silent. Five runs, all on one tidy list.

Where I come in

As an AI consultant in Copenhagen, I set up AI agents for smaller companies, and here the work sits outside the brief itself. A skill only runs when someone asks for it. If the brief should be waiting at seven every Monday with numbers from your HubSpot, and coaching.md should be locked so only the person who owns renewals can change it, that is what I build as internal AI tools, using Claude for business: the brief your team writes by hand today, run for them.

A week ago I wrote about who decides which agents exist at all. That one was about approving agents in the first place.

FAQ

Frequently asked questions

One named person per agent, usually whoever owns the work the agent does. At Asana anyone can give feedback on a task, while only admins and editors can commit feedback to the agent's permanent memory. In a Claude skill you can get the same split with a file only that person can edit.

That depends on the Claude plan you use and the data terms your company has agreed. If you're unsure, strip the names from the export first. The rule about who can sign uses the titles, not the names.

Not on its own. A skill runs when someone asks Claude for the brief. Running it on a schedule from your CRM needs something set up outside the skill.

It reads a CSV with one row per activity, meaning meetings, calls, emails and notes, with the columns listed in SKILL.md. Which CRM the export comes from doesn't matter, as long as the columns match. It has only been tried on the invented customer list.

You write a prompt every time you ask for something. A skill is a folder of instructions Claude reads when the task fits, so the rules are the same every time. This one also has a coaching file for the rules the team lead adds.

AI Teammates is Asana's name for agents that work inside Asana with a role, tasks and access, like colleagues. According to Anthropic's post, Claude powers them when they write documents or run complex tasks, and they share a memory that only selected people can change for good.

Sources

How this article was made. This work was produced together with AI. Overall: AI about 83 percent, Kim about 17 percent. Counting production alone, AI did about 94 percent. Claude built the skill, the invented customer list and the demo, ran the skill five times, tested the demo in a browser and filmed it before a word of the article was written. Three Claude agents acting as critical reviewers moved the angle and asked for the fifth run, the one that shows the difference between the chat and the file. Kim wrote the rules, the voice and the method in advance. The numbers are a qualified estimate, not a measured log.

Portrait banner on a light ground. The headline "Who did the work?", below it two numbers for AI and Kim, a bar divided in the same proportion, and eight phase bars with their own labels underneath.
The split is a qualified estimate over the finished task, not a measured log.

Get new essays by email.

Roughly twice a month. Same voice. No list rental, no retargeting.

Protected by Cloudflare Turnstile. No challenge, no CAPTCHA. Brinvik never shares your address.