Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Read public Bluesky feeds via AT Protocol API.
.claude/skills/notque-bluesky-reader/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -48% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -58% | 0% |
Read public Bluesky profiles via the AT Protocol public API. No auth needed.
bash# Fetch recent posts python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --limit 20 # Search posts by keyword (fetches feed, filters locally) python3 ~/.claude/scripts/bluesky_reader.py search --handle HANDLE --query "search terms" # JSON output for pipeline consumption python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --json # Pagination python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --cursor CURSOR_STRING
https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed| Task type | Load this reference | |-----------|-------------------| | Endpoint details, data shapes, pagination | references/at-protocol-api.md | | Debugging fetch errors, wrong output, missing posts | references/at-protocol-preferred-patterns.md | | Extending the script with new endpoints or search | references/at-protocol-api.md | | Code review of AT Protocol Python code | references/at-protocol-preferred-patterns.md |
| Code | Meaning | |------|---------| | 0 | Success | | 1 | Error (network failure, invalid handle, no posts found) |
| Signal | Load These Files | Why | |---|---|---| | Endpoint details, data shapes, pagination | at-protocol-api.md | Routes to the matching deep reference | | Debugging fetch errors, wrong output, missing posts | at-protocol-preferred-patterns.md | Routes to the matching deep reference | | Extending the script with new endpoints or search | at-protocol-api.md | Routes to the matching deep reference | | Code review of AT Protocol Python code | at-protocol-preferred-patterns.md | Routes to the matching deep reference |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→pass | 16,496 | 6,134 | -63% | 1 | 1 | 0% | 2,964 | 1,536 | -48% | 0 | 0 | — |
case-01 | fail→fail | 3,158 | 4,687 | +48% | 1 | 1 | 0% | 471 | 745 | +58% | 0 | 0 | — |
case-02 | fail→fail | 3,618 | 3,383 | -6% | 1 | 1 | 0% | 541 | 720 | +33% | 0 | 0 | — |
case-03 | fail→pass | 7,169 | 1,690 | -76% | 1 | 1 | 0% | 1,231 | 768 | -38% | 0 | 0 | — |
case-04 | fail→pass | 7,396 | 4,997 | -32% | 1 | 1 | 0% | 1,290 | 1,311 | +2% | 0 | 0 | — |
case-06 | pass→pass | 9,815 | 3,786 | -61% | 1 | 1 | 0% | 1,495 | 1,075 | -28% | 0 | 0 | — |
case-07 | fail→pass | 9,050 | 2,283 | -75% | 1 | 1 | 0% | 1,649 | 956 | -42% | 0 | 0 | — |
case-08 | pass→pass | 9,110 | 2,752 | -70% | 1 | 1 | 0% | 1,613 | 1,044 | -35% | 0 | 0 | — |
case-09 | fail→pass | 15,390 | 2,895 | -81% | 1 | 1 | 0% | 2,398 | 1,019 | -58% | 0 | 0 | — |
case-10 | pass→pass | 4,065 | 1,681 | -59% | 1 | 1 | 0% | 684 | 782 | +14% | 0 | 0 | — |
case-11 | pass→pass | 5,817 | 1,653 | -72% | 1 | 1 | 0% | 958 | 775 | -19% | 0 | 0 | — |
case-12 | fail→pass | 2,335 | 1,551 | -34% | 1 | 1 | 0% | 274 | 711 | +159% | 0 | 0 | — |
case-13 | pass→pass | 3,157 | 1,769 | -44% | 1 | 1 | 0% | 397 | 736 | +85% | 0 | 0 | — |
case-14 | pass→pass | 7,425 | 2,678 | -64% | 1 | 1 | 0% | 1,120 | 855 | -24% | 0 | 0 | — |
case-15 | fail→pass | 5,043 | 1,855 | -63% | 1 | 1 | 0% | 703 | 747 | +6% | 0 | 0 | — |
case-16 | fail→pass | 9,053 | 2,014 | -78% | 1 | 1 | 0% | 1,379 | 897 | -35% | 0 | 0 | — |
case-17 | fail→pass | 12,384 | 1,258 | -90% | 1 | 1 | 0% | 1,756 | 757 | -57% | 0 | 0 | — |
case-18 | fail→pass | 5,159 | 2,342 | -55% | 1 | 1 | 0% | 929 | 941 | +1% | 0 | 0 | — |
case-19 | fail→pass | 5,423 | 2,671 | -51% | 1 | 1 | 0% | 817 | 970 | +19% | 0 | 0 | — |
case-20 | fail→pass | 10,407 | 2,603 | -75% | 1 | 1 | 0% | 1,552 | 879 | -43% | 0 | 0 | — |
case-21 | pass→pass | 6,823 | 1,552 | -77% | 1 | 1 | 0% | 1,015 | 717 | -29% | 0 | 0 | — |
case-22 | fail→pass | 8,311 | 1,986 | -76% | 1 | 1 | 0% | 1,245 | 827 | -34% | 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, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 20 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.