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
Files3
View on GitHubSKILL.md.claude/skills/weekly-review/SKILL.md
GitHub/weekly-review
- From
jobs/tracker.csv,contacts/contacts.csv,interviews/, andoutbox/(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: usedate_foundanddate_applied, the dated lines inhistory/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 toweekly_goalsinprofile/preferences.md. Ifbenefits_jurisdictionis set there, also give the benefit week's work-search count against the agency's number (fromjobs/work-search-log.csv; run thework-search-loggather step first so new applications and messages are in it), and ifjobs/layoff-plan.mdhas unchecked lines, list the next two. - 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-interviewon 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-*.mdsuggested 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/exploreonce, alongside the fix, never instead of applying. Offer it at most once a month (check the last four weekly files) and not at all ifprofile/life-design.mdalready has directions from the last month; then report on those experiments instead (anyTo 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 isreferredfor this job; a filledcontactcolumn 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
fitin 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 thefit.mdfiles of jobs that replied with those that didn't (level, how many requirements wereMet, 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 oneFit check:line in the review file;/evaluate-jobreads it. 2b. Skill gaps: if there's nointerviews/skill-gaps-*.mdfrom the last 4 weeks and at least 6 jobs have afit.md, add the three requirements the user's jobs most often markNot metorPartly(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.
- Lots of applications, few responses → resume/targeting problem: run
- Put offer deadlines and pending reference checks at the top. Then close stale items:
appliedrows with no response 21+ days after applying → review the next step: suggestghostedonly once itsnext_action_datehas 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.interestedrows 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 markscreening,interviewingorofferrows stale until 10 business days past the date the employer gave (large employers often take 3–6 weeks after a final round). - Tidy the Outbox: move files whose status is
sentintooutbox/sent/anddiscardedintooutbox/discarded/so old drafts don't pile up. Leavedraftandin-gmail-draftsfiles where they are: they are still waiting on the user (run the Gmail check fromsync-inboxfirst if Gmail is connected). - Write
interviews/weekly-<YYYY-MM-DD>.md(date of the review) with numbers, theFit 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). - 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>.mdfrom the last 6 days already exists, logweekly review · already done this weekand 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-loggather (usejobs/work-search-log.csvas 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
sentordiscarded. 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.