source-command-track-mentions
Search for new online mentions of the Claude Code Ultimate Guide or Florian Bruniaux's public project portfolio and update the relevant tracker
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
source-command-track-mentions
Use this skill when the user asks to run the migrated source command track-mentions.
Command Template
Track Mentions Workflow
Find new online mentions of either the Claude Code Ultimate Guide or the wider public project portfolio.
The guide catalog lives in docs/media-mentions/mentions.yaml. The cross-project catalog lives in
~/Sites/perso/florian-portfolio/src/data/mentions.json.
Usage
/track-mentions # Search + report new mentions, confirm before adding
/track-mentions --dry-run # Search + report only, no YAML changes
/track-mentions --scheduled # Unattended report-only run, equivalent to --dry-run
/track-mentions --add-all # Add all confirmed results after explicit approval in this session
/track-mentions --all-projects # Search the active GitHub portfolio and update the portfolio catalog
/track-mentions --commit # Commit only the validated tracker files after an approved update
--scheduled always wins over write flags. A scheduled run must not edit files, create a commit,
push, open a pull request, or publish a tracker update.
Step 1: Load existing tracker
For the default guide mode, read docs/media-mentions/mentions.yaml to get:
- Current
meta.total_mentionscount - All existing
urlfields → build a deduplication set docs/media-mentions/review-queue.yaml→ keep inaccessible candidates pending and rejected URLs excluded
For --all-projects:
- Read the public
FlorianBruniauxGitHub profile and list active repositories owned by that account. - Exclude forks, landing-only repositories, support repositories such as
homebrew-tap, and RTK. - Read
~/Sites/perso/florian-portfolio/src/data/mentions.jsonto get tracked projects, source URLs,
and existing multi-project assignments.
- Treat one canonical URL as one source even when it names several projects.
Step 2: Run Perplexity deep research
Use mcp__perplexity__perplexity_research with reasoning_effort: "high". Append the normalized URLs
from the confirmed catalog and review queue as <KNOWN_URLS>. Search broadly on every run instead of
assuming that a weekly time window captures pages indexed late.
Find all articles, blog posts, newsletters, Reddit threads, Twitter/X posts, LinkedIn posts,
YouTube videos, podcasts, GitHub issues/repos, and directories that mention "Claude Code
Ultimate Guide" by Florian Bruniaux (GitHub: FlorianBruniaux/claude-code-ultimate-guide,
website: cc.bruniaux.com). Search broadly for third-party content only - exclude the GitHub
repo itself and cc.bruniaux.com own pages.
Return exactly three groups:
- `new_confirmed`: evidence is accessible and contains an explicit project identifier
- `already_tracked`: canonical URL matches `<KNOWN_URLS>`
- `rejected_or_unverified`: title collision, inaccessible evidence, owned property, or uncertain attribution
For each result provide: canonical URL, publication date if available, author/platform name, language,
project identifier found, evidence location, one sentence on how the source references the guide,
classification, confidence, and metadata problems.
Also search explicitly for:
- "cc.bruniaux.com" cited as a resource on third-party sites
- "claude-code-ultimate-guide florian bruniaux" in blog posts and tutorials
- "FlorianBruniaux" in dev tutorials referencing the guide
- The guide mentioned in non-English content (French, Spanish, German, Korean, Portuguese, etc.)
Known canonical URLs for deduplication:
<KNOWN_URLS>
If Perplexity returns no results (model refuses citing knowledge cutoff), fall back to
WebSearch with these parallel queries:
"Claude Code Ultimate Guide" -site:github.com -site:cc.bruniaux.com
site:reddit.com "cc.bruniaux.com" OR "Claude Code Ultimate Guide"
site:dev.to OR site:hashnode.com OR site:medium.com "Claude Code Ultimate Guide" "florian" OR "bruniaux"
"Claude Code Ultimate Guide" twitter OR x.com
Then use WebFetch on each candidate URL to verify the guide is explicitly mentioned by name or URL.
Treat a result as confirmed only when the page itself, its public metadata, or an indexed snippet
contains at least one project identifier: the guide name, the canonical repository slug, or
cc.bruniaux.com. A matching generic title such as "ultimate Claude Code guide" is not enough.
Classify every confirmed result before reporting it:
editorial: article, newsletter, podcast, or video with independent commentarysocial: third-party LinkedIn, X, Instagram, or Facebook postforum: Reddit, Hacker News, forum, or community discussiontranslation: translated or adapted repository that credits the originalmirror: copied or republished guide contentadoption: a third-party repository visibly embeds, configures, or uses the projectregistry: a package or protocol registry entry proving distribution coverageautomated_directory: generated index, catalog, MCP directory, or repository documentation service
Do not count the project's own pages, the author's own social posts, GitHub topic pages generated
from the repository's own metadata, or referral query parameters as earned third-party mentions.
Keep automated directories separate from organic mentions. Flag incorrect install commands, package
names, star counts, line counts, authorship, or capabilities instead of silently copying them.
Step 3: Deduplicate
For each result from Perplexity:
- Normalize the URL (strip trailing slash, lowercase domain)
- Check against existing URLs in the YAML
- Check against pending and rejected URLs in
review-queue.yaml - Resolve obvious redirects and compare the canonical destination
- Skip if already tracked
- Keep inaccessible candidates pending; never promote them from a repeated snippet alone
Step 4: Report new mentions
Display a table for review:
New mentions found: N
| # | Kind | Platform | Author | Title | Evidence | Metadata issues | URL | Date |
|---|------|----------|--------|-------|----------|-----------------|-----|------|
| 1 | ... | ... | ... | ... | Confirmed | None | ... | ... |
After the table, report separate counts:
- organic mentions:
editorial,social, andforum - adaptations:
translationandmirror - visible adoption:
adoption - distribution coverage:
registry - automated indexes:
automated_directory
List probable or inaccessible candidates separately. Never add them as confirmed entries without
user approval and an explicit uncertainty note.
If --dry-run or --scheduled: stop here, no changes.
Step 5: Add to the relevant catalog (unless --dry-run)
In default mode, add entries to docs/media-mentions/mentions.yaml using the rules below.
In --all-projects mode, add one entry to the portfolio JSON with a projects array containing every
explicitly cited project id and an explicit group. Never duplicate a source to make per-project totals
larger. Add a newly discovered active project to the top-level projects array even when its verified
mention count is zero.
Writing requires explicit user approval in the current interactive session. --add-all does not count
as approval when replayed by an automation. For each approved new mention:
- Assign next sequential id (zero-padded to 3 digits)
- Infer
platformfrom the source type:
- Blog/newsletter →
article - reddit.com →
reddit - linkedin.com/posts/* (own profile florian-bruniaux) →
linkedin-own - linkedin.com/posts/* (other) →
linkedin-other - twitter.com / x.com →
twitter - youtube.com →
video - github.com/issues or github.com/discussions →
forum - news.ycombinator.com →
forum - Curated list / registry / directory →
directory - podcasts.apple.com / spotify.com →
podcast - instagram.com →
instagram
- Set
reach: unknown(unless view count is visible in snippet) - Set
status: active - Set
first_seen: <today's date> - Write entry to YAML under the appropriate section comment
Step 6: Update meta
- Increment
meta.total_mentionsby the number of added entries - Set
meta.last_updatedto today's date
Step 7: Update README stats table
Recount entries by platform and update the stats table in docs/media-mentions/README.md.
Step 8: Validate
Run:
python3 scripts/check-media-mentions.py
Do not commit if IDs, canonical URLs, totals, platforms, or review-queue boundaries fail validation.
Step 9: Commit only when requested
Without --commit, report the changed files and stop. With --commit, stage only the validated tracker
files. Never use a broad git add in a dirty worktree.
git add docs/media-mentions/mentions.yaml docs/media-mentions/README.md docs/media-mentions/review-queue.yaml
git commit -m "docs: track-mentions - add N new mentions (YYYY-MM-DD)"
Notes
- Skip own properties (cc.bruniaux.com pages, GitHub repo itself, FlorianBruniaux profile)
- Skip mentions where the guide is cited only by implication or context, not by name or URL
- Put ambiguous or inaccessible cases in
review-queue.yaml; do not add them tomentions.yaml - Keep rejected false positives in the review queue so later scheduled runs do not rediscover them
- If Perplexity finds 0 new mentions, report "No new mentions found since last run."
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
.agents/skills/source-command-track-mentions/SKILL.md同一个仓库里的其他技能
- guide-recap
- self-assessment
- source-command-audit-prose
- source-command-audit-whitepapers
- source-command-ccguide-daily
- source-command-ccguide-diff-docs
- source-command-ccguide-init-docs
- source-command-ccguide-refresh-docs
- source-command-changelog
- source-command-methodology-advisor
- source-command-sync
- source-command-update-infos-release