job-ok

job-ok is a skill for Claude Code, Codex from GresonKwan/JobOK. It costs 46 tokens per session (1,281 once invoked), scanned A, original, MIT.

A local job-search guide for Chinese students, interns, and early-career applicants that organizes their real experience into evidence for applications and interviews.

In plain words
What is it for?
It supports collecting experience, matching people to roles, improving resumes, preparing interview stories, practicing interviews, and tracking applications.
Why use it?
It helps applicants present their background accurately without inventing qualifications or automatically submitting applications.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It supports collecting experience, matching people to roles, improving resumes, preparing interview stories, practicing interviews, and tracking applications.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/gresonkwan/jobok/jobok
Install

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.

Any agent
npx skills add GresonKwan/JobOK --skill jobok
Clone the repo
git clone --depth 1 https://github.com/GresonKwan/JobOK

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for job-ok

README.md
[![agentmods](https://agentmods.dev/badge/skills/gresonkwan/jobok/jobok.svg)](https://agentmods.dev/skills/gresonkwan/jobok/jobok)
Your own site
<a href="https://agentmods.dev/skills/gresonkwan/jobok/jobok"><img src="https://agentmods.dev/badge/skills/gresonkwan/jobok/jobok.svg" alt="Measured on agentmods" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,281 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00046 $0.01281
Opus 5 $0.00023 $0.00641
Sonnet 5 $0.00009 $0.00256
Haiku 4.5 $0.00005 $0.00128

Measured 8d ago against content hash c055e3b8fbc2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

job-ok 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 8d 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.

SKILL.md · 87 lines

How it starts

The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Job OK

Job OK 是一个面向中文求职者的本地求职 Skill。它帮助学生、实习生和早期职场人把真实经历整理成可追溯的求职证据,再用于岗位匹配、简历优化、投递跟踪和面试表达训练。

核心原则:先证据,后结论;先岗位匹配,后简历改写;用户手动确认任何外部投递动作。

使用边界

  • 默认使用中文,除非用户要求其他语言。
  • 默认把简历、联系方式、截图、聊天记录等敏感材料保留在本地。
  • 输出中区分 factassumptioninferenceuser_preference
  • 不编造学历、实习、项目、奖项、指标、证书、技能或公司经历。
  • 不承诺面试、offer、薪资结果或平台曝光。
  • 不自动投递、不自动私信 HR、不绕过登录、不批量爬取招聘平台。
  • 不用于企业侧招聘、候选人排名或人事决策。

本地案例目录

每服务一个求职者,创建或复用:

job-search-cases/<yyyy-mm-dd-user-slug>/
├── brief.yaml
├── raw/
│   ├── resume/
│   └── job-posts/
├── profile.yaml
├── experience-assets.md
├── strengths.md
├── target-roles.csv
├── jobs.jsonl
├── job-matches.csv
├── resume-review.md
├── resume-versions/
├── interview-story-bank.md
├── interview-practice.md
├── application-tracker.csv
└── review-log.md

优先从 assets/templates/ 复制模板到案例目录,再开始分析。

工作流

  1. 先 Intake。 收集简历、目标城市、目标岗位、教育背景、项目/实习经历、限制条件、排除岗位、偏好行业和风险备注。核心信息不足时先追问,不急着推荐岗位或改简历。参考 references/intake-flow.md
  2. 提取真实经历。 把简历和用户回答整理到 experience-assets.md。可用 scripts/extract_resume_text.py 提取 .pdf.docx.txt.md 简历文本。
  3. 挖掘优势。 每个优势都必须走完 证据 -> 行为 -> 能力 -> 岗位信号。参考 references/strength-taxonomy.md,在 strengths.md 记录可信度和缺失证据。
  4. 生成岗位假设。 输出 3-5 个目标岗位簇到 target-roles.csv。参考 references/job-matching-rubric.md,写清匹配证据、差距、30 天补强动作和适合公司类型。
  5. 整理真实 JD。 只接受用户提供的岗位链接、截图、复制 JD、CSV 导出、Markdown 表格或浏览器可见页面。用 scripts/normalize_jobs.py 生成 jobs.jsonl。使用平台资料前先读 references/platform-boundaries.md
  6. 评分和短名单。scripts/score_job_matches.py 做确定性初筛。分数只用于 triage,不代表真实录取概率。低分岗位进入观察池,不进入投递列表。
  7. 优化简历。 参考 references/resume-rubric.md。每条建议必须能回到真实经历。输出 resume-review.md,并在 resume-versions/ 记录不同岗位版本。
  8. 训练面试表达。 参考 references/interview-training.md。一次只问一个问题,等待用户回答,再追问和复盘。首版只处理文本或语音转写稿。
  9. 跟踪和复盘。 每次投递、回复、面试、拒信或新增 JD 后,更新 application-tracker.csvreview-log.md

辅助脚本

python3 .agents/skills/job-ok/scripts/extract_resume_text.py \
  --input job-search-cases/<case>/raw/resume/resume.pdf \
  --output job-search-cases/<case>/raw/resume/resume.txt

python3 .agents/skills/job-ok/scripts/normalize_jobs.py \
  --input job-search-cases/<case>/raw/job-posts/jobs.md \
  --output job-search-cases/<case>/jobs.jsonl \
  --source-type user_paste

python3 .agents/skills/job-ok/scripts/score_job_matches.py \
  --profile job-search-cases/<case>/profile.yaml \
  --strengths job-search-cases/<case>/strengths.md \
  --jobs job-search-cases/<case>/jobs.jsonl \
  --output job-search-cases/<case>/job-matches.csv

Read the full file on GitHub · 87 lines

Changes

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.

  1. 8d ago First seen · 87 lines · 46 tokens per session scan A c055e3b8fbc2

Subscribe to this mod's changes

job-ok is a skill published in the GitHub repository GresonKwan/JobOK (384 stars, last pushed 2mo ago), licensed MIT. It adds 46 tokens to every session and 1,281 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

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…

microsoft/ai-agents-for-beginners · 200 tokens

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…

vercel/next.js · 95 tokens

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…

vercel/next.js · 103 tokens

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…

microsoft/vscode · 72 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens