anomalyco / anomalyco/opencode
[FEATURE]: explicit skill sources and source-qualified duplicates
@rekram1-node is already working on this.
Since Sep 15, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
I use separate skill trees for multiple agent harnesses and want to compare them independently. OpenCode automatically scans compatibility directories such as ~/.claude/skills and ~/.agents/skills. When both trees contain a skill with the same directory name, OpenCode reports duplicate-name warnings and can fail while building the system prompt with:
TypeError: undefined is not an object (evaluating 'a.name')
at SystemPrompt.environment
Reproduction on macOS with OpenCode from the dev branch:
- Create
~/.claude/skills/review/SKILL.md. - Create
~/.agents/skills/review/SKILL.md. - Start OpenCode in a project that can discover both roots.
- Observe duplicate-name warnings and, depending on discovered ordering, a system-prompt construction failure.
Please support explicit skill sources and source-qualified IDs:
{
"skills": {
"sources": [
{ "id": "opencode", "path": "~/.config/opencode/skills", "enabled": true },
{ "id": "agents", "path": "~/.agents/skills", "enabled": true },
{ "id": "claude", "path": "~/.claude/skills", "enabled": true }
],
"collision": "source-qualified"
}
}
Expected behavior:
- Explicit sources control which roots are scanned.
- Same-named skills from different sources coexist as
claude/reviewandagents/review. - Discovery and selection are deterministic.
- Duplicate or malformed skill files produce diagnostics without crashing.
- Existing behavior remains unchanged when
skills.sourcesis not configured. - Source IDs support isolated harness and version A/B comparisons.
This complements related reports #31977, #32202, #7575, #25119, and #41288.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.