techeer-sv/career-skills/hiring-sim-resume-redteam
Claude Code and agent skill by techeer-sv/career-skills
- community
Checking that the SKILL.md file is still in the repository.
면접관 관점에서 이력서의 감점 요소를 적발하는 비판적 레드팀 리뷰. 이력서 수치가 현실적으로 말이 되는지 근거(규모 추정·리서치)로 검증하고, 첨부된 GitHub 링크의 실제 코드가 이력서 주장대로 구현·품질·보안이 맞는지, 블로그 링크 내용이 사실·현실적인지를 데카르트 방법적 회의로 직접 대조하고, 지원 직군(백엔드·프론트엔드·풀스택·AI·임베디드·로보틱스)의 최신 채용 기대 역량 대비 공백(없는 역량·얕은 깊이)까지 짚어 "면접관이 파고들 감점 포인트"를 심각도별로 산출합니다. PASS/REJECT 채점이 아닙니다.
Install
npx vskill@latest install techeer-sv/career-skills/hiring-sim-resume-redteamSKILL.md
이력서 레드팀 리뷰 (면접관 감점 포인트 적발)
이력서를 가장 비판적인 면접관의 눈으로 읽고, 라이브 면접에서 파고들리거나 감점될 지점만 골라낸다. 합격/탈락 스크리닝이 아니라, "어디서 깎이고 어디서 털리는가"를 포렌식으로 적발하는 레드팀 렌즈다.
핵심: 이력서에 적힌 글·수치·링크를 액면 그대로 믿지 않는다. 포트폴리오는 표·대시보드로 내부 대조가 되지만, 이력서는 글 기반이라 대조할 근거가 이력서 안에 없다. 그래서 밖에서 근거를 끌어온다 — 수치는 규모 추정·리서치로, 첨부된 GitHub 코드·블로그는 직접 읽어 대조한다.
이 리뷰의 독자는 면접관/평가자다 — 남(외부 후보)의 이력서·공개 레포를 본다는 가정. 산출은 "지원자님 이렇게 고치세요"가 아니라 감점 판정 + 면접에서 검증·반증하는 법이다.
언제 쓰나 / 안 쓰나
쓴다: 이력서 제출 전 마지막 검증, "면접관이 뭘 물어볼까"가 궁금할 때, 수치·GitHub·블로그가 붙은 기술 이력서, 내 이력서 허점을 스스로 먼저 찾고 싶을 때. 안 쓴다: 초안 뼈대만 있어 검증할 근거가 없을 때(→ hiring-prep-doc-feedback), 합격 여부만 알고 싶을 때(→ hiring-sim-resume-review), 단순 오탈자 교정.
핵심 엔진 — Cartesian Doubt (방법적 회의)
cartesian-doubt의 의심 사다리와 네 규칙을 이력서용으로 차용한다. 원리: 액면(주장)과 검증된 사실을 분리하고, 하중을 받는 주장만 실제로 대조한다. 회의는 리스크에 비례해서만 올린다(사소한 걸 다 의심하는 건 분석 마비이지 엄밀함이 아니다).
의심의 사다리
| 레벨 | 데카르트 | 이력서에서 | 언제 | |
|---|---|---|---|---|
| L1 감각의 기만 | 지각은 못 믿는다 | 수치가 거짓말한다 — 정량 수치를 액면으로 믿지 말고 규모 추정(Fermi)·회사 규모 리서치로 현실성 대조 | 항상 (모든 수치) | |
| L2 꿈의 논증 | 깨어있음/꿈 구분 불가 | 글이 말하는 것 ≠ 실제 산출물 — 이력서 주장 ↔ 첨부 GitHub 코드·블로그 실제 내용이 일치하는가 | 링크가 있을 때 항상 | |
| L3 악령 | 악의적 존재가 속인다 | 최악의 적대적 면접관 — 핵심 셀링 포인트마다 "악의적으로 파고들면 어디서 무너지나" 시뮬레이션 | 핵심 주장마다 |
네 규칙 → [검증됨 / 모순 / 가정 / 불명] 라벨
각 핵심 주장에 라벨을 붙이고 검증됨만 강점으로 인정한다. ① 증거(명석·판명하지 않으면 사실로 안 받음) ② 분석(항목→주장→수치로 쪼갬) ③ 순서(확실한 것부터) ④ 열거(모든 항목·모든 링크 커버, 못 본 것은 "미확인").
4대 검증 엔진 (이력서 특화)
엔진 A · 수치 현실성 (규모 추정 + 리서치)
이력서 수치는 내부 대조가 안 되니 밖에서 검증한다.
- Fermi 추정: 주장 수치를 회사 규모·트래픽·팀 크기·기간으로 역산해 물리적으로 가능한지. 예) "일 1억 건 처리"인데 서비스 MAU가 수만이면 모순 · "3명이 2주에 MSA 12개"는 비현실 · "응답 10배 개선"의 baseline이 비정상적으로 느렸던 건 아닌지.
- 회사·도메인 리서치:
hiring-common/interview-research.md방식으로 회사 규모·서비스 트래픽을 조사해 대조. 확인 불가면 "규모 미확인"으로(부정 추측 금지). - 기준 함정: "성능 N배"의 baseline, "99.9% 가용성"을 어떻게 쟀는지, "대용량/실시간"의 실제 규모.
- 라벨: 물리적 가능+근거 [검증됨] · 리서치와 어긋남 [모순] · 근거 없이 정밀 [가정] · 확인 불가 [불명].
엔진 B · GitHub 코드 대조 (링크 첨부 시 필수)
이력서에 GitHub 링크가 있으면 실제 코드를 읽어 주장과 대조한다. 프로젝트 옆에 첨부된 링크를 그대로 따라간다 — 대개 조직(팀) 레포다. 개인 계정 레포 목록·이름 검색이 아니라 첨부 링크 자체가 정답(개인 계정엔 팀 프로젝트가 없다). PDF면 텍스트에 URL이 안 보여도 하이퍼링크 annotation을 추출한다(PyMuPDF page.get_links()의 uri). 단, 파일을 하나씩 열지 않는다 — 아래 순서로 타겟 검색해 빠르고 토큰 효율적으로 해당 부분만 본다.
효율적 코드 탐색 (clone → 검색 → 해당 부분만 읽기)
- 얕은 클론 1회:
git clone --depth 1 --filter=blob:none <repo> /tmp/rt-<name>— URL로 파일을 하나씩 읽는 것보다 압도적으로 빠르고 싸다. (기여도 확인이 필요하면--filter없이 얕은 히스토리로.) - 구조 먼저:
find/트리·README로 모듈·서비스 경계만 잡아 "어디 있을지"를 좁힌다(전수 읽기 X). - 주장 → 키워드 타겟 `search`(ripgrep): 이력서 주장에서 심볼·용어를 뽑아 검색해 파일:라인 히트만 얻는다. 예) SAGA→
Saga|orchestrat|compensat, 멱등성→idempoten|dedup|processed_event, 분산락→SETNX|Redisson|distributed.?lock|\.lua, 서킷브레이커→CircuitBreaker|resilience4j, 어노테이션@Transactional|@KafkaListener. - 히트 주변만 `read`: 매치된 파일의 해당 라인 범위만 읽는다(전체 파일 X).
- 기여도(핵심):
git shortlog -sne로 본인 커밋 비중, 그리고 이력서가 주장한 각 기능 커밋의 실제 author를 확인한다 —git log -i --grep='<기능 키워드>' --format='%an ┃ %s'·git log -S'<심볼>' --format='%an'. 지원자 커밋이 그 기능과 다른 영역이면(예: 통계 페이지만 했는데 "무한스크롤·Tanstack 마이그레이션"을 적음) 팀 성과를 개인 성과로 적은 기여도 과장. 단 pair-programming·다른 커밋메시지 가능성은 후속질문으로 확인. - 못 찾으면 "구현 미발견"으로 기록(추측 금지). 클론 실패(사설·대용량)면 GitHub 코드 검색(UI/API) 또는 README·경로 URL로 폴백.
- 구현 존재: 이력서 주장 기능·기술(예: "Redis 멱등성 키로 중복 차단", "SAGA 오케스트레이션")이 레포에 실제로 구현돼 있는가. 파일·커밋으로 확인.
- 구현 적합성: 주장대로 동작하는 코드인가, 이름만 그럴듯한가(예: "분산락"이라며 단일 인스턴스 뮤텍스 · "비동기"라며 블로킹 호출).
- 코드 품질·취약점: 명백한 버그·안티패턴·보안 취약점(하드코딩 시크릿, SQL 인젝션, 미검증 입력, 레이스 컨디션)·테스트 부재.
- 기여도: 본인 커밋 비중(shortlog) + 주장한 기능 커밋의 실제 author가 본인인지. 남이 한 최적화를 "내가 구현"으로 적었으면 기여도 과장(레드팀 핵심 적발 지점).
- 사설·삭제·인증 필요 레포는 "접근 불가"로 표기하고 추측하지 않는다.
엔진 C · 블로그 대조 (링크 첨부 시)
블로그 링크가 있으면 read로 직접 읽고 방법적 회의를 적용한다.
- 사실·현실성: 기술적으로 말이 되는가, 수치·주장이 과장/오류는 아닌가.
- 면접관이 의아해할 지점: 개념 오용, 인과 과장("이렇게 하면 X배 빨라진다"의 근거 부재), 남의 글 짜깁기 흔적, 결론과 근거의 불일치.
- 이력서 ↔ 블로그 일치: 이력서엔 "직접 설계"인데 블로그는 튜토리얼 따라하기 수준은 아닌지.
- 라벨: 사실·정확 [검증됨] · 이력서와 어긋남 [모순] · 기술 오류·과장 [의심] · 확인 불가 [불명].
엔진 D · 포지션 시장 기대 역량 공백 (coverage gap)
지원 직군이 시장에서 기대하는 베이스라인 역량과 이력서를 대조해, 없는 것·얕은 것을 약점으로 잡는다. 거짓(감점)이 아니라 경쟁 공백 — "이력서에 근거가 없다 → 스크리닝에서 불리 + 면접 확인 대상"이다.
- 직군 확정 → 필요한 것만 로드(토큰 효율):
references/position-competency-map.md(규칙+공통+라우팅)를 읽고, 후보 직군 파일 1개만 추가로 읽는다(예: 프론트면references/positions/frontend.md). 6개 직군을 통째로 읽지 말 것. 각 항목을 [충족(근거)/부분/공백] 으로 매핑. - 두 종류 공백: ① 역량 부재(언급 자체 없음) ② 깊이 공백(성과 수치만 있고 측정·판단·개선 과정이 없음 — 예: 부하테스트로 병목을 어떻게 찾았는지 없이 "N% 개선"만).
- 최신성: 타깃 공고가 있으면
web_search로 그 회사가 강조하는 역량을 조사해 보정. 없으면 맵의 일반 기준. - 눈높이: 신입에게 대규모 실무를 요구하진 않되, 직무 핵심에 가까운데 개념·근접경험·학습흔적조차 없으면 심각도↑(🟡→🟠). "경험 없을 것"이라 단정 금지 — "이력서에 근거 없음".
- 라벨: 근거로 충족 [충족] · 언급만/얕음 [부분] · 없음 [공백].
실행 절차
Step 1 · 입력 수집
- 이력서 (필수): 경로(PDF/MD/TXT). 미제공 시 대기. DOCX는 PDF 변환 요청.
- 첨부 링크 (핵심): 이력서 안의 GitHub·블로그·기타 URL을 전부 추출한다. 이 링크 대조가 이 스킬의 차별점이므로 반드시 확보. 링크가 없으면 엔진 A(수치 현실성) 중심으로 진행.
- 채용 공고·지원 직군 (엔진 D): 타깃 직군(백엔드/프론트/풀스택/AI/임베디드/로보틱스)을 이력서에서 추정하거나 묻는다. 공고가 있으면 붙여넣게 하고, 최신 기대 역량은
web_search로 보정한다. - 경력 수준(신입/주니어/미드/시니어)을 추정하거나 물어 눈높이를 맞춘다.
Step 2 · 전수 열거 + 링크 추출 (규칙 4)
Read로 이력서 전문. 모든 항목·수치·주장을 목록화.- 이력서 내 모든 URL(GitHub/블로그)을 추출해 대조 대상 목록으로.
- 커버리지 기록: 항목 N개 / 링크 M개 확인 / K개 접근 불가(사유).
Step 3 · 4대 엔진 대조
- 엔진 A — 전 수치 현실성(Fermi + 리서치).
- 엔진 B — GitHub 링크마다 코드 대조(구현 존재·적합성·품질·기여도).
- 엔진 C — 블로그 링크마다 내용 대조(사실성·오류·이력서 일치).
- 엔진 D — 직군 기대 역량 대비 공백.
references/position-competency-map.md(공통+라우팅) →references/positions/<직군>.md1개만 읽어 대조.
Step 4 · Cartesian L3 (evil-demon)
각 핵심 주장에 최악의 면접관 후속질문을 만들고, 이력서(+근거)가 방어되는지 판정. 방어 안 되면 감점.
Step 5 · 심각도 + 후속질문
각 finding에 심각도(🔴🟠🟡)와 ▶ 면접관 후속질문을 붙인다.
Step 6 · 출력
아래 출력 포맷으로 대화에 정리해 제시. 사용자가 원하면 .md로 저장.
감점 유형 카탈로그
| # | 유형 | 정의 | 신호 예시 | |
|---|---|---|---|---|
| 1 | 수치 비현실성 (A) | 규모 추정·리서치로 물리적 불가능/과장 | 회사 규모 대비 불가능한 트래픽·처리량 · baseline이 비정상적으로 느린 "N배 개선" | |
| 2 | 코드–주장 불일치 (B) | 이력서 주장이 레포에 없거나 다르게 구현 | "SAGA 구현"인데 레포엔 단순 동기 호출 · "분산락"이 로컬 뮤텍스 | |
| 3 | 코드 품질·취약점 (B) | 버그·보안·안티패턴·테스트 부재 | 하드코딩 시크릿 · 미검증 입력 · 레이스 컨디션 · 테스트 0 | |
| 4 | 블로그 오류·과장 (C) | 기술 오류·근거 없는 수치·짜깁기 | 개념 오용 · "X배 빨라짐" 근거 부재 · 결론↔근거 불일치 | |
| 5 | 기여도 과장 | 팀 성과를 개인 성과처럼 | "내가 설계·구현"인데 커밋/역할이 미미 | |
| 6 | 용어 인플레 | buzzword 오용 | 큐 버퍼링을 "backpressure" · 브로커 도입에 "SPOF 제거" · "exactly-once" 오용 | |
| 7 | 인과 과장 | 상관/부분 기여를 전체 원인으로 | 프레임워크 교체+인덱스 최적화를 묶어 "전환해서 60%↓" | |
| 8 | 검증 불가 소프트 수치 | 측정 근거 없는 정밀 수치 | "생산성 3배" · "논의 80% 감소" | |
| 9 | 기능 나열(밋밋) | 문제–해결–성과 없이 "구현했다"만 | 감점보다 손해 저하 → 별도 태그 [밋밋] | |
| 10 | 포지션 역량 공백 (D) | 직군 시장 기대 역량이 이력서에 없거나 얕음 | 백엔드인데 부하테스트/HA/K8s/MSA 언급 0 · AI인데 RAG 평가·eval 없음 · 성과 수치만 있고 측정 과정 없음 |
9번은 "틀린 것"이 아니라 "손해 보는 것". 감점과 별개 축으로, 각 밋밋한 항목은 면접관이문제→해결(기술 판단)→정량 성과중 빈 곳을 심화 질문으로 캐서 변별하는 지점이다(답하면 강점, 못 하면 레시피 수준). 근거는 실제 한 것만.
10번도 "틀린 것"이 아니라 "경쟁에서 밀리는 것" — 감점과 별개 축(📉)으로 빼서, 없는 역량·얕은 깊이를 신입 눈높이로 보정해 보고한다.
심각도 기준
출력 포맷
주의사항 (반드시 지킨다)
- 날조 금지. 모순은 근거를 인용할 수 있을 때만 보고한다(리서치 결과 · 코드 파일/라인 · 블로그 원문). 근거 없이 "이상하다"고 쓰지 않는다.
- 불명은 불명으로. 접근 불가 링크·미확인 규모는 "미확인"으로 표기하고 부정적으로 추측하지 않는다(사설 레포를 "구현 안 했을 것"이라 단정 금지).
- 회의는 리스크에 비례. 대표 셀링 포인트·핵심 수치에 화력을 집중한다(scalpel, not lifestyle).
- 경력 눈높이. 신입/주니어에게 시니어 설계를 요구하지 않는다. 단 과장·수치 비현실·코드–주장 불일치·기여도 과장은 경력 무관 감점.
- 역량 공백은 '없음'이지 '거짓'이 아니다. 엔진 D 공백은 감점(오류)과 분리해 📉 축으로 보고하고, 신입 눈높이로 심각도를 보정한다. "이력서에 근거 없음 → 확인·보완 대상"이지 "능력 없음"으로 단정하지 않는다.
- 감점에 검증법을 붙인다. 막연히 깎지 말고 각 감점에 "면접에서 어떻게 확인/반증하나"(링크 열기·라이브 설명·근거 질문)를 붙인다.
- GitHub 대조는 코드 리뷰가 목적이 아니다. "주장과 실제의 일치 + 기본 품질·보안"만 본다. 스타일 트집이 아니라 면접에서 털릴 지점.
- 링크 접근: 공개 레포·블로그만. 인증 필요·403·삭제는 "접근 불가"로.
- 개인정보(연락처·주소)는 평가하지 않는다.
연결 스킬
| 스킬 | 관계 | |
|---|---|---|
cartesian-doubt | 이 스킬의 추론 엔진(의심 사다리 + 네 규칙 + evil-demon). 더 깊은 검증 시 참조 | |
hiring-sim-resume-review | 합격/탈락 스크리닝. 이 스킬과 2단 구성(스크리닝 → 감점 적발) | |
hiring-sim-portfolio-redteam | 포트폴리오 감점 적발. 이력서+포폴 세트로 | |
hiring-prep-doc-feedback | 초안 단계 방향 잡기(감점 적발은 완성본 대상) | |
hiring-sim-interview | 여기서 나온 ▶후속질문을 실제 면접 시뮬레이션 문항으로 |
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hiring-sim-resume-redteam/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/techeer-sv/career-skills/hiring-sim-resume-redteam)