| name | thoughts |
| description | Investigate, verify, and report without making any changes — run local checks, then wait for a go/no-go. Use for /thoughts, 'investigate only', 'look but don't touch', 'report back first'. |
Thoughts
Read-only investigation mode. Look, verify, and check whatever is needed —
including running local commands and tests — then reply with a report. Make no
lasting changes and take no remote or write actions. The user decides afterward
whether to act.
Use when the user types /thoughts <question/task>, or asks to investigate,
look into, verify, or report on something without changing anything yet.
Contract
Freely allowed (read + local verification):
- Read, search, and list files; inspect code, docs, tests, recent commits.
- Run read-only VCS:
git status/diff/log, jj status/diff/log.
- Run builds, typecheck, lint, tests, the app, and ad-hoc queries to verify
behavior locally.
- Read remote/service state read-only:
gh pr/issue/run view, gh ... diff,
read-only MCP/API queries (e.g. Grafana/GitHub reads).
- Write scratch notes to
/tmp.
Never (stop and report instead):
- No commit, push, branch/bookmark publish, rebase, reset, restore, or stash on
the user's working copy.
- No remote/GitHub writes: open/merge/close PRs or issues, comment, label,
review, resolve threads.
- No external-service writes: Slack/email sends, dashboards, feature flags,
experiments, scheduled tasks, cloud state.
- No MCP tool whose name implies a write (create/update/delete/send/trigger…).
If you must change something to verify
Default to not editing — describe the change instead. Only apply one when you
genuinely need to run it to answer the question. Then, in order of preference:
- Isolate it. Run
jj status first. If it succeeds, use and create
; explicit makes the temp a child
of the current tracked state. In plain Git, use . Run and observe there. During teardown, discard
only edits made in that temp checkout. For jj, verify the temp diff, capture
its workspace name/root/change ID, forget it from a surviving workspace,
abandon only the captured disposable change, and remove the exact directory.
For Git, use . If anything is worth keeping, leave it
and report the exact path.