Per Claude Code plugin docs (code.claude.com/docs/en/plugins):
- commands/ belongs at plugin ROOT, not inside .claude-plugin/ (only
plugin.json goes in .claude-plugin/). Moved via git mv.
- Repo-local .claude/plugins/<name>/ is NOT auto-discovered. Load via
`claude --plugin-dir` or `claude plugin init`.
- Plugin commands are namespaced: invoke as /code-review-tea:code-review,
not /code-review-tea.
- Bake verified Task 2 facts into RESOLVED_INVOCATION content: -F not -f,
/repos/ prefix required, tea pulls --fields diff empty (use git diff),
SHA must be remote-present.
Plan only (no plugin source changed beyond the dir move).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Incorporate findings from Task 2 verification:
- -F (typed field) reads @-/@file; -f posts literal '@-'. Use -F.
- Endpoint requires /repos/ prefix: /repos/{owner}/{repo}/...
- tea pulls --fields diff returns empty in tea 0.14.1 -> use git diff
- SHA must be remote-present (PR headSha); local-only SHA 404s
- tea api prints JSON to stdout; -o is file-output not format
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>