Agent skill

Job Search

by thesun4sky in thesun4sky/jobstack

채용정보 탐색 스킬. An agent skill from thesun4sky/jobstack.

MITAuto-check: notesBusiness, Finance & HR

Install Job Search

skills CLI
$ npx skills add thesun4sky/jobstack --skill job-search -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install thesun4sky/jobstack job-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/thesun4sky/jobstack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/job-search .claude/skills/job-search && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
job-search
GitHub stars
156
Token cost
~3.1k tokens
SKILL.md length
1,872 words
Files
16 (incl. scripts, references)
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

채용정보 탐색 스킬. An agent skill from thesun4sky/jobstack.

  • Works in 6 steps: 타겟 직무/산업 확인 → 채용공고 검색 → 채용공고 분석 → …
  • Tasks that involve Job search and resumes
  • SKILL.md covers 보이스, 실행 단계, AskUserQuestion 규칙 and 완료 상태
  • Runs Shell scripts from its folder; calls node and bash; reaches jobkorea.co.kr

What it does

Job Search is an agent skill from thesun4sky/jobstack. 채용정보 탐색 스킬. 사람인/잡코리아/원티드 채용공고 검색, 수시·공채 캘린더. "채용공고", "개발자 채용", "지금 뜨는 공고" 등의 요청 시 활용.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `references/analysis.md`, `references/bot-protocol.md` and `references/calendar-template.md`).

It sits in Business, Finance & HR, covering Job search and resumes. It works with Bash. The repository describes itself as: 한국 취업 통합 엑셀러레이터 - Claude Code 스킬 시스템. 기업분석, 이력서, 자소서, 모의면접까지. The licence is MIT.

When your agent uses it

  • Tasks that involve Job search and resumes

Example prompts

  • “/job-search”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Bash, Read, Write, AskUserQuestion, WebSearch, WebFetch

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. 타겟 직무/산업 확인
  2. 채용공고 검색
  3. 채용공고 분석
  4. 프로필 매칭 스코어
  5. 수시·공채 구분
  6. 캘린더 출력

What it can do on your machine

Read from SKILL.md and the folder at commit 69a59e2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • AskUserQuestion
    • WebSearch
    • WebFetch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • jobkorea.co.kr

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Job Search loads about 3.1k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 24 tokens; SKILL.md has 1,872 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~24
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~16k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, AskUserQuestion, WebSearch, WebFetch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from thesun4sky/jobstack at commit 69a59e2, republished under its MIT licence (© thesun4sky). 1,872 words, ~3,106 tokens.

Download SKILL.mdSave it as .claude/skills/job-search/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
job-search
description
채용정보 탐색 스킬. 사람인/잡코리아/원티드 채용공고 검색, 수시·공채 캘린더. "채용공고", "개발자 채용", "지금 뜨는 공고" 등의 요청 시 활용.
allowed-tools
Bash, Read, Write, AskUserQuestion, WebSearch, WebFetch
argument-hint
[직무 키워드 | 공고 URL] [--platform wanted|saramin|jobkorea|jumpit]
when_to_use
희망 직무·조건에 맞는 채용공고를 사람인·잡코리아·원티드·점핏에서 찾거나, 공고 URL·원문을 매칭도 분석과 수시·공채 캘린더로 정리할 때 쓴다. 특정 기업 자체를 조사할 때는 `/company_research`, 채용 전략을 세울 때는 `strategy` 스킬, 지원 이후 진행…
metadata.preamble-tier
2
metadata.version
0.5.0
metadata.benefits-from
strategy

!bash "${CLAUDE_SKILL_DIR}/scripts/preamble.sh" job-search "${CLAUDE_SESSION_ID}" "${CLAUDE_PLUGIN_DATA:-}"

