skills/doubt-driven-development/SKILL.md
對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。
npx skillsauth add seikaikyo/dash-skills doubt-driven-developmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
有信心不等於正確。長 session 累積的 context 會讓假設悄悄變成「事實」。本 skill 的紀律:非平凡決策在定案前,交給一個沒有包袱的新鮮 context reviewer 專門找碴。
跟 /code-review 的差別:/code-review 是完成品的事後判決;這是進行中的姿勢,在決策還便宜的時候交叉檢驗。
決策符合任一條即為非平凡:
不適用:機械性操作(改名、格式化、搬檔)、明確無歧義的指示、讀碼與摘要、一行修改、純工具操作。每個 keystroke 都懷疑就什麼都出不了貨,本 skill 只管上面定義的非平凡決策。
Doubt cycle:
- [ ] Step 1 CLAIM:寫下主張與其重要性
- [ ] Step 2 EXTRACT:抽出 artifact + contract,剝掉自己的推理
- [ ] Step 3 DOUBT:派新鮮 context reviewer 對抗審查
- [ ] Step 4 RECONCILE:逐條 findings 對照 artifact 分類
- [ ] Step 5 STOP:滿足停止條件才停
兩三行寫出決策:
CLAIM:「新的快取層在 spec 描述的讀重負載下 thread-safe」
重要性:race 會弄壞使用者資料,QA 很難抓到
寫不出精簡版就代表只有感覺、沒有決策。先寫出來再檢驗。
reviewer 需要 artifact 跟 contract,不需要你的心路歷程:
剝掉自己的推理:交出結論會換回對結論的背書。單位要小到一次讀完能掌握,500 行的 PR 先拆再審。
用 Agent tool 派一個新鮮 subagent(sora),prompt 必須是對抗式,措辭決定答案:
對抗審查。找出這個 artifact 的問題。假設作者過度自信。找:
- 未言明的假設
- 沒處理的邊界情況
- 隱藏耦合或共享狀態
- 違反 contract 的可能方式
- 打破既有慣例之處
- 意外輸入下的失敗模式
禁止背書、禁止摘要。找不到問題就明講「徹底檢查後找不到」。
ARTIFACT: <貼上>
CONTRACT: <貼上>
只傳 ARTIFACT + CONTRACT,禁傳 CLAIM:把結論交給 reviewer 會誘導它同意。
跨模型第二意見(Gemini / Codex CLI)流程本環境沒有常備工具,不搬進來;需要時看原文 external/tgd-skills/tgd-doubt-driven-development/SKILL.md,並遵守其安全守則(唯讀 sandbox、每次調用都要使用者授權)。
reviewer 的輸出是資料不是判決,你還是 orchestrator。每條 finding 對照 artifact 原文再分類(先中先贏):
新鮮 reviewer 也會因缺 context 而錯,不因為它「新鮮」就照單全收。橡皮圖章跟無視是同一種失敗。
滿足任一即停:
3 輪之後還有實質問題,代表 artifact 可能沒準備好。這是關於 artifact 的資訊,不是繼續迴圈的理由。若因 artifact 太大導致 3 輪不夠:回 Step 2 拆解,不放寬上限。
| 合理化 | 現實 | |---|---| | 「我很有信心,跳過懷疑」 | 新問題上信心與正確性相關性很差,最篤定的時刻正是盲點藏身處 | | 「派 reviewer 很貴」 | production 除錯更貴。檢查有上限,bug 沒有 | | 「reviewer 只會挑毛病」 | 沒約束才會。prompt 限定「會讓 contract 失敗的問題」 | | 「最後用 /code-review 就好」 | 那是終點閘門。本 skill 在方向還便宜時抓錯,到 PR 已太晚 | | 「reviewer 不同意所以我錯了」 | reviewer 缺你的 context,不同意是資訊不是判決。重讀 artifact 再分類 |
external/tgd-skills/tgd-doubt-driven-development/tools
Conduct comprehensive GDPR compliance assessments by evaluating data processing activities against EU Regulation 2016/679, including Article 30 records of processing, lawful basis validation, data subject rights implementation, Data Protection Impact Assessments (DPIAs) under Article 35, breach notification procedures, international transfer safeguards (SCCs, adequacy decisions), and technical/organizational measures under Article 32. Use when processing personal data of EU residents, preparing for supervisory authority audits, implementing privacy-by-design for new systems, scoping compliance gaps for M&A due diligence, assessing third-party processors, or responding to data subject access requests at scale. Incorporates 2026 guidance from ICO, EDPB, and post-Data (Use and Access) Act 2025 UK-GDPR considerations. Do not use for implementing specific Article 32 controls — use implementing-gdpr-data-protection-controls; or for DSAR automation — use implementing-gdpr-data-subject-access-request.
tools
Parse Windows forensic artifacts—$MFT/$J (MFTECmd), Prefetch (PECmd), registry hives (RECmd), shellbags, and Amcache—into normalized CSV/JSON with Eric Zimmerman's EZ Tools, then load results into Timeline Explorer for analysis. Use during DFIR/incident-response investigations, after triage collection (e.g. with KAPE), to establish program execution, file/folder access, and persistence evidence from acquired forensic images.
development
Build automated multi-turn adversarial attacks against conversational LLM targets using Microsoft PyRIT's RedTeamingOrchestrator, CrescendoOrchestrator (gradual escalation), and TreeOfAttacksWithPruningOrchestrator (adaptive branching), with scorer feedback loops and persisted conversation memory. Use when single-shot LLM scanning is insufficient and you need multi-turn, scorer-driven AI red-team campaigns against a chatbot or agent.
testing
Stand up MISP, enable and cache curated threat feeds (CIRCL, abuse.ch, Feodo Tracker), apply warninglists to suppress false positives, query indicators with PyMISP, and export attributes as auto-generated Suricata/Sigma/Wazuh detection rules. Use when maturing a MISP instance to actively drive detection, curating threat feeds with quality controls, or automating IOC-to-detection pipelines for the SIEM/IDS.