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 extrasmall0/dear-hiring-manager --skill apify-collectgit clone --depth 1 https://github.com/extrasmall0/dear-hiring-managerWrote 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/extrasmall0/dear-hiring-manager/apify-collect)<a href="https://agentmods.dev/skills/extrasmall0/dear-hiring-manager/apify-collect"><img src="https://agentmods.dev/badge/skills/extrasmall0/dear-hiring-manager/apify-collect/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/extrasmall0/dear-hiring-manager/apify-collect"><img src="https://agentmods.dev/badge/skills/extrasmall0/dear-hiring-manager/apify-collect.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
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 →
- high Privilege Escalation · line 25 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Data Exfiltration · line 20 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 38 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 34 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Rogue Agent · line 48 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.00093 | $0.01222 |
| Opus 5 | $0.00046 | $0.00611 |
| Sonnet 5 | $0.00019 | $0.00244 |
| Haiku 4.5 | $0.00009 | $0.00122 |
Grade A, and why
apify-collect 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.
curl -sS -X POST \ How it starts
The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Apify collect
Gather fresh job URLs into ~/.dear-hiring-manager/urls.txt (the single input to /dear-hiring-manager:batch)
by running an Apify job scraper — purpose-built, far fresher and more complete than web search.
Config
APIFY_TOKEN— your Apify API token. Read from~/.dear-hiring-manager/.env(APIFY_TOKEN=...) or theAPIFY_TOKENenv var. Never put it in the repo, in a URL, in command output, or in any log (.envis gitignored).APIFY_ACTOR— the Apify job-scraper actor to run (a LinkedIn / Indeed / ATS-board actor of your choice). Set it in the same.env, or ask the user which actor to use.APIFY_INPUT(optional) — a JSON template for that actor's input, using its own field names (actor input schemas differ — there is no universalsearch/locationcontract). Put it in~/.dear-hiring-manager/apify.json(or point to a file). If it's absent, fetch the actor's input schema first (GET https://api.apify.com/v2/acts/$APIFY_ACTORwith the Bearer header) and build the input from the schema + the profile targets, then confirm with the user before running.
Procedure
- Load the token without echoing it, e.g.
APIFY_TOKEN=$(grep -m1 '^APIFY_TOKEN=' ~/.dear-hiring-manager/.env | cut -d= -f2-)(fall back to the env var); same forAPIFY_ACTOR. If the token is missing, stop and tell the user to put it in~/.dear-hiring-manager/.env. Never print the token or a command with it expanded. - Build the search from the profile:
Desired job title(s)+Target experience level+ preferred locations / remote. Only ask the user if those profile fields are blank. - Build the actor input from
APIFY_INPUT(the actor's own field names) or, if unset, from the fetched input schema + profile targets (step above). Run the actor synchronously with header auth, never the URL:
Nocurl -sS -X POST \ -H "Authorization: Bearer $APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d "$APIFY_INPUT" \ "https://api.apify.com/v2/acts/$APIFY_ACTOR/run-sync-get-dataset-items"?token=in the URL; do not echo the token or the expanded command. - Extract the application URL per returned item. Do NOT assume a field name — actor outputs
differ. Scan each item for URL-valued fields and pick the direct company/ATS apply link (a field
like
applyUrl/externalApplyUrl/companyApplyUrl, or any Greenhouse/Lever/Ashby/Workday URL), preferring it over the aggregatorjobUrl(linkedin.com / indeed.com). Skip items with only an Easy-Apply / no external URL. If no item yields a usable URL, tell the user the actor's output shape doesn't expose one.
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 · 66 lines · 93 tokens per session scan A 763a15f70f8c
apify-collect is a skill published in the GitHub repository extrasmall0/dear-hiring-manager (108 stars, last pushed 1mo ago), licensed MIT. It adds 93 tokens to every session and 1,222 once invoked, about $0.0005 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-30.
Other skills, from other repositories
solve-captcha
Solve a CAPTCHA on the current browser tab - free checkbox/text paths first, then a configured token service for image challenges. Returns solved or unsolved for the caller to fall back.
job-apply
Apply to a job by URL — auto-routes to the right ATS filler (LinkedIn Easy Apply / Greenhouse / Lever / Jobvite / Ashby), dry-run by default, renders an emoji-tagged result table. Proactively invoke this skill (do NOT answer conversationally) when the user pastes a LinkedIn/Greenhouse/Lever/Jobvite/Ashby job URL (with…
playwright-cli
Automate browser interactions, test web pages and work with Playwright tests.
hive.slack-notifications-setup
Set up a Slack notification channel (Sentinel) for a colony by driving the browser — reuse or create the "Hive Sentinel" Slack app from a JSON manifest, install it, capture the bot + app tokens, create/select the channel via the Slack API, and turn Sentinel on so the colony can ping the user on Slack and accept…
browser-edge-cases
SOP for debugging browser automation failures on complex websites. Use when browser tools fail on specific sites like LinkedIn, Twitter/X, SPAs, or sites with Shadow DOM.
amazon-search-listing
Amazon search and category listing scraper: extract product listings from any Amazon search results page, keyword search URL, or category browse page and return per-item cards (asin, title, url, image, price, listPrice, stars, reviewCount, badges, isAmazonChoice, isBestSeller, isSponsored, delivery, boughtInPast…