Borrowing it
Nothing to install: this file belongs to ianlkl11234s/mini-taiwan-pulse. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ianlkl11234s/mini-taiwan-pulse/master/.claude/skills/weekly-audit/SKILL.mdgit clone --depth 1 https://github.com/ianlkl11234s/mini-taiwan-pulseWrote 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/ianlkl11234s/mini-taiwan-pulse/weekly-audit)<a href="https://agentmods.dev/skills/ianlkl11234s/mini-taiwan-pulse/weekly-audit"><img src="https://agentmods.dev/badge/skills/ianlkl11234s/mini-taiwan-pulse/weekly-audit/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/ianlkl11234s/mini-taiwan-pulse/weekly-audit"><img src="https://agentmods.dev/badge/skills/ianlkl11234s/mini-taiwan-pulse/weekly-audit.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.00290 | $0.04290 |
| Opus 5 | $0.00145 | $0.02145 |
| Sonnet 5 | $0.00058 | $0.00858 |
| Haiku 4.5 | $0.00029 | $0.00429 |
Grade A, and why
weekly-audit 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 11d 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 — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Weekly Audit — 每週巡檢
目的:專案每週都在長(新圖層、新資料源、新疊圖),但所有守門機制都是事件觸發的——
CI 在 PR 時跑、layer-onboarding 在接線時跑、wrap-up 在 session 結束時跑。
沒有人回答「上線三週後這東西還健康嗎」。這個 skill 就是回答這句話的。
設計依據與完整檢查項清單:docs/proposal/weekly-audit-2026-08-21/README.md
何時觸發 / 何時不要
| 觸發 | 不要觸發(該用別的) |
|---|---|
| 「跑一下週巡檢」「這週的檢查」 | 新 layer 剛接好要驗收 → layer-onboarding |
| 「幫專案做大整理」 | session 要收尾、整理記憶 → wrap-up |
| 「Supabase/S3 現在多大」「花多少錢」 | 某個 RPC 慢要優化 → /check-rpc + supabase-optimize |
| 「有沒有圖層掛掉/沒資料」 | 某個 feature 的跨 repo commit 對照 → /handoff |
| 「README/文件過時了嗎」 | 一次性的專題稽核 → 直接做,別套週巡檢格式 |
硬約束(違反即中止)
- 正式 DB 唯讀:只能 SELECT/describe,查詢帶 LIMIT。
每個 session 開頭下
SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;(⚠️ 連線字串的default_transaction_read_only對 Supabase pooler 無效,實測過)。 禁止任何寫入——包含為了「測試唯讀鎖有沒有效」而試寫。 特別是pg_stat_statements_reset():它會清空 C1 的差分基準且不可逆 (2026-08-21 真的被誤觸過一次,8/11~8/21 的統計因此永久遺失)。 要驗證唯讀鎖,用SHOW transaction_read_only;讀狀態,不要真的送 DML。 - 執行時段無限制:這是個人 GIS 專案的 DB。最重的兩支是
probe_upstream(~70s) 與collect_supabase(~64s,A7 亂碼掃描佔其中約 60s;不含 A7 只要 3.8s)。 想什麼時候跑就什麼時候跑。 ⚠️ A7 預設是抽樣(小表全掃、大表抽樣),能可靠抓到「系統性解碼壞掉」, 但抓不到「大表裡孤零零幾筆壞」。要窮盡檢查跑AUDIT_MOJIBAKE_DEEP=1(實測 5 分鐘以上)。 - 報告不得含密鑰:收集器讀 env 但永不 echo 值。產報告前掃一次,
出現疑似 secret 一律
<REDACTED>。 - 大檔一律 HEAD 不 GET:站上有 46MB 級的 geojson。
- 不碰平行 session 的髒檔:本 repo 長期有平行 session。dirty 檔只列不動、 不代為 commit、不 revert。
- 收集器失敗就標 blocked,不因為沒收到資料就寫「無異常」。
_all.json的failed[]必須反映到報告裡。 - 必須在主工作樹跑,不要在
git worktree裡跑(2026-08-21 實測)。 worktree 只有 git 追蹤的檔案——public/的 1125 個檔在 worktree 裡只剩 156 個 (PMTiles/大 GeoJSON 全被 gitignore 走 S3),且../data-collectors等 sibling repo 的相對路徑會失效。結果是 A3/A5/D5 給出嚴重偏低的假數字、上游探測整組失效, 而且不會報錯——它會安靜地告訴你「只有 18 個 PMTiles」。 主樹被平行 session 佔用時,寧可等,不要改在 worktree 跑。
流程
Step 0 — 前置
- 確認在 repo root、
.env可讀(不讀內容,只確認存在)。 - 看一眼現在幾點:落在 10:00–20:00 就提醒用戶這會打到正式 DB。
- 讀上一份報告
docs/audit/weekly/(最新的那份)——趨勢比較的基準來自報告本身, 不是.claude/.cache/(cache 不進版控,換機器就沒了)。
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.
- 11d ago First seen · 203 lines · 290 tokens per session scan A 38ab91829287
weekly-audit is a skill published in the GitHub repository ianlkl11234s/mini-taiwan-pulse (504 stars, last pushed yesterday), licensed MIT. It adds 290 tokens to every session and 4,290 once invoked, about $0.0014 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
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
story-readiness
Validate that a story file is implementation-ready. Checks for embedded GDD requirements, ADR references, engine notes, clear acceptance criteria, and no open design questions. Produces READY / NEEDS WORK / BLOCKED verdict with specific gaps. Use when user says 'is this story ready', 'can I start on this story', 'is…
autotask-creator
Rules for automation CRUD from the group-chat commander. The commander does not call mutation tools and does not edit cloud/autotasks files directly. It emits one or more top-level ... containers in its final text; the bus parses and applies them after the turn.
projects
List all managed projects with status, branch, open PRs, and open issue counts — portfolio-level view.