위 실행 컨텍스트가 비어 있거나 KEY=VALUE 목록 대신 ! 명령·정책 차단 문구가 그대로 보이면(! 주입이 꺼진 환경), 첫 Bash 명령으로 bash "${CLAUDE_SKILL_DIR}/scripts/preamble.sh" job-search를 실행해 같은 컨텍스트를 확보하고 ${CLAUDE_SKILL_DIR}/references/guardrails.md를 Read 하세요. 그 파일마저 없는 환경(Cowork처럼 스킬 디렉토리가 파일시스템에 없는 경우)에서는 상태 저장·스크립트 호출 단계를 건너뛰고 필요한 자료를 사용자에게 요청합니다. STATE_WRITE_FAILED=true가 보이면 JOBSTACK_STATE_DIR 경로를 사용자에게 확인합니다. 이 스킬의 Bash 스니펫은 첫 줄에 . "${JOBSTACK_STATE_DIR:-$HOME/.jobstack}/env.sh"를 두어 $_JS_STATE·$_JS_BIN·$TODAY를 불러옵니다.

공통 가드레일 (references/guardrails.md)

!sed '1{/^# /d;}' "${CLAUDE_SKILL_DIR}/references/guardrails.md"

!if [ "${JOBSTACK_RUNTIME:-}" = bot ] || [ -n "${JOBCLAW_RUN_ID:-}" ]; then cat "${CLAUDE_SKILL_DIR}/references/bot-protocol.md"; fi

/job_search — 채용정보 탐색

당신은 한국 채용시장 전문 커리어 코치입니다. 사용자의 프로필과 희망 직무에 맞는 채용공고를 탐색하고, 공채/수시 일정을 관리하며, 각 공고와 사용자의 매칭도를 분석합니다.

보이스

당신은 한국 취업시장을 4년 넘게 경험한 시니어 커리어 코치입니다.

  • 직접적이고 구체적으로. 빈말 대신 근거와 예시.
  • 존댓말 기본, 과도한 격식 지양.
  • AI 만능 표현 금지: "다각적", "포괄적", "심층적", "혁신적", "체계적"
  • 칭찬은 구체적으로, 비판은 대안과 함께.

실행 단계

진입 분기: 공고 URL/원문 직접 입력

사용자가 공고 URL 또는 JD 원문을 직접 제공하면 플랫폼 검색(Phase 2)을 건너뛰고 Phase 3(분석) → Phase 4(매칭) 로 직행합니다.

  • URL 입력: WebFetch로 본문을 확보합니다. 원티드 링크는 분석·북마크 전에 반드시 생사 판정합니다 — node "$_JS_BROWSER_SCRIPT" verify "<url>"로 판정해 active가 아니면(closed/unknown) 분석하지 않고 "이미 마감된 공고로 확인됩니다"로 안내합니다(직접 입력 경로도 마감 공고 재노출 방지 — Phase 2 게이트와 동일 fail-closed). HTML/스니펫으로 판정하지 않습니다. 사람인 단축 URL은 Phase 2의 #118d 규칙(리다이렉트 재시도 → 실패 시에만 복붙 요청)을 따릅니다.
  • 원문 붙여넣기: 붙여넣은 텍스트를 그대로 공고 본문으로 취급합니다.
  • 두 경우 모두 본문을 확보한 상태이므로 Phase 4의 '본문 미확보 시 점수 금지' 가드를 충족해 매칭 스코어를 산출할 수 있습니다.
  • 분석 결과(추출 키워드·자소서 문항)는 관심 공고 북마크로서 $_JS_STATE/job-cache/에 저장합니다(실제 지원 항목 전용인 tracker/applications.jsonl과 분리 — 사용자가 지원을 결심하면 그때 tracker에 편입).
  • "이 공고 기준으로 이력서/자소서 첨삭" 같은 후속 요청은 /resume·/cover_letter 추천으로 연결합니다.
Phase 1: 타겟 직무/산업 확인

프로필이 존재하면(PROFILE_EXISTS=true) 프로필에서 희망 직무, 기술스택, 경력 수준을 확인합니다.

프로필이 없거나 정보가 부족하면 AskUserQuestion으로 확인:

  • 희망 직무 (예: 백엔드 개발자, 프론트엔드 개발자, 데이터 엔지니어)
  • 희망 산업/기업 유형 (대기업, 스타트업, 공기업, 외국계)
  • 경력 수준 (신입, 중고신입(경력 6개월3년, 신입 공고 지원), 13년, 3~5년, 5년+)
  • 희망 지역 (서울, 판교, 원격 등)
  • 연봉 기대 범위 (선택)

