ワンクリックで
generate-targets
Generate a ranked list of target companies based on the user's career plan. Uses web search for current data.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generate a ranked list of target companies based on the user's career plan. Uses web search for current data.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Conversational guided fill of context files. Parses resumes, pushes for specificity, writes structured YAML to search/context/.
Generate a batch of personalized LinkedIn connection requests, round-robin across target companies. Each message under 300 chars.
Generate a 3-message referral request sequence for a specific contact. Messages escalate naturally: warm ask, strong push, hiring manager fallback.
Write a tailored cover letter that maps your top 3 experiences to the top 3 JD requirements.
Generate a tailored resume from a job description. Reads experience library, applies reviewer rubrics, outputs to vault/generated/resumes/.
Research a company and produce structured intel (interview format, comp bands, culture) or generate a ranked target company list from career plan.
| name | generate-targets |
| description | Generate a ranked list of target companies based on the user's career plan. Uses web search for current data. |
| argument-hint | [number of companies, default 30] |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch |
| model | claude-sonnet-4-6 |
You are generating a ranked list of target companies for the user's job search.
READ search/context/career-plan.yaml first. If it's empty or missing key fields (level, functions, industries), STOP and tell the user:
"Your career plan isn't set up yet. Please complete your profile with the Job Search Coach first — I need your target role, industries, and preferences to find the right companies."
Do NOT ask the user to provide this information directly. The Job Search Coach is designed to gather it properly.
THEN you MUST do this exact sequence (NOT a finding — a DIRECTIVE):
Step A: Call read_blackboard to get the current state. Step B: Look at the "directives" array in the response (it may be empty []). Step C: Call write_to_blackboard with EXACTLY these parameters:
The "type":"user_action" in DIRECTIVES (not findings) triggers a visible action prompt on every page.
search/context/career-plan.yaml — REQUIRED: target level, functions, industries, locations, comp floor, work style, what matterssearch/context/experience-library.yaml — OPTIONAL: for fit scoring against backgroundsearch/intel/ — check for existing intel files to avoid duplicating researchMINIMUM 50 companies. Target 75-100. Do NOT stop at 10-15. If you only found 15 companies, you haven't searched broadly enough — run more queries. The fit score handles filtering; your job is coverage.
Search broadly across MULTIPLE queries:
Industry leaders:
"best {industry} companies for {function} roles""top {industry} companies {location}"Growth companies & startups:
"fastest growing {industry} startups 2025 2026""{industry} startups Series A B C hiring""YC companies {industry}" OR "a16z portfolio {industry}"Role-specific:
"companies with strong {function} teams""companies hiring {level} {function} {location}""best companies for {function} professionals"Adjacent industries (user may not have thought of):
Don't filter too early. A company with 40 fit is still worth tracking — if they post a perfect role, the JD score will catch it. The goal is comprehensive coverage, not a curated shortlist.
| Dimension | Weight | What to Check |
|---|---|---|
| Industry Fit | 25 pts | Target industry match |
| Role Availability | 25 pts | Hires for the user's function and level (check careers page) |
| Culture & Values | 20 pts | Matches what_matters and work_style |
| Compensation | 15 pts | Can meet comp floor |
| Location | 15 pts | Matches location preferences |
ALL tiers go in the list. The scanning skill uses the full list.
For each company, find and record the careers_url. This is critical for role scanning.
CRITICAL: Output MUST be valid YAML. No markdown. The dashboard parses this programmatically.
Read search/context/target-companies.yaml FIRST. If companies already exist:
status: "researching" for NEW companies — preserve existing status valuesWrite the merged result to search/context/target-companies.yaml:
companies:
- name: "{Company Name}"
slug: "{company-slug}"
fit_score: {0-100}
status: "researching"
priority: "{high|medium|low}"
careers_url: "{careers page URL — Greenhouse/Ashby/Lever preferred}"
notes: "{1-2 sentence summary: why this company, key strengths, any concerns}"
The careers_url field is critical — the zero-token ATS scanner uses it to fetch job listings directly without AI tokens. Prioritize Greenhouse (job-boards.greenhouse.io/{slug}), Ashby (jobs.ashbyhq.com/{slug}), and Lever (jobs.lever.co/{slug}) URLs when available. If you can't find the ATS URL, use the company's main careers page. Leave empty only as a last resort.
Sort by fit_score descending. Generate at least 50 companies, aim for 75-100. More is better — the scan skill uses the full list.
For each high-priority company, create a stub intel file at search/intel/{slug}.yaml:
company: "{name}"
slug: "{slug}"
industry: "{industry}"
hq: "{headquarters location}"
size: "{employee count range}"
stage: "{startup/growth/public}"
website: "{url}"
careers_url: "{careers page url}"
These stubs will be enriched later by the /company-research skill.
curl -s -X POST http://localhost:8791/api/agent/batch-scan -H 'Content-Type: application/json' -d '{"scope":"auto"}'
This scans ALL companies via ATS APIs (free, instant) but only uses the expensive agent fallback for Tier 1+2 companies (fit >= 60). The user can scan all tiers manually from the Finding page.
Tell the user: "I've started scanning for open roles at your target companies. You'll see results on the Finding Roles page."Your response must be concise:
Generated {N} target companies ranked by fit:
| # | Company | Fit | Why |
|---|---|---|---|
| 1 | {name} | {score}% | {one-line reason} |
| ... | ... | ... | ... |
{1-2 sentences on what to do next}