docs(skill): expand imsg agent skill with full CLI surface#154
docs(skill): expand imsg agent skill with full CLI surface#154omarshahine wants to merge 5 commits into
Conversation
The skill covered only a fraction of the CLI and hardcoded a machine-specific repo path. Rewrite it around the two capability tiers (standard SQLite/AppleScript vs SIP-disabled IMCore bridge) so agents check `imsg status` before reaching for bridge commands and fall back to standard equivalents instead of suggesting SIP changes. - Point to `imsg completions llm` for the full flag reference - Add watch/--since-rowid cursor, group, date-range semantics, attachment conversion, and --local lookups - Document react's most-recent-message limitation with tapback as the bridge alternative - Require per-action confirmation for destructive bridge commands - Drop the ~/Projects/imsg path; verify with ./bin/imsg after builds Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 12:24 PM ET / 16:24 UTC. Summary Reproducibility: not applicable. this is a skill documentation PR, not a runtime bug report. The prior poll-doc finding no longer reproduces on the current head because the unsupported terms are absent and the remaining claims match current docs/source inspection. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge
Security Review detailsBest possible solution: Merge the focused skill update after normal maintainer review and status checks, while leaving the unshipped poll-caption/backfill guidance to Do we have a high-confidence way to reproduce the issue? Not applicable: this is a skill documentation PR, not a runtime bug report. The prior poll-doc finding no longer reproduces on the current head because the unsupported terms are absent and the remaining claims match current docs/source inspection. Is this the best way to solve the issue? Yes. Updating the bundled skill is the narrow maintainable path for this agent guidance, and unshipped poll-caption behavior is now deferred to the linked follow-up instead of being documented early. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 9ac97ab1d242. Label changesLabel justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (7 earlier review cycles)
|
Per review: default `imsg nickname` reads the iMessage-shared contact card via the IMCore bridge; only `--local` (your own AddressBook label, a different datum) works without SIP disabled. Move default-mode nickname to the bridge tier and add --local to the SIP-free example. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Messages never renders the poll title on the balloon, so `poll send` now echoes --question as a reply comment; document that recipients see the question and that --comment overrides it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reflect that poll send now sends the caption as a plain message (not a threaded reply) and that inbound native polls have their question backfilled from the caption on read. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The poll caption echo, --comment override, and inbound question backfill live in openclaw#155, not on main (shipped imsg 0.12.2 'poll --help' has no --comment). Drop those claims so the skill documents only shipped behavior and can merge independently of openclaw#155. Tracked by openclaw#157 to re-add once openclaw#155 lands. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011dTDUtxanzs8NDhTD862QV
|
Decoupled from #155 per maintainer decision. The poll caption echo, @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Summary
Rewrites
.agents/skills/imsg/SKILL.mdso agents get an accurate, complete picture of the CLI. The previous version covered only chats/history/search/send, hardcoded a machine-specific repo path (~/Projects/imsg), and never mentioned the standard-vs-bridge capability split.Changes (verified against
imsg completions llmanddocs/):--locallookups) vs bridge commands (send-rich, tapback, poll, edit/unsend, chat-*), gated onimsg status --json, with explicit guidance to fall back to standard equivalents rather than suggest disabling SIP.imsg completions llmfor the full flag reference so the skill stays short.chats/contact_name, notsearch) and adds what was missing:groupbefore automating,--start/--endinclusive/exclusive semantics,--since-rowidas the watch cursor,--convert-attachments, SMS fallback behavior, andreact's most-recent-message-only limitation withtapbackas the bridge alternative.unsend,delete-message,chat-delete,chat-leave,chat-remove-member)../bin/imsg(the source-build output) for live read proof.Review fix (540c803): default
nicknamemoved to the bridge tier; the SIP-free tier and example now usenickname --local, with a note that--localreturns your own AddressBook label rather than the iMessage-shared nickname. MatchesSources/imsg/Commands/BridgeIntroCommands.swiftand the CLI help below.Poll docs scope (decoupled from #155): an earlier revision documented the poll question echoing as a visible caption, the
--commentoverride, and inbound question backfill. That behavior lives in #155, not on shippedmain—imsg poll --helpon 0.12.2 exposes only--question/--option, no--comment. Those claims were removed so this skill documents only shipped behavior and merges independently; #157 tracks re-adding them once #155 lands.Validation transcript
Run against imsg 0.12.2 (Homebrew) on macOS:
(The
statusoutput above is from a SIP-enabled machine — exactly the state where the skill's fallback guidance applies.)jq chat-filter example validated against synthetic NDJSON matching
docs/json.md's Chat schema:🤖 Generated with Claude Code