소스 정보
- 저장소
- laicluse/agent-fieldkit
- 최근 소스 활동
- 2026년 7월 13일 15:20
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/laicluse/agent-fieldkit --skill second-opinion명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Use when corrective work, migrations, living docs, or temporary diagnostic tests leave superseded residue, or before handoff.
Use when corrective work, migrations, living docs, or temporary diagnostic tests leave superseded residue, or before handoff.
Reference for git-discipline commit bodies, trailers, hook denials, examples, and escape hatches.
SKILL.md 표시 중
| name | second-opinion |
| description | Get a Claude second opinion on recent work or a design from Codex. |
Intervision is peer consultation: equals looking at each other's work, not a
supervisor looking down. Etymology says it plainly, inter- (between, among,
together) against super- (from above). This skill brings a second coding
agent in as that peer for an independent read. You hand it the work just done
or just discussed, it looks with fresh eyes and different training, and the two
of you talk it through.
The peer here is Claude, reached through claude -p. It runs from the same
repository, on its own login, with its own model behind it. That independence is
the whole point; a peer trained the same way as you would only echo you. Run it
with DD_HEADLESS=1 --setting-sources "" --tools "" so local Claude Code stop
hooks and user instructions do not overwrite the peer's actual answer.
Before asking, confirm the peer exists:
command -v claude >/dev/null 2>&1 || { echo "claude CLI not found; intervision needs a peer to ask. Install and log in to Claude Code first."; }
If claude is missing, say so plainly and stop. There is no peer to ask, and
pretending otherwise wastes the operator's time. This is the one hard
precondition.
Claude is materially slower than Codex on substantial reviews and may produce
no partial output for many minutes. A silent but live claude -p process is
working, not stalled. Let it run to completion and keep polling the same process
session without interrupting it.
Allow at least 20 minutes before investigating a timeout. After 20 minutes, continue waiting while the process is alive unless there is concrete failure evidence such as a non-zero exit, an authentication or network error, or a dead process. Silence and elapsed time alone are never failure evidence. Keep the operator informed during the wait at the host's normal progress-update cadence.
Pick by what just happened. All three run through claude -p, and they
combine: review a diff first, then go back and forth on whatever the review
leaves open.
1. Check work just done, when there is a diff. Claude does not have Codex's
dedicated review subcommand, so hand it the actual status and diff on stdin.
Do not summarize the work first:
{
printf 'Peer review this repository change. Report bugs, risks, regressions, and missing tests first. Do not edit files.\n\n'
printf '## git status --short\n'
git status --short
printf '\n## staged diff\n'
git diff --cached --no-ext-diff
printf '\n## unstaged diff\n'
git diff --no-ext-diff
printf '\n## untracked files\n'
git ls-files --others --exclude-standard
} | DD_HEADLESS=1 claude -p --input-format text --setting-sources "" --tools ""
For a branch or single commit, replace the diff block with the concrete range:
DEFAULT=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null | sed 's#^origin/##')
if [ -z "$DEFAULT" ]; then
CONFIGURED_DEFAULT=$(git config --get init.defaultBranch 2>/dev/null || true)
if [ -n "$CONFIGURED_DEFAULT" ] && git rev-parse --verify "refs/heads/$CONFIGURED_DEFAULT" >/dev/null 2>&1; then
DEFAULT=$CONFIGURED_DEFAULT
fi
fi
[ -n "$DEFAULT" ] || { echo "cannot determine default branch from origin/HEAD or init.defaultBranch; pass an explicit range" >&2; exit 1; }
{
printf 'Peer review this branch diff. Report findings first and do not edit files.\n\n'
git diff --no-ext-diff "$DEFAULT"...HEAD
} | DD_HEADLESS=1 claude -p --input-format text --setting-sources "" --tools ""
{
printf 'Peer review this commit. Report findings first and do not edit files.\n\n'
git show --stat --patch <sha>
} | DD_HEADLESS=1 claude -p --input-format text --setting-sources "" --tools ""
2. Weigh a design just discussed, when there is no code yet. Give Claude the actual design context on stdin. Keep the shaky parts in; a flattering summary buys a flattering review.
DD_HEADLESS=1 claude -p --input-format text --setting-sources "" --tools "" <<'PROMPT'
Peer review this plan before we build it. Do not edit files.
<paste the design, the trade-off, the open question, including the parts we are unsure about>
PROMPT
3. Go back and forth. A single answer is consultation; intervision is a
conversation. Continue with a fresh claude -p handoff that quotes the peer's
prior finding and your evidence. Do not loop on vibes; push one concrete point
at a time.
DD_HEADLESS=1 claude -p --input-format text --setting-sources "" --tools "" <<'PROMPT'
You flagged X as a race. The lock at <file:line> already serialises that path.
Does that change your read? Do not edit files.
PROMPT
Keep going until each disagreement is either resolved or sharpened into a question the operator should decide. If two rounds pass with no movement, stop and surface the disagreement to the operator with both positions rather than looping.
The round-trip only earns its cost if the handoff is honest.
--tools "" removes file and shell
tools from the Claude handoff; the prompt still says "do not edit files"
because the peer is there to propose, not land changes.$(...), backticks, or quotes. Feed it on
stdin through a quoted heredoc (<<'PROMPT' ... PROMPT), never as a
double-quoted argument, so the shell passes it to the peer verbatim instead
of executing part of it.The peer's output is a pile of findings, not a to-do list. Each finding gets one honest fate:
Then surface the exchange to the operator: what the peer raised, what you did with each point, and where the two of you still disagree. Do not smooth the disagreements away. They are the most useful thing intervision produces, because they mark the spots neither agent can settle alone.