Install
$ agentstack add skill-fivosaresti-workflows-outbound-skills-lead-scoring ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Fivos Lead Scoring
Qualification + tiering for accounts and contacts. Broad-then-narrow: source wide, filter down with a prompt. Scoring runs in-session through Claude itself - no external model needed today.
How scoring runs (today)
- Claude reads the input CSV row-by-row (using the Read tool on a sample, then processing batches).
- For each row, Claude applies the validated qualification prompt and outputs a structured decision:
{tier, score, reasoning}. - Claude writes the scored CSV back to disk using Write/Edit.
- No external model wiring required. First-class, not a fallback.
If you have a dedicated local qualification model (via an MCP or API), this skill's Step 2 and Step 5 can be swapped to call it. The rest of the flow - sample, audit, two gates - stays identical.
Hard rules
- Two approval gates per the TAM Mapping and Contact Sourcing Plan - 2026:
- Gate 1: engineer approves / revises the qualification prompt after seeing 10-row sample results.
- Gate 2: re-estimate full-run cost with the validated prompt, manager approval before scaling.
- Every scored row carries reasoning. Store
tier, score, reasoningtriples for audit - not bare tiers. - Re-scoring uses this same skill. Never write custom scoring scripts outside this skill. If criteria change mid-campaign, re-invoke.
Inputs
- CSV to score - account CSV (from
fivos-account-enrichment), contact CSV, or both. - Qualification prompt - engineer-provided. If missing, the skill suggests one from the template below.
- ICP matrix - from
fivos-icp-segmentation. Gives signal weights and tier thresholds. - Tier thresholds (optional) - override the default A/B/C cutoffs if the client has specific definitions.
Outputs
- Scored CSV with columns appended:
tier, score, reasoning, scored_at, scorer_version. - Tier distribution report (counts of A/B/C/DQ, top disqualification reasons).
- Audit trail: the prompt used, the gate approvals received.
Prompt template
If the engineer didn't provide a prompt, start here and fill in the bracketed sections from the ICP:
You are qualifying 's outbound list. The ICP is:
- Industry:
- Size:
- Signals that raise fit:
- Known disqualifiers:
For each row you receive, decide tier A/B/C:
- A = strong ICP fit + at least one high-weight signal firing.
- B = ICP fit, no strong signal, or signal firing on a weaker-fit account.
- C = tangential fit. Keep only if volume is needed.
- DQ = disqualify (wrong geo, wrong industry, sanctioned, bankrupt, etc.).
Return JSON per row: {"tier": "A"|"B"|"C"|"DQ", "score": 0-100, "reasoning": ""}.
Always show the engineer the fully-rendered prompt before running.
Workflow
Step 1 - Prompt assembly
Render the template with the ICP doc's values. Show the rendered prompt to the engineer for a quick read.
Step 2 - 10-row sample (in-session, Claude-driven)
Read the first 10 rows of the input CSV. For each row, apply the prompt and produce the structured output. Present results inline:
Row 1: Acme Corp (domain: acme.com)
Tier: A
Score: 87
Reasoning: Strong industry fit; Series B within 45 days (high-weight signal);
headcount in target band; no disqualifiers.
Row 2: Globex (domain: globex.io)
Tier: DQ
Score: 10
Reasoning: Wrong industry (consumer retail); also HQ in sanctioned region.
...
Step 3 - Gate 1 (prompt validation)
Ask the engineer:
10-row sample complete.
Distribution: A=X, B=X, C=X, DQ=X
Audit the reasoning. Do any look wrong?
Options:
[approve] - proceed to Gate 2
[revise] - edit prompt and re-run sample
[abort] - stop, do not score
Iterate on the prompt until the engineer signs off. Common revisions: tightening a disqualifier, re-weighting a signal, adding a geo exclusion, adding an industry keyword.
Step 4 - Gate 2 (full-run approval)
Once the prompt is validated, present the full-run plan:
Full qualification plan - /
Rows to score: N
Scorer: Claude (in-session)
Estimated time: ~M minutes (typical: 2-4 seconds/row in batched reads)
Manager approval required to proceed.
Step 5 - Full run
Read the CSV in batches (50-200 rows per batch depending on row width), apply the prompt per row, append the scoring columns, write the result to _scored.csv.
scorer_version: "claude--" # e.g. claude-opus-4-7-2026-04-22
Step 6 - Distribution + anomaly report
Qualification complete - /
Total scored: N
Distribution:
- A: X (X%)
- B: Y (Y%)
- C: Z (Z%)
- DQ: W (W%)
Top disqualification reasons:
1. (X rows)
2. (Y rows)
3. ...
Flags:
- Unexpectedly high DQ rate (>25%) - review prompt tightness.
- Tier-A concentration in one industry - possibly over-indexed.
Step 7 - Handoff
Hand the scored CSV to fivos-copywriter. Tier drives copy depth: A = deep personalisation, B = signal-triggered, C = pattern-only.
Cutover to a dedicated qualification model
If you wire a local or API-hosted qualification model:
- Replace Step 2 + Step 5 with calls to that model.
- Update
scorer_versionin the output CSV to reflect the model. - Everything else (sample → Gate 1 → Gate 2 → full run → report) stays the same.
No structural change to this skill is needed beyond swapping the two step bodies.
Re-scoring
If prompt criteria change mid-campaign (new disqualifier, re-weighting), re-run this skill on the existing CSV. Always bump scorer_version and scored_at so downstream analytics can see the change.
References
~/.agents/skills/gtm-meta-skill/writing-outreach.md- scoring rubric examples, prompt patterns.~/.agents/skills/gtm-meta-skill/prompts.json- qualification prompt templates.- TAM Mapping and Contact Sourcing Plan - 2026 (Google Doc).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: fivosaresti
- Source: fivosaresti/workflows-outbound-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.