Skills placed-resume-builder
This skill should be used when the user wants to "build a resume", "create a resume", "update my resume", "export resume as PDF", "change resume template", "list my resumes", "download resume", "switch template", or wants to manage resumes using the Placed career platform at placed.exidian.tech.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ajitsingh25/placed-resume-builder" ~/.claude/skills/clawdbot-skills-placed-resume-builder && rm -rf "$T"
manifest:
skills/ajitsingh25/placed-resume-builder/SKILL.mdsource content
Placed Resume Builder
Build and manage professional resumes via the Placed API. No MCP server required — all calls are made directly with curl.
API Key
Load the key from
~/.config/placed/credentials, falling back to the environment:
if [ -z "$PLACED_API_KEY" ] && [ -f "$HOME/.config/placed/credentials" ]; then source "$HOME/.config/placed/credentials" fi
If
PLACED_API_KEY is still not set, ask the user:
"Please provide your Placed API key (get it at https://placed.exidian.tech/settings/api)"
Then save it for future sessions:
mkdir -p "$HOME/.config/placed" echo "export PLACED_API_KEY=<key_provided_by_user>" > "$HOME/.config/placed/credentials" export PLACED_API_KEY=<key_provided_by_user>
How to Call the API
placed_call() { local tool=$1 local args=${2:-'{}'} curl -s -X POST https://placed.exidian.tech/api/mcp \ -H "Authorization: Bearer $PLACED_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"$tool\",\"arguments\":$args}}" \ | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['result']['content'][0]['text'])" }
Available Tools
| Tool | Description |
|---|---|
| List all resumes |
| Create a new resume |
| Get resume by ID (or most recent if no ID) |
| Update any resume section |
| See all available fields and formats |
| Browse available templates |
| Preview a specific template |
| Switch resume template |
| Get PDF download URL (expires 15 min) |
| Get Word document download URL |
| Export resume as JSON |
| Export resume as Markdown |
Usage Examples
List all resumes:
placed_call "list_resumes"
Create a resume:
placed_call "create_resume" '{"title":"Senior Engineer Resume","target_role":"Staff Engineer"}'
Update resume sections:
placed_call "update_resume" '{ "resume_id": "res_abc123", "summary": "Principal SRE with 10+ years...", "skills": [{"name":"Infrastructure","keywords":["Kubernetes","Terraform","AWS"]}] }'
Get PDF download URL:
placed_call "get_resume_pdf_url" '{"resume_id":"res_abc123"}'
Change template:
# First list templates placed_call "list_resume_templates" # Then apply one placed_call "change_resume_template" '{"resume_id":"res_abc123","template_id":"onyx"}'
Export as Markdown:
placed_call "export_resume_markdown" '{"resume_id":"res_abc123"}'
Resume Sections
All sections are optional and can be updated independently via
update_resume:
— name, email, phone, headline, locationbasics
— professional overviewsummary
— work history with company, position, date, bulletsexperience
— degrees, institutions, dateseducation
— skill groups with keywordsskills
— language proficiencieslanguages
— professional certs with issuer and datecertifications
— honors and recognitionawards
— personal/professional projectsprojects
— articles, papers, bookspublications
— professional referencesreferences
— volunteer experiencevolunteer
— hobbies and interestsinterests
— LinkedIn, GitHub, portfolio linksprofiles
Tips
- Call
to see exact field formats before updatingget_resume_schema - Quantify achievements with metrics (numbers, percentages, dollars)
- Use action verbs at the start of bullet points
- Mirror job description language for better ATS matching
- Use
skill to check ATS compatibility after buildingplaced-resume-optimizer