Skip to content

@genclass/mcp 0.2.1: the instructions carry the when, the skill the how; init installs the skill - #122

Merged
Karanvir1729 merged 2 commits into
mainfrom
mcp/skill-split
Oct 28, 2026
Merged

Karanvir1729 merged 2 commits into
mainfrom
mcp/skill-split

Conversation

@Karanvir1729

Copy link
Copy Markdown
Collaborator

What

The split recommended in the skill hand-off, plus the release prep for 0.2.1.

  • Instructions carry the triggers. INSTRUCTIONS in src/tools.ts opens with the symptom words (sometimes, randomly, only in production, on slow connections, flips back, stale or old results, lost edits, double submits, scrolls sideways) within the first 300 characters, gives one line of "what to do first" per trigger, and names the genclass skill for the full procedure. 2,712 characters, under the 4,096 limit.
  • The skill carries the procedure. plugin/skills/genclass/SKILL.md drops the repeated trigger prose and keeps the exact explore arguments, the Playwright pairing, how to read "Compared: 6 of 6" against "No verdict" and "0 compared", what is not a race, the reporting rule, and a new fallback section for when the genclass_* tools are missing. Its description (509 characters) is the trigger.
  • genclass-mcp init writes the skill to .claude/skills/genclass/SKILL.md with a genclass:init marker, so projects that use claude mcp add instead of the plugin still get it; a rerun replaces a marked file and leaves an edited one; --no-skill skips it.
  • A root skills/genclass/SKILL.md copy, byte-identical and kept so by the manifests test and npm run sync, so npx skills add genclass-dev/GenClass-lib finds it.
  • Tests: the skill's frontmatter parses, every genclass_* it names is a registered tool, lengths stay within limits, the root copy matches, INSTRUCTIONS names the skill; init writes, replaces and leaves the skill as specified. 142 tests, 12 files.
  • Release prep: version 0.2.1, every manifest pinned by npm run sync, the plugin icon (plugin/.claude-plugin/icon.png, 512 by 512) for the Anthropic directory, CHANGELOG 0.2.1.
  • Docs: packages/mcp/README.md, plugin/README.md, docs/runtime/AGENT.md sections 1, 4.2 and 4.4, llms-install.md.

Not done

The hand-off's optional measurement (how often the skill loads on intermittent-bug prompts) was not run. The e2e loop and the other packages' workflows were not run locally; this PR's CI runs them.

After merging

Tag mcp-v0.2.1 on the merge commit; release-mcp.yml publishes to npm with provenance and republishes server.json to the official MCP Registry after the npm-publish approval.

🤖 Generated with Claude Code

Karanvir1729 and others added 2 commits October 27, 2026 23:35
…; init writes the skill; a root copy for skill directories

- src/tools.ts INSTRUCTIONS (2,712 characters, under 4,096): opens with the symptom words ("sometimes", "randomly",
  "only in production", "on slow connections", "flips back", stale or old results, lost edits, double submits, a
  page that scrolls sideways), all within the first 500 characters; one line per trigger with the first call; names
  the genclass skill so a client that has it loads it.
- plugin/skills/genclass/SKILL.md: the frontmatter description is the trigger (509 characters, the same words
  early); the body drops the repeated trigger prose and keeps the procedure (explore arguments, the Playwright
  --repeat-each 8 --workers 1 pairing, how to read "Compared: 6 of 6" against "No verdict" and "0 compared", that
  "Internal state only" and "Along the way only" are not races, witness against explore race against model
  detection, the reporting rule) and a new section for when the genclass_* tools are missing (the pinned one-line
  install, or npx @genclass/runtime@beta scan <url> --json; GenClass needs Claude Code on the developer's machine).
- src/cli.ts: init also writes .claude/skills/genclass/SKILL.md (the package's copy, resolved next to the built
  command, with a genclass:init marker line after the frontmatter); a rerun replaces a marked file and leaves an
  unmarked one, saying which; --no-skill leaves it out; help and header updated.
- skills/genclass/SKILL.md at the repository root: a byte-identical copy for skill directories
  (npx skills add genclass-dev/GenClass-lib); npm run sync -w @genclass/mcp refreshes it.
- src/clients.ts and the README's install section: init writes the skill; "or just the skill" line.
- Tests: manifests.test.ts checks the skill's frontmatter (name, one-line description of at most 1,024 characters),
  that every genclass_* name in the body is a registered tool, the procedure and fallback text, no em-dash, that the
  root copy is identical, and that INSTRUCTIONS stays under 4,096 characters, puts the symptom words first and names
  the skill; SKILL.md joins the pinned files. cli.test.ts covers the skill written by init, the rerun on a marked
  and an unmarked file, and --no-skill. 12 files, 142 tests pass (10 new); typecheck and build clean.
- Docs: packages/mcp/README.md (install section, "The genclass skill": installed by the plugin, by init and by
  skill directories; how to remove it), plugin/README.md, docs/runtime/AGENT.md sections 1, 4.2 and 4.4,
  llms-install.md, CHANGELOG.md under Unreleased (no version bump).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…in icon; every manifest pinned to 0.2.1

Version bump for the skill changes in 06d81ed, with `npm run sync -w @genclass/mcp` refreshing every pin
(plugin .mcp.json and hook, server.json, the marketplaces, gemini-extension.json, llms-install.md, the READMEs)
and the root skills/genclass/SKILL.md copy. Adds plugin/.claude-plugin/icon.png (the genclass.dev mark,
512 by 512), which the Anthropic directory reads on the plugin's first save.

Checked: typecheck, build, vitest 142 passed (12 files).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Karanvir1729
Karanvir1729 merged commit ce7ea1d into main Oct 28, 2026
5 checks passed
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