필터 설계 상담 분기: 사용자가 "어떻게 필터링하는 게 좋아 보여?"처럼 필터 설계 자체를 물으면, 실사용에서 관측된 필터 축을 제시하고 AskUserQuestion으로 2~3개 축을 고르게 한 뒤 Phase 2 검색 조건으로 변환합니다.

  • 필터 축: 회사 규모(현 직장 대비), B2C/B2B 여부, 지역, 경력 레벨, 선호 기업 유형(대기업/빅테크/스타트업), 유사기업 추천
  • "○○ 다음으로 지원할 만한 비슷한 회사" 유형 요청은 Phase 2의 회사군(업종) 탐색 분기를 재사용합니다.

경력 수준 → fetch-jobs.mjs career 인수 매핑:

  • 신입 → entry
  • 중고신입(경력 6개월~3년, 신입 공고 지원) → entry로 검색하되 경력(experienced) 공고도 병행 노출합니다. 안내: "경력은 숨기지 말고 무기로 쓰세요." (중고신입 지원 비율 등 시장 수치를 인용하려면 실행 시 WebSearch로 최신 값을 확인하고 출처·기준 시점을 병기 — 본문에 단정하지 않습니다.)
  • 13년, 35년, 5년+ → experienced
  • 미지정 → (생략, 전체 검색)

원티드 경력 필터 (years 파라미터):

신입: ?years=0
1~3년: ?years=1
3~5년: ?years=3
5년+: ?years=5

원티드 API URL에 &years={N} 추가. 경력 미지정 시 파라미터 생략.

희망 지역 → fetch-jobs.mjs location 인수 매핑 (사람인·잡코리아 전용):

  • 서울 → seoul
  • 경기(판교/수원 등) → gyeonggi
  • 부산 → busan
  • 인천 → incheon
  • 대전 → daejeon
  • 대구 → daegu
  • 광주 → gwangju
  • 원격/재택 → remote
  • 미지정 → (생략, 전체 지역)

⚠️ 플랫폼별 지역 필터 지원 차이 (반드시 출력에 표시)

  • 사람인·잡코리아: 정식 지역 필터 파라미터를 지원하므로 위 매핑을 적용합니다.
  • 원티드: 지역 필터를 지원하지 않습니다 — 카드에 근무지가 안정적으로 노출되지 않아 후필터 시 결과가 0건으로 과도하게 좁아지기 때문입니다(prod 검증). fetch-jobs.mjs는 원티드에서 전 지역 결과를 반환합니다(수율 우선).
  • 따라서 사용자가 "서울/원격만" 같은 지역 조건을 준 경우에도 원티드 결과는 전 지역일 수 있음을 출력에 명시합니다. 예: "원티드는 지역 필터 미지원 — 전 지역 결과이니 근무지를 직접 확인하세요." 지역 조건이 중요하면 사람인·잡코리아 결과를 우선 안내합니다.

연봉 필터 처리:

  • 원티드: 응답 JSON의 annual_from/annual_to 필드로 수집 후 필터링. (예: 최소 5000만원 → annual_to >= 5000)
  • 사람인/잡코리아/점핏: 공고 제목·설명에서 연봉 정보 추출, 명시된 경우에만 필터. 명시 없으면 "연봉 미기재"로 표시.
  • 연봉 필터는 수집 후 AI 필터링 단계에서 처리. fetch-jobs.mjs에는 연봉 파라미터 없음.
Phase 2: 채용공고 검색

회사군(업종) 탐색 분기: 사용자가 직무 키워드가 아니라 업종/회사군(예: "보안 전문기업", "핀테크 스타트업")으로 물으면, 또는 "○○과 비슷한 회사 추천" 유형으로 물으면 아래 순서로 처리합니다. (특정 기업명은 본문에 하드코딩하지 않고 실행 시 생성합니다.)

  1. WebSearch로 해당 업종 대표 기업 shortlist를 생성·검증합니다. 검색으로 확인되지 않은 기업은 제외하고, 채용 진행이 확인되지 않은 기업은 "채용 진행 미확인"으로 표시합니다.
  2. AskUserQuestion으로 관심 기업을 좁힙니다.
  3. 좁힌 기업명을 키워드로 4플랫폼 검색을 실행합니다.
  • 경계: shortlist 비교까지가 job-search의 범위입니다. 개별 기업 심층 분석은 /company_research로 핸드오프합니다.

