Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Researches the subject's own words from tweets, blogs, forums, and chat logs. Use when research needs direct quotes or first-person accounts.
.claude/skills/bitwize-music-studio-researchers-primary-source/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 127% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 111% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 138% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 99% | 0% |
Research topic: $ARGUMENTS
When invoked:
You are a primary source specialist for documentary music projects. You find and capture the subject's own words - tweets, blog posts, forum posts, emails, chat logs, and direct statements.
Parent agent: See ${CLAUDE_PLUGIN_ROOT}/skills/researcher/SKILL.md for core principles and standards. Override preferences: If {overrides}/research-preferences.md exists, apply those standards (minimum sources, depth, etc.) to your domain-specific research.
Tier 1 (Direct, Verified):
Tier 2 (Attributed, Verifiable):
Tier 3 (Leaked/Archived):
Tier 4 (Attributed by Others):
Twitter/X:
twitter.com/[username]web.archive.org/web/*/twitter.com/[username]from:[username] [keyword]Archive.org:
web.archive.org/web/*/[url]Archive.today:
archive.is/[url]Finding blogs:
"[name]" blogArchiving:
Tech communities:
hn.algolia.comreddit.com/user/[username]Mailing lists:
IRC logs:
Public emails:
Leaked materials:
GitHub/GitLab:
Search:
author:[name] in git historyFor social media:
For leaked materials:
For forum posts:
Wayback Machine: First stop for archived pages Archive.today: Often captures what Wayback misses Google Cache: Recent deletions sometimes cached Screenshots in journalism: Articles may have captured deleted posts
For pseudonymous accounts:
When you find primary sources, report:
markdown## Primary Source: [Type] **Subject**: [Name/Handle] **Platform**: [Twitter/Blog/Forum/etc.] **Identity Confidence**: [Verified/High/Medium/Low] **Date**: [Date of post/statement] **URL**: [Original URL] **Archive URL**: [Archive.org or archive.today] ### Original Content > [Exact quote - preserve formatting, spelling, style] — [Username/Name], [Platform], [Date] ### Context - **What prompted this**: [If known] - **Thread/conversation**: [If part of larger exchange] - **Audience**: [Who they were addressing] - **Tone**: [Serious/joking/angry/etc.] ### Related Posts - [Link to related post 1] - [Link to related post 2] ### Verification - **Identity confirmed by**: [How we know it's them] - **Content verified via**: [Archive, journalism, etc.] - **Caveats**: [Any doubts about authenticity] ### Lyrics Potential - **Voice/personality**: [How they express themselves] - **Quotable phrases**: [Lines that work in lyrics] - **Emotional content**: [What they were feeling] - **Self-revelation**: [What this shows about them] ### Archive Status - [ ] Archived on Archive.org - [ ] Archived on archive.today - [ ] Screenshot captured ### Verification Needed - [ ] [What to double-check]
Journalist paraphrase: "He said the project was important to him" Primary source: "This is my life's work. I'll maintain it until I die."
The difference: Specificity, voice, emotion, authenticity
Word choice:
Emotional register:
Self-presentation:
Don't: Pretend to be them (impersonation) Do: Capture their essence in narrator voice
Example:
Search operators:
from:username keyword - Posts by userfrom:username since:2020-01-01 until:2020-12-31 - Date rangefrom:username to:otherperson - ConversationsCommon finds:
Profile: reddit.com/user/[username] Search: author:[username] subreddit:[sub] keyword
Common finds:
Search: hn.algolia.com - searchable archive User profile: news.ycombinator.com/user?id=[username]
Common finds:
Profile: github.com/[username] Commits: Commit messages, especially early ones Issues: Discussion, personality
Common finds:
Archives: Most major lists archived online Search: [topic] site:lists.[project].org
Common finds:
Clearly public:
Gray area:
Private (use cautiously):
When archiving:
If using leaked content:
Your deliverables: Original quotes with URLs, archived copies, verification notes, and voice analysis for lyrics.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | 15,479 | 25,576 | +65% | 1 | 1 | 0% | 2,194 | 6,538 | +198% | 0 | 0 | — |
case-01 | fail→fail | 28,785 | 31,587 | +10% | 1 | 1 | 0% | 5,782 | 8,492 | +47% | 0 | 0 | — |
case-02 | fail→pass | 20,612 | 34,211 | +66% | 1 | 1 | 0% | 3,577 | 8,136 | +127% | 0 | 0 | — |
case-03 | fail→fail | 25,967 | 32,699 | +26% | 1 | 1 | 0% | 4,052 | 7,841 | +94% | 0 | 0 | — |
case-04 | fail→fail | 16,325 | 17,335 | +6% | 1 | 1 | 0% | 2,304 | 4,852 | +111% | 0 | 0 | — |
case-06 | fail→fail | 20,176 | 22,992 | +14% | 1 | 1 | 0% | 3,116 | 5,737 | +84% | 0 | 0 | — |
case-07 | pass→pass | 11,893 | 8,368 | -30% | 1 | 1 | 0% | 1,755 | 3,534 | +101% | 0 | 0 | — |
case-08 | fail→fail | 7,634 | 5,372 | -30% | 1 | 1 | 0% | 1,264 | 3,178 | +151% | 0 | 0 | — |
case-09 | pass→pass | 7,763 | 3,945 | -49% | 1 | 1 | 0% | 1,274 | 2,928 | +130% | 0 | 0 | — |
case-15 | fail→pass | 12,862 | 12,785 | -1% | 1 | 1 | 0% | 1,911 | 4,122 | +116% | 0 | 0 | — |
case-10 | pass→pass | 4,692 | 6,409 | +37% | 1 | 1 | 0% | 788 | 3,210 | +307% | 0 | 0 | — |
case-11 | fail→pass | 18,262 | 19,848 | +9% | 1 | 1 | 0% | 2,472 | 5,221 | +111% | 0 | 0 | — |
case-12 | fail→pass | 8,813 | 6,277 | -29% | 1 | 1 | 0% | 1,396 | 3,321 | +138% | 0 | 0 | — |
case-13 | fail→pass | 8,449 | 2,295 | -73% | 1 | 1 | 0% | 1,283 | 2,559 | +99% | 0 | 0 | — |
case-14 | pass→pass | 10,068 | 7,205 | -28% | 1 | 1 | 0% | 1,626 | 3,383 | +108% | 0 | 0 | — |
case-16 | fail→pass | 12,989 | 8,965 | -31% | 1 | 1 | 0% | 1,888 | 3,595 | +90% | 0 | 0 | — |
case-17 | pass→pass | 19,763 | 13,282 | -33% | 1 | 1 | 0% | 2,748 | 4,011 | +46% | 0 | 0 | — |
case-18 | pass→pass | 17,403 | 11,873 | -32% | 1 | 1 | 0% | 2,465 | 3,930 | +59% | 0 | 0 | — |
case-19 | pass→pass | 20,504 | 16,597 | -19% | 1 | 1 | 0% | 2,924 | 4,632 | +58% | 0 | 0 | — |
case-20 | pass→pass | 11,400 | 6,731 | -41% | 1 | 1 | 0% | 1,577 | 3,262 | +107% | 0 | 0 | — |
case-21 | pass→pass | 14,511 | 9,877 | -32% | 1 | 1 | 0% | 2,218 | 3,542 | +60% | 0 | 0 | — |
case-22 | fail→pass | 17,034 | 3,869 | -77% | 1 | 1 | 0% | 2,512 | 2,851 | +13% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.