perfect-placement
Your job search, run by your agents, on your machine.
Install / Use
claude mcp add askoulwassim -- npx -y github:askoulwassim/perfect-placementIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of perfect-placement
perfect-placement scores 73/100 on our quality scale, 2630th of 2,864 Automation skills we index.
Its MCP Server is 9.7 KB long, well organised into 9 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 4 days ago, so perfect-placement is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
perfect-placement compared with similar skills
All 4 of these similar skills score higher than perfect-placement; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| perfect-placement (this skill)by askoulwassim | 73 | 3 | 4d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 105.5k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.1k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.2k | today | MCP Server |
Frequently asked questions
- How do I install perfect-placement?
- Run
claude mcp add askoulwassim -- npx -y github:askoulwassim/perfect-placement. The install tabs above show the steps for each supported agent. - Which AI agents does perfect-placement work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is perfect-placement safe to use?
- It is MIT-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is perfect-placement still maintained?
- The repository was last updated 4 days ago, so perfect-placement is actively maintained.
Skill content
View source on GitHubPerfect Placement finds roles that fit you, scores them against a profile it keeps learning, checks that postings are still open, tailors your applications, finds people who can open doors, and watches your inbox. It runs on your machine, works from the AI agent you already use, and never submits or sends anything without you.
| Local-first | Bring your own agent | You decide | One ops registry |
| :-- | :-- | :-- | :-- |
| Your data stays in ~/.perfect-placement on your machine. | One MCP server for Claude Code, Codex, Cursor and Claude Desktop. No API keys. | Confidence × impact decides what runs on its own. Submitting and sending are always you. | Anything you can click, your agent can do, and the other way round. |
Quickstart
<img src="docs/assets/quickstart.png" alt="Four commands: git clone, ./install.sh, pp setup, pp up." width="100%">git clone https://github.com/askoulwassim/perfect-placement.git && cd perfect-placement
./install.sh
pp setup
pp up
Then open http://127.0.0.1:5177. The first screen walks you through your profile.
- You need macOS or Linux, Node 22+ and git (on macOS, also the Xcode Command Line Tools).
./install.sh --checktells you what's missing and changes nothing. - Just looking?
pp up --fixturesruns the whole app on demo data. - More detail and troubleshooting: docs/install.md. Removing it: docs/uninstall.md.
How it works
<img src="docs/assets/how-it-works.png" alt="The web UI, your agent, the pp CLI and schedules all call one ops registry. The engine does the mechanics, the resolver decides who answers (rule, Kev, your agent, you), and everything is stored in your local vault. Gmail is read plus drafts only, LinkedIn is read-only, and submitting or sending is always you." width="100%">Every surface calls the same ops, so the app, your agent and scheduled runs always agree. Your agent supplies judgment (search, scores, drafts); code does the mechanics (totals, moves, dedupe, logs). Architecture
The loop
<img src="docs/assets/loop.png" alt="Onboard, Scout, Score, Freshness, Research, Tailor, then Connect, Fill, You submit, Inbox, Learn; what it learns updates your profile and rescores roles." width="100%">Each stage is a skill your agent runs, written as a plain SKILL.md that Claude Code, Codex and Cursor can all follow:
| Skill | What it does |
| :-- | :-- |
| onboard | Builds your profile from your resume, a short interview and 12 sample roles |
| scout | Finds new roles on your watchlist companies and the open market |
| score | Scores each role on nine criteria, with company names hidden where it matters |
| freshness | Checks daily that postings are still open |
| research | Writes a company dossier for a role you pick |
| tailor | Tailors your resume, cover letter and fit map |
| connect | Finds people who can open doors and drafts the outreach |
| fill | Answers the portal's real questions and stops before Submit |
| inbox | Reads replies and moves roles along: applied, interviews, offers |
| learn | Turns outcomes into profile updates, with evidence |
| voice | Learns how you write, so drafts sound like you |
Who decides
<img src="docs/assets/who-decides.png" alt="Low impact runs automatically; medium impact runs automatically when confident or when a second opinion agrees, otherwise it asks you; high impact asks you unless near certain, with an undo. Submitting, sending, deleting, dealbreakers and the comp floor are always you." width="100%">Every judgment goes to the cheapest source that can answer it: a rule, then Kev (a small local model), then your agent, then you. You never get a blank question, only the pick and how sure it is. Thresholds live in Settings.
Screens
<table> <tr> <td width="50%"><img src="docs/assets/screens/now.png" alt="Now"><p align="center"><b>Now</b>: what needs you and your top picks</p></td> <td width="50%"><img src="docs/assets/screens/needs-you.png" alt="Needs you"><p align="center"><b>Needs you</b>: one decision at a time, pick shown</p></td> </tr> <tr> <td><img src="docs/assets/screens/river.png" alt="River"><p align="center"><b>River</b>: every role, from inbox to offer</p></td> <td><img src="docs/assets/screens/role.png" alt="Role"><p align="center"><b>Role</b>: score, facts and your application</p></td> </tr> <tr> <td><img src="docs/assets/screens/people.png" alt="People"><p align="center"><b>People</b>: the best path to the hiring team</p></td> <td><img src="docs/assets/screens/you.png" alt="You"><p align="center"><b>You</b>: your profile, in 11 parts</p></td> </tr> </table>Privacy and responsible use
- Everything lives in your vault,
~/.perfect-placement(SQLite plus markdown). The server listens on127.0.0.1only. New vaults are readable only by your account. - pp never submits an application or sends an email or message. It drafts; you review and send.
- The connect skill reads LinkedIn pages in your own signed-in browser, slowly and within daily caps. Follow LinkedIn's terms and keep it to your own search.
- You are responsible for what you send. Security reports: SECURITY.md.
Docs
Everything in this repo, and where to find it.
| Start here | | | :-- | :-- | | docs/install.md | Install, setup, troubleshooting, Kev, documents, email check, schedules | | docs/uninstall.md | Undo setup, or remove everything (with a backup first) | | AGENTS.md | The operating manual for coding agents working on this repo | | CONTRIBUTING.md | Dev setup, ground rules, sign-off |
| How it's designed | |
| :-- | :-- |
| docs/architecture.md | Layers, flow, profile model, scoring, freshness, connect |
| docs/decisions.md · docs/wave1-decisions.md | Why it works the way it does (cited in code as #N) |
| docs/design.md | UI tokens, components, screens and rules |
| docs/history/contract-changes.md | The build-era log of contract changes |
| Packages | |
| :-- | :-- |
| packages/contracts | Schemas, statuses, events, the ops registry, policy, design tokens |
| packages/engine | The mechanics: db · ops · runners · status · scoring · freshness · people · profile · ATS · Gmail · LinkedIn |
| packages/resolver | Who decides: rule, Kev, agent, you · Kev setup · eval report |
| packages/mcp | The MCP server, with config snippets for each agent |
| packages/cli | The pp command |
| apps/web | The web app · Ask replies (OpenUI) |
| packages/fixtures | The synthetic demo vault behind pp up --fixtures and the tests |
| Skills and project | |
| :-- | :-- |
| skills/ | One SKILL.md per stage (table above), plus the connect runbook, onboarding extraction and scout plan |
| CHANGELOG.md · SECURITY.md · CODE_OF_CONDUCT.md · THIRD_PARTY_NOTICES.md | Changes, security, conduct, notices |
Develop
corepack enable
pnpm i && pnpm build && pnpm test && pnpm lint
pp up --fixtures
Contributions are welcome: read CONTRIBUTING.md and sign off your commits (git commit -s).
License
MIT. The license covers the code; it grants no rights to the Perfect Placement name or logo.
Related Skills
Agent-Reach
105.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.7kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.2k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
