Generate a skills resume optimized for both human HR and AI agents — powered by Claude.
hire-ready is a template you fork and fill in. You describe yourself in structured YAML files, run one command, and get:
output/resume.md— a clean, professional Markdown resume for humansoutput/resume.json— a machine-readable skills manifest for AI agents, ATS systems, and recruiting bots
The JSON manifest uses a signal_strength field (high / medium / low) per skill, derived from the evidence you provide — so AI screeners can reason about confidence, not just keywords.
git clone https://github.com/yourname/hire-ready
cd hire-readyEdit the files in profile/:
| File | What to fill in |
|---|---|
profile/identity.yaml |
Name, contact, summary |
profile/skills.yaml |
Skills with evidence |
profile/experience.yaml |
Work history |
profile/projects.yaml |
Side projects / OSS |
profile/meta.yaml |
Target roles, preferences |
The more evidence you add, the higher the signal strength.
export ANTHROPIC_API_KEY=sk-ant-...# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync
# Generate
uv run python -m hire_ready.generateOutputs are written to output/resume.md and output/resume.json.
profile/*.yaml
│
▼
hire_ready/generate.py
│ (calls Claude claude-opus-4-6 with streaming)
▼
output/resume.md ← for humans
output/resume.json ← for AI agents
The generator sends your profile to Claude with a system prompt that enforces the
skills manifest schema, computes signal_strength from your evidence, and formats
the Markdown resume for readability.
Each skill in resume.json looks like this:
{
"name": "Python",
"level": "expert",
"since": 2018,
"tags": ["language", "backend", "ai"],
"summary": "Primary language for backend services and AI tooling.",
"evidence": [
"Built a pipeline processing 10M events/day using asyncio + Kafka",
"Maintained open-source library with 2k GitHub stars"
],
"signal_strength": "high"
}signal_strength helps AI agents distinguish between "I know Python" and "here's
my Python in production."
See CLAUDE.md for instructions on how to query this profile
programmatically, including recommended query patterns and how to interpret
signal_strength.
The output/ directory is gitignored by default. When you're ready to share:
- Commit
output/resume.mdfor a human-readable version on GitHub - Share
output/resume.jsonwith any AI screening tool or recruiter who uses one - Both files are regenerated from the same source — always in sync
- Python 3.11+
uv(orpip)- An Anthropic API key
MIT