Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add asherzj/ashers-agent-skills --skill write-resumegit clone --depth 1 https://github.com/asherzj/ashers-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/asherzj/ashers-agent-skills/write-resume)<a href="https://agentmods.dev/skills/asherzj/ashers-agent-skills/write-resume"><img src="https://agentmods.dev/badge/skills/asherzj/ashers-agent-skills/write-resume/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/asherzj/ashers-agent-skills/write-resume"><img src="https://agentmods.dev/badge/skills/asherzj/ashers-agent-skills/write-resume.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00088 | $0.04090 |
| Opus 5 | $0.00044 | $0.02045 |
| Sonnet 5 | $0.00018 | $0.00818 |
| Haiku 4.5 | $0.00009 | $0.00409 |
Grade A, and why
write-resume scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
简历写作
目标
把原始经历转化为简洁、可信、能赢得面试机会的简历。把简历当作一份“决策材料”:每个部分都应该帮助读者判断“这个人值得进入面试”。
核心原则
- 提供决策点:用事实支撑候选人值得继续推进。
- 只在真实且可自证的前提下制造挑战点:强表达应该能引出面试问题,并且候选人答得出来。
- 内容组织优先呈现最强证据,不机械复制模板中的示例内容;生成正式文件时,视觉和布局仍必须遵循“模板一致性”要求。
- 用证据替代标签。不要只说“owner 意识强”,要通过范围、决策、取舍和结果展示 ownership。
- 尽量量化:规模、延迟、收入、转化率、用户数、QPS、数据量、团队规模、节省时间、错误率、百分位、排名、留存、交付周期等。
- 所有“提升、增长、降低、减少、缩短、加速、优化至”等变化型结果都必须给出同口径基线和终值,写成“从 A 提升至 B”或“从 A 降低至 B”,并尽量说明统计周期或样本范围。只知道终值或变化比例时先追问基线;暂时无法确认则使用待确认占位符或改写成不声称变化的客观规模,不得编造。百分比变化与百分点变化必须区分,例如转化率从 18% 提升至 24% 是提升 6 个百分点,而不是含糊地写“提升 6%”。
- 保持真实。可以优化表达,但不要编造事实、数字、职级或 ownership。资料不足时,使用待确认占位符、提出针对性问题,或说明可补充的证据类型。
- 面向快速浏览写作:bullet 简短,每条只表达一个重点,强信息前置。
- 跨行重要文本块的末行不得只剩少量字词。检查范围至少包括 bullet、项目描述、角色说明、联系方式、目标岗位、项目标题和 Mock 标识;末行必须同时包含至少 8 个有效字符并占该文本块参考行宽至少 15%。固定流水线以 PDF 实际排版坐标强制检查,任一不满足即构建失败。
- 非末页不得因显式分页、整体防拆或不合理的内容编排留下大块底部空白。固定流水线要求非末页最下方可见内容默认达到页面高度的 82%;未达到时先修复分页和内容流,不得靠缩小字体、压缩页边距或降低门禁掩盖问题。
- 让简历 bullet 能匹配面试故事。简历给出论点和关键证据,面试展开细节。
工作流程
-
确定任务与交付形式
- 先判断用户需要诊断、改写、针对 JD 定制,还是生成完整文件。
- 用户指定的格式、模板和交付方式优先;修改现有简历时,默认保留原格式和有用的视觉设计。生成新的完整简历文件时,必须执行下方“模板一致性”规则。
- 用户只需要内容优化时,直接在对话中交付,不额外生成文件。
-
引导用户提供信息
- 生成完整简历或进行大范围重写前,读取
references/resume-intake.md,根据其中的采集表引导用户提供目标岗位、原始经历、证据、教育与技能、输出要求和隐私约束。 - 先从用户已经提供的简历、JD、作品集、经历笔记和对话中提取信息,列出“已掌握的信息”和“仍影响成稿的关键缺口”;不要让用户重复填写已有内容。
- 用户没有现成简历时,给出可直接复制填写的采集表。明确说明无需润色,可以提供零散事实;不知道、不适用或不愿披露的项目可分别标记为“待补充”“不适用”或“不披露”。
- 局部诊断或改写只收集完成当前任务所需的信息,不要求用户填写完整采集表。
- 优先一次性追问会改变岗位定位、内容取舍或强主张可信度的缺口。非关键缺口可以保留待确认占位符,不要以信息不完整为由阻塞可交付的草稿。
- 生成完整简历或进行大范围重写前,读取
-
明确目标
- 明确目标岗位、职级、行业、公司类型,以及简历主要面向真人阅读、ATS 系统,还是两者兼顾。
- 如果有 JD,提取核心要求和必要关键词。
- 如果目标未知,基于用户最强证据优化到最合理的目标岗位。
-
盘点证据
- 收集工作经历、教育背景、项目、成果、指标、奖项、论文、开源项目、作品集和有意义的兴趣爱好。
- 对变化型成果必须追问同口径的基线、终值、统计周期和样本范围;其他缺失指标只在必要时追问,否则提出用户可以补充的合理指标类型。
- 区分“项目发生了什么”和“候选人个人负责了什么”。
-
找到决策点
- 按岗位相关性、稀缺性、可信度、近期程度和可量化影响对证据排序。
- 把最强类别放在前面:个人概要、工作经历、项目经历、教育背景、作品集或技能。
- 删除无法提供决策价值的内容。
-
起草结构
- 头部:姓名、联系方式、目标岗位、地点/到岗情况等有用信息。
- 个人概要:2-3 行,包含最强认可/结果、工作方式或个人特质证据,以及下一步能提供的价值。
- 经历/项目:使用带有范围、行动、技术/管理难点和结果的量化 bullet。
- 技能:只做简洁关键词总结;避免“熟悉/精通/掌握”这类空泛填充。
- 教育背景:学生或新人放前面;有经验候选人放后面,除非学校本身是强信号。
- 作品/兴趣:只有当它能证明长期投入、质量、个性或岗位相关能力时才保留。
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 157 lines · 88 tokens per session scan A 3cd139ab5a4f
write-resume is a skill published in the GitHub repository asherzj/ashers-agent-skills (2 stars, last pushed 12d ago), licensed MIT. It adds 88 tokens to every session and 4,090 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…