weekly-review

Weekly check-in on the user's job search: activity vs goals, funnel conversion, what's working, skill gaps, what to change next week. Use on Fridays/Sundays, when the user asks how their search is goi

SKILL.md

GitHub

/weekly-review

  1. From jobs/tracker.csv, contacts/contacts.csv, interviews/, and outbox/ (sent items), compute for the last 7 days and all-time: jobs found, applied, responses (screening or better), interviews, offers, rejections, networking messages sent, conversations had, mock interviews done. Count dated events, not current statuses: use date_found and date_applied, the dated lines in history/activity.md, sent outbox files (sent: date and kind; a thank-you is not a new conversation), and interview and debrief files; count each job or person once per event. A closed job still counts for the stages it reached (check its notes and the activity log). If the records can't show a number, say "not tracked" rather than guess. Compare to weekly_goals in profile/preferences.md. If benefits_jurisdiction is set there, also give the benefit week's work-search count against the agency's number (from jobs/work-search-log.csv; run the work-search-log gather step first so new applications and messages are in it), and if jobs/layoff-plan.md has unchecked lines, list the next two.
  2. Funnel and diagnosis (be direct, kind). Find the one weakest stage and fix that; don't diagnose a stage with fewer than about 10 items in it ("too early to tell"). Stage-by-stage causes, fixes and benchmarks: references/funnel-diagnosis.md.
    • Lots of applications, few responses → resume/targeting problem: run /resume-review, raise fit threshold, get referrals.
    • Recruiter screens but no next round → screening problem: the 60–90 second background pitch, the pay answer, or roles at the wrong level.
    • Responses but no second rounds → interview problem: more /mock-interview on weak areas from debriefs. (Final rounds but no offers: see the reference.)
    • Few applications → pace problem: block 2 sessions this week, use /find-jobs.
    • No networking → pick 3 people this week.
    • The target itself may be wrong → about 15 or more applications with almost no responses after the resume and targeting fixes were already tried (an earlier interviews/weekly-*.md suggested them), applications spread across unrelated kinds of work, or the user says they don't know what they want or dread the jobs they're applying for: offer /explore once, alongside the fix, never instead of applying. Offer it at most once a month (check the last four weekly files) and not at all if profile/life-design.md already has directions from the last month; then report on those experiments instead (any To try: line past its date).
    • Where responses come from: once there are about 10 applications, report response rate (screening or later ÷ applied) by source, grouped as referral (only when a referral for this job is recorded in the tracker notes or the contact is referred for this job; a filled contact column alone is not a referral), cold application, recruiter, and event (only with a recorded source). Nudge next week's time toward what converts.
    • Does the fit score predict replies? Once about 10 applications have a result (a response, a rejection, or 21+ days of silence), give the response rate by fit in the tracker: 5, 4, and 3 or lower. Lower-fit jobs replying about as often as fit 4-5 → the bar may be too strict: suggest more fit 3 jobs with a clear one-line bridge. Fit 4-5 jobs rarely replying → the scoring is too generous or the resume undersells: compare the fit.md files of jobs that replied with those that didn't (level, how many requirements were Met, knockouts, source) and name the one pattern you see. A group with fewer than about 5 jobs: "too early to tell". Write the result as one Fit check: line in the review file; /evaluate-job reads it. 2b. Skill gaps: if there's no interviews/skill-gaps-*.md from the last 4 weeks and at least 6 jobs have a fit.md, add the three requirements the user's jobs most often mark Not met or Partly (references/skill-gaps.md, sections 1 and 2), each with one way to close or bridge it, and offer a learning plan (section 3). When the user asks what they should learn, do this step on its own.
  3. Put offer deadlines and pending reference checks at the top. Then close stale items: applied rows with no response 21+ days after applying → review the next step: suggest ghosted only once its next_action_date has passed, the allowed follow-ups are used up (or the user doesn't want to send them), and there's no employer timeline or agreed pause still running. interested rows saved 30+ days ago → check the posting is still live before anyone spends time on it (closed only on proof, as in /add-job: an error page from a site that blocks reading isn't proof; then ask the user to check). Never mark screening, interviewing or offer rows stale until 10 business days past the date the employer gave (large employers often take 3–6 weeks after a final round).
  4. Tidy the Outbox: move files whose status is sent into outbox/sent/ and discarded into outbox/discarded/ so old drafts don't pile up. Leave draft and in-gmail-drafts files where they are: they are still waiting on the user (run the Gmail check from sync-inbox first if Gmail is connected).
  5. Write interviews/weekly-<YYYY-MM-DD>.md (date of the review) with numbers, the Fit check: line (if step 2 had enough data), any skill gaps from step 2b, 3 wins, 3 changes for next week, and the week's top 5 targets. Offer to put next week's 2–3 search blocks on their calendar (only after a yes; no attendees).
  6. Ask the user how they're feeling about the search in one line. Job hunting is a grind; acknowledge effort, celebrate any response or interview, and keep next week's plan realistic. Never shame a low week. After a rejection, one line of perspective plus one concrete lesson if there is one. If the user sounds burned out, plan a lighter week. If they express hopelessness or thoughts of self-harm, respond with care first and point them to local crisis resources (US: call or text 988; UK and Ireland: Samaritans, 116 123; anywhere else: findahelpline.com lists free local helplines by country) before anything job-related.

Scheduled mode (the weekly review routine)

When the instructions say scheduled mode, first read .claude/skills/routines/references/scheduled-mode.md and follow it; it overrides any step above that needs the user.

  • If an interviews/weekly-<date>.md from the last 6 days already exists, log weekly review · already done this week and stop.
  • Steps 1 to 3 (with 2b's gap list but no learning plan or web lookup) and 5 from the files as they are: no Gmail check, no work-search-log gather (use jobs/work-search-log.csv as it stands and say so in the file), no calendar offer. Suggestions to close stale jobs go in the file; never change their status.
  • Write only the review file and step 4's moves of files already marked sent or discarded. In place of step 6's question, end the file with one short, kind line about the week (never shaming a slow one).
  • Log: weekly review · ready (interviews/weekly-<date>.md). Summary: the week's headline numbers against goals, the one change to make, and any offer deadline.