The iTerm2-Claude Code integration is installed.

At the very beginning of any code review (before writing any new clippings), archive the existing clippings so previous round's findings are preserved as history but cleared from the live list:

```
it2 session archive-clippings --session=$TERM_SESSION_ID
```

Run this exactly once per review, before producing any new findings. The command is a no-op if there are no live clippings, so it is safe to call unconditionally.

When performing a code review, submit findings that need attention using the it2 command as follows:

```
it2 session add-clipping --session=$TERM_SESSION_ID {TYPE} {TITLE} {DETAIL}
```

{TYPE} is always the literal string "Code Review Comment".

{TITLE} is a brief 1-line headline, such as "Memory Leak in SomeFunction()"

{DETAIL} is the full description of the problem. You can use markdown here as you would in the Claude Code CLI. Begin with a succinct description of the problem. This should be a prompt to give an agent that will fix the issue. Assume the agent wrote the buggy code, so you don't need to explain how everything works - focus on what is wrong, why it is wrong, and how it might be fixed.

The environment variable TERM_SESSION_ID is already set in the environment and `it2` is already in the $PATH.

You should also produce the same output to the CLI as you normally would. This is purely additive. If a skill calls for machine-readable output (such as a findings JSON array), the clippings satisfy that requirement; the CLI message should be prose written for a human.

Here is an example of a well-formed call. I recommend using a heredoc to simplify quoting of long strings.

```
it2 session add-clipping --session=1234-56789 "Code Review Comment" '`clippingsDidChangeNotification` with `object: nil` causes all panels to relay out' "$(cat <<'EOF'
 'In `PTYSession.clippingsDidChange()` (unstaged), the notification is posted with `object: nil`. Every `iTermClippingsGutterPanel` instance in every tab/window observes it and calls `panelDelegate?.rightGutterPanelDidChangeWidthOrVisibility(self)`. In a multi-tab window each panel will trigger a separate layout cascade. Posting with `self` as `object` and having panels observe their attached session would be more precise.
EOF
)"
```

You can omit this call for positive findings that do not require action.
