Files
ECC/.opencode/commands/go-review.md
Gaurav Dubey 9d1ecb0754 fix(opencode): resolve command agent ids to registered opencode agents (#2477)
The `.opencode/commands/*.md` frontmatter referenced agents with the Claude
Code plugin namespace (`agent: everything-claude-code:<name>`), but ECC's
opencode integration registers its agents unscoped in `opencode.json`'s
`agent` map (`code-reviewer`, `planner`, ...), and that file's own `command`
section already references them unscoped. The `everything-claude-code:` scope
resolves under no opencode config (the opencode plugin package is
`ecc-universal`, and inline-config agents are bare), so subtask commands like
`/code-review` hard-fail with `Agent not found: everything-claude-code:code-reviewer`.
Non-subtask commands fall back to the default agent and appear to work — which
is why only some commands failed.

Strip the `everything-claude-code:` prefix from all 30 command frontmatter
agent ids so they match the registered agents, fix the MIGRATION.md example,
and replace the test that enforced the broken scoped invariant with one that
asserts each command agent id is a registered opencode agent (fails on the old
scoped ids, passes on the fix).

Fixes #2477
2026-07-10 09:46:40 +05:30

1.7 KiB

description, agent, subtask
description agent subtask
Go code review for idiomatic patterns go-reviewer true

Go Review Command

Review Go code for idiomatic patterns and best practices: $ARGUMENTS

Your Task

  1. Analyze Go code for idioms and patterns
  2. Check concurrency - goroutines, channels, mutexes
  3. Review error handling - proper error wrapping
  4. Verify performance - allocations, bottlenecks

Review Checklist

Idiomatic Go

  • Package naming (lowercase, no underscores)
  • Variable naming (camelCase, short)
  • Interface naming (ends with -er)
  • Error naming (starts with Err)

Error Handling

  • Errors are checked, not ignored
  • Errors wrapped with context (fmt.Errorf("...: %w", err))
  • Sentinel errors used appropriately
  • Custom error types when needed

Concurrency

  • Goroutines properly managed
  • Channels buffered appropriately
  • No data races (use -race flag)
  • Context passed for cancellation
  • WaitGroups used correctly

Performance

  • Avoid unnecessary allocations
  • Use sync.Pool for frequent allocations
  • Prefer value receivers for small structs
  • Buffer I/O operations

Code Organization

  • Small, focused packages
  • Clear dependency direction
  • Internal packages for private code
  • Godoc comments on exports

Report Format

Idiomatic Issues

  • [file:line] Issue description Suggestion: How to fix

Error Handling Issues

  • [file:line] Issue description Suggestion: How to fix

Concurrency Issues

  • [file:line] Issue description Suggestion: How to fix

Performance Issues

  • [file:line] Issue description Suggestion: How to fix

TIP: Run go vet and staticcheck for additional automated checks.