Customization Guide
Customization Guide
Profile (config/profile.yml)
This is the single source of truth for your identity. All modes read from here.
Key sections:
- candidate: Name, email, phone, location, LinkedIn, portfolio
- target_roles: Your North Star roles and archetypes
- narrative: Your headline, exit story, superpowers, proof points
- compensation: Target range, minimum, currency
- location: Country, timezone, visa status, on-site availability
Target Roles (modes/_shared.md)
The archetype table in _shared.md determines how offers are scored and CVs are framed. Edit the table to match YOUR career targets:
| Archetype | Thematic axes | What they buy |
|-----------|---------------|---------------|
| **Your Role 1** | key skills | what they need |
| **Your Role 2** | key skills | what they need |
Also update the “Adaptive Framing” table to map YOUR specific projects to each archetype.
Portals (portals.yml)
Copy from templates/portals.example.yml and customize:
- title_filter.positive: Keywords matching your target roles
- title_filter.negative: Tech stacks or domains to exclude
- search_queries: WebSearch queries for job boards (Ashby, Greenhouse, Lever)
- tracked_companies: Companies to check directly
CV Template (templates/cv-template.html)
The HTML template uses these design tokens:
- Fonts: Space Grotesk (headings) + DM Sans (body) – self-hosted in
fonts/ - Colors: Cyan primary (
hsl(187,74%,32%)) + Purple accent (hsl(270,70%,45%)) - Layout: Single-column, ATS-optimized
To customize fonts/colors, edit the CSS in the template. Update font files in fonts/ if switching fonts.
Negotiation Scripts (modes/_shared.md)
The negotiation section provides frameworks for salary discussions. Replace the example scripts with your own:
- Target ranges
- Geographic arbitrage strategy
- Pushback responses
Hooks (Optional)
Career-ops can integrate with external systems via Claude Code hooks. Example hooks:
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "echo 'Career-ops session started'"
}]
}]
}
}
Save hooks in .claude/settings.json.
States (templates/states.yml)
The canonical states rarely need changing. If you add new states, update:
templates/states.ymlnormalize-statuses.mjs(alias mappings)modes/_shared.md(any references)
