This skill should be used when the user wants to "practice interview", "mock interview", "prepare for interview", "system design interview", "behavioral interview", "STAR stories", "interview coaching", "get interview questions", or wants to prepare for technical interviews using the Placed career platform at placed.exidian.tech.
AI-powered interview preparation 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 |
|---|---|
start_interview_session | Begin a mock interview for a specific role |
continue_interview_session | Submit your answer and get the next question |
get_interview_feedback | Get full performance analysis for a session |
list_interview_cases | Browse system design cases |
start_system_design | Start a system design interview |
get_behavioral_questions | Get STAR-format behavioral questions |
save_story_to_bank | Save a STAR story for reuse |
get_interview_questions | Generate likely questions for a role/company |
Start a mock interview:
placed_call "start_interview_session" '{
"resume_id": "res_abc123",
"job_title": "Senior Software Engineer",
"difficulty": "hard",
"company": "Google"
}'
# Returns: session_id + first question
Answer a question:
placed_call "continue_interview_session" '{
"session_id": "sess_abc123",
"user_answer": "I would approach this by first clarifying requirements..."
}'
# Returns: feedback on your answer + next question
Get session feedback:
placed_call "get_interview_feedback" '{"session_id":"sess_abc123"}'
List system design cases:
placed_call "list_interview_cases"
# Returns: Design Twitter, Design URL Shortener, Design Netflix, Design Uber, etc.
Start a system design interview:
placed_call "start_system_design" '{"case_id":"design-twitter","difficulty":"senior"}'
Get behavioral questions:
placed_call "get_behavioral_questions" '{
"target_role": "Engineering Manager",
"focus_categories": ["leadership", "conflict-resolution", "failure"]
}'
Save a STAR story:
placed_call "save_story_to_bank" '{
"situation": "Led team through major refactor",
"task": "Reduce technical debt while shipping features",
"action": "Created phased plan, mentored junior devs, set clear milestones",
"result": "30% faster deployments, reduced bugs by 25%",
"category": "leadership"
}'
easy, medium, hardFramework: Requirements → High-Level Architecture → Database Design → Scalability → Fault Tolerance → Trade-offs
Use the STAR method for every answer: