CLAUDE.md · diff

git:20260327.de9c653 to git:20260611.94151f8

3 added, 12 removed. Audit A to A.

# 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:
+ Scripts live per skill under `<skill>/scripts/` (e.g. `job-search/scripts/`, `cv-tailor/scripts/`, `evals/scripts/`), plus shared utilities in the root `scripts/`. Run from the project root with the full prefixed path:
```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.
+ ## Provenance
- **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.
+ This repository is exported from the maintainer's private workspace via an automated sanitization script. If you fork it, work in your fork directly — no sync step is needed.