Skip to content

v5.3.0

Choose a tag to compare

@yandy-r yandy-r released this 15 Oct 01:00
· 146 commits to main since this release

Release 5.3.0 — 2026-10-15

Summary

ycc moves skill-managed worktrees to per-runtime, repo-local roots (.claude/, .codex/, .cursor/, .opencode/worktrees/), makes AGENTS.md the canonical rules file emitted by ycc:init, and retires the ycc/commands/ wrapper layer in favor of native skill invocations. Validators gain a practices ratchet plus .claude/rules frontmatter and root-import budget checks, maintainer and destructive workflows are marked user-invocation-only, and a large maintenance pass splits oversized skills into lazy references.

Added

9ee26bb feat(worktrees): use per-runtime repo-local worktree roots (#277)
8774734 feat(validate): check .claude/rules frontmatter and root import budget (#276)
f7141ee feat(init): emit canonical AGENTS.md rules files (#269)
0de4ed8 feat(skills): control manual workflow invocation (#234)
c5aa4fd feat(validate): add practices ratchet (#228)

Changed

8917dd3 refactor(rules): slim shipped user-global rules (#266)
e378936 refactor(rules): make AGENTS.md canonical and preserve release-model integration (#263)
cc197a6 chore: remove github mcp
9c532af refactor(rules): prune and scope Cursor rules (#262)
cd4c57c refactor(skills): index long references, flatten nested links and route support files (#246)
400f9e4 refactor(skills): split git-workflow, releaser and pr-autofix under 500 lines (#241)
028936e refactor(skills): split planning skills into references and shared dispatch (#244)
09c49f8 perf(install): let install tests skip the bundle build
33a712f perf(validate): run targets in parallel and scope pre-push to changed paths
0ad630d perf(validate): speed up codex skill lint and install tests
c37084d refactor(skills): split deep-research and frontend-patterns into references (#243)
fcda35c refactor(skills): split review workflows behind lazy references (#242)
73c1b53 chore: ignore more temp folders
f3c670a refactor(skills): shorten trigger descriptions (#233)
7410693 refactor(commands): retire wrapper commands (#232)

Removed

cc197a6 chore: remove github mcp
0a3ee9b fix(skills): modernize tool names and remove dated content (#264)

Fixed

35fbf57 fix(skills): harden init headless probing and shared rules pointer (#278)
7eed432 fix(skills): sharpen three skill trigger descriptions (#275)
666ec38 fix(lint): fix markdownlint failures, refresh lockfile and run lint in CI (#267)
0a3ee9b fix(skills): modernize tool names and remove dated content (#264)
7185db8 fix(agents): make git-cleanup agent read-only to match skill wording (#260)
759dab6 fix(releaser): guard required variables in recut transaction block (#259)
b98d5ab fix(generators): cap opencode command descriptions to the listing budget (#258)
815f91f fix(agents): clean agent frontmatter, tool scopes and Codex sandbox (#245)
2b77dec fix(install): keep user agents when codex base installs custom agents
5a59ede fix(install): mirror codex custom agents on a local base install again
1e52cf6 fix(mcp): migrate github to native oauth server

Validation

  • ./scripts/sync.sh — OK
  • ./scripts/validate.sh — OK
  • python3 -m json.tool .claude-plugin/marketplace.json — OK
  • python3 -m json.tool ycc/.claude-plugin/plugin.json — OK

Upgrade Notes

No breaking changes to skill or agent names. Plugin-based installs need no action; standalone and repo-local installs have the follow-ups below.

  • Wrapper commands retired (#232). ycc/commands/ no longer exists; public skills are the native slash invocations (/ycc:<skill> on Claude). Invocation is unchanged for plugin installs. Standalone Claude installs that previously wrote wrappers to ~/.claude/commands are cleaned up on the next skills install: re-run ./install.sh sync --target claude --intent skills (alias: --intent commands). Only wrappers recorded in ~/.config/ycc/installed-units.json are removed; your own files in ~/.claude/commands are never touched. opencode keeps one generated command per public skill (~/.config/opencode/commands/); re-sync to refresh it: ./install.sh sync --target opencode --intent skills,commands. Update any scripts or docs that reference ycc/commands/*.md paths.
  • Worktree roots moved (#277). Skill-managed worktrees are now created inside the repository under a per-runtime root: .claude/worktrees/ (Claude), .opencode/worktrees/ (opencode), .codex/worktrees/ (Codex), .cursor/worktrees/ (Cursor); the cross-tool agents bundle auto-detects its runtime and falls back to .agents/worktrees/. The former roots (~/.claude-worktrees/, <repo>/.config/opencode/worktrees/) are retired: existing worktrees there are not migrated or removed and keep working, but new runs use the new roots. Add the root for each runtime you use to .gitignore (e.g. .claude/worktrees/, .opencode/worktrees/) before committing, and clean up old worktrees with git worktree list / git worktree remove <path>. Set YCC_WORKTREE_ROOT to override the root explicitly. The Claude worktree-create hook now defaults to <repo-root>/.claude/worktrees; native harness worktrees (opencode tools, Codex, Cursor) keep their own placement.
  • AGENTS.md is the canonical rules file (#263, #266, #269). ycc:init and ycc:release-model now emit and target AGENTS.md, with CLAUDE.md as a thin importer (@AGENTS.md). Repos with legacy layouts keep working; run /ycc:init --migrate-rules --dry-run (then /ycc:init --migrate-rules) to move an existing long CLAUDE.md into AGENTS.md. Shipped user-global rules were slimmed to a tool-neutral ruleset and Cursor rules were pruned and scoped, so re-sync rules after upgrading: ./install.sh sync --target <claude|cursor|codex|opencode> --intent rules. Repositories that adopt the new validators need paths: frontmatter on every .claude/rules/*.md file and a single standalone @AGENTS.md import in CLAUDE.md (#276).
  • Maintainer/destructive skills are manual-only (#234). backport, blueprint, bundle-author, bundle-release, clean, compatibility-audit, git-cleanup, hooks-workflow and releaser now carry disable-model-invocation: true (Codex: allow_implicit_invocation: false; opencode: autoinvoke: 'false'). They remain user-invocable but models will no longer select them automatically. Re-sync skills to pick this up.
  • GitHub MCP default changed (1e52cf6, cc197a6). The default GitHub MCP entry moves from the deprecated npm package / PAT remote to the native github-mcp-server stdio binary (browser OAuth). ycc sync --intent mcp migrates recognized legacy entries; custom GitHub setups are preserved unless --force. Install the github-mcp-server binary and complete the OAuth prompt on first use. An inherited GITHUB_PERSONAL_ACCESS_TOKEN or GITHUB_API_TOKEN overrides browser OAuth; unset it to use OAuth. The repository's project-local .mcp.json was removed (not part of the shipped bundle).
  • Skill/agent maintenance. Many oversized skills were split into lazy references and trigger descriptions were shortened/sharpened; the git-cleanup agent is now read-only and agent frontmatter/tool scopes were cleaned. No renames or removals.

Commit Log

cd4d080 docs(internal): rename docs
35fbf57 fix(skills): harden init headless probing and shared rules pointer (#278)
9ee26bb feat(worktrees): use per-runtime repo-local worktree roots (#277)
8774734 feat(validate): check .claude/rules frontmatter and root import budget (#276)
7eed432 fix(skills): sharpen three skill trigger descriptions (#275)
f7141ee feat(init): emit canonical AGENTS.md rules files (#269)
7016010 test(evals): add trigger and behavior evals for core skills (#268)
666ec38 fix(lint): fix markdownlint failures, refresh lockfile and run lint in CI (#267)
8917dd3 refactor(rules): slim shipped user-global rules (#266)
e378936 refactor(rules): make AGENTS.md canonical and preserve release-model integration (#263)
cc197a6 chore: remove github mcp
0a3ee9b fix(skills): modernize tool names and remove dated content (#264)
9c532af refactor(rules): prune and scope Cursor rules (#262)
76c7175 test(install): surface installer setup errors before placement assertions (#261)
7185db8 fix(agents): make git-cleanup agent read-only to match skill wording (#260)
759dab6 fix(releaser): guard required variables in recut transaction block (#259)
b98d5ab fix(generators): cap opencode command descriptions to the listing budget (#258)
cd4c57c refactor(skills): index long references, flatten nested links and route support files (#246)
400f9e4 refactor(skills): split git-workflow, releaser and pr-autofix under 500 lines (#241)
815f91f fix(agents): clean agent frontmatter, tool scopes and Codex sandbox (#245)
028936e refactor(skills): split planning skills into references and shared dispatch (#244)
99e4195 Merge branch 'auto/stoic-chaplygin-732f83'
2b77dec fix(install): keep user agents when codex base installs custom agents
5a59ede fix(install): mirror codex custom agents on a local base install again
09c49f8 perf(install): let install tests skip the bundle build
33a712f perf(validate): run targets in parallel and scope pre-push to changed paths
0ad630d perf(validate): speed up codex skill lint and install tests
c37084d refactor(skills): split deep-research and frontend-patterns into references (#243)
fcda35c refactor(skills): split review workflows behind lazy references (#242)
73c1b53 chore: ignore more temp folders
0de4ed8 feat(skills): control manual workflow invocation (#234)
f3c670a refactor(skills): shorten trigger descriptions (#233)
7410693 refactor(commands): retire wrapper commands (#232)
c5aa4fd feat(validate): add practices ratchet (#228)
1e52cf6 fix(mcp): migrate github to native oauth server


Previous release: v5.2.1