seekter-report
Summarise the job search from the markdown tracker - funnel, response rate, what's working, where applications come from, what's pending on the user. Use when the user runs /seekter-report or asks how
Files1
View on GitHubSKILL.md.claude/skills/seekter-report/SKILL.md
GitHub/seekter-report — how is the search going
Read-only. Data comes from applications/ via scripts/seekter.mjs, plus runs/*.md for per-day source tables.
node scripts/seekter.mjs stats(all time) andnode scripts/seekter.mjs stats --since <7 days ago>.node scripts/seekter.mjs list --since <period start>, then read the front matter of the rows you need (source, ats, location_fit, fit).- Compute, for the period and all time:
- applications sent, skips, pending hand-offs;
- replies: interviewing + offer + rejected, as a share of sent; median days from
appliedto the first log line after it; - the breakdowns, each one command (
node scripts/seekter.mjs stats --by <field> [--since …] [--min 5]), which print sent, replies and interviews per group:source(freehire, linkedin, board names, manual) andapply_type(company form, Easy Apply, email);ats, the form system the application went through;location_fit(A/B/C). A track with many sends and no replies is a targeting signal;titleandseniority, derived from the role ("Senior Product Designer (Growth)" counts as product designer · senior);fitandresume, once they are filled: whether the fit score predicts replies is the question the score exists to answer, and the resume type is what the run uploaded;month, to see whether the funnel is moving. An interview is a record that reachedinterviewingoroffer, even if it was later rejected or closed. Replies include rejections. Rates are over decided applications (a reply, or closed); one stillappliedis "in flight", has its own column and counts in no rate, so a week of fresh sends does not pull a group down. A group with fewer than 5 decided showsn<5instead of a rate (--floorchanges it): quote its counts, not a percentage. With only a handful of interviews, compare groups on replies and say how many interviews there are rather than quoting interview rates;
- top skip reasons (group the Reason column of
applications/<YYYY-MM>/skipped.mdby its first clause).
- Every record with
status: pendingis a hand-off (node scripts/seekter.mjs list --status pending; also the "Needs you" table inapplications/README.md): list each with its link and the exact action. - Write 3–5 plain observations with the number behind each ("C-track: 14 sent, 0 replies in 3 weeks"). Suggest at most two changes, each tied to a file (
profile/settings.jsonquery,profile/profile.mdrule). Don't change them without the user saying yes.
Save as runs/report-<YYYY-MM-DD>.md and show the user the short version.