Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/HsuanYuLee/polarisnpx agentmods add skills/hsuanyulee/polaris/driving-work-to-doneWrote 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/hsuanyulee/polaris/driving-work-to-done)<a href="https://agentmods.dev/skills/hsuanyulee/polaris/driving-work-to-done"><img src="https://agentmods.dev/badge/skills/hsuanyulee/polaris/driving-work-to-done/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hsuanyulee/polaris/driving-work-to-done"><img src="https://agentmods.dev/badge/skills/hsuanyulee/polaris/driving-work-to-done.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00275 | $0.12746 |
| Opus 5.5 | $0.00110 | $0.05098 |
| Sonnet 5.5 | $0.00055 | $0.02549 |
| Haiku 4.5 | $0.00028 | $0.01275 |
Grade A, and why
driving-work-to-done 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 2d 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 — 607 lines — stays where its author put it; the contents beside it link to each section on GitHub.
driving-work-to-done — 一件工作、一個入口、一個下一步
三支 skill 各做一站的事:refinement 簽下成功的定義,engineering 施工,verify-ac
判定。它們都不決定下一步是什麼——那寫在這裡,只寫在這裡。
一份工作有兩種成功條件,它們住在不同地方:
- 這張單獨有的(acceptance criteria)→ 進
refinement凍結的 fence。 - 這一類工作共用的(definition of done)→ 由領域知識帶進來,見〈載入領域知識〉。
把共用的那份寫進每一張單的 fence,等於每次都重簽同樣幾行不承載新資訊的東西。
一、有工作進來:要不要立案
判準只有一條:有沒有「怎麼算成功」需要人簽字。
| 這件事 | 立案? |
|---|---|
| 查一下、說明一段程式、跑個既有測試 | 否。什麼都沒改,沒有要簽的東西 |
| 會改到程式碼或行為——不論多小 | 是 |
| 不確定 | 是。立案的成本遠低於做完才發現目標不對 |
只讀的問題不走這條,其餘都走。以前這裡有一格是「改 typo、調一個顯然的常數 → 否, 成功的定義不會有爭議」,拆掉了:那一格的判準是「這件事夠小」,而那是每次都由當事人自己 判、每次都會判得更寬的東西。
把判斷與依據說出來,一句話就夠,讓人能當場推翻。不立案的到此為止,直接把事做完。
這件事可能已經有主人
開一張新單之前,先問這件事是不是已經有一張單在管。三種情況最常被開成新單:
- 跟一張母單意圖相關的問題是研究。 結果寫成那張母單的一則留言,不開子單,也不開 PR。 施工只做那張母單底下已經簽過的子單。
- 量到新東西時,先問現在哪一張單在管這件事。 有就寫進那一張,不另開。一張單的母單要是 它真正的主人:能對回別人母單描述的工作,寫成留言給那張母單,不掛在自己的母單底下。
- 對照出來的缺口不是 bug。「舊的有、新的沒有」是程式碼的事實,bug 是使用者的事實。 先在線上用真實操作重現一個使用者看得到的症狀;重現不了,就在盤點紀錄寫一行,不立案。
2026-09-23 的標本:使用者問一張母單做完能不能清掉某份清單。分析結果被開成三張盤點單,盤點 又生出六張,一天九張,最後全部併回原有的子單。2026-09-15 的標本:一次遷移之後盤出兩條對照 缺口,直接開成兩張 bug、合成一顆 PR、部了四台測試機;兩天後證明一條在真實路徑上零差異、 一條在畫面上從不出現,兩張都關掉。
手上正在做別的事,但長出了一個不能消失的東西
開發途中會問出、查出、撞出只有當下知道的東西。停下來簽一張正式的單太貴——assertion 此刻也 簽不出來,因為怎麼算成功還沒想清楚。丟著又會消失:一個修正留在一個到不了別人手上的 地方,跟沒有那個修正是一樣的(2026-08-07 真的發生過,同一個 bug 因此咬了兩版)。
所以有第三條路:開一張種子單,然後回去做你原本在做的事。
開單那一刻要回答兩件事:這是哪一種單,以及這件事有沒有人已經記過了。
- 種類自己宣告,開單那條路不從名字或內容推。舉發實作途中撞到的問題,跟開發一個新 功能,問得出答案的東西不一樣——撞到的人當下就知道自己是誰、剛剛在讀哪個檔,而想加 新功能的人沒有「撞到」這件事,那兩格硬填會填出一個編的。
- 舉發那一種開之前會看到撞到了哪幾張,並且要對每一張寫下一句判斷。判斷的內容不 決定開不開得成單——說「都不是同一件」照樣開得出來。擋人的只有「沒有回答問題」。
bash .claude/skills/refinement/scripts/open-seed-issue.sh \
--issues issues --namespace <命名空間> --slug <名字> --kind report \
--who <誰、在做什麼工作時撞到的> --where <撞到的檔案> \
--what <做什麼> --when <什麼時候要> --why <想解決什麼> --how <拿什麼測> \
--note '<前因後果>' [--vs <單號>=<判斷>]...
新功能那一種是 --kind feature,不問 --who 與 --where,也不查重。跑 --help 看
兩種各要哪幾格。
這幾條規矩住在哪一份,看這件工作落在誰身上。 落在這套流程自己身上(skill、它們的
腳本、常駐規則)的話,那一份是 framework-self-dev——它說出為什麼是這兩種、查重的鍵
為什麼是檔案而不是標題。落在別的東西上的話,那個東西自己的知識說了算。
What ships with it
20 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- evals/evals.json 4.9 KB
- evals/fixtures/dropped-ticket.sh 804 B runs code
- evals/fixtures/rotate-tool.sh 641 B runs code
- scripts/lib/place_issues_by_state.py 73 KB runs code
- scripts/next-ticket-number.sh 3.8 KB runs code
- scripts/place-issues-by-state.sh 1.0 KB runs code
- scripts/prior-decisions.py 5.5 KB runs code
- scripts/record-knowledge-pack.sh 5.6 KB runs code
- scripts/selftests/next_across_issues_coverage_selftest.py 9.4 KB runs code
- scripts/selftests/next-across-issues-coverage-selftest.sh 1000 B runs code
- scripts/selftests/place_issues_nested_walk_selftest.py 5.3 KB runs code
- scripts/selftests/place_issues_ownership_selftest.py 14 KB runs code
- scripts/selftests/place-issues-nested-walk-selftest.sh 1.2 KB runs code
- scripts/selftests/place-issues-ownership-selftest.sh 834 B runs code
- scripts/selftests/record-knowledge-pack-selftest.sh 4.0 KB runs code
- scripts/selftests/resolver_exit_codes_selftest.py 4.0 KB runs code
- scripts/selftests/resolver-exit-codes-selftest.sh 1.0 KB runs code
- scripts/selftests/spine-loop-state-selftest.sh 42 KB runs code
- scripts/selftests/spine-terminal-states-selftest.sh 11 KB runs code
- scripts/spine-loop-state.sh 95 KB runs code
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.
- 2d ago Changed · +3 lines 85ab078177d1
- 4d ago Changed · +8 lines 25180d5adff5
- 9d ago Changed · +24 lines 66d941a4571a
- 11d ago Changed · +42 lines d149764536bb
- 26d ago Changed · +3 lines c33a737d3610
- 1mo ago Changed · +16 lines f602bceece35
- 1mo ago Changed · +4 lines 594abd9de6ca
- 1mo ago Changed · +7 lines 47177c3b7058
- 1mo ago Changed · +13 lines d3800b3db328
- 1mo ago First seen · 487 lines · 275 tokens per session scan A 79214abc2518
driving-work-to-done is a skill published in the GitHub repository HsuanYuLee/polaris (5 stars, last pushed 2d ago), licensed MIT. It adds 275 tokens to every session and 12,746 once invoked, about $0.0011 per session on Opus 5.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.
Other skills, from other repositories
prd-to-issues
A planning skill that turns an existing product requirements document, or PRD, into small GitHub Issues that developers can implement and verify. It groups work into complete user-facing slices instead of separate front-end, back-end, testing, and documentation tasks.
project-context-steward
A project-documentation skill that scans a new project or several related code repositories and records their shared context in a PROJECT_CONTEXT.md file. It captures the product, users, workflows, architecture, repository boundaries, terminology, entry points, and known pitfalls.
stylework-requirement-planning
A planning skill for reviewing a batch of product or business requests from sources such as Excel, CSV files, screenshots, or work-management exports. It groups requests by theme and records duplicates, dependencies, unclear items, and planning assumptions.
stylework-yunxiao-requirement-sync
A workflow for exporting selected requirements from Yunxiao, a project-management service, into a new sheet in an existing DingTalk online spreadsheet. It formats the result into a fixed set of columns and groups it by iteration.
process-mapper
Use when documenting an end-to-end business process (procurement, onboarding, handoffs) and finding where work waits. Maps it with processdocumenter.py, measures stages with cycletimeanalyzer.py and finds bottlenecks with bottleneckdetector.py.
strategic-alignment
Use when teams pull in different directions, OKRs don't connect or departments optimize locally. Maps the strategy cascade and finds orphan goals and silos with alignmentchecker.py.