ATSPrep

io.github.Devabubakar由 GitHub 账号 Devabubakar 发布v2.0.0更新于 Oct 27, 2026

Free resume tools: ATS score, job match, bullet and LinkedIn checks, tailoring, interview prep.

已验证Streamable HTTP可网页运行效率与工作流AI 与机器学习

概览

AI 生成的概览

免费的远程简历与求职工具集:ATS 评分、职位匹配、要点与 LinkedIn 检查、简历定制、求职信与面试练习。

可以做什么
  • 按固定 ATS 规则给简历打分,并逐条列出问题代码与修改方法
  • 将简历与职位描述对比、提取职位关键词,并按职位改写简历原有内容
  • 检查并改写单条简历要点、起草职业摘要、推荐动作动词
  • 审查 LinkedIn 标题与 About 部分,并生成标题备选方案
  • 起草求职信与辞职信,缺失信息以方括号占位标出
  • 从链接读取公开招聘信息、生成面试问题,并按 STAR 点评练习回答
适用场景
适合正在求职、希望助手给简历打分并修改、把简历与职位对齐、准备面试,或打磨 LinkedIn 与求职信文字的用户,无需注册账号。
运行要求
通过 streamable HTTP 连接 atsprep.com 的远程端点,无需账号或 API 密钥。README 说明配套技能仅在改用自带脚本时才需要 Node 18 及以上。
安装前请注意
tailor_resume、improve_bullet、write_summary、review_interview_answer 四个工具会把待改写文本发送给 Cloudflare Workers AI 上的第三方语言模型。简历属个人数据;README 称仅记录工具名、是否成功与耗时。open_in_studio 会把简历文本放入链接片段,fetch_job_post 会读取外部网页。

安装

在 SourceWeft 中

  1. 打开 控制台中的 ATSPrep,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Devabubakar%2Fatsprep/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "atsprep": {
      "type": "http",
      "url": "https://atsprep.com/mcp"
    }
  }
}

README

ATSPrep Agent Skills

Five free, open-source Agent Skills that teach Claude, ChatGPT Codex, GitHub Copilot, Cursor and other agents to use ATSPrep's resume and job-search tools well: which tool to call, in what order, and to ask before adding anything to your resume.

SkillWhat it does
resume-ats-checkScores a resume with ATSPrep's ATS rules and walks through the fixes, worst first.
tailor-resume-to-jobMatches a resume to a job post (link or text), shows missing keywords and rewrites your own lines honestly.
interview-prepA mock interview, one question at a time, with STAR feedback and a stronger answer.
cover-letterDrafts a cover letter (or resignation letter) from your real experience and fills the gaps with you.
linkedin-profile-polishChecks your LinkedIn headline and About section and writes headline options.

Each skill calls the free ATSPrep MCP server at https://atsprep.com/mcp (18 tools: ATS check, job match, keyword scan, bullet and LinkedIn checks, tailoring, letters and interview practice). There's no account and no API key. If your agent has the ATSPrep MCP server connected, the skill uses its tools directly; if not, it runs the bundled scripts/atsprep.mjs (Node 18+, no dependencies), or plain HTTPS.

Install

Any agent (Claude Code, Codex, Copilot, Cursor, Gemini CLI and more)

sh
npx skills add Devabubakar/atsprep-skills

The skills CLI asks which skills and which agents to install for.

GitHub Copilot (CLI, VS Code, coding agent)

sh
gh skill install Devabubakar/atsprep-skills --all --agent github-copilot --scope user

Needs a recent GitHub CLI (gh skill is in preview). Or copy any folder from skills/ into ~/.copilot/skills/ (for you) or .github/skills/ (for one repository).

Claude Code

text
/plugin marketplace add Devabubakar/atsprep-skills/plugin install atsprep@atsprep-skills

Or copy folders from skills/ into ~/.claude/skills/ (for you) or .claude/skills/ (for one project). Claude Code skills docs.

Claude.ai and the Claude desktop app

  1. Download a skill's zip from the latest release, e.g. resume-ats-check.zip.
  2. In Claude, go to Customize → Skills, select Upload a skill, and pick the zip.
  3. Code execution and network access need to be on for the bundled script. If they aren't, connect the ATSPrep MCP server instead (below) and the skill will use it.

Using skills in Claude.

OpenAI Codex (CLI, IDE extension and app)

sh
gh skill install Devabubakar/atsprep-skills --all --agent codex --scope user

Or copy folders from skills/ into ~/.agents/skills/ (for you) or .agents/skills/ (for one repository). Codex sandboxes network access by default, so allow it for atsprep.com, or connect the MCP server. Codex skills docs.

