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.
npx agentmods add skills/firatcand/forge/push-to-trackernpx skills add firatcand/forge --skill push-to-trackergit clone --depth 1 https://github.com/firatcand/forgeWrote 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.
[](https://agentmods.dev/skills/firatcand/forge/push-to-tracker)<a href="https://agentmods.dev/skills/firatcand/forge/push-to-tracker"><img src="https://agentmods.dev/badge/skills/firatcand/forge/push-to-tracker.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00034 | $0.01082 |
| Opus 5 | $0.00017 | $0.00541 |
| Sonnet 5 | $0.00007 | $0.00216 |
| Haiku 4.5 | $0.00003 | $0.00108 |
Grade A, and why
push-to-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 5d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/push-to-tracker
Delegate to the tracker-syncer subagent. Tracker-agnostic; dispatches per .forge/settings.yaml's tracker.type.
Preconditions
plans/phases.yamlexists.forge/settings.yamlexists and has atracker:block (validated bysrc/schemas/settings.ts::TrackerConfigSchema— discriminated union ontype, one oflinear|github|notion)- Per-tracker tooling reachable (Linear MCP /
ghCLI /ntnCLI)
Step 0 — Resolve tracker
Read .forge/settings.yaml and extract:
tracker.type∈ {linear,github,notion}tracker.config(per-type shape: Linear →team_id; GitHub →repo; Notion →database_id)
If .forge/settings.yaml is missing or tracker: is absent, abort:
No tracker configured. Run `forge init` first, or add a `tracker:` block to .forge/settings.yaml.
If tracker.type is unknown, surface the zod schema error verbatim (one of linear|github|notion).
Step 1 — Preflight per tracker
tracker.type |
Probe | If missing |
|---|---|---|
linear |
Linear MCP available | Offer claude mcp add linear --transport http https://mcp.linear.app/mcp + OAuth + restart, OR the no-MCP fallback (print Linear-import manifest). |
github |
gh auth status exits 0 |
Instruct gh auth login. |
notion |
ntn CLI installed + authed (probe: ntn api v1/users/me; fix: ntn login) |
Offer the install one-liner from docs/adapters/notion.md; NotionTracker (src/trackers/notion.ts) drives the ntn CLI since FORGE-117. |
Step 2 — Delegate to tracker-syncer
Pass tracker.type, tracker.config, and plans/phases.yaml path. The agent dispatches to the right Tracker adapter (see agents/tracker-syncer.md). Concrete flow:
createProject(phases.project.name, phases.project.description)— Linear Project / GitHub Milestone / Notion Database row.- For each phase (in order), for each task:
createIssue({ title, body, forgeTaskId, ownerType, acceptance, dependsOn: [] }). Stage the returnedissue.idagainst the task in memory. - Second pass — for every task with
depends_on, callsetBlockedBy(task._issueId, blocker._issueId)once per blocker. Two passes because adapters need both issues to exist before relating them.
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.
- 5d ago First seen · 80 lines · 34 tokens per session scan A a317619ff753
push-to-tracker is a skill published in the GitHub repository firatcand/forge (13 stars, last pushed 1mo ago), licensed MIT. It adds 34 tokens to every session and 1,082 once invoked, about $0.0002 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-30.
Other skills, from other repositories
ospec-change
Create or advance a lightweight OSpec change using the classic fast workflow.
prospec-knowledge-generate
Generate AI Knowledge - Read raw-scan.md, analyze project structure, autonomously decide module boundaries, and produce Recipe-First module READMEs and index. Triggers: generate knowledge, analyze project, module split, 產生知識, 知識庫, 分析專案, 模組拆分.
submit-pr
Open a prospec pull request in the house format — push the change's two commits, write the Traditional Chinese body, and link it to its issue. Triggers: submit pr, open pr, 開 PR, 送 PR, 發 PR, pull request, 提交 PR.
prospec-explore
Explore - Requirement exploration, problem investigation, and solution comparison partner. Triggers: explore, compare, investigate, unsure, clarify, 探索, 比較, 釐清, 調查, 不確定.
prospec-plan
Plan Implementation - Convert User Story into technical implementation plan (plan.md) and change specification (delta-spec.md). Triggers: plan, architecture, technical plan, 規劃, 架構規劃, 技術規劃.
prospec-knowledge-update
Incremental Knowledge Update - Parse delta-spec.md to identify affected modules, scan source code, and update module README, index.md, and module-map.yaml incrementally. Triggers: knowledge update, incremental update, sync knowledge, update docs, 更新知識, 增量更新, 同步知識, 更新文件.