From career
Rank companies from a domain note (or set of notes) for the user, applying anti-loop logic against outreach.md. Hard-excludes recently-contacted; rank-downs stalled; surfaces freshness so the logic is visible. Writes to <WORKING_FOLDER>/recommendations/companies-<date>.md.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin careerThis skill is limited to using the following tools:
The anti-loop spine. Reads a domain note (or several), reads `crm/outreach.md`, ranks candidates against `ground-truth.md`, and emits a ranked list with explicit `freshness` so the user can see *why* a company is or isn't on the list.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
The anti-loop spine. Reads a domain note (or several), reads crm/outreach.md, ranks candidates against ground-truth.md, and emits a ranked list with explicit freshness so the user can see why a company is or isn't on the list.
$ARGUMENTS:
--domain=<slug> — single domain note.--from=<note-slug> — any domain-notes file (e.g. like-snowglobe, remote-devtools, geo-tel-aviv-ai).--all-fresh — every domain-notes file written in last 60 days, merged.--n=<count> (default 10).--lens=<employer|client|partner> (default employer).--include-recent — disable the hard exclusion (rare; for review of recent activity).--explain — verbose ranking rationale per row./career:suggest companies --domain=agentic-policy-sim
/career:suggest companies --from=like-snowglobe --n=15 --explain
/career:suggest companies --all-fresh --lens=client
WORKING_FOLDER, USER_LOCATION from config. Output: ${WORKING_FOLDER}/recommendations/companies-$(date +%Y-%m-%d)-${source-slug}.md.
${WORKING_FOLDER}/ground-truth.md.${WORKING_FOLDER}/crm/outreach.md.${WORKING_FOLDER}/crm/companies.md (for status overrides like passed).For each company in the source note, derive freshness:
| value | rule |
|---|---|
never | no row in outreach.md |
stale | last outreach ≥ 90 days ago, status ∈ {sent, stalled, closed-lost} |
cooling | last outreach 30–89 days ago, status ∈ {sent, stalled} |
recent | last outreach < 30 days ago, OR active thread (replied/meeting-booked/meeting-done) within 90 days |
passed | row in companies.md with status=passed (regardless of outreach) |
won | status=closed-won within 12 months |
Hard rules (cannot be overridden without --include-recent):
recent.passed unless ground-truth.md was updated since the pass-date (re-evaluate signal).won (already engaged).Rank-down (still listed, marked):
cooling → -3 ranking points.stale → -1 ranking point (slight; staleness ≠ disinterest).Score = sum of:
domains-of-interest.hard-constraints are violated (e.g. US-only when user is in Israel), drop entirely.looking-for.--lens.salary floor.Top --n by score.
# Company suggestions — {{date}}
> Source: {{source-note(s)}}
> Lens: {{lens}}
> Anti-loop: {{enabled|disabled}}
> Generated: {{datetime}}
## Top picks
| rank | name | score | freshness | why | next-action |
| --- | --- | --- | --- | --- | --- |
| 1 | ... | 11 | never | one-line rationale | /career:research-company <slug> |
## Excluded (anti-loop)
| name | reason |
| --- | --- |
| Acme | recent — outreach 2026-04-21 |
| Globex | passed 2026-02-15 — ground-truth unchanged since |
## Rank-downs (still listed)
| name | freshness | adjustment | note |
## Why these and not others
- {{1–2 sentences linking ranking back to ground-truth}}
{{if --explain}}
## Per-row rationale
### {{name}}
- domain fit: 5 (matches "agentic AI for policy")
- stage fit: 3 (Series A; user wants pre-PMF or post-PMF early)
- lens fit: 2 (b2b saas, fits employer lens)
- salary signal: 0 (no public band)
- anti-loop: 0 (never)
- **score: 10**
{{/explain}}
## Sources
- {{domain-note path}}
- crm/outreach.md (read at {{datetime}})
- ground-truth.md (last modified {{date}})
recommendations: recommendations/companies-<date>-<source>.md
candidates considered: <n>
excluded (anti-loop): <n>
rank-downs: <n>
top picks: <n>
next: /career:research-company <slug> (for top pick)
## Stable list — no new signal since {{prev-run}} rather than silently repeating.--include-recent is for review, not for "I want to contact them again anyway".--lens change).## Status: partial.