Skip to main content
ClaudeWave
Skill392 repo starsupdated 2mo ago

track

The track skill manages a job application tracker stored in `data/applications.md`, allowing users to view all applications, filter by status or company, update application progress with validation, and retrieve search statistics including response rates and top opportunities. Use this when someone requests to see their applications, check job search progress, update an application status, or get tracker statistics.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/andrew-shwetzer/career-ops-plugin /tmp/track && cp -r /tmp/track/skills/track ~/.claude/skills/track
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Application Tracker

View and manage your job applications in one place.

## Step 0: Load Tracker

Read `data/applications.md`. If it doesn't exist, create it with the header:

```markdown
# Job Applications

| Date Added | Date Applied | Company | Role | Score | Status | Evaluation | Notes |
|---|---|---|---|---|---|---|---|
```

Then tell the user:
> "Your tracker is empty. Evaluate a job posting to get started, or
> paste a JD and I'll score it for you."

## Step 1: Parse User Intent

- **No argument / "show tracker" / "my applications":** Display full table + stats
- **Status filter ("show applied" / "what's in interview"):** Filter by status
- **Company filter ("show Stripe"):** Filter by company name
- **Update ("update Acme PM to Interview"):** Change status of matching row
- **Stats ("how's my search going" / "search stats"):** Show summary statistics
- **Delete ("remove the Acme entry"):** Confirm, then remove row

## Step 2: Display

### Full View

Show the table as-is from applications.md, then show stats below it.

### Filtered View

Show only matching rows, then summary:
> "Showing {n} applications with status '{status}'."

### Update Flow

1. Find the matching row (by company + role, fuzzy match OK)
2. Show current status and proposed new status
3. Ask for confirmation:
   > "Update **{Company} - {Role}** from **{old status}** to **{new status}**?"
4. On confirmation, update the row
5. If transitioning to "Applied", set Date Applied to today
6. If transitioning to "Accepted", congratulate them!

Validate transitions against references/states.md. If invalid:
> "Can't move from {old} to {new}. Valid next steps: {list}."

## Step 3: Statistics

```
## Your Job Search Dashboard

| Metric | Count |
|---|---|
| Total evaluated | {n} |
| Resumes tailored | {n with status >= Resume Ready} |
| Applied | {n} |
| Response rate | {responses / applied}% |
| Interviews | {n} |
| Offers | {n} |
| Average score (applied) | {avg}/5.0 |
| Active (not resolved) | {n non-terminal} |

**Top scoring opportunities:**
1. {Company} - {Role} ({score}/5.0) - {status}
2. ...
3. ...

**Needs attention (applied but no response > 7 days):**
- {Company} - {Role} - applied {date}
```

If there are evaluations without resumes tailored:
> "You have {n} evaluations scoring 3.5+ without a tailored resume.
> Want me to create one? Say 'tailor my resume for {top company}'."

## Step 4: Suggest Next Actions

Based on current state:

- Mostly "Evaluated": "You've got evaluations but haven't applied to many.
  Want me to tailor resumes for your top-scored roles?"
- Several "Applied" with no updates: "Time for follow-ups? I can draft
  outreach messages to check in on your applications."
- Has "Interview": "Great, you have interviews! Want me to research
  {company} to help you prepare?"
- Everything terminal: "Your current batch is wrapped up. Ready to scan
  for new opportunities?"
batch-scannerSubagent

|

quick-evalSlash Command

Quick job evaluation. Paste a JD and get a score plus one-paragraph summary. Faster than a full evaluate. Use when someone says 'quick eval', 'quick score', or 'just give me a number'.

setupSlash Command

Set up your job search profile. Paste your resume or answer a few questions. Takes 5 minutes. Needed before evaluating jobs.

applySkill

Help fill out a job application form. Generates personalized answers for every field using your profile and evaluation. Never auto-submits. Use when someone says 'help me apply', 'fill out this application', or 'application for'.

compareSkill

Compare multiple job opportunities side by side. See scores, compensation, pros/cons, and a recommendation. Use when someone says 'compare my options', 'which job should I take', 'rank my opportunities', or 'compare these roles'.

evaluateSkill

Evaluate how well a job posting matches your background. Paste a JD or URL and get an honest A-F scored assessment with match analysis, compensation research, positioning strategy, and interview prep. Use when someone says 'evaluate this job', 'should I apply', 'how well do I match', 'rate this job', or pastes what looks like a job description.

helpSkill

See all available career-ops skills, what they do, and which one to use next based on where you are in your job search. Use when someone says 'help', 'what can you do', 'how does this work', or seems unsure what to do next.

outreachSkill

Draft personalized outreach messages for LinkedIn connections, hiring managers, or recruiters. Creates targeted messages using a hook + proof + proposal structure. Under 300 characters for connection requests. Use when someone says 'draft outreach', 'message the recruiter', 'reach out to', or 'write a LinkedIn message'.