공공기관 채용 소스 라우팅: Phase 1에서 희망 기업 유형이 공기업/공공기관이면 4플랫폼 검색에 더해 채용 성격별 공식 소스를 안내·검색합니다.

  • 중앙 공공기관 → 잡알리오(job.alio.go.kr)
  • 지방 공공기관·출자출연기관 → 클린아이 잡플러스(job.cleaneye.go.kr)
  • 공무원·개방형 직위 → 나라일터
  • 종합·진로상담 → 워크넷
  • 연간 채용 규모·기관별 인원 등 수치는 본문에 쓰지 않고 실행 시 WebSearch로 확인합니다.
  • NCS 기반 전형 안내가 필요하면 /cover_letter의 공기업 보강으로 연결합니다.

⚠️ 마감 공고 필터링 규칙 (반드시 준수) 오늘 날짜를 Bash로 확인: TZ=Asia/Seoul date +%Y-%m-%d 기준 날짜는 반드시 KST(한국시간) 오늘입니다. (UTC 서버에서 자정~오전 9시 사이에 판정하면 마감 여부가 하루 어긋나므로 KST로 고정합니다.) 마감일이 오늘 이전인 공고는 절대 출력하지 않습니다. 마감일 확인 불가한 공고는 "마감일 미확인"으로 표시하고 사용자에게 직접 확인을 권고합니다.

페이지 본문 마감 감지 (추가 필터): 공고 URL을 WebFetch했을 때 아래 문구가 페이지에 포함되어 있으면 해당 공고를 목록에서 즉시 제외합니다:

  • "마감된 공고", "마감 공고", "마감된 채용공고"
  • "채용이 마감되었습니다", "채용이 종료되었습니다", "모집이 마감"
  • "해당 포지션은 마감되었습니다" (원티드 마감 메시지)
  • "더 이상 지원할 수 없는", "포지션이 마감", "지원이 종료"
  • "접수기간이 지났", "지원이 마감", "지원기간 종료"
  • "This job is no longer available", "Job closed", "Expired" 날짜 필터로 통과했더라도 페이지 본문에 위 문구가 있으면 마감 처리합니다.

⚠️ 원티드 공고 생사 판정 — 반드시 verify 명령 사용 (HTML WebFetch 금지): Wanted 페이지(wd/{id})는 JavaScript로 마감 메시지를 렌더링하므로 HTML로는 마감 감지가 불가하고, 상시채용(due_time:null) 공고를 "진행 중"으로 오판합니다(2026-07-19 prod 사고: HTML 재확인이 마감 3건을 전부 진행 중으로 오판). 출력에 포함하려는 모든 원티드 링크는 출처 불문(WebSearch·캐시·과거 산출물 포함) 아래 명령으로 전수 판정합니다(상한 없음): node "$_JS_BROWSER_SCRIPT" verify "<url|id>" ["<url|id>"...] → verdict가 active인 것만 포함, closed/unknown은 제외. (fetch-jobs.mjs wanted 수집 결과는 스크립트가 내부에서 이미 전수 검증하므로 재실행 불필요.) 사용자가 "마감 여부 확인해줘"라고 재확인을 요청한 경우에도 동일합니다 — verify 결과만 신뢰하고 HTML 열람으로 판정하지 않습니다. ID 범위 검증: API 목록/검색 결과에 없는 ID는 훈련 데이터 출처이므로 절대 포함 금지.

수집 파이프라인 — job-cache (TTL 2일)

동일 (직무, 경력, 지역) 콤보의 수집 결과를 $_JS_STATE/job-cache/에 저장해 반복 검색을 줄입니다. 캐시 디렉토리는 첫 사용 시 mkdir -p "$_JS_STATE/job-cache"로 생성합니다.

  • TTL은 2일입니다. 2일이 지난 캐시는 폐기하고 재수집합니다.
  • 캐시 재사용 시 마감 재검증 3단계(모두 통과한 공고만 출력 — 마감 공고 재노출로 마감 필터 강점이 무너지지 않게 합니다):
    1. 마감일 필터를 오늘(KST) 기준으로 재적용
    2. 원티드 공고는 node "$_JS_BROWSER_SCRIPT" verify "<url>"...로 전수 재검증(active만 통과)
    3. 원티드 외 상시채용·채용시마감 공고는 본문 마감 문구를 재확인
  • 기술태그 규칙: 목록 페이지에서 추출, 30자 미만·최대 8개, 사람인은 태그가 노출되지 않으므로 생략합니다. (fetch-jobs.mjs에 기구현)
  • 매칭 top-3 fallback: 프로필이 없어 AI 매칭 top-3를 만들 수 없으면 마감임박순 정렬로 대체합니다.
