TVA scoring rubric
The Triggered Value Asset rubric every subagent self-scores against. Drop it into your repo and reference from CLAUDE.md.
The Triggered Value Asset (TVA) rubric is the file every subagent we ship reads before deciding whether a draft sends or regenerates. It's three criteria, scored 0-3 each, with a 7/9 pass threshold and a forwardability check on top.
Use this file in your repo
Save as tva-rubric.md at your repo root, or in /subagents/audit/tva-rubric.md. Reference it from your CLAUDE.md and from the audit subagent's prompt:
Read tva-rubric.md. Score the draft against each criterion (0-3).
Sum to a total. If total >= 7, queue for send. If total < 7, regenerate.
On the third failed regeneration for the same prospect, skip and log. The three criteria
1. Specific (S)
Names. Numbers. Dates.
- Score 0 — Generic. No specifics from the prospect's world. ("We help B2B SaaS companies grow.")
- Score 1 — One specific data point, but not a real signal. ("I see you're at [Company].")
- Score 2 — A specific public signal cited correctly. ("Saw your $12M Series B last month.")
- Score 3 — A specific signal AND tied to a unique recent pain or opportunity. ("Saw your $12M Series B and the 4 senior React roles posted last week. Series B + engineering hire surge usually means you're 60-90 days from a CRO search.")
Pass test: could the message be sent to 50 other prospects with minor edits? If yes, it's a 0 or 1.
2. Timely (T)
Last 30 days. Ideally last 7.
- Score 0 — No date anchor. The message would have been valid 12 months ago.
- Score 1 — A real signal, but stale (60+ days).
- Score 2 — Signal from the last 30 days. Recent enough to feel current.
- Score 3 — Signal from the last 7 days. Reads as "we're paying attention right now."
Pass test: if the recipient asked "how do you know this," would the answer be "from a public event in the last 30 days?"
3. Actionable (A)
Something they can do this week.
- Score 0 — No call to action, or one that's vague ("happy to chat").
- Score 1 — A meeting ask with no specific framing.
- Score 2 — A concrete, scoped offer the recipient could engage with this week.
- Score 3 — Score 2, plus the offer is independently valuable even if they don't book a meeting.
Pass test: if the recipient never replies, did they still get something useful from the message?
Scoring
Specific: ___ / 3
Timely: ___ / 3
Actionable: ___ / 3
─────────────────
Total: ___ / 9 Threshold: 7+ to send. Below 7, regenerate. Three failed regenerations on the same prospect, skip and log.
The forwardability test (final check)
Even with 7+, ask the meta-question:
Would the recipient forward this to their boss, peer, or team?
If no, regenerate regardless of score. Forwardability is the bar TVA was built to enforce. Forward rate is the metric we publish on every campaign.
Banned phrases (auto-zero on Specific)
- "Just checking in"
- "I hope this finds you well"
- "Quick question"
- "Hope you're having a great week"
- Any version of "I'd love to learn more about your business"
- Any sentence that could appear unchanged in a competitor's outbound
Self-scoring template for agents
draft:
text: |
[the draft message]
scoring:
specific:
score: 2
reasoning: "Cites Series B + 4 React job posts, both within last 30 days"
timely:
score: 3
reasoning: "Series B announced 12 days ago"
actionable:
score: 2
reasoning: "Offers to send the 90-day plan; recipient can accept or pass"
total: 7
forwardability_check:
pass: true
reasoning: "VP would share the 90-day plan with their CRO"
decision: SEND Lineage
TVA was developed by Rome Thorndike at subagent/gtm, building on Jordan Crawford's Permissionless Value Proposition (PVP) framework at Cannonball GTM. PVP asked "would they pay for this?" TVA asks "is the message the right asset for the trigger we observed, and is it worth forwarding?"
Read the full methodology at subagentgtm.com/methodology.
Take the file.
Save it in your repo. Modify the bracketed values. Use it however you want.
↓ Download tva-rubric.mdWant this built for your team?
We deploy these templates into your repo as part of a fixed-fee engagement. You own the repo. The templates above are the starting point.