CLAUDE.md · git:20260327.de9c653 · 2026-03-27 · sha256 b1f2c6f7d4d5969f
CLAUDE.md git:20260327.de9c653A
Immutable. This exact content never changes and is served at /api/v1/blob/b1f2c6f7d4d5969f.
# Career Manager AI-assisted career management pipeline built as Claude Code skills. ## Environment - Use `uv run` to execute all Python scripts - If `.venv/` doesn't exist: `uv venv && uv pip install -r requirements.txt` ## Script Paths All pipeline scripts live under `job-search/scripts/`. Run from the project root with full paths: ```bash uv run job-search/scripts/ops/run_pipeline.py phase1 # correct uv run scripts/ops/run_pipeline.py phase1 # WRONG — will fail ``` SKILL.md files use paths relative to their skill directory. Always prefix with the skill folder. ## How This Works - Each skill has a `SKILL.md` — read it before executing that skill - `search-config.json` and `config.yaml` are generated by the onboarding skill — never edit pipeline scripts to change search queries or scoring - Data ownership: `job-search/data/target-companies.csv` and `job-tracker/data/applications.csv` are sources of truth - Never edit CSVs directly — use the tracker scripts ## First-Time Setup If `config.yaml` or `search-config.json` don't exist, run the onboarding skill first. See README for full setup steps. ## Status Briefing Before running workflows, the router calls `scripts/generate_briefing.py` for a status snapshot. This is automatic. Do not ask the user to run it. ## Testing ```bash uv run python3 scripts/smoke_test.py # verify setup uv run python3 -m pytest evals/tests/ -v # run test suite ``` ## Repo Sync The public repo at `career-manager-public/` is synced from this private repo via `scripts/export_public.py`. Both repos must stay in sync for skill files. **Before exporting:** ```bash uv run python3 scripts/check_sync.py ``` If divergence is found, resolve before exporting. The export script has a timestamp guard that skips files where the public version is newer, but always verify with `check_sync.py` first. **After editing skill files in either repo:** run `check_sync.py --fix` to copy the newer version to the other repo, then commit in both.