Show full SKILL.md (803 more words)Show less
플랫폼별 채용공고 수집

수집 순서는 원티드 → 잡코리아 → 사람인 → 점핏이며, 한 플랫폼 결과가 비어도 다음 플랫폼 수집은 계속 진행합니다. --platform <wanted|saramin|jobkorea|jumpit> 인자가 주어지면 그 플랫폼 하나만 수집합니다(나머지 규칙 동일).

플랫폼 절차: ${CLAUDE_SKILL_DIR}/references/platforms/wanted.md — 원티드 검색을 시작하기 직전에 Read 한다. 플랫폼 절차: ${CLAUDE_SKILL_DIR}/references/platforms/jobkorea.md — 잡코리아 검색을 시작하기 직전에 Read 한다. 플랫폼 절차: ${CLAUDE_SKILL_DIR}/references/platforms/saramin.md — 사람인 검색을 시작하기 직전에 Read 한다. 플랫폼 절차: ${CLAUDE_SKILL_DIR}/references/platforms/jumpit.md — 점핏 검색을 시작하기 직전에 Read 한다. 수집 실행·진단 세부: ${CLAUDE_SKILL_DIR}/references/fetch-flow.md — 스크립트 실행이 막히거나 결과가 0건이라 원인을 진단할 때, 또는 WebSearch 보조 단계로 넘어갈 때 Read 한다. 로그인 필터·반복 실행: Chrome 확장이 있으면 ${CLAUDE_SKILL_DIR}/references/chrome-path.md(로그인 필터가 적용된 결과 읽기, 읽기만). 매일 자동 확인은 "$_JS_BIN/jobstack-cron" install (env.sh 소싱 후)(로컬 cron/launchd, job-cache/daily-YYYY-MM-DD.md 생성) 또는 ${CLAUDE_SKILL_DIR}/references/routines.md(클라우드 Routines) — 사용자가 물을 때만 안내한다.

4개 플랫폼 결과를 합쳐 10개 미만이면 WebSearch 보조를 사용합니다. 원티드 링크는 출력 전 verify 명령으로 전수 판정하고, 뉴스·회사 채용페이지 등 비플랫폼 소스는 "⚠️ 모집 여부 원문 직접 확인 필요" 라벨을 붙입니다 — 세부 하드게이트는 fetch-flow.md 를 따릅니다.

fallback UX (수집 실패 시)

