title-score
Skill5 starsChanged 44 days agoMITView on GitHub
Score a YouTube title 0-100 using a model fitted to real vidIQ title scores, for tech/AI/developer titles. Use when the user asks to score, rate, grade, or evaluate a YouTube title, or wants to compare/iterate title options. Returns a numeric score with a per-factor breakdown and improvement suggestions. An approximation of vidIQ, not the real API.
In this repository21 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- delegateSkill
- finish-featureSkill
- new-projectSkill
- prune-context-fileSkill
- questionsSkill
- reddit-firecrawl-supportSkill
- reference-led-websitesSkill
- say-as-meSkill
- short-edit-beaconSkill
- short-editSkill
- shortSkill
- shorts-writerSkill
- site-designSkill
- sync-docsSkill
- title-researchSkill
- tweetSkill
- verifySkill
- video-scriptSkill
- wdytSkill
- website-reference-curatorSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Run the script for every title at once via stdin.
- Very specific: line 74
Check the learning curve in RESEARCH.md first - past ~350 rows the return is very small.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Offline 0-100 scorer for YouTube titles, fitted by ridge regression against real vidIQ scores on a 360-title tech / AI / developer corpus.
Runtime needs only the Python standard library.
How to score
scripts/score.py "Your Title Here"
scripts/score.py --json "Your Title Here"
printf "Title one\nTitle two\n" | scripts/score.py -Output gives the score, chars/words, vocab (how much the topic words moved
it), and the named factors that mattered most.
How to report results
- Run the script for every title at once via stdin.
- Give each score plus one line of what is helping and what is hurting, taken from the largest contributions.
- Lead with the ranking, not the numbers. Ordering is what this model does well (76% accurate on same-topic pairs); absolute scores are off by ~7 points on a fresh title.
- Say once per session that this approximates vidIQ rather than reproducing
it. If the exact number matters,
vidiq_score_titleis authoritative at 5 credits a call.
How to improve a title
Ranked by what actually moved the real vidIQ score in minimal-pair testing:
- Add second-person accusation or a first-person result. The biggest lever
by far:
Redis Persistence72 ->Your Redis Persistence Config Is Wrong92. - Don't just append "Explained". Near zero effect, sometimes negative.
- Don't sand off the clickbait. vidIQ rewards caps, exclamation marks, and "for beginners" rather than punishing them.
- Avoid bare two-word titles, and dry openers like "Understanding..." or "Introduction to...".
- Aim for a real sentence rather than a noun phrase; length helps up to a point.
Limits that change how you should answer
- Long-form only. The corpus was built entirely with
type="long". Do not trust this for Shorts. - No channel context. It approximates vidIQ's generic scorer, not the score for any specific channel.
- Ranking >> absolute. True-holdout error is ~7 points / 9.9%. Never present the number as if it were vidIQ's own.
Calibration
data/calibration.json is the labeled corpus, data/model.json the fitted
weights.
uv run --with numpy python scripts/calibrate.py # report only
uv run --with numpy python scripts/calibrate.py --write # refit data/model.json
uv run --with numpy python scripts/calibrate.py --demo # self-check the solver
uv run --with numpy python scripts/eval_ranking.py # ranking accuracyReport held-out MAE, never in-sample - the n-gram block memorizes training titles, so in-sample error badly understates real error.
To add data: score titles with the real vidiq_score_title MCP tool, append
{"title": ..., "vidiq": ...} rows to data/calibration.json, then refit.
Check the learning curve in RESEARCH.md first - past ~350 rows the return is
very small.
Further reading
RESEARCH.md holds the full reverse-engineering writeup: what vidIQ does and
does not publish, every measured finding with its evidence, accuracy and
ranking tables, approaches that were tried and failed, and the highest-value
next steps. Read it before changing the model or spending credits.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

