Repository navigation
feat(agentplugin): install the theme skill into opencode, oh-my-pi, Crush and Kiro - #1005
Merged
Merged
Conversation
…rush and Kiro These four read no skills out of the plugin, so the file-shipped install now copies skills/theme from the release into each one's own skills directory, renamed lich-theme so it cannot collide with a user's skill once it loses the plugin's namespace. opencode turns it into the /lich-theme command. The skill is written before the version marker, so a release missing part of it leaves nothing reported as installed. Tests: the release fixture now serves skills/theme, and the opencode and oh-my-pi fetch assertions expect the skill beside the module; the contract changed, since the install fetches it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The plugin's
themeskill only reached Claude Code, Codex and Antigravity (which readskills/out of the installed plugin) and Cursor CLI (which loads Claude Code's installed plugins). opencode, oh-my-pi, Crush and Kiro CLI read skills only from a directory of their own, so they never had it:/lichin opencode listed nothing.The file-shipped install of those four now also fetches
skills/theme/{SKILL.md,template.json,validate.mjs}from the same release tag and writes them aslich-theme:$XDG_CONFIG_HOME/opencode/skillsopencode debug skillon 1.19.4; skills become slash commands, so this is/lich-theme<agent dir>/skillsdiscovery/builtin.ts, 18.8.9skillsbeside the crushrc, or$CRUSH_SKILLS_DIRGlobalSkillsDirs, v0.98.1$KIRO_HOME/skillslichagent's resourceslich-theme(directory and frontmattername): outside the plugin the skill loses itslich:namespace, and a barethemecould collide with a user's own skill.Companion: lichdotdev/lich-plugin#97 (docs only).
Tests
skill_test.go: the skill lands in each provider's directory, renamed, including Crush underCRUSH_SKILLS_DIR; a release missing a skill file leaves nothing installed.files_test.go: the release fixture now servesskills/theme, and the opencode and oh-my-pi "fetched just the module" assertions expect the module plus the skill. Contract change: the install now fetches the skill.crushCLIclearsCRUSH_SKILLS_DIRso a developer's own value cannot send a test's writes into their real skills directory.Test plan
gofmt -l .,go vet ./...,go test ./...(memory jail)go vet ./internal/agentplugin/for darwin and windowslich-themefrom a config dir laid out the way the install writes it