Skip to content

docs(readme): add Claude Code plugin marketplace install as recommended path#33

Merged
naimkatiman merged 2 commits intomainfrom
feat/readme-plugin-install-path
Apr 27, 2026
Merged

docs(readme): add Claude Code plugin marketplace install as recommended path#33
naimkatiman merged 2 commits intomainfrom
feat/readme-plugin-install-path

Conversation

@naimkatiman
Copy link
Copy Markdown
Owner

Summary

  • Adds an "Option A — Claude Code plugin (recommended, 2 commands)" section to README.md install instructions, ahead of the existing npm CLI installer (now "Option B").
  • Documents the /plugin marketplace add naimkatiman/continuous-improvement + /plugin install continuous-improvement@continuous-improvement flow.
  • Mentions the marketplace update command and the 8 PM plugins.

Test plan

  • README.md renders cleanly on GitHub
  • Both install paths still verify with /discipline (per the updated wording)
  • No unrelated changes — single-file diff on README.md

Closes the silent "## Other skills" gap from the tier-rendering generator
(commit 56c3ed4). The bundled README groups skills by tier; an untagged
skill would slide into a catch-all "Other skills" bucket without anyone
noticing in code review. This lint fails the build when any source skill
(SKILL.md or skills/<name>.md) is missing or has an unrecognized `tier:`
value.

The lint caught a real problem on first run: the root SKILL.md was the
only source that hadn't been tagged in commit 56c3ed4. Added `tier: core`
to fix it.

Files:
- src/bin/check-skill-tiers.mts (new) — pattern-matches src/bin/
  check-skill-mirror.mts: pure `checkSkillTiers(repoRoot)` helper for
  unit tests, plus a CLI `main()` that exits 0/1 with a clear message.
- src/test/check-skill-tiers.test.mts (new) — 10 tests covering missing
  tier, unrecognized tier, ignored README.md, missing skills/ dir,
  variant-spelling acceptance (FEATURED, tier1, tier-2), and CLI
  exit-code behavior on synthetic fixtures plus the live-repo no-drift
  assertion.
- package.json — adds `verify:skill-tiers` npm script alongside the
  existing `verify:skill-mirror` and `verify:docs-substrings` lints.
- SKILL.md — adds `tier: core` to the core 7 Laws skill (caught by the
  lint).
- Generated: bundled mirror SKILL.md updates to match (byte-identity
  required by check-skill-mirror), plus the .mjs siblings.

Verification:
- npm test: 238/238 green (was 228; +10 tier-lint tests).
- npm run verify:skill-tiers: exit 0 against the live repo.
- npm run verify:skill-mirror: still clean (mirror copy updated).
…nded path

Adds "Option A — Claude Code plugin (recommended, 2 commands)" section above the existing npm CLI installer (now "Option B"). The plugin marketplace install is two slash commands (`/plugin marketplace add` + `/plugin install`) vs. the npm path's four shell steps (npx install + mode flag + optional pack flag + verify). Both paths end at the same verification step (`/discipline` or `/dashboard`).

Updates the shared
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a skill tier verification system, including a new linting script check-skill-tiers, corresponding tests, and updates to skill metadata. It also adds plugin installation instructions to the README.md. Feedback highlights the inclusion of a temporary test artifact that should be removed, suggests avoiding hardcoded values in documentation to prevent drift, and recommends refactoring the new script to eliminate redundant filesystem traversals and hardcoded error messages.

Comment on lines +1 to +2
{"type":"user","message":{"content":[{"type":"text","text":"please update the auth module"}]}}
{"type":"assistant","message":{"content":[{"type":"text","text":"I have updated the auth module. The change touched five files in src/auth/, added a refresh-token rotation, wired it into the middleware, and exposed it through the existing /auth/refresh endpoint. I removed three dead exports along the way and tightened the type on the JWT payload. Tests pass — I added two new ones for the rotation path and one regression test for the dead-import case. Build is green. The diff is mostly mechanical except for the rotation logic which deliberately re-uses the existing token-store interface rather than a new one. There is no migration needed because the new fields are append-only. The code is also cleaner than before — refactored a chained-promise pyramid into a flat async function."}]}}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This file appears to be a temporary artifact from an E2E test run and should likely not be committed to the repository. If it is intended to be a permanent test fixture, it should be moved to a standard location like test/fixtures/ and the .tmp-stop-e2e/ directory should be added to .gitignore.

Comment thread README.md
/plugin install continuous-improvement@continuous-improvement
```

Update later with `/plugin marketplace update continuous-improvement`. Browse the other 8 PM plugins with `/plugin` (interactive picker) or see the [full list below](#plugin-marketplace-plugins).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The count "8 PM plugins" is hardcoded, which can lead to documentation drift as new plugins are added to the repository. Consider using a more generic description to ensure the documentation remains accurate without manual updates.

Suggested change
Update later with `/plugin marketplace update continuous-improvement`. Browse the other 8 PM plugins with `/plugin` (interactive picker) or see the [full list below](#plugin-marketplace-plugins).
Update later with /plugin marketplace update continuous-improvement. Browse the other PM plugins with /plugin (interactive picker) or see the full list below (#plugin-marketplace-plugins).

Comment on lines +115 to +116
const sources = discoverSkillSources(repoRoot);
const problems = checkSkillTiers(repoRoot);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The discoverSkillSources function is called twice: once here in main and once inside checkSkillTiers. This results in redundant filesystem traversals. Consider refactoring checkSkillTiers to accept the already discovered sources as an argument to improve efficiency.

console.error(` file: ${p.path}`);
}
console.error(
"\nFix: add a `tier:` field to the source skill's YAML frontmatter. Recognized values: core, featured, \"1\", \"2\", companion. The generator uses this to group skills into the bundled README by tier; an untagged skill slides into the catch-all 'Other skills' bucket and is easy to miss in review.",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The list of recognized tier values is hardcoded in this error message. To prevent this from becoming outdated when new tiers are added, consider deriving this list from the TIER_ORDER constant or the SkillTier type defined in src/lib/skill-tiers.mts.

@naimkatiman naimkatiman merged commit 8064ac7 into main Apr 27, 2026
4 checks passed
@naimkatiman naimkatiman deleted the feat/readme-plugin-install-path branch April 27, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant