Skip to content

feat(skills): support user-invocable on claudecode and at the rulesync root with per-target overrides#1961

Open
sybers wants to merge 1 commit into
dyoshikawa:mainfrom
sybers:feat/skills-user-invocable
Open

feat(skills): support user-invocable on claudecode and at the rulesync root with per-target overrides#1961
sybers wants to merge 1 commit into
dyoshikawa:mainfrom
sybers:feat/skills-user-invocable

Conversation

@sybers

@sybers sybers commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Claude Code's skill spec documents a user-invocable: false flag that hides a skill from the / menu while keeping it model-invokable (https://code.claude.com/docs/en/skills). rulesync already routed this field through qwencode, vibe, and factorydroid, but it was missing from claudecode itself — and from the rulesync root.

Users can now set user-invocable once at the rulesync skill frontmatter root and have it applied to every supported tool (claudecode, qwencode, vibe, factorydroid). A value set inside a tool section still wins, so single-target overrides remain possible — same pattern as disable-model-invocation.

Also fixes a small factorydroid bug where user-invocable was accepted in the SKILL.md schema but silently dropped on conversion to/from rulesync.

…om root

- Add user-invocable to ClaudecodeSkillFrontmatterSchema with bidirectional passthrough via the rulesync claudecode section (Claude Code documents this field at https://code.claude.com/docs/en/skills).

- Promote user-invocable to the rulesync skill frontmatter root and propagate to claudecode, qwencode, vibe, factorydroid (the four targets whose upstream spec recognizes the field). Per-target sections can still override the root default.

- Introduce resolveUserInvocable helper mirroring resolveDisableModelInvocation; wire it into the four compatible tools' fromRulesyncSkill conversions.

- Fix factorydroid passthrough that was schema-only (the field was accepted but dropped on conversion to/from rulesync).

- Document the root field and override semantics in docs/reference/file-formats.md and the synced skills/rulesync/file-formats.md.
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