Repository navigation
v6.3.1
Release 6.3.1 — 2026-11-05
Summary
ycc 6.3.1 fixes duplicate ycc skills, agents, commands and MCP servers in opencode. install and sync --target opencode now add the @yandy-r/ycc-opencode npm plugin to opencode.json instead of copying the bundle into ~/.config/opencode, and retire the old copies that ycc can prove it wrote.
Added
install --target opencodewrites onepluginsentry.--mode local(default) points it at this checkout'spackages/opencode/ycc-opencode;--mode repopins@yandy-r/ycc-opencode@<version>from npm.--package @yandy-r/ycc-opencodedoes the same.
Changed
@yandy-r/ycc-opencodeis now the primary opencode package (no longer experimental or opt-in). Settings, rules (AGENTS.md) and the opt-in plugin catalog stay on the installer.- The generated
.opencode-plugin/opencode.jsonno longer lists the./ycc-sensitive-guardplugin or anmcpblock; the package ships both. - Release notes no longer mark the npm package "not yet published".
Removed
- opencode file copies (skills, agents, commands, shared helpers, the guard directory) and the opencode MCP merge.
--mcps,--agents,--commands,list-mcps,--skills-homeand its duplicate-skills prompt.--skillsand--with-depsnow apply to the agents target only.
Fixed
da77850 fix(opencode)!: install the @yandy-r/ycc-opencode npm plugin instead of copying the bundle (YAN-1973) (#536)
- A ycc-written, bare or
@latest@yandy-r/ycc-opencodeentry is replaced in place, keeping itsoptions. A pinned version you set yourself, or another checkout's directory, is kept unless you pass--force. - The legacy cleanup runs only after the package is confirmed loadable:
package.jsonin local mode, the npm release in repo mode, and opencode 2.0.30 or later whenopencodeis on PATH. It removes only byte-identical copies, ownedmcp.serversentries and the owned guard item. Edited and foreign entries are kept, and a symlinkedopencode.jsonis refused.
Packages
| Package | Runtime | Status | Mechanism | Listed | Version or target | Notes |
|---|---|---|---|---|---|---|
| @yandy-r/ycc-opencode | opencode | included | npm | no | 6.3.1 | Primary opencode route since YAN-1973: install.sh --target opencode (base step, or --package @yandy-r/ycc-opencode) writes the plugins entry (local mode: a file:// directory entry for this checkout; repo mode: the published lockstep version) and retires the old file copy. The V2 setup hook registers components and delivers instructions through the context hook; the @yandy-r npm scope is owned. |
| ycc | claude | included | native | yes | 6.3.1 | Shipping entry; stays visible in every catalog throughout the v6 flip. status-bar@ycc-mods is versioned independently and stays outside this manifest. |
| ycc | codex | included | native | yes | 6.3.1 | Listed in the ycc Codex catalog (.agents/plugins/marketplace.json) with a local source at ./.codex-plugin/ycc; installs together with ycc-mcp. Replaces the legacy local-ycc-plugins catalog. |
| ycc | cursor | included | native | yes | 6.3.1 | Ships through the GitHub marketplace; no cursor.com submission before post-6.0. |
| ycc | omp | included | native | yes | 6.3.1 | Generated OMP package under packages/omp/ycc (omp >=18.12.2) with .omp-plugin and .claude-plugin manifests and package.json, rewritten ${CLAUDE_PLUGIN_ROOT}, /ycc: and _shared references, agents translated to @ROLE models, and one commands/.md entrypoint per public skill (/ycc:). Listed in the root .omp-plugin/marketplace.json (YAN-1180). install.sh --target omp exports it to a local marketplace (--mode local) or registers the repository catalog (--mode repo) and installs it through omp plugin (user or project scope). |
| ycc | pi | deferred | native | no | target v6.3.0 | Deferred: generated Pi package under packages/pi/ycc (pi >=1.2.0, recommended 1.5.0) with skills, _shared, ycc: command and subagent extensions, and agent data; rewrites ${CLAUDE_PLUGIN_ROOT}, /ycc: and $ARGUMENTS, which Pi leaves literal. Pi has no catalog: install.sh --target pi will run pi install . No generator or installer ships yet. |
| ycc-agents | claude | deferred | native | no | target v7.0.0 | Deferred to v7.0.0 as a breaking change with qualified ycc-agents: references; the v6 namespace spike rejects a shared manifest name. Hidden prep: claude_agents_split.py builds and validates the split on demand (claude-native check); test-claude-agents-split.sh is the opt-in live dispatch proof. |
| ycc-all | claude | included | native | yes | 6.3.1 | Meta plugin that installs ycc, ycc-mcp, and ycc-hooks through Claude plugin dependencies. |
| ycc-all | omp | excluded | native | no | target v6.1.0 | Excluded: the OMP marketplace does not read plugin dependencies, so ycc-all (on Claude the union of ycc, ycc-mcp, and ycc-hooks) is omitted from the OMP catalog; install ycc and ycc-mcp separately; herdr reporting comes from herdr integration install omp. |
| ycc-all | pi | excluded | native | no | target v6.3.0 | Excluded: Pi packages cannot depend on Pi packages, so ycc-all (on Claude the union of ycc, ycc-mcp, and ycc-hooks) has no Pi package; install ycc and ycc-mcp separately; ycc-hooks is excluded on Pi and herdr reporting comes from herdr integration install pi. |
| ycc-hooks | claude | included | native | yes | 6.3.1 | Native plugin hooks/hooks.json needs Claude Code 2.1.300 or later. install.sh installs it (project scope by default, user scope with --global); once ycc-hooks@ycc is explicitly enabled in ~/.claude/settings.json, the automatic legacy cleanup prunes the installer-owned settings hooks an older installer wrote. |
| ycc-hooks | codex | excluded | native | no | target v6.0.0 | Excluded: NO-GO until verified under YAN-1149 (YAN-1149 gate). Hooks stay out of the Codex bundle. |
| ycc-hooks | cursor | included | native | yes | 6.3.1 | sessionStart only; WorktreeCreate is not implemented for Cursor. |
| ycc-hooks | omp | excluded | native | no | target v6.1.0 | Excluded: herdr ships its own OMP integration (herdr integration install omp), which reports the session and agent state; a ycc reporter is ignored by herdr (non-herdr source) or corrupts herdr's ordering (herdr:omp). WorktreeCreate has no OMP event. ycc ships no OMP hooks (YAN-1174); its only OMP extension is the agent scope guard inside the ycc package (YAN-1250). |
| ycc-hooks | pi | excluded | native | no | target v6.3.0 | Excluded: Pi never runs shell hooks or hooks.json, and WorktreeCreate has no Pi event. herdr reporting is herdr's own integration (herdr integration install pi), and ycc ships no Pi hook extension (ADR 0003). |
| ycc-mcp | claude | included | native | yes | 6.3.1 | Native MCP-only plugin. |
| ycc-mcp | codex | included | native | yes | 6.3.1 | Native MCP-only plugin; carries the MCP servers the Codex ycc plugin used to ship. Listed together with ycc. |
| ycc-mcp | cursor | included | native | yes | 6.3.1 | Native MCP-only plugin. |
| ycc-mcp | omp | included | native | yes | 6.3.1 | Generated OMP package under packages/omp/ycc-mcp (omp >=18.12.2) with .omp-plugin and .claude-plugin manifests, package.json, and a root .mcp.json byte-identical to mcp-configs/mcp.json (secret-literal audited; ${VAR} env placeholders stay unexpanded until omp starts a server). Servers load as ycc-mcp:. Listed in the root .omp-plugin/marketplace.json (YAN-1180). install.sh --target omp installs it next to ycc through omp plugin (user or project scope); a running session picks it up after /reload-plugins or a restart. |
| ycc-mcp | pi | deferred | native | no | target v6.3.0 | Deferred: extension package (pi >=1.2.0) whose registrar calls pi.registerMcpServer for the shipped server set read as package data, because Pi never reads mcp.json from a package; a same-name user mcp.json entry wins, tools become mcp____, and SSE servers are rejected. An opt-in install.sh --mcp merge into /mcp.json is the fallback for pi mcp shell commands. |
| ycc-rules | cursor | included | native | yes | 6.3.1 | Cursor-only rules package. No Claude ycc-rules: Claude rules stay on install.sh (see installer-fallback claude). |
| ycc-rules | omp | included | native | yes | 6.3.1 | Generated package under packages/omp/ycc-rules (omp >=18.12.2): 31 flat rules named ycc--, paths→globs, description kept, alwaysApply only when true. Language rules are rulebook entries read via rule://; 5 description-less ycc--trigger TTSR rules (glob-gated edit/write, interruptMode never) attach them once per session and once per subagent that edits a matching file. Listed in the root .omp-plugin/marketplace.json (YAN-1180). |
| ycc-rules | pi | deferred | native | no | target v6.3.0 | Deferred: extension package (pi >=1.2.0) carrying the rule files and a path-rule injector that attaches a family's rules after a matching read, edit, or write. Always rules use the installer-fallback AGENTS.md link. |
File-copy packages (the installer fallback) have no native manifest and are not versioned here.
Validation
./scripts/sync.sh— OK./scripts/validate.sh— OKpython3 -m json.tool .claude-plugin/marketplace.json— OKpython3 -m json.tool ycc/.claude-plugin/plugin.json— OK
Upgrade Notes
Breaking for scripts that pass removed flags. Run ycc install --target opencode (or sync --target opencode --intent base) once. It replaces your plugins entry and removes the old copies under ~/.config/opencode that ycc can prove it wrote, then restart opencode.
- Drop
--mcps,--agents,--commands,--skills-homeandlist-mcpsfrom scripts.--skillsand--with-depsstill work for--target agents. - To keep a specific pinned
@yandy-r/ycc-opencode@<version>entry, leave it; the installer reports and keeps it. Pass--forceto replace it. - Use
--mode repofor the published npm package, or the default local mode to load this checkout.
Commit Log
da77850 fix(opencode)!: install the @yandy-r/ycc-opencode npm plugin instead of copying the bundle (YAN-1973) (#536)
Previous release: v6.3.0