Commit Graph

460 Commits

Author SHA1 Message Date
f0b1db6456 docs(wiki): skill-vs-plugin concept page; flag task-tracking bootstrap gap
- .wiki/concepts/skill-vs-plugin.md: when a bare SKILL.md suffices vs when
  a plugin is required (slash commands, hooks, sub-agents, MCP via
  marketplace). Concrete breakdown of `superpowers` showing why each of
  its non-skill artifacts needs the plugin format.
- .wiki/index.md, log.md: linked / logged.

Backlog: project-bootstrap Step 4 has the same defect as the wiki step
(now fixed in 1cae0a2) — it creates a single flat STATUS.md and never
mentions the per-task files that task-status-wiki actually expects. Added
to .tasks/STATUS.md backlog for a conscious follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 12:48:15 +03:00
7ae5fa0ebc docs(wiki): log end-to-end validation of policy/setup skill split
User confirmed: invoking using-context7 in a session that needed setup
correctly delegated to setup-context7 via the Prerequisites pointer, and
the setup flow ran end-to-end. Pattern validated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 12:07:52 +03:00
9d7d25223c feat: setup-context7 skill + using-context7 prerequisites pointer
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>
2026-04-28 11:56:22 +03:00
3b02a486b0 docs: switch context7 to official plugin; remove three manual MCP entries
Context: user previously had context7 MCP server registered manually in
three places (~/.claude/settings.json + two in ~/.claude.json), with the
CONTEXT7_API_KEY in HTTP-header form. Replaced with the official
context7@claude-plugins-official plugin.

What changed (outside the repo):
- ~/.claude/plugins/cache/.../context7/unknown/.mcp.json — added
  "--api-key" CLI flag to args (Upstash docs recommend this for stdio).
- ~/.claude/settings.json — removed top-level mcpServers.context7.
- ~/.claude.json — removed top-level mcpServers.context7 and a legacy
  project-scoped entry under projects[snolla-admin-ui].

Backups saved with suffix .bak-20260428-114532.

What changed in the repo (this commit):
- .wiki/concepts/context7-setup.md — new page documenting where the key
  lives, the /plugin update gotcha, and the rollback path.
- .wiki/index.md, log.md — linked / logged.
- .tasks/STATUS.md — task moved to Done.

Plugin takes effect after Claude Code restart; current session still uses
the legacy HTTP transport (verified via smoke test on resolve-library-id).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 11:49:31 +03:00
4382fd36b9 refactor(wiki): migrate this repo's .wiki/ to canonical Karpathy layout
Stop being inconsistent with our own fixed project-bootstrap template.

- SUMMARY.md → index.md (catalog by type, with one-line hooks)
- source/*.md → concepts/*.md (with `git mv` so history is preserved)
- WORKFLOW.md removed (workflow lives in wiki-maintainer, not duplicated here)
- New: .wiki/CLAUDE.md (project schema, Karpathy gist URL pinned at top)
- New: log.md (append-only op log; backfilled with prior decisions)
- New: overview.md (single project intro page)
- New: raw/README.md (immutability note; replaces .gitkeep placeholder)
- Empty .gitkeep added to entities/, packages/, sources/
- Migrated pages got `type: concept` frontmatter

After this, wiki-maintainer reads .wiki/CLAUDE.md → index.md as it expects,
and the layout matches what newly-bootstrapped projects will look like.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 11:22:43 +03:00
1cae0a2cf3 fix(project-bootstrap): align wiki init with Karpathy canon
Bootstrap was creating .wiki/SUMMARY.md + WORKFLOW.md + source/ — none of
which match Karpathy's LLM Wiki pattern or what wiki-maintainer reads first.
The skill had to bend around an invented layout (no schema file, wrong
catalog name, missing log/overview/entities/concepts/packages).

Rewrote Step 3 to create the canonical layout verbatim:
  .wiki/CLAUDE.md          schema (project-specific conventions)
  .wiki/index.md           catalog
  .wiki/log.md             append-only op log
  .wiki/overview.md        project overview
  .wiki/raw/README.md      immutability note
  .wiki/{entities,concepts,packages,sources}/.gitkeep

Pinned the gist URL inside the schema:
  https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f

Bumped dist/project-bootstrap.skill, recorded the why in
.wiki/source/wiki-realignment.md, and queued migration of *this* repo's own
.wiki/ (still on the old layout) as a backlog task — to be done deliberately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 11:17:36 +03:00
af94830fd5 feat(project-bootstrap): add we're on Windows to default CLAUDE.md template
Pin every newly-bootstrapped project to Windows / PowerShell out of the box
by adding a fifth trigger line to the CLAUDE.md template. The line activates
the active-platform skill, which then governs all command/example output.

- skills/project-bootstrap/assets/CLAUDE.md.template: append `we're on Windows`
- skills/project-bootstrap/SKILL.md: sync the embedded preview in Step 5 and
  document the Linux/macOS substitution
- CLAUDE.md (this repo): backfill the line — was created from old template
- dist/project-bootstrap.skill: rebuilt
- .wiki/source/active-platform-decision.md: append "Wired into project-bootstrap"

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 11:05:57 +03:00
125007a35e feat: add active-platform skill (Win/Linux/macOS switcher)
- skills/active-platform/SKILL.md: default = Windows/PowerShell; trigger
  phrases in RU+EN switch the active platform for the session; per-platform
  conventions (chaining, paths, env vars, install scripts) documented
- dist/active-platform.skill: built archive
- .wiki/source/active-platform-decision.md: rationale (skill chosen over
  global CLAUDE.md / project memory; user wanted a discoverable, iterable
  artifact)
- scripts/build.sh: fix PS arg-passing — single-quotes were leaking into
  -Names value, so multi-arg builds on Windows were rejected with
  "not found in skills/"

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 11:00:23 +03:00
9f54068de0 feat: migrate 12 personal skills + add build/install scripts
- skills/: editable sources for all 12 personal skills (caveman family,
  find-skills, project-bootstrap, task-status-wiki, using-context7,
  using-markitdown, wiki-maintainer, compress)
- dist/: built .skill archives, committed (cross-machine deploy without
  needing zip on the target)
- scripts/build.sh + build.ps1: zip skills/<name>/ into dist/<name>.skill;
  Windows fallback uses .NET ZipArchive (PS 5.1 Compress-Archive writes
  backslashes that break extraction on *nix)
- scripts/install.sh: copy skills/<name>/ into ~/.claude/skills/<name>/
  ($CLAUDE_SKILLS_DIR overrides target)
- .wiki/source/repo-layout.md, build-notes.md: design + gotchas
- .gitignore: keep dist/ tracked

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 10:42:33 +03:00
782a00d6b8 chore: bootstrap project structure 2026-04-28 10:16:34 +03:00