Skip to content

skills: OpenCode's and Goose's folders are read too - #1691

Merged
AbirAbbas merged 4 commits into
devfrom
feat/skills-opencode-goose
Sep 30, 2026
Merged

AbirAbbas merged 4 commits into
devfrom
feat/skills-opencode-goose

Conversation

@AbirAbbas

Copy link
Copy Markdown
Collaborator

Supersedes #1409, which was stacked on #1410 and could not merge once #1410 was squashed into dev. This is its change re-cut onto current dev, plus the home folders those two tools actually use.

What changes

  • Project and home: .opencode/skills and .goose/skills are read after .gemini/skills, so a name kept in any earlier folder still owns it.
  • Home only: ~/.config/opencode/skills and ~/.config/goose/skills are read in the user scope, after the shared folders and before plugin and bundled skills. That is where OpenCode (docs) and Goose (docs) keep a person's global skills; ~/.opencode/skills and ~/.goose/skills are empty on machines that use them. A project's own .config folder is not read.
  • The manual page skills-from-other-tools.md names both tools and all four folders.

Validation contract

  • A skill in a project's .opencode/skills or .goose/skills is found in the project scope.
  • A skill in ~/.config/opencode/skills or ~/.config/goose/skills is found in the user scope, under its own root name.
  • A project's .config/opencode/skills is not read.
  • A name held in an earlier shared folder (e.g. ~/.claude/skills) shadows the ~/.config copy, and any project skill shadows every home one.
  • Opened in the home directory itself, a ~/.config skill is reported once.

Each test fails with its folder list removed. By hand, the real binary's /skill picker in a throwaway home lists oc-project, goose-project, oc-global and goose-global; current dev lists none of them. codeaf manual "can codeaf use my goose skills" reaches the updated section.

🤖 Generated with Claude Code

AbirAbbas and others added 4 commits September 30, 2026 13:52
Issue #1277's day-one list names .opencode/skills and .goose/skills beside
the six folders discovery already read. They are appended after .gemini, so
a name held in any of the first six still owns it and the later copy is kept
in the result marked shadowed, in both the project and the home scope.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 5d6f36f)
OpenCode keeps a person's global skills in ~/.config/opencode/skills and Goose in ~/.config/goose/skills, so the dot folders named after each tool are empty on a machine that uses them. Both are now read in the home scope only, after the shared folders and before plugin and bundled skills, so a name kept by hand anywhere earlier still owns it. A project's own .config folder is not read. The comments no longer count the folders, because the count had already drifted once.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…p them

The page listed six folders. It now names .opencode/skills and .goose/skills beside them, and the two ~/.config folders that are read in the home only, so "can codeaf use my Goose skills" reaches an answer that says yes and where.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@AbirAbbas
AbirAbbas merged commit 2f33722 into dev Sep 30, 2026
4 checks passed
@AbirAbbas
AbirAbbas deleted the feat/skills-opencode-goose branch September 30, 2026 18:13
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