Files
last30days-skill/docs/plans/2026-03-09-docs-v295-readme-and-plugin-fix-plan.md
T
Matt Van Horn b6fd5ff406 docs: v2.9.5 README update, fix plugin.json hooks (#62)
- Fix plugin.json hooks field from invalid array to empty object
- Add Claude Code plugin install above ClawHub badge
- Version bump to v2.9.5 with new features block (Bluesky, comparative
  mode, ScrapeCreators X, per-project env, expanded tests)
- Add Bluesky to all source list references
- Document BSKY_HANDLE/BSKY_APP_PASSWORD env vars in install + optional sections

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:40:07 -07:00

76 lines
3.1 KiB
Markdown

---
title: "docs: v2.9.5 README update, plugin.json fix, Claude Code install above fold"
type: docs
status: completed
date: 2026-03-09
---
# docs: v2.9.5 README update, plugin.json fix, Claude Code install above fold
Three things in one commit:
## 1. Fix plugin.json hooks field (Issue #62)
**Bug:** `"hooks": ["./hooks/"]` should be `"hooks": {}`. Array format is invalid per Claude Code plugin manifest schema. No hooks directory exists anyway.
**File:** `.claude-plugin/plugin.json:25`
**Fix:** Change `"hooks": ["./hooks/"]` to `"hooks": {}`
## 2. Add Claude Code install above ClawHub
Currently the README opens with ClawHub badge + install. User wants Claude Code (the default/best way) to be equally prominent ABOVE ClawHub.
**Add before the ClawHub badge:**
```
### Claude Code (recommended)
/plugin marketplace add mvanhorn/last30days-skill
/plugin install last30days@last30days-skill
```
This matches the Installation section further down but puts it above the fold where people actually see it.
## 3. Update README to v2.9.5
**Header:** Change `v2.9.1` to `v2.9.5`
**Source list:** Add "Bluesky" everywhere sources are listed (currently says "Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, and the web")
**New in v2.9.5 block** (replace the v2.9.1 block):
Features shipped since v2.9.1:
- **ScrapeCreators X backend** (`4b7087e`) - X/Twitter search now uses ScrapeCreators as a backend option alongside Bird cookies
- **Bluesky/AT Protocol** (`9a1059e`, `adb5a67`) - New social source with full pipeline (search, parse, normalize, score, dedupe, render). Opt-in via `BSKY_HANDLE` + `BSKY_APP_PASSWORD` app password
- **Comparative mode** (`ecf90c0`) - "X vs Y" queries run 3 parallel research passes and output side-by-side comparison
- **Per-project .env config** (PR #59) - `.last30days.env` in project root for per-project API keys
- **SessionStart config check** (PR #58) - Validates config on session start
- **Expanded test coverage** (PRs #56, #57) - Unit tests for untested modules + smoke tests + edge cases
- **Claude Code marketplace plugin** (`627947f`) - Install via `/plugin install`
- **Gemini CLI extension** (`2f16ff1`) - `gemini extensions install`
**Env vars section:** Add `BSKY_HANDLE` and `BSKY_APP_PASSWORD` to the optional keys table
## Files to Change
| File | Change |
|------|--------|
| `README.md` | Version bump, Claude Code above fold, new features, Bluesky in source lists, env vars |
| `.claude-plugin/plugin.json` | Fix hooks field |
## Acceptance Criteria
- [x] `"hooks": {}` in plugin.json (fixes #62)
- [x] Claude Code plugin install appears ABOVE ClawHub badge
- [x] README says v2.9.5
- [x] "New in v2.9.5" block lists all features since v2.9.1
- [x] Bluesky appears in source list references
- [x] BSKY_HANDLE/BSKY_APP_PASSWORD documented in env vars
- [ ] Plugin installs successfully after fix
## Sources
- Issue #62: https://github.com/mvanhorn/last30days-skill/issues/62
- Issue #63: https://github.com/mvanhorn/last30days-skill/issues/63 (skipped - score 4/10, niche)
- Recent commits: `4b7087e`, `9a1059e`, `ecf90c0`, `adb5a67`
- PRs #56-#59 merged since v2.9.1