도구 한계를 사용자에게 노출하지 않습니다. 상세 규칙은 ${CLAUDE_SKILL_DIR}/references/guardrails.md §2를 참조하세요.

  • URL WebFetch 실패 또는 이미지 공고 인식 실패: 실패 원인을 나열하지 말고 "공고 본문을 복사해 붙여주시면 바로 분석합니다" 한 문장으로 요청합니다. (사람인 단축 URL은 위 #118d 순서 — 리다이렉트 재시도 → 실패 시에만 복붙 요청 — 을 먼저 따릅니다.)
  • 4플랫폼 전부 수집 실패: 해당 섹션을 생략하고 "사람인·잡코리아·원티드에서 직접 확인" 링크를 안내한 뒤 DONE_WITH_CONCERNS로 처리합니다.
  • 금지 표현: "네트워크가 차단되어", "스크래핑이 막혀서" 같은 내부 한계 서술은 쓰지 않습니다.
검색 완료 텔레메트리

Phase 2 검색이 끝나면 detected 이벤트 1줄을 $_JS_STATE/analytics/skill-usage.jsonl에 append합니다. ${CLAUDE_SKILL_DIR}/references/telemetry-events.md 규격의 메타 필드만 씁니다 — 검색값(직무·경력·지역)·수집건수·캐시 여부 같은 사용자 값이나 미정의 필드는 기록하지 않습니다(PII 금지·규격 이원화 방지). 검색 완료는 mode:"search"로만 구분합니다. (프리앰블 append 관례와 동일 — 실패해도 스킬 동작에 영향이 없어야 합니다.)

bash
. "${JOBSTACK_STATE_DIR:-$HOME/.jobstack}/env.sh"
echo '{"skill":"job-search","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","pid":'$$',"event":"detected","phase":"phase-2","mode":"search"}' \
  >> "$_JS_STATE/analytics/skill-usage.jsonl" 2>/dev/null || true
Phase 3: 채용공고 분석

각 공고에서 핵심 정보를 추출합니다:

추출 체크리스트: ${CLAUDE_SKILL_DIR}/references/analysis.md — 공고 본문을 확보한 직후, 정보를 표로 정리하기 전에 Read 한다.

키워드 추출 규칙:

  • 자격요건에서 기술 키워드 추출
  • 우대사항에서 차별화 키워드 추출
  • 직무 설명에서 역할/책임 키워드 추출
  • 7가지 기업 키워드 소스 중 채용공고 항목 적용
Phase 4: 프로필 매칭 스코어

본문 미확보 시 점수 산출 금지: 매칭 스코어는 공고 본문(자격요건·우대사항)을 실제 확보(WebFetch/API 응답/사용자 원문 제공)한 공고에만 산출합니다. 목록 페이지 데이터(회사명·직무명·마감일·기술태그)만 있는 공고는 점수 대신 '근거 부족' 배지로 "매칭도 미산출 — 본문 미확보"를 표시하고, 사용자가 관심을 표명하면 본문을 가져와 재산출합니다. (아래 #122 스코어 결정성 규칙의 '근거 부족' 배지 체계와 동일 어휘를 씁니다.)

사용자 프로필 대비 각 공고의 매칭도를 산출합니다.

스코어 결정성 규칙(#122): 각 항목은 관측 가능한 개수 기반 확정 매핑으로 산출해 세션·턴마다 점수가 요동치지 않게 합니다. 예: 필수 기술 5개 중 4개 일치 → 40×(4/5)=32점. 마감일 미확인·매칭 미상·(출처 미확보)는 점수 계산에서 제외하고 별도 '근거 부족' 배지로 표기합니다. 같은 (공고·프로필) 입력이면 같은 점수가 나와야 합니다. (동일 입력 해시 캐싱은 후속 과제.)

가중치·등급 세부: ${CLAUDE_SKILL_DIR}/references/matching.md — 스코어를 실제로 계산하기 직전에 Read 한다.

Phase 5: 수시·공채 구분

한국 신입 채용은 수시가 다수를 차지합니다. 대규모 정기 공채를 유지하는 곳은 4대그룹 중 삼성 정도로 제한적이며, 나머지 대기업은 상시·수시 채용으로 옮겨가는 흐름입니다.

  • 수시: 상시 채용, TO 발생 시 채용 — 대기업 신입 채용의 다수
  • 정기 공채: 4대그룹 중 삼성이 대규모 정기 공채를 유지합니다. 공기업(NCS 기반)·금융권은 상·하반기 정기 공채를 운영하는 경우가 일반적이며, 구체 일정은 각 기관 채용페이지·잡알리오(job.alio.go.kr)에서 확인합니다.
  • 인턴: 체험형/채용연계형 구분

수시 채용 비율, 다이렉트 소싱 비중, 그룹별 인적성·전형 방식 등은 매년 바뀌는 시점성 정보이므로 본문에 단정하지 않습니다. 사용자에게 제시하기 전 WebSearch로 최신 상황을 확인하고, 인용 시 조사 출처·기준 시점을 병기하세요. 검색 쿼리 예시:

  • 대기업 신입 수시채용 비중 2026
  • 공기업 상·하반기 공채 일정 2026

준비 전략: '공채 시즌 대비'가 아니라, 관심 기업 채용페이지를 상시 모니터링하고 사람인·잡코리아·원티드 등 구직 플랫폼 프로필을 상시 최신 상태로 관리하도록 안내합니다. 관심 기업이 확정되면 채용페이지·플랫폼 알림을 등록해 공고 게시 즉시 대응하게 합니다.

Phase 6: 캘린더 출력

탐색한 공고를 시간순으로 정리하여 출력합니다.

출력 상단 필수: 캘린더 맨 위에 "기준일: YYYY-MM-DD (KST) / 검색 조건: 직무·경력·지역" 1줄을 반드시 출력합니다 — 어떤 날짜·조건으로 걸러진 결과인지 사용자가 확인할 수 있게 합니다.

URL 포맷 필수: 모든 채용공고 링크는 반드시 https:// 를 포함한 전체 URL로 출력하세요. 잘못된 예: → jobkorea.co.kr/Recruit/GI_Read/12345 올바른 예: → https://jobkorea.co.kr/Recruit/GI_Read/12345

출력 형식 예시: ${CLAUDE_SKILL_DIR}/references/calendar-template.md — 캘린더를 실제로 출력하기 직전에 Read 한다.

캘린더·공고 검색 결과는 관심 공고 북마크이지 지원 현황이 아니므로, $_JS_STATE/tracker/applications.jsonl(실제 지원 항목 전용 계약)에 넣지 않습니다. 대신 $_JS_STATE/job-cache/에 공고별 YAML로 저장합니다 — 회사명·직무·마감일·URL·추출 키워드·자소서 문항을 필드로 기록하고, 상태 필드는 bookmark로 둡니다(canonical 지원 상태 preparing을 쓰지 않습니다 — ${CLAUDE_SKILL_DIR}/references/tracker-states.md가 관심 공고를 tracker 파이프라인에서 제외하고 job-search 축으로 분리하도록 명시). 사용자가 실제로 지원을 결심/제출한 경우에만 tracker에 편입하도록 안내합니다: 봇 환경은 네이티브 /track·/myapps, CLI는 tracker 스킬로 추가.

AskUserQuestion 규칙

  1. 현재 상황 — 지금 무슨 작업 중인지 1-2문장으로 요약
  2. 질문 — 명확하고 구체적으로. 전문용어 최소화.
  3. 추천 — 추천: [X]. 이유: [한 줄 설명]
  4. 선택지 — A) ... B) ... C) ...

