| name | hiring-sim-portfolio-redteam |
| description | 면접관 관점에서 포트폴리오의 감점 요소를 적발하는 비판적 레드팀 리뷰. 수치 정합성 대조(표·대시보드·캡션), 서사–근거 불일치, 과장·용어 인플레·인과 과장을 Cartesian doubt(방법적 회의) 기반으로 찾아낸다. PASS/REJECT 점수 판정이 아니라 "면접관이 파고들 감점 포인트" 목록이 산출물. |
| argument-hint | <포트폴리오 파일 또는 프로젝트 디렉토리 경로> |
| user-invocable | true |
| triggers | ["포트폴리오 감점","포트폴리오 레드팀","면접관 관점 리뷰","포폴 모순","수치 정합성","비판적 포폴 리뷰"] |
포트폴리오 레드팀 리뷰 (면접관 감점 포인트 적발)
포트폴리오를 가장 비판적인 면접관의 눈으로 읽고, 라이브 면접에서 파고들리거나 감점될 지점만 골라낸다. hiring-sim-portfolio-review가 "합격/탈락 채점표"라면, 이 스킬은 "어디서 깎이고 어디서 털리는가"를 포렌식으로 적발하는 레드팀 렌즈다.
핵심은 하나: 포트폴리오에 적힌 글·수치·이미지를 액면 그대로 믿지 않는다. 표와 대시보드가 어긋나는지, 캡션이 그래프와 맞는지, "개선"이라 쓴 게 실제로 측정 대상을 바꿔치기한 건 아닌지를 직접 대조해서 잡는다.
이 스킬 vs hiring-sim-portfolio-review
| 축 | portfolio-review (기존) | portfolio-redteam (이 스킬) |
|---|
| 산출물 | PASS/REJECT + 3영역 등급표 | 심각도 태그된 감점 포인트 목록 |
| 목적 | 채용 공고 대비 합격선 스크리닝 | 면접관이 파고들 약점 사냥 |
| 채용 공고 | 포지션 정렬도에 사용 | 선택 (없어도 됨) |
| 수치 검증 | 성과 유무 판정 | 표·대시보드·캡션 픽셀 대조까지 |
| 렌즈 | 루브릭 | Cartesian doubt(방법적 회의) |
둘은 대체재가 아니라 보완재다. 합격선 스크리닝은 -review, 디테일 감점·모순 적발은 이 스킬.
언제 쓰나 / 안 쓰나
쓴다: 포트폴리오 제출 전 마지막 검증, "면접관이 뭘 물어볼까"가 궁금할 때, 수치·대시보드가 많은 기술 포트폴리오, 자기 포폴의 허점을 스스로 먼저 찾고 싶을 때.
안 쓴다: 아직 초안 뼈대만 있어 검증할 수치·근거가 없을 때(먼저 hiring-prep-doc-feedback로 방향 잡기), 단순 오탈자 교정, 채용 공고 대비 합격 여부만 알고 싶을 때(→ hiring-sim-portfolio-review).
핵심 엔진 — Cartesian Doubt (방법적 회의)
글로벌 cartesian-doubt 스킬의 doubt ladder와 네 가지 규칙을 포트폴리오 리뷰용으로 차용한다. 원리: 액면(belief)과 검증된 사실(verified fact)을 분리하고, 하중을 받는 주장만 실제로 대조한다. 회의는 리스크에 비례해서만 escalate한다(꼼꼼한 척 모든 사소한 걸 의심하는 건 분석 마비이지 엄밀함이 아니다).
Engine 1 — 의심의 사다리 (리스크에 비례해 올린다)
| 레벨 | 데카르트 | 포트폴리오에서 | 언제 올리나 |
|---|
| L1 감각의 기만 | 지각은 못 믿는다 | 계측이 거짓말한다 — 표·대시보드·캡션·본문의 수치를 액면으로 믿지 말고 단위·백분위(평균/중앙값/p95/p99)·피크 vs 평균·분모를 직접 대조 | 항상 (모든 수치) |
| L2 꿈의 논증 | 깨어있음과 꿈을 구분 못 함 | 글이 말하는 구조 ≠ 실제 — 본문 서사가 첨부 아키텍처/대시보드 이미지·스택칩·코드와 일치하는가. 플레이스홀더("추후 삽입")·미완성 흔적 | 서사와 근거가 어긋나 보일 때 |
| L3 악령 | 무한한 악의를 가진 존재가 속인다 | 최악의 적대적 면접관 — "이 지표·용어·주장을 최대한 악의적으로 파고들면 어디서 무너지나"를 시뮬레이션 | 핵심 셀링 포인트마다 |
Engine 2 — 네 규칙 → [검증됨 / 가정 / 불명] 라벨링
포폴의 각 핵심 주장에 라벨을 붙인다. 오직 검증됨만 강점으로 인정한다.
| 규칙 | 포폴 적용 |
|---|
| 1. 증거 — 명석·판명하지 않으면 사실로 받지 않는다 | 각 주장에 [검증됨/모순/가정/불명]. 이미지·수치로 뒷받침되면 검증됨(이미지도 L1로 의심). 양쪽 근거가 서로 어긋나면 모순(가장 강한 감점). 근거 없으면 가정, 확인 불가면 불명 |
| 2. 분석 — 문제를 잘게 나눈다 | 프로젝트→슬라이드→개별 주장/수치 단위로 쪼개서 하나씩 |
| 3. 순서 — 확실한 것부터 | 확인된 사실(표에 실제 적힌 값, 이미지에 실제 찍힌 값)부터 놓고, 검증 안 된 연결을 건너뛰지 않는다 |
| 4. 열거 — 빠짐없이 | 모든 슬라이드/섹션 + 모든 첨부 이미지를 커버. 안 본 이미지는 "미확인"으로 표기(추측 금지) |
명석(clear)·판명(distinct) 기준: 모호한 주장("장애를 잘 처리했다")이나 두 개념을 뒤섞은 주장은 통과가 아니라 감점 후보다.
Engine 3 — 기술 고민 강화 5요소 (🎣 미끼)
감점(틀린 것)과 별개 축으로, "틀리진 않았는데 밋밋해서 손해 보는" 기술 결정마다 면접관이 물고 싶어지는 깊이를 어디에 넣을지 짚는다. 각 핵심 결정을 5요소로 분해해 비어 있는 칸을 지적한다(대개 ②③④가 통째로 빈다 — 거기가 점수 나는 자리).
| 요소 | 무엇 |
|---|
| ① 문제의 메커니즘 | 왜 naive 방식이 구조적으로 깨지나 (증상 말고 인과 사슬) |
| ② 대안 비교 | 저울질한 A/B/C (road not taken) |
| ③ 선택 근거 | 왜 그걸 골랐나 |
| ④ 감수한 비용 | 이 선택으로 생긴 새 문제 |
| ⑤ 검증 + 남은 한계 | 어떻게 확인했고 무엇이 남았나 |
⚠️ 안 해본 대안은 절대 지어내지 마라. 거짓 road-not-taken은 후속 질문에서 바로 털린다. 실제로 저울질한 것만 미끼로 쓴다.
문제→해결→수치 3단으로만 끝난 concern은 ②③④가 비었다는 신호 → 🎣 대상.
실행 절차
Step 1 · 입력 수집
- 포트폴리오 (필수): "리뷰할 포트폴리오 경로를 알려주세요. (PDF / Markdown / HTML / 프로젝트 디렉토리)" — 미제공 시 대기.
- 첨부 이미지 경로 (중요): 대시보드·아키텍처 스크린샷이 별도 폴더에 있으면 그 경로도 받는다(예:
assets/crops/). 이미지 대조가 이 스킬의 핵심이므로 반드시 확보.
- 채용 공고 (선택): 있으면 붙여넣기(포지션 관점 감점에 참고). 없으면 일반 기준.
- 경력 수준(신입/주니어/미드/시니어)을 포폴에서 추정하거나 물어서, 눈높이를 맞춘다(신입에게 시니어 기준을 들이대지 않되, 과장은 경력 무관 감점).
Step 2 · 전수 열거 (규칙 4)
- 텍스트:
Read로 문서 전문. 모든 슬라이드/섹션과 그 안의 표·캡션·수치를 목록화.
- 이미지:
Read로 모든 대시보드·아키텍처 이미지를 시각 판독(vision). 각 이미지가 뒷받침한다고 주장하는 슬라이드와 짝지어, 그래프에 실제 찍힌 값 vs 본문/표/캡션 값을 대조.
- 커버리지를 기록: 텍스트 N섹션 / 이미지 M개 확인 / 미확인 K개(읽기 실패 시 추측하지 말고 미확인으로).
Step 3 · 감점 유형별 스캔 (8종 카탈로그)
아래 감점 유형 카탈로그를 체크리스트로 전 구간에 훑는다.
Step 4 · Cartesian doubt 3-pass
- L1 pass (전 수치): 단위/백분위/평균-피크/분모/합계를 대조. 산술적으로 불가능한 조합(예: 평균 처리량 > 피크 RPS)을 찾는다.
- L2 pass (서사 vs 근거): 본문 서사 ↔ 첨부 이미지/스택/코드 일치 확인. 플레이스홀더·미완성.
- L3 pass (evil-demon): 각 핵심 주장에 대해 "최악의 면접관이 던질 후속질문"을 만들고, 그 질문에 포폴이 방어되는지 판정. 방어 안 되면 감점.
- 🎣 pass (기술 고민 강화): 감점이 아닌 핵심 기술 결정마다 Engine 3의 5요소를 대보고, 빈 칸(대개 대안·비용·근거)을 🎣 미끼로 도출. 밋밋한 결론을 시니어 서사로 끌어올릴 지점을 찾는다.
Step 5 · 심각도 + 면접관 후속질문
각 finding에 심각도(🔴🟠🟡)와 ▶ 면접관 후속질문을 붙인다.
Step 6 · 출력
아래 출력 포맷으로 대화에 바로 정리해 제시한다. 사용자가 파일을 원하면 마크다운(.md)으로 저장하고 경로를 알려준다. 외부 발행이나 문서 뷰잉 방식은 사용자 각자의 환경 설정에 맡기며, 이 스킬은 특정 발행 수단에 의존하지 않는다.
감점 유형 카탈로그 (8종)
| # | 유형 | 정의 | 신호 예시 |
|---|
| 1 | 수치 정합성 붕괴 (L1) | 같은 지표가 표·대시보드·캡션·본문에서 다른 값이거나 산술적으로 불가능 | 표 p95 42ms인데 대시보드 0.18ms · "평균"이라며 실은 p95값 · 분모 2,279 vs 2,280 · 평균 처리량 > 피크 |
| 2 | 측정 대상 바꿔치기 (L2) | A를 측정해놓고 B를 개선했다고 라벨 | 비동기 enqueue ack 시간을 "OCR 처리시간 개선"으로 · 서버 처리시간을 end-to-end로 |
| 3 | 서사–근거 불일치 (L2) | 본문/캡션이 말하는 것과 첨부 이미지·스택·코드가 다름 | 스택칩엔 있는데 아키텍처 다이어그램엔 없는 기술 · 캡션 수치가 그래프에 없음 · "실측 이미지 추후 삽입" 플레이스홀더 |
| 4 | 벤치마크 감각·과장 (L1/L3) | "대용량/고성능/실시간"인데 실측이 소규모 | 피크 50 RPS를 "대용량" · 버스트 E2E 2.5분인데 "실시간" |
| 5 | 용어 인플레 (L3) | buzzword를 정확한 개념 없이 오용 | Celery 큐를 "Choreography" · 브로커 도입하며 "SPOF 제거" · 큐 버퍼링을 "backpressure" · "exactly-once" 오용 |
| 6 | 인과 과장 | 상관/부분 기여를 전체 원인으로 | 프레임워크 교체와 인덱스 최적화를 묶어 "전환해서 60%↓" · 전송방식 바꿔 "감지 주기 단축" |
| 7 | 검증 불가 소프트 수치 | 측정 근거 없는 정밀 수치 | "논의 반복 80% 감소" · "생산성 3배" 처럼 어떻게 쟀는지 없는 숫자 |
| 8 | 얕은 결론(사고과정 부재) | 대안·트레이드오프·메커니즘 없이 "했다"만 → 감점보다는 흥미 저하, 별도 태그 [밋밋] | "비관적 락을 Atomic Update로 바꿈"만 있고 왜/대안/비용 없음 |
8번은 "틀린 것"이 아니라 "손해 보는 것"이다. 감점과 별개 축으로 빼서(🎣 기술적 고민 강화, Engine 3), 각 밋밋한 결정에 ①메커니즘→②대안→③근거→④비용→⑤한계 중 빈 칸을 어디에 넣을지 제안한다. 실제 저울질한 대안만 쓴다.
심각도 기준
🔴 High — 신뢰도를 직접 훼손. 라이브 면접에서 거의 확실히 걸리고, 답 못하면 치명적.
(수치 모순 · 측정 바꿔치기 · 대표지표 근거부재/플레이스홀더 · 명백한 과장)
🟠 Med — 논리·용어·인과가 헐거움. 파고들면 흔들리는 것.
🟡 Low — 문구·표기·형평. 꼼꼼한 면접관만 보는 것.
출력 포맷
# 포트폴리오 레드팀 리뷰 — 면접관 감점 포인트
## 총평
[2~3문장. 포폴의 컨셉과, 그 컨셉을 스스로 배신하는 가장 큰 감점 축 1~2개.]
## 심각도 요약
🔴 High N · 🟠 Med N · 🟡 Low N · [밋밋] N
## 프로젝트별 정리 (프로젝트마다 두 축)
### <프로젝트명 / 섹션>
**🚩 감점·오류** — 틀렸거나 어긋나 깎이는 것 (심각도 순)
- 🔴 **<한 줄 제목>** — 위치: <슬라이드/섹션>
- 문제: <표/캡션/이미지의 **실제 값을 인용**해 양쪽 대조>
- 라벨: [검증됨 / 모순 / 가정 / 불명]
- 감점 이유(면접관): ▶ "<최악의 후속질문>"
- 개선: <구체적 수정안>
[반복 · 심각도 높은 순]
**🎣 기술적 고민 강화** — 틀리진 않았는데 밋밋해 손해 보는 것 (Engine 3 5요소)
- **<핵심 기술 결정>** — 빈 칸: <②대안 / ③근거 / ④비용 중 없는 것>
- 채울 내용: <해당 요소를 구체적으로 — 단, 실제 저울질한 대안만>
- ▶ 유도되는 좋은 질문: "<이걸 넣으면 면접관이 물게 되는 것>"
[상위 기술 결정 2~4개]
> **Before→After 샘플** (상위 🎣 1~2개만):
> ~~"<밋밋한 원문 그대로>"~~ → "<①메커니즘·②대안·④비용을 끼운 시니어 버전>"
### 전역·표지
[프로젝트에 안 묶이는 브랜딩/과장 — 위와 같은 🚩 카드 형식]
## 전수 대조 커버리지
- 텍스트: N개 섹션 확인
- 이미지: M개 확인 / K개 미확인(사유)
- 캡션↔실측 불일치: X곳 / 다이어그램↔서사 불일치: Y곳
## 우선순위 액션 (상위 3~5)
1. [노력 대비 효과 큰 순서로]
주의사항 (반드시 지킨다)
- 날조 금지. 모순은 양쪽 근거를 인용할 수 있을 때만 보고한다("표엔 A, 그래프엔 B"). 근거 없이 "이상하다"고 쓰지 않는다.
- 불명은 불명으로. 확인 불가한 성과는 "근거 불충분"으로 표기하되 부정적으로 추측하지 않는다(예: 대시보드를 못 봤으면 "미확인", "조작으로 보임" 아님).
- 회의는 리스크에 비례. 사소한 저위험 항목을 무한 의심하지 않는다. 대표 셀링 포인트·핵심 수치에 화력을 집중한다(scalpel, not lifestyle).
- 경력 눈높이. 신입/주니어에게 시니어 시스템 설계를 요구하지 않는다. 단 과장·모순·측정 오류는 경력 무관 감점이다.
- 개선안은 실행 가능하게. 감점만 던지지 말고 "이렇게 바꿔라"를 항상 붙인다. 특히 유형 8은 사용자가 실제로 저울질한 대안만 쓰도록 경고한다(안 해본 대안을 지어내면 후속질문에서 털린다).
- 코드 리뷰가 아니다. 의사결정·수치 정합성·서사 신뢰도를 본다.
연결 스킬
| 스킬 | 관계 |
|---|
cartesian-doubt | 이 스킬의 추론 엔진(의심 사다리 + 네 규칙 + evil-demon). 더 깊은 검증이 필요하면 참조 |
hiring-sim-portfolio-review | 합격/탈락 채점표. 이 스킬과 2단 구성(스크리닝→감점 적발) |
hiring-prep-doc-feedback | 초안 단계 방향 잡기(감점 적발은 완성본 대상) |
hiring-sim-interview | 여기서 나온 ▶후속질문을 실제 면접 시뮬레이션 문항으로 |