채용 지원 추적기
로컬 포터블 잡 보드를 채용 기록의 단일 진실 공급원으로 사용합니다. 사용자가 자연스럽게 말하도록 하며, 올바른 보드를 확인하고, 기존 정보를 보존하며, 결정적이고 충돌이 없는 변경을 적용합니다.
언어 정책
기능 구현, 에이전트 지침, 참조 자료, 스크립트, 스키마, 주석 및 테스트는 영어로 유지합니다. 영어 이름과 정의를 표준으로 간주합니다.
사용자 대상 표면은 지역화될 수 있습니다. README.md와 assets/dashboard-* 프론트엔드 파일은 현재 중국어와 영어를 포함합니다. 단계와 배치에 언어 중립적인 코드를 저장하여 표시 언어가 기본 의미를 변경하지 않도록 합니다.
필요한 참조 자료
현재 작업에 필요한 참조 자료만 읽으십시오:
- 기록, 업데이트, 유효성 검사, 요약 또는 알림을 수행하기 전에 references/data-model.md를 읽으십시오.
- 보드를 설치, 활성화, 찾기, 이동, 수리 또는 시작하기 전에 references/deployment.md를 읽으십시오.
- 대시보드, 실행기, 로컬 서버 또는 시각화 로직을 재구축하거나 변경하기 전에 references/board-ui.md를 읽으십시오.
먼저 보드 확인
선택된 디렉토리를 BOARD_DIR로 표시합니다.
macOS/Linux에서는 python3을 사용합니다. Windows에서는 아래 명령어에서 python3을 사용 가능한 경우 py -3로, 그렇지 않으면 python으로 바꿉니다.
-
사용자가 경로를 제공하면 검사합니다:
python3 <skill-dir>/scripts/board_locator.py inspect --board-dir <path>유효한 레거시
data.json이 포함되어 있지만 마커가 없는 경우, 포터블하고 민감하지 않은 ID 파일이 추가될 것이라고 설명한 후 다음을 실행합니다:python3 <skill-dir>/scripts/board_locator.py mark --board-dir <path> -
그렇지 않으면 표시된 보드를 검색합니다:
python3 <skill-dir>/scripts/board_locator.py discover -
검색 결과를 정확히 해석합니다:
- 종료 코드 0: 유효한 단일 보드를 사용하고 해당 경로와 기록 수를 보고합니다.
- 종료 코드 4: 기존 경로 또는 새 보드 생성에 대한 명시적 허가를 요청합니다.
- 종료 코드 5: 모든 후보를 보여주고 사용자가 선택하도록 요구합니다.
수정 시간, 기록 수 또는 추측으로 절대 선택하지 마십시오. 검색 실패만으로 보드를 생성하지 마십시오. 사용자의 홈 디렉토리에 전역 절대 경로 레지스트리를 저장하지 마십시오.
안전한 데이터 워크플로우
모든 읽기 또는 쓰기 작업에 대해:
-
BOARD_DIR을 확인합니다. -
날짜가 작업에 영향을 미칠 때 실제 현재 날짜를 가져옵니다: macOS/Linux에서
date +%Y-%m-%d실행, Windows PowerShell에서(Get-Date).ToString('yyyy-MM-dd')실행. -
스냅샷을 생성합니다:
python3 <skill-dir>/scripts/data_store.py snapshot \ --data <BOARD_DIR/data.json> -
반환된
boardTitle, 선택적lang, 선택적stageLevels, 모든 기록, 알려지지 않았지만 유효한 모든 기록 필드 및 반환된 ETag를 보존합니다. -
쓰기 작업의 경우, 후보 JSON 파일을 생성하고 안전하게 교체합니다:
python3 <skill-dir>/scripts/data_store.py replace \ --data <BOARD_DIR/data.json> \ --input <candidate.json> \ --expected-etag <etag> -
종료 코드 3을 동시 편집 충돌로 처리합니다. 새 스냅샷을 가져와 사용자가 요청한 변경만 다시 적용하고 재시도합니다. 절대 오래된 쓰기를 강제하지 마십시오.
-
도구가 성공한 후에만 성공을 확인합니다.
절대 data.json에 직접 쓰지 마십시오. 명시적 사용자 확인 없이 교육 예제를 로드하거나 실제 지원으로 취급하지 마십시오. 데이터 전용 작업 중에 배포된 엔진 파일을 수정하지 마십시오.
핵심 작업
지원 기록 또는 업데이트
- references/data-model.md를 읽습니다.
- 회사와 역할로 기존 기록을 매칭합니다. 대상이 모호한 경우 사용자에게 선택하도록 요청합니다.
- 새 기록의 경우 회사와 역할이 필요합니다. 누락된 선택적 세부 사항(채널, 지원 포털, 도시 및 채용 배치)에 대해 한 번만 물어본 후 저장하기 전에 사용자의 답변 또는 명시적 건너뛰기 요청을 기다립니다.
- 새 기록을
records의 시작 부분에 삽입하여 새 지원이 기본적으로 먼저 표시되도록 합니다. 기록을 업데이트할 때 기존 배열 위치를 유지합니다. - 기존 기록의 경우 사용자가 언급한 필드만 변경합니다.
- 이벤트를 추가하여 진행 상황을 업데이트합니다. 별도의 상태 필드를 유지하지 마십시오.
- 보지 못한 커스텀 단계의 경우 정확한 텍스트를 보존하고
stageLevels규칙을 추가합니다. 사용자가 요청한 배치를 사용합니다. 그렇지 않으면 기본적으로k_hr바로 앞에 있는 고유한 수준으로 설정합니다. - 사용자가 명시적으로 내용을 쓰도록 요청하지 않는 한
note를 비워 둡니다. - 안전한 데이터 워크플로우를 사용하고 변경된 정확한 기록과 이벤트를 보고합니다.
회사, 역할, 날짜, 채널, 위치, 급여, 결과 또는 면접 라운드를 절대 조작하지 마십시오.
텍스트 진행 요약 표시
- references/data-model.md를 읽습니다.
- 데이터를 수정하지 않고 안전한 스냅샷을 가져옵니다.
- 오늘부터 향후 7일까지의 적격 날짜가 있는 알림을 먼저 배치합니다.
- 기록을 진행 중, 제안됨, 종료됨, 아직 지원하지 않음으로 그룹화합니다.
- 오래된 진행 중 기록과 다가오는 이정표를 식별합니다.
- 하나의 구체적인 다음 조치로 끝맺음합니다.
사용자가 명시적으로 요청하지 않는 한 HTML을 재구축하지 마십시오.
시각적 보드 열기 또는 재구축
- references/deployment.md와 references/board-ui.md를 읽습니다.
- 엔진 파일을 건드리기 전에 기존 보드를 확인하고 검증합니다.
- 일반적으로 사용자에게 보드를 시작하고
http://127.0.0.1:8770/을 열도록 알립니다. - 엔진 파일이 없거나 사용자가 명시적으로 엔진 재구축 또는 업데이트를 요청한 경우에만 프론트엔드 엔진 세트를 다시 복사합니다.
data.json과 모든 백업을 보존합니다.
설치 또는 활성화
references/deployment.md를 읽고 검색 우선 워크플로우를 따릅니다. 스킬 설치와 새 보드 생성은 별개의 작업입니다. 보드 생성에는 명시적인 사용자 의도가 필요합니다.
엄격한 규칙
- 확인되고 표시된
BOARD_DIR만 사용합니다. - 대체 보드를 자동으로 생성하지 마십시오.
- 사용자의 홈 디렉토리를 재귀적으로 검색하지 마십시오.
- 전역 경로 레지스트리를 저장하지 마십시오.
- 모든 에이전트 측 데이터 쓰기에
data_store.py를 사용합니다. - 언급되지 않은 데이터와 기존 필드를 보존합니다.
- 명시적으로 요청하지 않는 한
note를 비워 둡니다. references/data-model.md의 중립적인 단계 및 배치 코드를 사용합니다.- 실제 현재 날짜를 사용합니다. 정신적 날짜 계산에 의존하지 마십시오.
- 파일 쓰기 권한이 없는 경우 정확한 수동 단계를 설명하고 쓰기가 성공했다고 주장하지 마십시오.
- 사용자가 명시적으로 두 가지를 모두 요청하지 않는 한 데이터 변경과 엔진 재구축을 결합하지 마십시오.
- 엔진 파일을 배포하거나 업데이트할 때
data.json,.data.backup.*.json또는.job-tracker-board.json을 덮어쓰지 마십시오.
번들 리소스
scripts/board_locator.py: 보드 디렉토리 식별, 표시 및 안전하게 검색합니다.scripts/data_store.py: 데이터 스냅샷, 유효성 검사, 충돌 확인, 원자적 교체 및 백업합니다.assets/dashboard-template.html,dashboard.css,dashboard-*.js: 지역화된, 종속성 없는 대시보드 모듈입니다.assets/server.py: 루프백 전용 로컬 서버 및 검증된 데이터 API입니다.assets/start.command/assets/stop.command: macOS 실행기입니다.assets/start-board.bat/assets/stop-board.bat와 일치하는 PowerShell 도우미: 상태 확인 및 진단 로그가 포함된 Windows 실행기입니다.assets/data.json: 명시적으로 요청된 새 보드에만 사용되는 빈 시드 데이터입니다.tools/: 결정론적 생키 교차 회귀 유틸리티입니다.