job-seeker: Skill for Claude Code

.agents/skills/polish/SKILL.md

polish is a skill for Claude Code, Codex from galiprandi/job-seeker. It costs 41 tokens per session (3,635 once invoked), scanned A, original, MIT.

A tool for improving your LinkedIn profile and CV, the document that summarizes your work history and skills for employers.

In plain words
What is it for?
It reviews your profile and CV, suggests and applies approved improvements, and exports the updated CV as a PDF.
Why use it?
It helps align the information recruiters see with your stated career goals, while letting you approve changes section by section.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents); mentions AGENTS.md.

This is galiprandi/job-seeker's own configuration. It tells Claude Code and Codex how to work on job-seeker itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything job-seeker configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node scripts/browser.js attach --session polish-1.

Reuse

Borrowing it

Nothing to install: this file belongs to galiprandi/job-seeker. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/galiprandi/job-seeker/main/.agents/skills/polish/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/galiprandi/job-seeker

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 polish

README.md
[![agentmods](https://agentmods.dev/badge/skills/galiprandi/job-seeker/polish/github.svg)](https://agentmods.dev/skills/galiprandi/job-seeker/polish)
Your own site
<a href="https://agentmods.dev/skills/galiprandi/job-seeker/polish"><img src="https://agentmods.dev/badge/skills/galiprandi/job-seeker/polish/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.

agentmods 80×15 button for polish

Your own site · 80×15
<a href="https://agentmods.dev/skills/galiprandi/job-seeker/polish"><img src="https://agentmods.dev/badge/skills/galiprandi/job-seeker/polish.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,635 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. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Memory Poisoning · line 141
    Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
    Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
How audits are shown
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.00041 $0.03635
Opus 5 $0.00020 $0.01818
Sonnet 5 $0.00008 $0.00727
Haiku 4.5 $0.00004 $0.00364

Measured today against content hash c72c1d43dc68, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

polish 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 today.

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.

.agents/skills/polish/SKILL.md · 280 lines

How it starts

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

Polish — LinkedIn profile + CV optimization

Trigger

Keyword: polish (or variants: "mejorar mi linkedin", "pulir perfil", "alinear cv", "optimizar perfil")

Purpose

Takes the user's captured profile (users.data.profile) and job preferences (users.data.job_preferences) and uses them to optimize the two artifacts that recruiters see: the LinkedIn profile and the CV. This is an output flow, not an input flow — profile captures data, polish applies it externally.

Dependencies

  • onboarding (DB, browser profile, LinkedIn session)
  • profile (requires users.data.profile and users.data.job_preferences with Must/Strong/Nice weights)

Parallel execution

polish can run alongside other flows (e.g: apply, news, targets) by using an attached session:

node scripts/browser.js attach --session polish-1
node scripts/browser.js goto <url> --session polish-1
node scripts/browser.js exec eval '<code>' --session polish-1
node scripts/generate-cv.js --session polish-1
node scripts/browser.js detach --session polish-1

All browser commands and generate-cv.js accept --session. Use detach when done (never close — it's ref-counted and would refuse or kill the browser for other agents). See AGENTS.md "Parallel execution".

Gate de validacion (pre-flight obligatorio)

Before executing any phase, verify that dependencies are satisfied. If any check fails, do not proceed — tell the user what is missing and how to resolve it:

# 1. Verify onboarding completed: DB exists and has user
node scripts/db.js "SELECT id, name, email, data FROM users WHERE id = <user_id>"
# If no row → "Necesitas ejecutar `onboarding` primero. No hay DB configurada."

# 2. Verify profile exists with minimum data
node scripts/db.js "SELECT data->'profile' AS profile, data->'job_preferences' AS prefs FROM users WHERE id = <user_id>"
# If profile is null/empty → "Necesitas ejecutar `profile` primero. No hay perfil capturado."
# If job_preferences is null/empty → "Necesitas completar el cuestionario de `profile`. No hay preferencias declaradas."

# 3. Verify minimum fields within profile
# Required for Phase 1 (LinkedIn): profile.title, profile.experience[], profile.skills[]
# Required for Phase 2 (CV): profile.full_name, profile.email, profile.experience[], profile.education[]
# If any required field missing → "Tu perfil esta incompleto. Falta: <fields>. Ejecuta `profile` para completarlo."

# 4. Verify LinkedIn session is active
node scripts/browser.js ensure
# If fails → "Necesitas iniciar sesion en LinkedIn. Ejecuta `onboarding` o abre el browser headed para login."

# 5. Verify linkedin_profile URL exists in DB
node scripts/db.js "SELECT data->'linkedin_profile' AS url FROM users WHERE id = <user_id>"
# If null → "No tengo tu URL de LinkedIn. Ejecuta `onboarding` para guardarla."

Read the full file on GitHub · 280 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. today Changed c72c1d43dc68
  2. 11d ago First seen · 280 lines · 41 tokens per session scan A e82976722796

Subscribe to this mod's changes

polish is a skill published in the GitHub repository galiprandi/job-seeker (26 stars, last pushed today), licensed MIT. It adds 41 tokens to every session and 3,635 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

extract-resume

Parse a resume's uploaded PDF into structured JSON (basics, experience, projects, skills, education) and save it to the editor.

suxrobGM/jobpilot · 32 tokens

critic-loop

Run the mandatory 3-round CV review loop with the Critico — autonomously, without going through the Capitano. For each round you spawn a FRESH CRITICO-S session (same N as your Scrittore session: SCRITTORE-2 → CRITICO-S2), send PDF + JD, wait for the structured verdict, kill the Critic, correct the CV, regenerate the…

leopu00/job-hunter-team · 146 tokens

parse-cv

Pre-process a CV/profile file (PDF, DOCX, ODT, RTF) into plain text BEFORE feeding it to the LLM context. Reduces token cost by 5-10x on long CVs and yields more reliable extraction than reading binary PDFs directly via multimodal vision. The Assistente calls this skill on every uploaded document in…

leopu00/job-hunter-team · 136 tokens

job-cv

Tailor the candidate's base CV for one specific job posting and render an ATS-friendly PDF. Reads cv.md (or extracts a CV from config/candidate-profile.md), pulls the job description from a URL or pasted text, has Claude rewrite — never invent — bullets to match the JD's keywords/priorities, gets explicit user…

AkbarDevop/ai-job-agent · 199 tokens

cv-creator

Professional CV and resume builder transforming career narratives into ATS-optimized, multi-format resumes. Integrates with career-biographer for data and competitive-cartographer for positioning. Generates PDF, DOCX, LaTeX, JSON Resume, HTML, and Markdown. Activate on 'resume', 'CV', 'ATS optimization', 'job…

curiositech/windags-skills · 92 tokens

hive.pdf

Read, write, merge, split, rotate, watermark, encrypt, and OCR PDF files using Python (pypdf, pdfplumber, reportlab, pypdfium2) and command-line tools (poppler-utils, qpdf). Use when the user asks to extract text/tables/images from a PDF, create or modify a PDF, combine or split PDFs, OCR a scanned PDF…

aden-hive/hive · 98 tokens