Resume Builder
Jichengyuuuuu/resume-builder-skill
帮助用户基于任意背景材料(旧简历、JD、工作流水账等)一次性生成专业中文简历(HTML + DOCX 双格式),支持 ATS 优化、岗位定制技能维度、页数控制,并在生成后自动输出高阶求职顾问建议。触发场景:用户要求"帮我生成简历"、"写简历"、"改简历"、"我要投一个岗位",或任何涉及创建、编辑、优化简历的请求。
Captures the user's work moments — a shipped feature, a meeting outcome, a learning, a decision — from inside their Claude Code session into structured local markdown.
$ npx skills add daypunk/LockedIn --skill lockedin -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install daypunk/LockedIn lockedin --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/daypunk/LockedIn.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/lockedin/skills/lockedin .claude/skills/lockedin && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "lockedin" agent skill from https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedin into .claude/skills/lockedin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lockedin", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedinType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add daypunk/LockedIn --skill lockedin -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install daypunk/LockedIn lockedin --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/daypunk/LockedIn.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/lockedin/skills/lockedin .agents/skills/lockedin && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lockedin" agent skill from https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedin into .agents/skills/lockedin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lockedin", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add daypunk/LockedIn --skill lockedin -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install daypunk/LockedIn lockedin --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/daypunk/LockedIn.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/lockedin/skills/lockedin .cursor/skills/lockedin && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "lockedin" agent skill from https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedin into .cursor/skills/lockedin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lockedin", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/daypunk/LockedIn.git --path plugins/lockedin/skills/lockedin--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add daypunk/LockedIn --skill lockedin -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install daypunk/LockedIn lockedin --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/daypunk/LockedIn.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/lockedin/skills/lockedin .gemini/skills/lockedin && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "lockedin" agent skill from https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedin into .gemini/skills/lockedin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lockedin", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install daypunk/LockedIn lockedinInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add daypunk/LockedIn --skill lockedin -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/daypunk/LockedIn.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/lockedin/skills/lockedin .github/skills/lockedin && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "lockedin" agent skill from https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedin into .github/skills/lockedin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lockedin", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add daypunk/LockedIn --skill lockedin -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install daypunk/LockedIn lockedin --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/daypunk/LockedIn.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/lockedin/skills/lockedin .opencode/skills/lockedin && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "lockedin" agent skill from https://github.com/daypunk/LockedIn/tree/main/plugins/lockedin/skills/lockedin into .opencode/skills/lockedin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lockedin", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
lockedinCaptures the user's work moments — a shipped feature, a meeting outcome, a learning, a decision — from inside their Claude Code session into structured local markdown.
Lockedin is an agent skill from daypunk/LockedIn. Captures the user's work moments — a shipped feature, a meeting outcome, a learning, a decision — from inside their Claude Code session into structured local markdown. Renders English resumes, Korean cover letters, interview answers, and project ideas from the same source on request. Also scores any resume against a calibrated rubric without prior setup. Activate when the user mentions lockedin, asks to save / log / track something from their current work as experience, asks to render an English resume / Korean…
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `AGENTS.md`, `TOOLS.md` and `templates/experience/questions.yaml`).
It sits in Business, Finance & HR, covering Resume and CV writing, Word documents and Quizzes and assessments. It works with Microsoft Word. The repository describes itself as: Lives inside your Claude Code session. Capture work as structured experience, then render resumes, Korean cover letters, interview answers, and project ideas from it. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 02d8766. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ANTHROPIC_API_KEYLOCKEDIN_ALLOW_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Lockedin loads about 3.2k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 1,648 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from daypunk/LockedIn at commit 02d8766, republished under its MIT licence (© daypunk). 1,648 words, ~3,166 tokens.
.claude/skills/lockedin/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Build and grow a personal markdown ontology in ~/Documents/LockedIn/, then
render artifacts from it. Single-purpose: one namespace, one demo.
.pdf / .docx or career notes and asks to
absorb them into a structured graph.Reasoning runs inside Claude Code on the user's subscription; the
lockedin Python CLI is a deterministic helper for non-LLM work.
| Surface | Runs there | When |
|---|---|---|
| Skill (host AI) | Q&A interview, ingest ambiguity resolution, render writer + reviewer turns, NL query interpretation | Every user-in-the-loop flow |
| CLI utility | install, doctor, validate, migrate, template, init --fixture, ingest --dry-run, experience, PDF/DOCX text extraction, hud | Deterministic; called by skill via Bash, or by user directly |
If a skill-only command (render jaso/resume, interactive init,
smart ingest, query) is typed in a plain terminal, the CLI prints
a redirect message — that's expected.
Recommended onboarding is the explicit /lockedin:setup wizard. This
section is the safety net for users who skipped it and started using
the skill directly.
${CLAUDE_CONFIG_DIR:-$HOME/.claude}/lockedin/config.json. If
the file exists and has a setup_completed timestamp, do nothing —
the user already ran the wizard.setup_completed, offer the
wizard ONCE per session: "Looks like setup hasn't run. Want me to
walk through it now? Wires the bottom HUD and a couple of defaults.
/lockedin:setup runs the full wizard; I can also do just the HUD
step inline."/lockedin:setup (Step 1) only. Otherwise, run the full wizard, or
continue with the user's original request and remember not to ask
again this session.The skill is fully functional without setup — only the bottom HUD line will not appear until the user wires it.
The fastest first try is drive-by audit: zero vault, zero install beyond the plugin itself. Past that, vault-backed flows give every artifact LockedIn produces.
/lockedin audit <path> or "audit
this resume". Extracts text via the deterministic ingest pipeline,
scores against lockedin-render-resume-en or lockedin-render-jaso
rubric depending on detected language, returns a 5-dimension score
and a banned-phrase / weak-verb hit list. No mutation. Most natural
first artifact for a new user. Three modes:--mode score (default): rubric pass only.--mode refine: propose diff-based refinements; user approves.--mode refine-score: refine, then score the refined output to
quantify the lift.
Capture intents ("save this", "log this", "track this") route through
lockedin-capture, which runs writer/reviewer with dedup detection/lockedin init (or natural language) runs a Q&A
interview that seeds the vault. 49 questions across 9 sections;
pause-and-resume is supported./lockedin ingest <path> reads .pdf / .docx /
.md / .txt, emits a typed diff, asks the user about ambiguities
one at a time, then merges. After merge, offers the audit 3-mode
choice (Score / Refine / Refine→Score)./lockedin render <kind> produces the artifact (jaso,
resume, interview, ideas). Writer turn drafts; reviewer turn
re-loads RUBRIC.md fresh and scores. If any rubric dimension < 4,
revise once with the notes.See AGENTS.md for the four sub-roles (Interviewer / Ingester /
Renderer / GraphCurator). See TOOLS.md for the canonical CLI calls
each role issues, with skill-only-path fallbacks.
Before writing to the user's experience, briefly state what's going in: "Saving 3 entries — project X, achievement Y, skill Z. OK?". This applies even if write permission is cached for the experience path from an earlier turn.
Deterministic bookkeeping (refresh_master_view, state-file atomic
writes) does not need confirmation — it adds no user-visible content.
All interview questions are general, gentle, short, and intuitive. The experience layer accepts entries with thin information; never force the user to provide a specific metric, structure, or completeness level to create one. A toy project, a meeting note, a learning, and a shipped feature with hard numbers are all first-class.
Metric pressure belongs to the renderer's writer turn, not the interview. If the user later asks for a resume and a particular achievement lacks a metric, the writer turn asks one focused question at that moment.
When the user signals a capture intent ("save this", "log this",
"track this", "absorb this"), do not write to the experience layer
in one shot. Route through lockedin-capture (or, when that skill
is unavailable, replicate its pattern inline):
Reconciliation policy is load-bearing:
The point of capture is to make the experience richer over time. A surfaced duplicate is an opportunity to enrich an existing entity with new evidence, not noise to suppress.
This skill assumes the user runs Claude Code on a subscription. If the
shell environment has ANTHROPIC_API_KEY set, run lockedin doctor —
it will warn unless the user explicitly opts in via
LOCKEDIN_ALLOW_API_KEY=1.
render-jaso/, whose domain is
Korean output).<!-- ko-example -->...<!-- /ko-example --> blocks.render-jaso
emits Korean, render-resume-en emits English.lockedin/ontology/schema.py (15 entity types, 15 edge predicates, schema v3)docs/architecture.mddocs/ontology-spec.mdEvery vault write also regenerates <vault>/EXPERIENCE.md, a single
human-readable markdown file that lists all entities grouped by type.
The user can open this file in any markdown viewer to see their whole
vault at a glance without navigating per-type folders. This is
automatic and does not require an explicit step from the skill —
lockedin/storage/notes.py::write_entity invokes
lockedin/render/master_view.py::refresh_master_view after every
successful write.
Treat the vault as a living document. The user should rarely need
to type lockedin refresh themselves. When you start a conversation
or the user mentions experience, check for drift between three
sources of truth:
EXPERIENCE.md view.When you detect drift, reconcile actively rather than pointing the user at a CLI:
stat
mtime of vault notes vs EXPERIENCE.md) → silently call
lockedin/render/master_view.py::refresh_master_view to bring the
master current. This is deterministic bookkeeping; do not bother
the user.lockedin/ontology/schema.py (e.g. person + company → held_role_at,
project + skill → uses_skill). When the user mentions a new project
that fits an existing role mid-conversation, propose adding the
uses_skill or produced edge as part of the reconcile step — the
same rules that drive automatic inference also tell you which
predicates are valid between those two entity types.Pointing the user at lockedin refresh is a fallback for cases where
you cannot reconcile programmatically — not a default behavior. The
spirit of this skill is "AI notices and asks", not "user runs a
command".
render-jaso: banned-phrase regex check ran before rubric scoring.lockedin/render/resolve_slugs.py::resolve_file.<vault>/outputs/ with timestamp slug.<vault>/EXPERIENCE.md is current (auto-refreshed by
write_entity, but check it once at the end of multi-step flows).© daypunk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in plugins/lockedin/skills/lockedin of daypunk/LockedIn.
Open the folder on GitHubat commit 02d8766
Lockedin next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Lockedin this skilldaypunk/LockedIn | 128 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Resume BuilderJichengyuuuuu/resume-builder-skill | 164 | — | ~1.5k | Automated safety check: Pass | None | |
| Build Tailored ResumeSankaiAI/ats-optimized-resume-agent-skill | 106 | — | ~4.4k | Automated safety check: Notes | MIT | |
| Weak Agent Testkklimuk/docx-cli | 216 | — | ~6.1k | Automated safety check: Notes | MIT | |
| Cell Submissionyrui-cmd/Cell | 106 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Resume BuilderAli-Marandi/Web-Scraper-Framework | 107 | — | ~740 | Automated safety check: Pass | None |
Jichengyuuuuu/resume-builder-skill
帮助用户基于任意背景材料(旧简历、JD、工作流水账等)一次性生成专业中文简历(HTML + DOCX 双格式),支持 ATS 优化、岗位定制技能维度、页数控制,并在生成后自动输出高阶求职顾问建议。触发场景:用户要求"帮我生成简历"、"写简历"、"改简历"、"我要投一个岗位",或任何涉及创建、编辑、优化简历的请求。
SankaiAI/ats-optimized-resume-agent-skill
A skill your agent uses whenever the user wants to create a tailored resume for a specific job posting.
kklimuk/docx-cli
Run the weak-agent adversarial test harness against docx-cli.
yrui-cmd/Cell
将已经写好的 SCI 论文整理为目标期刊投稿包。用于正文已完成后的期刊格式适配、参考文献编排、图表与补充材料整理、cover letter、title page、作者声明、报告清单和投稿系统字段准备,以及转投格式转换。不用于从零写论文、重做研究、编造缺失方法或默认代为正式投稿。可承接 sci-manuscript-writer 的 Manuscript.docx。
Ali-Marandi/Web-Scraper-Framework
从零生成或全面优化一份中文简历,并导出 docx / pdf / markdown 多种格式。用 STAR 法则改写经历、做 ATS 关键词覆盖率检查、根据行业(互联网产品 / 技术 / 金融 / 通用)选模板。当用户说"帮我写简历 / 优化简历 / 简历不会写 / 我的简历太弱了 / 简历看起来不专业 / 简历改一改 / 给我做个简历模板 / 简历导出 / 简历加点关键词",或者上传…
rongxinzy/RongxinAI
Create institutional-quality equity research initiation reports through a 5-task workflow.
daypunk/LockedIn
Scores any resume or cover letter against LockedIn's calibrated rubric.
daypunk/LockedIn
Proposes 3 to 5 next-project or career-move ideas grounded in the user's experience.
daypunk/LockedIn
Drafts an interview answer in English or Korean from the user's experience.
daypunk/LockedIn
Writes a Korean 자기소개서 from the user's experience. An agent skill from daypunk/LockedIn.
daypunk/LockedIn
Converts in-session capture intents ("save this", "log this", "track this", "absorb this") into structured vault entries via a two-turn writer/reviewer pattern with duplicate detection and…
daypunk/LockedIn
Writes an English resume from the user's experience, tuned to one of 10 built-in personas.
Works with
Categories
Captures the user's work moments — a shipped feature, a meeting outcome, a learning, a decision — from inside their Claude Code session into structured local markdown. Lockedin is an agent skill from daypunk/LockedIn. Captures the user's work moments — a shipped feature, a meeting outcome, a learning, a decision — from inside their Claude Code session into structured local markdown.
Lockedin fits situations like: mentions lockedin; asks to save / log / track something from their current work as experience; asks to render an English resume / Korean cover letter / interview answer / project idea; drops a resume PDF.
Run `npx skills add daypunk/LockedIn --skill lockedin -a claude-code`. Or copy the skill folder (plugins/lockedin/skills/lockedin in daypunk/LockedIn) into .claude/skills/lockedin in your project. Claude Code loads it when a task matches its description.
Run `npx skills add daypunk/LockedIn --skill lockedin -a codex`. Or copy the skill folder (plugins/lockedin/skills/lockedin in daypunk/LockedIn) into .agents/skills/lockedin in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add daypunk/LockedIn --skill lockedin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lockedin, .gemini/skills/lockedin, .github/skills/lockedin and .opencode/skills/lockedin in your project.
Going by SKILL.md and its folder, Lockedin needs credentials named ANTHROPIC_API_KEY and LOCKEDIN_ALLOW_API_KEY. Our summary lists: Python 3; A credential in ANTHROPIC_API_KEY; A credential in LOCKEDIN_ALLOW_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Lockedin is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lockedin: Resume Builder (Jichengyuuuuu/resume-builder-skill, 164 stars), Build Tailored Resume (SankaiAI/ats-optimized-resume-agent-skill, 106 stars), Weak Agent Test (kklimuk/docx-cli, 216 stars) and Cell Submission (yrui-cmd/Cell, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
daypunk (a GitHub user) maintains it in daypunk/LockedIn, which has 128 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on May 22, 2026.
Source: daypunk/LockedIn on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.