tracker

tracker is a skill for Claude Code, Codex from Sma1lboy/coforce-apply. It costs 117 tokens per session (2,743 once invoked), scanned A, original, MIT.

A local board for tracking job applications through stages such as pending, applied, interviewing, offer, and rejected. It stores the board in a JSON file and records important history and delivery events.

In plain words
What is it for?
Use it to add applications, change their pipeline stage, record deadlines and events, and mark applications that need a fallback or manual action.
Why use it?
It keeps application status and history in one place and distinguishes a company's rejection from an application that still needs human follow-up.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/sma1lboy/coforce-apply/tracker
Any agent
npx skills add Sma1lboy/coforce-apply --skill tracker
Clone the repo
git clone --depth 1 https://github.com/Sma1lboy/coforce-apply

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for tracker

README.md
[![agentmods](https://agentmods.dev/badge/skills/sma1lboy/coforce-apply/tracker.svg)](https://agentmods.dev/skills/sma1lboy/coforce-apply/tracker)
Your own site
<a href="https://agentmods.dev/skills/sma1lboy/coforce-apply/tracker"><img src="https://agentmods.dev/badge/skills/sma1lboy/coforce-apply/tracker.svg" alt="Measured on agentmods" height="20"></a>
Per session 117 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,743 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00117 $0.02743
Opus 5 $0.00059 $0.01372
Sonnet 5 $0.00023 $0.00549
Haiku 4.5 $0.00012 $0.00274

Measured 3d ago against content hash 73210f6cdaf3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tracker scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

The scan reads SKILL.md. This mod also ships 8 executable files (scripts/agent-runner.mjs, scripts/board.mjs, scripts/start_web.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/tracker/SKILL.md · 191 lines

How it starts

The opening of the file, as written. The whole thing — 191 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Tracker — local application board

Read ~/.coforce/instructions.md first if present — standing user instructions (e.g. never-apply companies must not be added as pending).

Local truth: ~/.coforce/applications.json — a JSON array of applications: {id, url, title, status, createdAt, updatedAt, company?, position?, notes?, needsFallback?, description?, deadline?, history?: [{date, event}]}. Missing file → start with []. deadline is the posting's stated application deadline as YYYY-MM-DD — only when the posting states one; never guess it from "apply soon" or the posting date.

Operations

Add / update: read the JSON, apply the change, write back. id = epoch ms string; always bump updatedAt (ISO). status is the pipeline stage ONLY: pending → applied → interviewing → offer | rejected, and rejected means one thing only: a company turned the user down. How delivery went is never a status — an operator giving up is a history event plus needsFallback: true (= a human has to take this one; cleared when the application eventually goes out). Nor is fit: a posting screened out because it contradicts the user's intent never entered the pipeline, so it does not belong in this file at all — it goes to the start skill's screening ledger (hunt.mjs screen <url> --reason "…", ledger at ~/.coforce/screened.json, reversible with unscreen). Mixing the two makes the board claim rejections that never happened. Put recruiter emails, interview dates, and contacts in notes. When adding an application, save the JD text into description if you have it. Every status change appends to history: {date, event} (e.g. "status: applied → interviewing — recruiter email"); record submissions and interviews there too.

Console (看板 + 面板) — a React + Tailwind web app that ships with this skill (web/, prebuilt web/dist included). The only launch entry point is scripts/start_web.sh (relative to this skill's base directory, shown when the skill loads):

"<skill-dir>/scripts/start_web.sh"           # console on http://localhost:4517
open http://localhost:4517

PORT=… overrides the port; --dev starts the API plus a Vite dev server with HMR on :5173 for working on the UI (web/src, needs bun or npm). The script rebuilds dist automatically when sources changed and a package manager exists; otherwise it serves the committed dist (end users never build). board.mjs is the API server behind it — never invoke it directly from skills. It only serves; a second hand-rolled HTML renderer used to exist for a static single-file export and was deleted (git history has it). One kobe-Hallmark-themed local site with these primary tabs:

  • Board — kanban: full-height status columns, drag & drop moves an application (appends a history event, saves to the JSON), cards open a detail view (JD link, saved info, files, history timeline, description).
  • Discover (home tab) — local job discovery: fetches the configured sources through the start skill's hunt.mjs (sibling install), lists postings not yet tracked (dedup + never-apply applied) with company logos. ~/.coforce/config.json is the canonical settings file, normally pre-filled by the setup skill (level, directions, sponsorship, work mode, locations…); if it carries no level a first-visit wizard collects level + directions, and console edits merge into it (POST /api/prefs) without touching keys the console does not show. Row icons resolve company-homepage logos via logo.dev when logoDevToken (publishable key) is set in config.json, falling back to the Google favicon service, then to an initials tile when the source list carried no homepage link. A left filter panel (search, level, direction with keyword classification, source) narrows the list, and a collapsible footer lists what the start skill's fit filter screened out — read from ~/.coforce/screened.json, that skill's ledger — each with its reason, where Reconsider un-screens one (POST /api/screened/unscreen, which shells out to hunt.mjs unscreen) so it returns to discovery. The filter is never the last word. Each row's Build resume button queues the posting into both the tracker and current resume campaign. The next start/campaign cycle hydrates the JD and renders its matched resume; application submission remains a separate action.
  • Review — campaign dossier workspace: job queue, status and match score, source-linked evidence shortlist, zoomable PDF proof, feedback/revision, optional manual approval, and all-approved ZIP export. Settings can disable the resume HITL gate, in which case complete PDFs auto-approve and the batch ZIP auto-refreshes. It also shows the read-only Tier 0 experience-index status; campaigns never refresh GitHub. Campaign data lives under ~/.coforce/campaigns/current/.
  • Profile — resume-style live preview of ~/.coforce/profile.json beside a structured form editor (basics, skill chips, add/remove experience/project/education cards and bullets — no raw JSON). Its Resume skill policy ledger merges resume/coursework and Tier 0 skills, shows provenance, assigns the mandatory baseline and role packs, and keeps Save draft (review_requested) separate from explicit Approve policy. The same tab also provides "Import resume (AI)": pasted text is parsed by the local agent runtime (claude -p; binary override COFORCE_CLAUDE_BIN) and fills the form for review before Save.
  • Instructions — edit ~/.coforce/instructions.md in place.
  • Settings — runtime consents, editable minimum resume page coverage, required-vs-automatic resume review, LaTeX template, Tier 0 source scope, discovery preferences, and sources.

Read the full file on GitHub · 191 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 191 lines · 117 tokens per session scan A 73210f6cdaf3

Subscribe to this mod's changes

tracker is a skill published in the GitHub repository Sma1lboy/coforce-apply (5 stars, last pushed 5d ago), licensed MIT. It adds 117 tokens to every session and 2,743 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

wayfinder

Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.

mattpocock/skills · 46 tokens

sap-transport-overview

System-wide inventory of open transport requests — every visible modifiable request, who owns it, how big it is, and supported risk signals such as empty/local requests, explicit locks, and confirmed manifest overlaps. Headers-only and cheap; NO source diffs. Use when asked "what transports are open in the system"…

arc-mcp/arc-1 · 106 tokens

timeline-creator

Create HTML timelines and project roadmaps with Gantt charts, milestones, phase groupings, and progress indicators. Use when users request timelines, roadmaps, Gantt charts, project schedules, or milestone visualizations.

mhattingpete/claude-skills-marketplace · 47 tokens

okx-task-watch

监听任务进展 / 帮我盯着任务 / 任务有动静告诉我 / 历史消息 / 未读消息 / 未决策 / 待决策 / 继续监听 / task watch / user watch / monitor task progress / catch me up on tasks / outstanding decisions — OKX A2A user-session task-notification monitor: live long-poll via okx-a2a user watch (also drains backlog of past/missed/unread events on entry) plus…

nirholas/three.ws · 138 tokens

pm-all

Skill "pm-all" from wei63w/pm-manager, covering user input, outline and shared workflow (all /pm- commands).

wei63w/pm-manager · 8 tokens

bootstrap-prd

Set up PRD-driven development infrastructure for a new project, including directory structure, templates, and roadmap.

joshukraine/dotfiles · 25 tokens