CtrlK
BlogDocsLog inGet started
Tessl Logo

champion-tracker

Track product champions for job changes and qualify their new companies against ICP. Takes a CSV of known champions (with LinkedIn URLs), creates a baseline snapshot via Apify enrichment, then detects when champions move to new companies. Scores new companies on a 0-4 ICP fit scale. Outputs a downloadable CSV of movers with qualification verdicts.

61

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/sales/capabilities/champion-tracker/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, highly actionable skill body: executable commands, explicit prerequisites, complete input/output schemas, and cost transparency with dry-run checkpoints. Main gaps are the missing input/champions_template.csv promised in the File Structure section and the absence of error-recovery guidance for failed enrichments.

DimensionReasoningScore

Conciseness

The body is efficient — tables for CSV columns and ICP scoring, terse command blocks, and no explanation of concepts Claude already knows. Minor trimmable instances remain: the opening line duplicates the description, and the File Structure section partially restates information inferable from the commands. Not 5 because a few tokens (e.g. the restated intro and snapshots/ tree detail) do not earn their place; not 3 because there is no over-explanation of known concepts.

4 / 5

Actionability

Guidance is fully executable: exact CLI invocations with flags ('python3 skills/champion-tracker/scripts/champion_tracker.py init -i champions.csv --dry-run', 'check -o changes.csv'), required and optional CSV columns enumerated, prerequisites named ('APIFY_API_TOKEN in .env', 'requests'), and output columns plus scoring rules fully specified. Not 4 because there are no gaps — a user can run the workflow copy-paste from this file.

5 / 5

Workflow Clarity

The two-phase structure (agent-driven discovery, then script-driven init → check → status) is clearly sequenced, and the batch API operation has an explicit cost checkpoint ('--dry-run always shows cost before any API calls', shown for both init and check). Not 5 because error-recovery guidance is absent — no feedback loop for failed/partial enrichments or how to interpret 'errors' in the status output; not 3 because a validation checkpoint (dry-run before spending) is explicitly present for the batch operation.

4 / 5

Progressive Disclosure

Structure is good: the 35K implementation lives in scripts/champion_tracker.py (verified present in the bundle), SKILL.md stays an overview, and references are one level deep with clear section headers. Not 5 because the File Structure section lists 'input/champions_template.csv' which does not exist in the bundle, and the dependency on 'skills/lead-qualification/scripts/enrich_leads.py' is an un-signaled cross-skill path a reader cannot navigate from this bundle.

4 / 5

Total

17

/

20

Passed

Description

63%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, concrete 'what' with a fully specified pipeline (CSV input, Apify baseline, change detection, 0-4 ICP scoring, CSV output), but the description never tells Claude when to use it. Adding an explicit 'Use when...' clause with natural trigger phrases would lift the two weakest dimensions.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user wants to monitor former product users for job changes, re-engage champions who moved companies, or qualify a new employer against ICP.'

Expand jargon on first use so natural language matches: 'ICP (ideal customer profile)' and describe Apify enrichment as 'LinkedIn profile enrichment' so users saying 'LinkedIn' trigger the skill.

Include common phrasing variations such as 'champion job changes', 'track when contacts leave', and ' movers CSV' to broaden natural trigger-term coverage.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Takes a CSV of known champions (with LinkedIn URLs), creates a baseline snapshot via Apify enrichment, then detects when champions move to new companies. Scores new companies on a 0-4 ICP fit scale. Outputs a downloadable CSV of movers with qualification verdicts' — covering input, processing, scoring, and output comprehensively. It is not below 4 because coverage of the pipeline stages (input → baseline → detection → scoring → output) is complete rather than having minor gaps.

5 / 5

Completeness

The 'what' is clearly and concretely answered (track champions, snapshot via Apify, detect moves, score 0-4, output CSV), but there is no 'Use when...' clause or equivalent trigger guidance — per the judging guidelines this caps completeness at 3. It is not 4 because 'when' is entirely absent rather than merely implicit or less specific.

3 / 5

Trigger Term Quality

Relevant keywords like 'product champions', 'job changes', 'new companies', 'LinkedIn', and 'CSV' are present, but common natural variations a user would say ('champion changed jobs', 'job change alerts', 'track former users', '.csv') are missing and unexplained jargon ('ICP', 'Apify') dominates. Not 4 because keyword coverage lacks the synonym breadth of 'PDF files, PDFs, forms, document extraction, .pdf'; not 2 because the terms present are domain-relevant, not generic.

3 / 5

Distinctiveness Conflict Risk

The champion-tracking/job-change-detection niche is mostly distinct — few skills would compete for 'Track product champions for job changes' — though the unexpanded 'ICP' and generic 'lead-generation' tag leave minor overlap risk with a lead-qualification skill. Not 5 because the trigger surface is not explicit enough to fully separate it from adjacent sales/lead skills.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.