Skip to content

Strip leading @ from reviewer handles in ship skill#21

Merged
sebastientaggart merged 2 commits intodevfrom
feature/strip-reviewer-at-prefix
Mar 26, 2026
Merged

Strip leading @ from reviewer handles in ship skill#21
sebastientaggart merged 2 commits intodevfrom
feature/strip-reviewer-at-prefix

Conversation

@sebastientaggart
Copy link
Copy Markdown
Contributor

The ship skill passes DEFAULT_REVIEWERS handles directly to gh pr create --reviewer, but the gh CLI rejects handles with leading @ prefixes (e.g. @sebastientaggart) with:

Could not resolve user with login '@sebastientaggart'

Updated the ship skill template to instruct agents to strip any leading @ from each comma-separated handle before constructing the --reviewer argument. Both @alice and alice now work in config, and @org/team correctly becomes org/team.

Issue #20

The gh CLI's --reviewer flag rejects handles with @ prefixes (e.g.
@sebastientaggart), causing PR creation to fail with "Could not resolve
user with login". The ship skill now instructs agents to strip @ from
each comma-separated handle before constructing the --reviewer argument.
@sebastientaggart
Copy link
Copy Markdown
Contributor Author

Review Summary

Verdict: APPROVE

Findings

  • [NOTE] The instruction tells the agent to "strip any leading @ from each comma-separated handle" but relies on the AI agent interpreting and executing this text correctly at runtime — there is no programmatic enforcement (e.g., a sed or tr command in the template). This is consistent with how the rest of the skill file works (natural-language instructions to the agent), so it is not a defect, but worth noting that a misbehaving agent could still pass through the @ prefix. Acceptable for the current architecture.

No blocking issues found. The change is consistent across the source template (skills/ship.md) and all four generated adapter outputs (.agents/, .claude/, .cursor/, .gemini/). The fix correctly addresses the gh CLI's rejection of @-prefixed handles described in issue #20, and the example (@alice,@org/team becomes alice,org/team) is accurate. Hash footers in generated files were updated as expected by sync.sh.

@sebastientaggart sebastientaggart merged commit ae80125 into dev Mar 26, 2026
1 check failed
@sebastientaggart sebastientaggart mentioned this pull request Mar 26, 2026
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