Connect the ATSPrep MCP server (optional, recommended)

The skills work best when your agent also has the ATSPrep tools connected. Setup for every client is at atsprep.com/mcp. For example:

sh
claude mcp add --transport http atsprep https://atsprep.com/mcp   # Claude Codecodex mcp add atsprep --url https://atsprep.com/mcp                # Codex

What leaves your machine

Most ATSPrep tools are rule-based, so the same text always gets the same answer. Four (tailor_resume, improve_bullet, write_summary, review_interview_answer) also send the text they rewrite to an open language model on Cloudflare Workers AI (Google's Gemma 4, with Meta's Llama 3.3 70B if Gemma is busy), which doesn't train on it. Any line the model returns with a number, name or tool your text doesn't contain is dropped. ATSPrep logs only the tool name, whether it worked and how long it took, never your text. Details: references/privacy.md and atsprep.com/privacy.

Layout

text
skills/<name>/SKILL.md          the skill (built from templates/<name>.md)skills/<name>/scripts/          atsprep.mjs, a zero-dependency MCP clientskills/<name>/references/       tools.md (every tool's arguments) and privacy.mdshared/, templates/, tools/     sources; run `node tools/sync.mjs` after editing.claude-plugin/marketplace.json Claude Code plugin marketplace

Each skill folder follows the Agent Skills specification: a SKILL.md with name and description frontmatter, plus optional scripts/ and references/, so the same folder works in every client above. node tools/sync.mjs rebuilds the skills and checks their frontmatter against the spec.

Try the script directly

sh
node skills/resume-ats-check/scripts/atsprep.mjs listnode skills/resume-ats-check/scripts/atsprep.mjs check_resume [email protected] target_role="Product Designer"node skills/tailor-resume-to-job/scripts/atsprep.mjs keyword_scan [email protected]

License

MIT. ATSPrep and the ATSPrep logo are not covered by the license.

Issues and ideas: open an issue or email [email protected].

来源:README.md,提交 cec466c

工具

18

check_resume

Check a resume

Use this when the user shares a resume (pasted text or a file's text) and wants it checked, scored, reviewed for ATS problems, or wants to know what to fix. Score a resume from 0 to 100 with ATSPrep's fixed rules and list each issue with a stable code, where it is and how to fix it. Also reports how the text parsed (roles, experience and project bullets, education, skills and skill groups, input and scored word counts, with definitions). Role-specific advice, such as seniority signals, is given only when the resume names a target title or you pass target_role or job_description; with job_description the score becomes the fit for that job (0.5 requirements met, 0.3 evidence, 0.2 readability, capped for missing hard requirements or impossible claims) and it also returns job_fit and a keyword match summary. Resume up to 30,000 characters. Rules version 2026-10-23.5.

输入参数resume_text必填target_rolejob_description

match_job

Match a resume to a job

Use this when the user has a resume and a job posting and asks how well they match, what keywords are missing, or whether to apply. For rewrites, use tailor_resume instead. Compare a resume with a job posting: the posting's keywords found in the resume (with how they matched: exact, normalized, alias or stem, and the matched span), the ones missing with the posting sentence they come from, each term's weight and whether the posting lists it as required or preferred, and weighted overall, required and preferred coverage. Posting 120–20,000 characters. Rules version 2026-10-23.5.

输入参数resume_text必填job_description必填

check_bullets

Check resume bullets

Use this when the user wants a few resume bullet points checked without sending the whole resume. Give each resume bullet a score, a verdict and specific fixes with stable codes: weak openers, missing scale or result, numbers that show neither, hard-to-believe claims, first person, vague claims. The same rules and severities as check_resume. Up to 30 bullets of up to 600 characters each; blank items are skipped and reported by index. Rules version 2026-10-23.5.

输入参数bullets必填

open_in_studio

Open in ATSPrep Studio

Use this when the user wants to edit their resume in an editor, apply a template, or download it as a PDF or Word file. Make a link that opens this resume in ATSPrep Studio, the free editor, so the user can fix it, pick a template and download a PDF. The text travels in the link's #fragment, which is never sent to a server.

输入参数resume_text必填

list_templates

List resume templates

Use this when the user asks for resume templates, designs or example resumes for a role. List ATSPrep's resume designs, each with a link that opens Studio in that design, and the example resumes by role, each with a link that opens it in Studio and a preview image.

无需输入参数。

fetch_job_post

Fetch a job post

Use this when the user gives a job posting link instead of its text; then pass the result to the job tools. Read a public job posting from its link and return the title, company, location and full description as plain text, ready for match_job, tailor_resume, keyword_scan or interview_questions. Reads LinkedIn, Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Workday and most company careers pages. Some sites block reading; then ask the user to paste the text.

输入参数url必填

keyword_scan

Rank a job post's keywords

Use this when the user has only a job posting (no resume yet) and wants its key skills and keywords. List the skills, tools and requirements a job posting asks for, ranked by how hard it leans on each (repetition, position, required or preferred headings), with the high-priority ones flagged. Use match_job to see which a resume already shows. Posting 120–20,000 characters. Rules version 2026-10-23.5.

输入参数job_description必填

tailor_resume

Tailor a resume to a job

Use this when the user wants their resume rewritten or tailored for a specific job posting. Tailor a resume to a job posting: the posting's keywords the resume is missing (from match_job's rules) and suggested rewrites of the user's own summary and bullets that bring in the posting's terms only where the existing line already supports them. Each suggestion lists the posting terms it borrowed and confirm_with_user lists terms to ask about, never to add unasked. End the reply with next_step: the link that opens the resume in ATSPrep to check the edits and download. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.

输入参数resume_text必填job_description必填

improve_bullet

Improve a resume bullet

Use this when the user wants one resume bullet rewritten or made stronger. Check one resume bullet with the fixed rules (score, verdict, fixes) and suggest up to three stronger rewrites that keep every fact as given. ask_user names the one fact to ask the user for; never invent it. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.

输入参数rolebullet必填company

write_summary

Write a resume summary

Use this when the user wants a resume summary or professional profile written from their resume. Draft professional summaries from a resume: rule-based drafts built from its title, skills and the bullets that carry a figure, plus AI drafts that use only facts in the resume. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.

输入参数resume_text必填target_title

action_verbs

Find stronger action verbs

Use this when the user wants stronger verbs or synonyms for resume wording. Suggest resume action verbs. Pass a weak opener ("responsible for", "helped") for direct swaps and why they read weak, or the work in plain words ("trained new staff", "cut costs") for the matching verb groups with an example bullet. Leave query empty for every group.

输入参数query

generate_linkedin_headline

Write LinkedIn headlines

Use this when the user wants new LinkedIn headline ideas. Write LinkedIn headline options from the user's answers, each in a proven pattern (title and focus, title and result, title and who you help…), with its length and roughly what shows in search before the cut. Uses only the answers given.

输入参数nextrole必填focusyearsskillsresultsaudience

check_linkedin_headline

Check a LinkedIn headline

Use this when the user wants their existing LinkedIn headline reviewed. Check a LinkedIn headline: length against the 220-character limit, what shows in search results before the cut, whether it leads with a searchable job title, and buzzwords or vague claims to replace.

输入参数rolefocusskillsheadline必填

check_linkedin_about

Check a LinkedIn About section

Use this when the user wants their LinkedIn About or summary section reviewed. Check a LinkedIn About section: what shows before "see more" on a phone and on a computer, whether the opening says who they are, results with numbers, buzzwords, a clear next step, and the 2,600-character limit.

输入参数roleabout必填

draft_cover_letter

Draft a cover letter

Use this when the user wants a cover letter for a job. Draft a cover letter from the user's resume and the job posting with fixed rules: name, contact details and up to two results from the resume, the job title and top keywords from the posting. Facts that are missing show as [square-bracket] gaps for the user to fill, never as stand-ins. Returns the letter, the gaps and a checklist.

输入参数whynameroleemailphonestylecompanyresultsresume_textcurrent_titlehiring_managerjob_description

draft_resignation_letter

Draft a resignation letter

Use this when the user wants to resign and needs a resignation letter or their last working day. Draft a short, professional resignation letter and work out the last working day from the notice period. Missing facts show as [square-bracket] gaps. Returns the letter, the last day and a checklist (notice stated, no complaints, length).

输入参数datenameroletonenoticereasonthankscompanymanagernotice_daysoffer_handoverworking_days_only

interview_questions

Interview practice questions

Use this when the user is preparing for an interview and wants likely questions, for a specific job or in general. Interview questions to practise, each with what the interviewer is listening for, plus STAR answer tips. With a job_description, questions come from its skills and duties, along with what to research and questions to ask; with resume_text, from the user's own roles. Rule-based.

输入参数kindlimitresume_textjob_description

review_interview_answer

Review an interview answer

Use this when the user gives an answer to an interview question and wants feedback on it. Review the user's answer to an interview question: a rating, length and speaking time, STAR coverage for stories, filler words, specific checks, the follow-up an interviewer would likely ask, and a stronger version that keeps to the user's own facts. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.

输入参数kindanswer必填question必填resume_text

版本历史

1
  1. v2.0.0最新Oct 18, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分