llms.txt · diff
git:20260920.7bbae5d to git:20260920.a27a8b2
66 added, 16 removed. Audit A to A.
# Best Agent Skills
- > Daily Top 100 rankings of AI agent skills, merged across skills.sh, ClawHub, Tencent SkillHub, GitHub and social platforms (X, Hacker News, Bluesky). Nine lists, plain CSV, refreshed every day around 01:00 UTC, CC BY 4.0. Source: https://github.com/LinklyAI/best-skills
+ > Daily Top 100 rankings of AI agent skills, merged across skills.sh, ClawHub, Tencent SkillHub, GitHub and social platforms (X, Hacker News, Bluesky). Nine lists plus the per-platform raw snapshots they were computed from, all plain CSV, refreshed every day, CC BY 4.0. Source: https://github.com/LinklyAI/best-skills
- Use this data to answer questions like "which agent skill should I install for X", "what is trending this week", "is skill Y popular or trusted", or to compare skills across ecosystems. Every list keeps the raw per-platform numbers next to any computed score, so you can cite or re-rank.
+ Use this data to answer questions like "which agent skill should I install for X", "what is trending this week", "is skill Y popular or trusted", or to compare skills across ecosystems. There are two layers:
+ - `rankings/` — nine curated Top 100 lists. Small (4–90 KB each), scored, cross-platform. Start here.
+ - `raw/` — what each platform reported today, untouched: 600–1,000 skills per registry, 5,000+ GitHub repos, social mention counts. Use it when the Top 100 is not enough or you need a platform's own numbers.
+
+ Every score in `rankings/` sits next to the raw numbers it came from, so you can cite or re-rank.
+
## Get started
- Base URL (stable, always today's data):
- `https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/`
+ ### Where the data is
- 1. Pick the list that answers the question (see "Lists" below). One list is one CSV, 4–90 KB, at most 100 rows.
- 2. Fetch it: `curl -sL <base>/best-100.csv`.
- 3. Parse by header name, not by column position (RFC 4180: UTF-8, quoted fields may contain commas). An empty cell means "not measured on that platform", never zero. Multi-value cells use `|` as separator.
- 4. Identify a skill by `skill_key` (globally unique). Recommend installation with the `install` column, link with `url` or `repo_url`.
- 5. Same-name skills are different skills: three unrelated `frontend-design` entries can exist. Always show `vendor` or `skill_key` alongside `skill`.
- 6. History: replace `latest` with a date, `.../data/2026-09-01/rankings/best-100.csv` (daily since 2026-08-16). `skill_key`, `repo_url` and `install` exist from 2026-09-20 on; earlier days have the other columns only.
+ No authentication, plain text over HTTPS. Fetch with curl, WebFetch, Python `urllib`, or any HTTP client.
- Examples:
+ - Today's rankings: `https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/<list>.csv` (nine lists, names under "Lists")
+ - Today's raw snapshots: `https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/<file>.csv` (nine files, names under "Raw files")
+ - Any past day: replace `latest` with `YYYY-MM-DD`, e.g. `.../data/2026-09-01/rankings/best-100.csv`. Daily since 2026-08-16, no gaps.
+ - First-seen index (every entity ever observed): `https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/index/first-seen.csv`
+ - Which day `latest` is: not stored inside the CSVs. Read the README line `> Last updated: **YYYY-MM-DD** (UTC)` from `https://raw.githubusercontent.com/LinklyAI/best-skills/main/README.md`, or call `https://api.github.com/repos/LinklyAI/best-skills/commits?path=data/latest/rankings&per_page=1`. The daily refresh lands around 01:00 UTC, occasionally a few hours later.
+ ### Three steps
+
+ 1. Pick the file that answers the question ("Common tasks" below maps questions to files).
+ 2. Fetch it. Example: `curl -sL https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/best-100.csv`
+ 3. Parse by header name, never by column position. RFC 4180: UTF-8, first row is the header, quoted fields may contain commas and doubled quotes. An empty cell means "not measured on that platform" — never zero. Multi-value cells use `|` as separator. Booleans are the strings `true` / `false`.
+
+ Python:
+
+ ```python
+ import csv, io, urllib.request
+ BASE = "https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/"
+ rows = list(csv.DictReader(io.StringIO(urllib.request.urlopen(BASE + "best-100.csv").read().decode())))
+ hit = next(r for r in rows if r["skill"] == "agent-browser" and r["vendor"] == "vercel-labs")
+ print(hit["rank"], hit["wis"], hit["install"])
```
+
+ Shell:
+
+ ```
# Is agent-browser worth installing? (rank, score, install command)
curl -sL https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/best-100.csv | grep -i ',agent-browser,'
# Top 10 fastest growing this week
curl -sL https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/trending-7d.csv | head -11
```
+ ### Identity
+
+ - `skill` is the short name and is not unique: three unrelated `frontend-design` entries can exist. Always show `vendor` or `skill_key` next to it.
+ - `skill_key` is the unique id, identical across all lists and all days: `ss:<owner/repo>/<name>` (skills.sh), `ch:<slug>` (ClawHub), `sh:<slug>` (Tencent SkillHub), lowercased. It exists in rankings from 2026-09-20 on; for earlier days match on `platform` + `source_skillssh` / `slug_clawhub` + `skill`.
+ - The same `skill_key` format is used by `index/first-seen.csv` (`key` column). It is NOT what `raw/buzz.csv` and `raw/x-posts.csv` call `skill_key` — there it is the short name, because social mentions are searched by name.
+
+ ## Common tasks
+
+ 1. Recommend a skill for a need ("I need browser automation"): scan `best-100.csv` by `skill`, `vendor` and `description` (most skills.sh rows have no description — judge by name and vendor, then open `url` to read the skill's own SKILL.md). Answer with rank, `wis`, the raw counts, `install` and `url`. If nothing fits in the Top 100, search `raw/skills-sh.csv` (`name`), `raw/clawhub.csv` (`display_name`, `summary`, `topics`) and `raw/skillhub.csv` (`description`, `category`) — those go 600–1,000 deep per registry.
+ 2. Vet one skill ("is grill-me any good?"): look it up by `skill_key` in `best-100.csv` (score and the five dimensions), `official-100.csv` (`verified_by`), `social-buzz.csv`, `most-active.csv`. Report each platform's count separately. Not in any Top 100 → check the raw registry files before saying it is unknown.
+ 3. What is new or trending: `trending-7d.csv` (week-over-week growth on skills.sh), `rising-stars.csv` (first seen under 30 days ago), `social-buzz.csv` (talked about this week).
+ 4. Compare two skills: fetch their rows from the same list and show the columns side by side. Different platforms count different things; do not add or rank across platforms yourself — the composite scores already do that with within-platform percentiles.
+ 5. Who publishes the most / is official: `official-vendors.csv`, `official-100.csv`, `raw/skills-sh-official.csv`, `raw/clawhub-official.csv`; repositories by stars in `top-repos.csv`.
+ 6. Track a skill over time: loop over `data/YYYY-MM-DD/rankings/<list>.csv` and match on `skill_key` (or platform + source + name before 2026-09-20). `index/first-seen.csv` gives the first day each entity appeared.
+ 7. Read what a skill actually does: `url` is its registry page (skills.sh and ClawHub pages render the SKILL.md); `repo_url` is the GitHub repository for skills.sh skills. SkillHub-only skills have neither; use `description` / `description_zh`.
+
## Lists
- - [best-100.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/best-100.csv): overall "worth installing" ranking by `wis` (0–100). Start here for recommendations. Skills younger than 30 days are in rising-stars instead.
+ - [best-100.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/best-100.csv): overall "worth installing" ranking by `wis` (0–100; today's #1 ≈ 80, #100 ≈ 55). Start here for recommendations. Skills younger than 30 days are in rising-stars instead.
- [top-installs.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/top-installs.csv): most installed across all registries, ordered by `pop_score`. Raw counts per platform side by side.
- [trending-7d.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/trending-7d.csv): fastest growing this week on skills.sh (skills.sh entities only).
- [social-buzz.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/social-buzz.csv): most talked about on X, Hacker News, Bluesky and GitHub in the last 7 days. Generic one-word names (github, weather) are excluded because their mentions cannot be attributed. Often fewer than 100 rows.
- [most-active.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/most-active.csv): popular skills updated most recently and most often (ClawHub only, the sole source with update timestamps).
- [official-100.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/official-100.csv): most popular skills from platform-verified publishers.
- [official-vendors.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/official-vendors.csv): verified publishers ranked by total installs, per platform.
- [top-repos.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/top-repos.csv): GitHub repositories behind the skills, by stars. Stars are repo-level and never rank individual skills.
- [rising-stars.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/rankings/rising-stars.csv): best newcomers, first seen under 30 days ago.
+ ## Raw files
+
+ All under `https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/`. Each is one platform's own numbers for the day; nothing is merged or scored.
+
+ - [skills-sh.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/skills-sh.csv) (1,800 rows, 140 KB): skills.sh's three lists, 600 each — `view` is `all-time`, `trending` or `hot`; `rank` within that view; `source` (GitHub `owner/repo`, or a bare vendor domain), `name`, `installs` (all-time, deduplicated CLI installs, counted once per repo install for every skill in the repo), `is_official`, `installs_yesterday`, `change` (skills.sh's own day-over-day figure), `weekly_installs` (8 weekly buckets, `|`-separated, last = most recent week). A skill appears up to three times, once per view. `skill_key` = `ss:` + lowercase `source/name`.
+ - [skills-sh-official.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/skills-sh-official.csv) (100 rows): skills.sh's official publishers — `rank`, `owner`, `total_installs`, `repos`, `skills`, `featured_skill`.
+ - [clawhub.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/clawhub.csv) (1,000 rows, 270 KB): ClawHub's top 1,000 by downloads — `rank`, `slug`, `display_name`, `summary`, `downloads`, `installs`, `stars`, `comments`, `versions`, `created_at`, `updated_at`, `latest_version`, `topics` (`|`-separated). No owner or repository. `skill_key` = `ch:` + lowercase `slug`.
+ - [clawhub-official.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/clawhub-official.csv) (600+ rows): ClawHub's official publisher feed — `id` (`@publisher/slug`), `title`, `version`, `featured`, `publisher`, `trust`.
+ - [skillhub.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/skillhub.csv) (1,000 rows, 700 KB): Tencent SkillHub's top 1,000 overall — `rank`, `slug`, `canonical_name` (`@publisher/slug`), `downloads`, `installs`, `stars`, `source` (`clawhub` = synced from ClawHub, `enterprise`, `community`), `category`, `publisher`, `publisher_verified`, `certified_name` (registered company name), `upstream_url` (the ClawHub page for synced skills), `created_at`, `updated_at`, `version`, `description`, `description_zh`. China-region counters; for synced skills they are additional activity, not a mirror of ClawHub's numbers. `skill_key` = `sh:` + lowercase `slug`, unless `upstream_url` resolves to a ClawHub skill, in which case the numbers are attached to that `ch:` entity.
+ - [skillhub-enterprise.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/skillhub-enterprise.csv) (1,000 rows, 840 KB): same columns, SkillHub's enterprise (verified-company) list.
+ - [github-repos.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/github-repos.csv) (5,000+ rows, 1.5 MB): repositories from a seed list plus every GitHub source seen on skills.sh — `rank`, `repo`, `stars`, `pushed_at`, `archived`, `topics` (`|`-separated), `description`. Large; filter before reading.
+ - [buzz.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/buzz.csv) (100 rows): 7-day social mention counts for the top buzz candidates — `skill_key` (the SHORT NAME here), `query`, `hn_hits_7d`, `hn_raw_7d`, `bsky_hits_7d`, `bsky_raw_7d`, `gh_mentions_7d`, `x_mentions_7d`, `x_truncated`, `x_pages`, `x_engagement_7d`, `llm_filtered`.
+ - [x-posts.csv](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/latest/raw/x-posts.csv) (1,500+ rows): the X posts behind those counts — `skill_key` (short name), `tweet_url`, `created_at`, `lang`, `favorites`, `retweets`. Links and engagement only, no post text.
+
## Columns
Seven lists (all except official-vendors and top-repos) share these identity columns, in this order:
- `rank`: 1-based position in this list
- `skill`: short name as the registry shows it; not unique across vendors or platforms
- - `skill_key`: unique id. `ss:<owner/repo>/<name>` (skills.sh), `ch:<slug>` (ClawHub), `sh:<slug>` (Tencent SkillHub). Same value across all lists and all days
+ - `skill_key`: unique id, see "Identity" above
- `platform`: primary registry: `skills.sh`, `clawhub` or `skillhub-cn`
- `vendor`: publisher (GitHub owner, ClawHub publisher or SkillHub certified company); may be empty
- `source_skillssh`: skills.sh source, normally a GitHub `owner/repo`; a bare domain means a vendor-hosted registry
- `slug_clawhub`: ClawHub slug
- `url`: skill page on its registry; empty for SkillHub-only skills (no addressable page)
- `repo_url`: `https://github.com/<owner/repo>` for skills.sh skills hosted on GitHub; empty otherwise (ClawHub and SkillHub publish no repository)
- `install`: copy-pasteable command. skills.sh: `npx skills add https://github.com/<owner/repo> --skill <name>`; ClawHub: `openclaw skills install @<owner>/<slug>`. Empty when the repo or owner is unknown, and for SkillHub-only skills
- `match`: how cross-platform rows were joined: `upstream` (exact SkillHub→ClawHub link), `upstream-unresolved`, `single` (one source)
- `description`, `description_zh`: English / Chinese summary from ClawHub or SkillHub; skills.sh provides none, so most skills.sh rows are empty
Per-list columns after the identity block:
- - best-100: `installs_skillssh`, `downloads_clawhub`, `downloads_skillhub_cn` (raw counts); `wis` (0–100); the five dimensions `popularity` (0.30), `momentum` (0.15), `buzz` (0.20), `maintenance` (0.15), `trust` (0.20), each 0–1, empty = not measured (neutral prior 0.3 used); `coverage` A/B/C = number of registries with install data (3/2/1); `anomaly`: non-empty (`identical-counts:<vendor>`) when 3+ skills of one vendor share an identical count, which multiplies `wis` by 0.6
+ - best-100: `installs_skillssh`, `downloads_clawhub`, `downloads_skillhub_cn` (raw counts); `wis` (0–100); the five dimensions `popularity` (weight 0.30), `momentum` (0.15), `buzz` (0.20), `maintenance` (0.15), `trust` (0.20), each 0–1, empty = not measured (neutral prior 0.3 used); `coverage` A/B/C = number of registries with install data (3/2/1); `anomaly`: non-empty (`identical-counts:<vendor>`) when 3+ skills of one vendor share an identical count, which multiplies `wis` by 0.6
- top-installs: raw counts as above; `pop_score` (0–1, within-platform install percentile composite); `coverage`
- trending-7d: `installs_skillssh`, `trending_rank_skillssh` (position on skills.sh trending), `weekly_recent`, `weekly_prev` (installs in the last two weekly buckets), `growth_pct` (week over week, empty when the previous week was the launch week), `data_source`
- social-buzz: `x_mentions_7d` with `x_truncated` (true = capped at 100), `hn_hits_7d` and `bsky_hits_7d` (LLM-filtered estimates) with `hn_raw_7d` and `bsky_raw_7d` (pre-filter totals), `gh_mentions_7d`, `x_engagement_7d` (likes + reposts), `buzz_score` (0–1), `buzz_shared` (true = mentions may belong to a same-name skill)
- most-active: `last_update` (ClawHub, YYYY-MM-DD), `versions_clawhub`, `installs_or_downloads` (first available of skills.sh installs, ClawHub downloads, SkillHub downloads), `freshness_score` (0–1), `data_scope`
- official-100: `verified_by` (`skills.sh`, `clawhub`, `skillhub`, `|`-joined), raw counts, `pop_score`
- rising-stars: `first_seen_days` (age in days), raw counts, `pop_score`
- official-vendors: `rank`, `platform`, `vendor`, `skills_count`, `tracked_skills`, `total_installs_or_downloads`, `featured_skill`
- top-repos: `rank`, `repo` (GitHub `owner/repo`), `stars`, `stars_1d` (change since yesterday), `pushed_at`, `skills_tracked` (skills from this repo in our data), `topics` (`|`-separated)
## Rules
- Never add numbers across platforms. skills.sh, ClawHub and SkillHub count different things (ecosystems, regions, dedup rules); SkillHub counts China-region activity that is additional to, not a mirror of, ClawHub. Present them side by side.
- A skill absent from a list is not ranked zero; each list is truncated at 100 and only covers entities the list's sources can see (trending-7d and most-active are single-platform by design).
- skills.sh installs are bundle-level: installing a repo counts once for every skill in it, so sibling skills of one repo cluster together.
- Social counts are English-dominant estimates for the last 7 calendar days; X is collected only for the top 50 buzz candidates.
- Attribution when you republish: "Data from Best Skills (https://github.com/LinklyAI/best-skills) by @BlueeonY — CC BY 4.0".
## Optional
- [Methodology](https://github.com/LinklyAI/best-skills/blob/main/docs/methodology.md): data sources, score formulas, known limitations, changelog of column and weight changes
- - [Raw per-platform snapshots](https://github.com/LinklyAI/best-skills/tree/main/data/latest/raw): `skills-sh.csv` (1,800 rows), `clawhub.csv`, `skillhub.csv`, `skillhub-enterprise.csv` (1,000 each), `github-repos.csv` (5,000+ repos, 1.5 MB), `skills-sh-official.csv`, `clawhub-official.csv`, `buzz.csv`, `x-posts.csv`. Use these when the Top 100 is not enough
- - [First-seen index](https://raw.githubusercontent.com/LinklyAI/best-skills/main/data/index/first-seen.csv): `key,first_seen` for every entity ever observed (`key` = `skill_key`)
- [SKILL.md](https://github.com/LinklyAI/best-skills/blob/main/SKILL.md): install this repository as an agent skill: `npx skills add https://github.com/LinklyAI/best-skills --skill best-skills`
- [Web version](https://linkly.ai/skills): the same lists rendered for humans, by Linkly AI
+ - [Collection pipeline](https://github.com/LinklyAI/best-skills-runner): how the numbers are gathered and scored