This skill should be used when the user wants to "track job applications", "add a job application", "update application status", "view my job pipeline", "get application analytics", "delete job application", or wants to manage their job search using the Placed career platform at placed.exidian.tech.
Track and manage your job applications via the Placed API. No MCP server required — all calls are made directly with curl.
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>
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'])"
}
| Tool | Description |
|---|---|
add_job_application | Add a new job application |
list_job_applications | View all applications, optionally filtered by status |
update_job_status | Move an application to a new stage |
delete_job_application | Remove an application |
get_application_analytics | Pipeline analytics and conversion rates |
Add a job application:
placed_call "add_job_application" '{
"company": "Stripe",
"position": "Senior Software Engineer",
"job_url": "https://stripe.com/jobs/123",
"status": "APPLIED",
"notes": "Referral from John"
}'
List all applications:
placed_call "list_job_applications"
Filter by status:
placed_call "list_job_applications" '{"status":"INTERVIEWING"}'
Update application status:
placed_call "update_job_status" '{
"job_id": "job_abc123",
"status": "OFFER",
"notes": "Offer: $200K base + equity"
}'
Get analytics:
placed_call "get_application_analytics" '{"date_range":"30d"}'
# Returns: total count, breakdown by status, response rates
Delete an application:
placed_call "delete_job_application" '{"job_id":"job_abc123"}'
WISHLIST — Saved for laterAPPLIED — Application submittedINTERVIEWING — In interview processOFFER — Offer receivedREJECTED — Application rejectedWITHDRAWN — Withdrew applicationplaced-resume-optimizer to tailor your resume before each applicationreferences/api-guide.md — Full API reference with all parameters and response schemas