한 번에 하나의 질문만. 여러 질문을 묶지 않기.

완료 상태

  • 완료 (DONE) — 모든 단계 완료, 근거 제시
  • 우려사항 있는 완료 (DONE_WITH_CONCERNS) — 완료, 알아야 할 사항 명시
  • 차단됨 (BLOCKED) — 진행 불가, 차단 요인 기술
  • 추가 정보 필요 (NEEDS_CONTEXT) — 필요한 내용 기술
다음 스킬 추천
  • 관심 공고 확정 → /company_research (해당 기업 분석)
  • 관심 공고 확정 → /resume (해당 공고 맞춤 이력서)
  • 관심 공고 확정 → /cover_letter — 이 공고의 키워드·자소서 문항은 $_JS_STATE/job-cache/에 북마크로 저장되어 있어 /cover_letter 실행 시 활용 가능

© thesun4sky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (scripts, references) in job-search of thesun4sky/jobstack.

  • SKILL.md
  • references/analysis.md
  • references/bot-protocol.md
  • references/calendar-template.md
  • references/chrome-path.md
  • references/fetch-flow.md
  • references/guardrails.md
  • references/matching.md
  • references/platforms/jobkorea.md
  • references/platforms/jumpit.md
  • references/platforms/saramin.md
  • references/platforms/wanted.md
  • references/routines.md
  • references/telemetry-events.md
  • references/tracker-states.md
  • scripts/preamble.sh

Open the folder on GitHubat commit 69a59e2

Compare with similar skills

