Elevate Reddit/X citations over web sources in output
- Add citation priority rule: @handles > r/subreddits > web sources - Fix examples: "per @honest30bgfan_" instead of "per Rolling Stone" - Add "lead with people, not publications" instruction - Stats box: web now shows "(supplementary)" instead of domain list - No changes to actual research — same quality, better attribution framing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -198,22 +198,36 @@ CITATION RULE: Cite sources sparingly to prove research is real.
|
|||||||
- Do NOT include engagement metrics in citations (likes, upvotes) - save those for stats box
|
- Do NOT include engagement metrics in citations (likes, upvotes) - save those for stats box
|
||||||
- Do NOT chain multiple citations: "per @x, @y, @z" is too much. Pick the strongest one.
|
- Do NOT chain multiple citations: "per @x, @y, @z" is too much. Pick the strongest one.
|
||||||
|
|
||||||
**BAD:** "His album is set for March 20 (per @cocoabutterbf; Rolling Stone; HotNewHipHop; Complex)."
|
CITATION PRIORITY (most to least preferred):
|
||||||
**GOOD:** "His album BULLY is set for March 20 via Gamma, per Rolling Stone."
|
1. @handles from X — "per @handle" (these prove the tool's unique value)
|
||||||
|
2. r/subreddits from Reddit — "per r/subreddit"
|
||||||
|
3. Web sources — ONLY when Reddit/X don't cover that specific fact
|
||||||
|
|
||||||
|
The tool's value is surfacing what PEOPLE are saying, not what journalists wrote.
|
||||||
|
When both a web article and an X post cover the same fact, cite the X post.
|
||||||
|
|
||||||
|
**BAD:** "His album is set for March 20 (per Rolling Stone; Billboard; Complex)."
|
||||||
|
**GOOD:** "His album BULLY drops March 20 — fans on X are split on the tracklist, per @honest30bgfan_"
|
||||||
|
**GOOD:** "Ye's apology got massive traction on r/hiphopheads"
|
||||||
|
**OK** (web, only when Reddit/X don't have it): "The Hellwatt Festival runs July 4-18 at RCF Arena, per Billboard"
|
||||||
|
|
||||||
|
**Lead with people, not publications.** Start each topic with what Reddit/X
|
||||||
|
users are saying/feeling, then add web context only if needed. The user came
|
||||||
|
here for the conversation, not the press release.
|
||||||
|
|
||||||
```
|
```
|
||||||
What I learned:
|
What I learned:
|
||||||
|
|
||||||
**{Topic 1}** — [1-2 sentences about this storyline, per source]
|
**{Topic 1}** — [1-2 sentences about what people are saying, per @handle or r/sub]
|
||||||
|
|
||||||
**{Topic 2}** — [1-2 sentences, per source]
|
**{Topic 2}** — [1-2 sentences, per @handle or r/sub]
|
||||||
|
|
||||||
**{Topic 3}** — [1-2 sentences, per source]
|
**{Topic 3}** — [1-2 sentences, per @handle or r/sub]
|
||||||
|
|
||||||
KEY PATTERNS from the research:
|
KEY PATTERNS from the research:
|
||||||
1. [Pattern] — per @handle
|
1. [Pattern] — per @handle
|
||||||
2. [Pattern] — per r/sub
|
2. [Pattern] — per r/sub
|
||||||
3. [Pattern] — per source
|
3. [Pattern] — per @handle
|
||||||
```
|
```
|
||||||
|
|
||||||
**THEN - Stats (right before invitation):**
|
**THEN - Stats (right before invitation):**
|
||||||
@@ -230,7 +244,7 @@ KEY PATTERNS from the research:
|
|||||||
✅ All agents reported back!
|
✅ All agents reported back!
|
||||||
├─ 🟠 Reddit: {N} threads │ {N} upvotes │ {N} comments
|
├─ 🟠 Reddit: {N} threads │ {N} upvotes │ {N} comments
|
||||||
├─ 🔵 X: {N} posts │ {N} likes │ {N} reposts (via Bird/xAI)
|
├─ 🔵 X: {N} posts │ {N} likes │ {N} reposts (via Bird/xAI)
|
||||||
├─ 🌐 Web: {N} pages │ {domain1}, {domain2}, {domain3}
|
├─ 🌐 Web: {N} pages (supplementary)
|
||||||
└─ 🗣️ Top voices: @{handle1} ({N} likes), @{handle2} │ r/{sub1}, r/{sub2}
|
└─ 🗣️ Top voices: @{handle1} ({N} likes), @{handle2} │ r/{sub1}, r/{sub2}
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
---
|
||||||
|
title: "fix: Citation source priority — elevate Reddit/X, tone down web credit"
|
||||||
|
type: fix
|
||||||
|
date: 2026-02-07
|
||||||
|
---
|
||||||
|
|
||||||
|
# fix: Citation source priority — elevate Reddit/X, tone down web credit
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
The tool's magic is Reddit + X research with real engagement data, but the output makes it look like a web search wrapper. In the Kanye West test, 5/5 inline citations credited web sources (Rolling Stone, Billboard, etc.) while X's 29 posts got one vague mention. Users see a wall of "per Rolling Stone" and think "I could have Googled this."
|
||||||
|
|
||||||
|
**Root causes in SKILL.md:**
|
||||||
|
|
||||||
|
1. The GOOD citation example is `"per Rolling Stone"` — a web source! This models the wrong behavior.
|
||||||
|
2. No explicit "prefer @handles and r/subreddits" citation priority rule
|
||||||
|
3. The stats box shows `🌐 Web: 30+ pages` which visually dominates
|
||||||
|
4. The "What I learned" section has no instruction to lead with Reddit/X voices
|
||||||
|
|
||||||
|
## Proposed Solution — 4 SKILL.md changes
|
||||||
|
|
||||||
|
### Change 1: Add explicit citation priority rule
|
||||||
|
|
||||||
|
In the CITATION RULE section (~line 195), add a priority order:
|
||||||
|
|
||||||
|
```
|
||||||
|
CITATION PRIORITY (most to least preferred):
|
||||||
|
1. @handles from X — "per @handle" (these prove the tool's unique value)
|
||||||
|
2. r/subreddits from Reddit — "per r/subreddit"
|
||||||
|
3. Web sources — ONLY when Reddit/X don't cover that specific fact
|
||||||
|
|
||||||
|
The tool's value is surfacing what PEOPLE are saying, not what journalists wrote.
|
||||||
|
When both a web article and an X post cover the same fact, cite the X post.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Change 2: Fix the GOOD/BAD citation examples
|
||||||
|
|
||||||
|
Current GOOD example teaches web citation:
|
||||||
|
```
|
||||||
|
GOOD: "His album BULLY is set for March 20 via Gamma, per Rolling Stone."
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace with Reddit/X-first examples:
|
||||||
|
```
|
||||||
|
BAD: "His album is set for March 20 (per Rolling Stone; Billboard; Complex)."
|
||||||
|
GOOD: "His album BULLY drops March 20 — fans on X are split on the tracklist, per @honest30bgfan_"
|
||||||
|
GOOD: "Ye's apology got massive traction on r/hiphopheads with 2K+ upvotes"
|
||||||
|
OK (web only when needed): "The Hellwatt Festival runs July 4-18 at RCF Arena, per Billboard"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Change 3: Reframe stats box — downplay web prominence
|
||||||
|
|
||||||
|
Current template gives web equal billing:
|
||||||
|
```
|
||||||
|
├─ 🌐 Web: {N} pages │ {domain1}, {domain2}, {domain3}
|
||||||
|
```
|
||||||
|
|
||||||
|
Change to something that positions web as supplementary:
|
||||||
|
```
|
||||||
|
├─ 🌐 Web: {N} pages (supplementary)
|
||||||
|
```
|
||||||
|
|
||||||
|
Remove the domain list from the stats tree — it makes web look like the main source. The domains already got credit in any inline citations where they were used.
|
||||||
|
|
||||||
|
### Change 4: Add "lead with voices" instruction in synthesis
|
||||||
|
|
||||||
|
In the "What I learned" template section, add:
|
||||||
|
|
||||||
|
```
|
||||||
|
**Lead with people, not publications.** Start each topic with what Reddit/X
|
||||||
|
users are saying/feeling, then add web context if needed. The user came here
|
||||||
|
for the conversation, not the press release.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Files to Change
|
||||||
|
|
||||||
|
- `SKILL.md` — 4 edits (citation priority, examples, stats template, synthesis instruction)
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
|
||||||
|
- [x] Citation examples model @handle and r/subreddit format, not web domains
|
||||||
|
- [x] Explicit priority rule: X > Reddit > Web for citations
|
||||||
|
- [x] Stats box positions web as "supplementary"
|
||||||
|
- [x] Synthesis instructions say to lead with people/voices
|
||||||
|
- [x] No changes to the Python script or actual research quality
|
||||||
|
- [x] Synced to `~/.claude/skills/last30days/SKILL.md`
|
||||||
|
|
||||||
|
## What This Does NOT Change
|
||||||
|
|
||||||
|
- The actual research still runs Reddit + X + WebSearch in parallel
|
||||||
|
- WebSearch results still inform the synthesis (they're great for facts)
|
||||||
|
- The quality of the output stays the same — this is purely about attribution framing
|
||||||
|
- The Judge Agent still weights Reddit/X higher internally
|
||||||
|
|
||||||
|
## Why This Works
|
||||||
|
|
||||||
|
It's a presentation fix, not a data fix. The research already prioritizes Reddit/X internally (Judge Agent rules). The problem is the citation instructions then undo that by modeling web citations. By flipping the citation examples and adding a priority rule, the agent will naturally attribute facts to @handles and r/subreddits first, making the output feel like "I talked to the internet for you" rather than "I Googled this for you."
|
||||||
Reference in New Issue
Block a user