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 niharya/skills-drawer --skill run-candidacygit clone --depth 1 https://github.com/niharya/skills-drawerWrote 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/niharya/skills-drawer/run-candidacy)<a href="https://agentmods.dev/skills/niharya/skills-drawer/run-candidacy"><img src="https://agentmods.dev/badge/skills/niharya/skills-drawer/run-candidacy/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/niharya/skills-drawer/run-candidacy"><img src="https://agentmods.dev/badge/skills/niharya/skills-drawer/run-candidacy.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.00089 | $0.04004 |
| Opus 5 | $0.00044 | $0.02002 |
| Sonnet 5 | $0.00018 | $0.00801 |
| Haiku 4.5 | $0.00009 | $0.00400 |
Grade A, and why
run-candidacy scanned grade A with 1 finding 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 10d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
**Fallback of last resort.** If neither web_fetch nor Chrome can reach the content, ask the user to paste the JD body. Do not silently invent context from JD-shaped guessing. Do not use `curl` / `wget` / Python `requests How it starts
The opening of the file, as written. The whole thing — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.
run-candidacy
A candidacy skill whose single purpose is to fill the application in the best way possible, in the candidate's voice, talking directly to the reader, no flattery. Everything below serves that.
When to invoke
When the user pastes a job description (text or URL) and asks to tailor a resume, draft application answers, or run candidacy. Slash trigger: /run-candidacy. Natural-language triggers: "run candidacy", "tailor my resume for X", "draft my application for X".
First-run setup
Check before anything else. If facts/identity.md still contains the string <TODO: filled by setup>, the skill has not been set up for this user yet. Do not attempt to generate a resume. Instead, run the setup flow below.
Setup flow
-
Surface the two paste-prompts. Tell the user there are two prompts to run in the AI they talk to most (the one that knows their writing and history). Show the paths:
prompts/01-facts-extraction.mdandprompts/02-voice-extraction.md. Suggest the user open prompt 1, paste it into their AI, and paste the AI's response back here. -
Parse prompt-1 response. The AI's reply contains five fenced markdown blocks:
identity.md,roles.md,receipts.md,logistics.md,phrasings.md. Extract each block and write it tofacts/<filename>, overwriting the placeholder file. -
Surface prompt 2. Once prompt 1 is in, ask the user to run prompt 2 the same way. Parse the AI's reply for three fenced blocks:
voice.md,style.md,voice-samples.md. Write each tofacts/<filename>. -
Surface remaining TODOs. After both prompts land, grep
facts/forTODO: ask the usermarkers and ask the user inline. One question at a time, conversational, not a bulk dump. -
Workflow questions (4 questions, in the skill itself):
- Where should application folders be written? Default:
<skill>/examples/<slug>/. Allow override. - Render PDF by default, or just HTML? Default: HTML only. PDF on request via
--pdf. - Enable applications.xlsx logging? Default: yes. If yes, ask for path (default
<skill>/applications.xlsx, can override viaAPP_LOG_PATHenv var). - Spelling system: American or British? Default: American.
- Where should application folders be written? Default:
What ships with it
22 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.
- examples/default/application.md 2.2 KB
- examples/default/data.json 2.3 KB
- examples/default/jd.txt 1.5 KB
- examples/default/notes.md 1.3 KB
- examples/default/positioning.md 1.7 KB
- facts/atses.md 4.8 KB
- facts/identity.md 771 B
- facts/logistics.md 521 B
- facts/nda-names.txt 444 B
- facts/phrasings.md 731 B
- facts/receipts.md 645 B
- facts/role-type-examples.md 657 B
- facts/roles.md 588 B
- facts/style.md 1.5 KB
- facts/voice-samples.md 519 B
- facts/voice.md 2.0 KB
- prompts/01-facts-extraction.md 6.6 KB
- prompts/02-voice-extraction.md 5.0 KB
- scripts/app_log.py 13 KB runs code
- scripts/build.py 15 KB runs code
- scripts/scan_voice.py 10 KB runs code
- templates/resume.html 8.2 KB
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.
- 10d ago First seen · 267 lines · 89 tokens per session scan A 3982b8c95796
run-candidacy is a skill published in the GitHub repository niharya/skills-drawer (2 stars, last pushed 2mo ago), licensed MIT. It adds 89 tokens to every session and 4,004 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
bewerbungsexperte
Spezialist fuer den gesamten Bewerbungsprozess. Analysiert Stellenanzeigen, optimiert Profile (LinkedIn/CV) und generiert massgeschneiderte Anschreiben. Generiert ASCII-Lebenslaeufe aus einer SQLite-Datenbank und Ordnerstruktur. cvgenerator.py ist standalone portiert -- keine BACH-Runtime noetig.
folder-flattening
Verschachtelte Ordnerhierarchien in flache, maschinenlesbare Strukturen umbauen. Bash-basiert mit intelligenter Merge-Logik.
batch-file-ops
Batch-Dateioperationen (Löschen, Verschieben, Kopieren, Auflisten) mit Glob-Mustern. CLI-Werkzeug für effiziente Dateisystem-Operationen. Ohne Abhängigkeiten.
patterns
Instinct Engine — scans recent sessions, journals, and decisions for recurring patterns and turns them into concrete captures (CLAUDE.md rules, concept notes, writing seeds, skill improvements). Run after a weekly review or whenever you sense a pattern hardening. Also runs semi-autonomously via session-end…
file-collect-sort-action
Erkennt Nutzeraufträge der Form "hole aus einem Ordner immer bestimmte Dateien und sammle sie an einem Ziel" und richtet dafür das Modul file-collect-sort-action (CLI fcsa) ein — ein konfigurationsgetriebener Agent, der Ordner scannt, Dateien per Schablone kategorisiert und gestufte Aktionen anwendet…
layout-discipline
A set of rules for keeping AI-generated web pages visually consistent, including their text sizes, spacing, alignment, cards, and colors.