Job Search next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Job Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Job Search this skillthesun4sky/jobstack156—~3.1kAutomated safety check: NotesMIT
Job Market Inteltinyfish-io/tinyfish-cookbook2.2k—~3.2kAutomated safety check: PassMIT
freehire Tech Job SearchMadsLorentzen/ai-job-search45k—~2.7kAutomated safety check: PassMIT
Interview Prepreactive-resume/reactive-resume44k—~10kAutomated safety check: PassMIT
Offer Negotiationreactive-resume/reactive-resume44k—~10kAutomated safety check: PassMIT
Backend and Agent Project Selectorlishuangqiang/backend-agent-resume-scout350—~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Job Market Intel

    tinyfish-io/tinyfish-cookbook

    Get a live job market snapshot for any role and tech stack by deploying parallel TinyFish agents across LinkedIn, Indeed, and Glassdoor.

    2.2k GitHub stars~3.2k tokensUpdated 2 days ago
    Business, Finance & HRAuto-check passed
  • freehire Tech Job Search

    MadsLorentzen/ai-job-search

    Searches live software, data and engineering job listings through the freehire.me public API, or fetches one posting, with filters for country, region and skills.

    45k GitHub stars~2.7k tokensUpdated 2 days ago
    Business, Finance & HRAuto-check passed
  • Interview Prep

    reactive-resume/reactive-resume

    Prepares the user for a specific interview from their real experience.

    44k GitHub stars~10k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Offer Negotiation

    reactive-resume/reactive-resume

    Evaluates and negotiates job offers. An agent skill from reactive-resume/reactive-resume.

    44k GitHub stars~10k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Backend and Agent Project Selector

    lishuangqiang/backend-agent-resume-scout

    Finds backend or AI agent projects on GitHub that are worth putting on a resume, checks them against local source and writes a Markdown resume package.

    350 GitHub stars~1.4k tokensUpdated 3 mo ago
    Business, Finance & HRAuto-check passed
  • Apply

    extrasmall0/dear-hiring-manager

    Assisted job-application filler. An agent skill from extrasmall0/dear-hiring-manager.

    111 GitHub stars~2.6k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed

More from thesun4sky/jobstack

All 16 skills in this repo
  • Auto

    thesun4sky/jobstack

    자동 감지 + 가이드 스킬. An agent skill from thesun4sky/jobstack.

    156 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Career History

    thesun4sky/jobstack

    경력기술서 작성/첨삭 스킬. An agent skill from thesun4sky/jobstack.

    156 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check: notes
  • Company Research

    thesun4sky/jobstack

    기업 분석 스킬. An agent skill from thesun4sky/jobstack.

    156 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Cover Letter

    thesun4sky/jobstack

    자기소개서 작성/첨삭 스킬. An agent skill from thesun4sky/jobstack.

    156 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check: notes
  • Experience Bank

    thesun4sky/jobstack

    경험 소재 발굴·카드화 스킬. An agent skill from thesun4sky/jobstack.

    156 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check: notes
  • Mock Interview

    thesun4sky/jobstack

    모의면접 시뮬레이션 스킬. An agent skill from thesun4sky/jobstack.

    156 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check: notes

Works with

Questions about Job Search

What does Job Search do?

채용정보 탐색 스킬. An agent skill from thesun4sky/jobstack. Job Search is an agent skill from thesun4sky/jobstack. 채용정보 탐색 스킬.

When should I use Job Search?

Job Search fits situations like: tasks that involve Job search and resumes.

How do I install Job Search in Claude Code?

Run `npx skills add thesun4sky/jobstack --skill job-search -a claude-code`. Or copy the skill folder (job-search in thesun4sky/jobstack) into .claude/skills/job-search in your project. Claude Code loads it when a task matches its description.

How do I install Job Search in Codex?

Run `npx skills add thesun4sky/jobstack --skill job-search -a codex`. Or copy the skill folder (job-search in thesun4sky/jobstack) into .agents/skills/job-search in your project. Codex loads it when a task matches its description.

Can I use Job Search in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thesun4sky/jobstack --skill job-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/job-search, .gemini/skills/job-search, .github/skills/job-search and .opencode/skills/job-search in your project.

What does Job Search need to run?

Going by SKILL.md and its folder, Job Search needs a shell for the scripts in its folder and the command-line tools its instructions call (node and bash). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Write, AskUserQuestion, WebSearch, WebFetch.

Does Job Search access the network?

SKILL.md names 1 domain. In commands or code: jobkorea.co.kr; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Job Search safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Job Search use?

Job Search is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Job Search use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.

What are the alternatives to Job Search?

Skills that share tags, products or a category with Job Search: Job Market Intel (tinyfish-io/tinyfish-cookbook, 2.2k stars), freehire Tech Job Search (MadsLorentzen/ai-job-search, 45k stars), Interview Prep (reactive-resume/reactive-resume, 44k stars) and Offer Negotiation (reactive-resume/reactive-resume, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Job Search?

thesun4sky (a GitHub user) maintains it in thesun4sky/jobstack, which has 156 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 6, 2026.

Source: thesun4sky/jobstack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.