Split context7 concerns into two skills: - using-context7 (policy, every-time): when to call, how to query well - setup-context7 (infrastructure, one-time): install plugin, inject API key, clean manual MCP entries, with confirmation gates setup-context7 reuses an existing CONTEXT7_API_KEY by searching, in order: ~/.claude/settings.json → ~/.claude.json (top-level + project-scoped) → ~/.claude/settings.local.json → env. Asks the user only if nothing found. Cross-platform (paths identical on Win/Linux/macOS; only JSON validator differs). Phase-2 confirmation gate before any write; per-edit JSON validation; rollback procedure documented. using-context7 gets a small Prerequisites section pointing at setup-context7 when MCP tools are missing. Bonus fix: scripts/build.sh PS multi-arg bug. Comma-joined -Names didn't split into [string[]] when build.ps1 was invoked via -File. Now the bash side loops one PS invocation per skill. Wiki: extended .wiki/concepts/context7-setup.md with the design rationale (why split policy from setup) — template for future "X plugin + how to use X" pairs. index.md and log.md updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
78 lines
5.2 KiB
Markdown
78 lines
5.2 KiB
Markdown
# Task Board
|
|
_Updated: 2026-04-28_
|
|
|
|
## Done
|
|
|
|
### Create `setup-context7` skill
|
|
- [x] Drafted `skills/setup-context7/SKILL.md` — 8 phases (discovery → plan → backup → install → inject → clean → smoke-test → restart) + rollback + cross-platform notes
|
|
- [x] API-key discovery in priority order: `settings.json` → `.claude.json` (top-level + project-scoped) → `settings.local.json` → env → ask
|
|
- [x] Phase 2 confirmation gate (no mutations without explicit "ok"); Phase 6 validates JSON after each edit
|
|
- [x] Documented `/plugin update` gotcha
|
|
- [x] Added Prerequisites section in `using-context7` pointing at `setup-context7`
|
|
- [x] Built + installed both skills (`setup-context7` already in `available_skills`)
|
|
- [x] Updated `.wiki/concepts/context7-setup.md` with "Now captured as a skill" section explaining the policy/setup split rationale
|
|
- [x] **Bonus fix:** `scripts/build.sh` PS multi-arg bug — comma-joined `-Names` wasn't splitting into `[string[]]` when called via `-File`. Now loops in bash, one PS invocation per skill.
|
|
|
|
### Switch context7 from manual MCP config to official plugin
|
|
- [x] Backup `~/.claude.json` and `~/.claude/settings.json` (suffix `.bak-20260428-114532`)
|
|
- [x] User installed `context7@claude-plugins-official`
|
|
- [x] Located installed plugin: `~/.claude/plugins/cache/claude-plugins-official/context7/unknown/`
|
|
- [x] Injected `--api-key` flag into the plugin's `.mcp.json` (key sourced from `settings.json`, not echoed in chat)
|
|
- [x] Smoke-tested `mcp__context7__resolve-library-id` (returned 5 Nuxt entries — works in current session via legacy HTTP config; plugin takes over after Claude Code restart)
|
|
- [x] Removed three manual context7 entries (settings.json + 2 in `.claude.json`); JSON validity confirmed
|
|
- [x] Documented setup + plugin-update gotcha in `.wiki/concepts/context7-setup.md`
|
|
- [x] Wiki index + log + summary updated
|
|
|
|
### Migrate this repo's `.wiki/` to canonical Karpathy layout
|
|
- [x] `git mv` `.wiki/source/*.md` → `.wiki/concepts/` (rename detection preserves history)
|
|
- [x] Add `type: concept` frontmatter to each migrated page
|
|
- [x] Create `.wiki/CLAUDE.md` (schema, with Karpathy gist URL pinned at top)
|
|
- [x] Create `.wiki/index.md` (replaces `SUMMARY.md`)
|
|
- [x] Create `.wiki/log.md` with backfilled entries for prior decisions
|
|
- [x] Create `.wiki/overview.md` (project intro page)
|
|
- [x] Create `.wiki/raw/README.md` (replaces `.gitkeep` placeholder)
|
|
- [x] Empty `.gitkeep` in `.wiki/entities/`, `packages/`, `sources/`
|
|
- [x] Delete `.wiki/SUMMARY.md`, `.wiki/source/`, `.wiki/raw/.gitkeep`
|
|
|
|
### project-bootstrap: align wiki init with Karpathy canon
|
|
- [x] Read Karpathy gist + `wiki-maintainer` SKILL.md — gap confirmed
|
|
- [x] Rewrite Step 3: create `index.md`, `log.md`, `overview.md`, `.wiki/CLAUDE.md` schema, `raw/README.md`, empty `entities/ concepts/ packages/ sources/` with `.gitkeep`
|
|
- [x] Drop the bogus `SUMMARY.md` + `WORKFLOW.md` + `source/` from the template
|
|
- [x] Pin Karpathy gist URL inside the schema file
|
|
- [x] Rebuild + reinstall `project-bootstrap.skill`
|
|
- [x] Document the realignment in `.wiki/source/wiki-realignment.md`
|
|
|
|
### project-bootstrap: include `active-platform` trigger in CLAUDE.md template
|
|
- [x] Add `we're on Windows` line to `assets/CLAUDE.md.template`
|
|
- [x] Update embedded preview in `SKILL.md` Step 5 (with note about Linux/macOS substitution)
|
|
- [x] Backfill the line in this repo's own `CLAUDE.md`
|
|
- [x] Rebuild + reinstall `project-bootstrap.skill`
|
|
|
|
### active-platform skill
|
|
- [x] Draft `skills/active-platform/SKILL.md` (RU+EN triggers, default=Windows/PowerShell, palette=Win/Linux/mac)
|
|
- [x] Fixed `build.sh` PS arg-passing bug (single-quotes were leaking into `-Names` value)
|
|
- [x] Build `dist/active-platform.skill` and install into `~/.claude/skills/`
|
|
- [x] Document decision in `.wiki/source/active-platform-decision.md`
|
|
- [x] Update `.wiki/SUMMARY.md`
|
|
|
|
### bootstrap-skills-migration
|
|
- [x] Bootstrap repo (git, .wiki, .tasks, CLAUDE.md)
|
|
- [x] Brainstorm and document repo layout (`.wiki/source/repo-layout.md`)
|
|
- [x] Copy all 12 personal skills from `~/.claude/skills/` to `skills/`
|
|
- [x] Write `scripts/build.sh`, `scripts/build.ps1`, `scripts/install.sh`
|
|
- [x] Document ZIP/PowerShell gotcha (`.wiki/source/build-notes.md`)
|
|
- [x] Build initial `dist/*.skill` archives (forward-slash entry paths verified)
|
|
- [x] Update root README with usage
|
|
- [x] Smoke-test `install.sh` to a temp dir
|
|
- [x] Remove legacy `project-bootstrap.skill` from repo root (replaced by `dist/`)
|
|
|
|
## Backlog
|
|
|
|
- Resolve `compress` vs `caveman-compress` duplication (look at both, decide if one should go).
|
|
- Consider a PowerShell-native `install.ps1` (current `install.sh` already works in git-bash, so low priority).
|
|
- Revisit grouping/manifest if skill count grows past ~30.
|
|
- Decide whether to write a smoke-test that round-trips `skills/<name>/` → `dist/<name>.skill` → unpack → diff (would catch archive-shape regressions).
|
|
- Tune `active-platform` triggers based on real-world usage; add WSL handling if it comes up.
|
|
- Consider running formal `skill-creator` eval loop on `active-platform` once we have ~5 real interactions to learn from.
|
|
- **Migrate this repo's `.wiki/` to the canonical Karpathy layout** (it was bootstrapped with the old buggy template). Directory rename + file moves; needs a conscious commit, not a silent piggyback.
|