track
GitHub用于管理求职申请追踪器,支持查看、筛选、更新状态及删除申请。提供详细的数据统计仪表盘,并根据当前进度智能推荐后续行动,如定制简历或准备面试。
Trigger Scenarios
Install
npx skills add andrew-shwetzer/career-ops-plugin --skill track -g -y
SKILL.md
Frontmatter
{
"name": "track",
"description": "View and update your job application tracker. See all applications, filter by status, update progress, and get statistics on your search. Use when someone says 'show my applications', 'how is my job search going', 'update status', or 'tracker'.",
"allowed-tools": [
"Read",
"Write",
"Glob"
],
"argument-hint": "[status filter, company name, or 'update Company to Status']",
"user-invocable": true
}
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:
# 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
- Find the matching row (by company + role, fuzzy match OK)
- Show current status and proposed new status
- Ask for confirmation:
"Update {Company} - {Role} from {old status} to {new status}?"
- On confirmation, update the row
- If transitioning to "Applied", set Date Applied to today
- 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?"
Version History
- ae447d7 Current 2026-07-11 16:55


