opencode-skills-collection 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +24 -1
  2. package/bundled-skills/007/SKILL.md +2 -2
  3. package/bundled-skills/10-andruia-skill-smith/SKILL.md +1 -1
  4. package/bundled-skills/agent-squad/SKILL.md +5 -0
  5. package/bundled-skills/agent-squad/alex/SKILL.md +3 -0
  6. package/bundled-skills/agent-squad/aria/SKILL.md +3 -0
  7. package/bundled-skills/agent-squad/dep/SKILL.md +3 -0
  8. package/bundled-skills/agent-squad/luna/SKILL.md +4 -1
  9. package/bundled-skills/agent-squad/mason/SKILL.md +3 -0
  10. package/bundled-skills/agent-squad/max/SKILL.md +3 -0
  11. package/bundled-skills/agent-squad/quinn/SKILL.md +3 -0
  12. package/bundled-skills/agent-squad/rex/SKILL.md +3 -0
  13. package/bundled-skills/angular/metadata.json +1 -1
  14. package/bundled-skills/angular-best-practices/metadata.json +1 -1
  15. package/bundled-skills/angular-state-management/metadata.json +1 -1
  16. package/bundled-skills/angular-ui-patterns/metadata.json +1 -1
  17. package/bundled-skills/antigravity-skill-orchestrator/SKILL.md +2 -2
  18. package/bundled-skills/apify-actor-development/SKILL.md +2 -2
  19. package/bundled-skills/apple-container/SKILL.md +165 -0
  20. package/bundled-skills/apple-container/references/commands.md +1593 -0
  21. package/bundled-skills/apple-container/references/concepts.md +294 -0
  22. package/bundled-skills/apple-container/references/configuration.md +499 -0
  23. package/bundled-skills/apple-container/references/workflows.md +498 -0
  24. package/bundled-skills/ask-copilot/SKILL.md +112 -0
  25. package/bundled-skills/auto-research/SKILL.md +126 -0
  26. package/bundled-skills/brooks-lint/SKILL.md +1 -1
  27. package/bundled-skills/browser-harness/references/install.md +3 -1
  28. package/bundled-skills/chrome-extension-developer/SKILL.md +1 -1
  29. package/bundled-skills/clean-code-guard/SKILL.md +184 -0
  30. package/bundled-skills/clean-code-guard/references/ai-failure-modes.md +345 -0
  31. package/bundled-skills/clean-code-guard/references/comments-and-formatting.md +115 -0
  32. package/bundled-skills/clean-code-guard/references/dry-kiss-yagni.md +133 -0
  33. package/bundled-skills/clean-code-guard/references/naming-and-functions.md +187 -0
  34. package/bundled-skills/clean-code-guard/references/review-checklist.md +150 -0
  35. package/bundled-skills/clean-code-guard/references/solid.md +280 -0
  36. package/bundled-skills/clean-code-guard/references/sources.md +47 -0
  37. package/bundled-skills/cloudflare-security-audit/SKILL.md +137 -0
  38. package/bundled-skills/cloudflare-security-audit/references/AI-AND-LLM.md +67 -0
  39. package/bundled-skills/cloudflare-security-audit/references/ATTACK-CLASSES.md +116 -0
  40. package/bundled-skills/cloudflare-security-audit/references/CLIENT-SIDE.md +67 -0
  41. package/bundled-skills/cloudflare-security-audit/references/HUNTING.md +110 -0
  42. package/bundled-skills/cloudflare-security-audit/references/MEMORY-SAFETY-AND-BINARY.md +58 -0
  43. package/bundled-skills/cloudflare-security-audit/references/RECONNAISSANCE.md +46 -0
  44. package/bundled-skills/cloudflare-security-audit/references/VALIDATION-AND-REPORTING.md +109 -0
  45. package/bundled-skills/cloudflare-security-audit/references/WEB-PROTOCOL-AND-AUTH.md +85 -0
  46. package/bundled-skills/cloudflare-security-audit/resources/report-schema.json +210 -0
  47. package/bundled-skills/comfyui-gateway/references/troubleshooting.md +1 -1
  48. package/bundled-skills/commit/SKILL.md +2 -1
  49. package/bundled-skills/deepapi/SKILL.md +6 -6
  50. package/bundled-skills/docs/README.md +1 -1
  51. package/bundled-skills/docs/contributors/quality-bar.md +1 -1
  52. package/bundled-skills/docs/contributors/security-guardrails.md +1 -1
  53. package/bundled-skills/docs/integrations/jetski-cortex.md +5 -5
  54. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +3 -3
  55. package/bundled-skills/docs/maintainers/ci-drift-fix.md +7 -5
  56. package/bundled-skills/docs/maintainers/merge-batch.md +24 -7
  57. package/bundled-skills/docs/maintainers/pr-autonomy.md +89 -0
  58. package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +1 -1
  59. package/bundled-skills/docs/maintainers/release-process.md +9 -9
  60. package/bundled-skills/docs/maintainers/repo-growth-seo.md +5 -5
  61. package/bundled-skills/docs/maintainers/skills-date-tracking.md +1 -1
  62. package/bundled-skills/docs/maintainers/skills-update-guide.md +2 -2
  63. package/bundled-skills/docs/users/{antigravity-awesome-skills-vs-awesome-claude-skills.md → agentic-awesome-skills-vs-awesome-claude-skills.md} +5 -5
  64. package/bundled-skills/docs/users/ai-agent-skills.md +4 -4
  65. package/bundled-skills/docs/users/best-claude-code-skills-github.md +3 -3
  66. package/bundled-skills/docs/users/best-cursor-skills-github.md +3 -3
  67. package/bundled-skills/docs/users/bundles.md +56 -57
  68. package/bundled-skills/docs/users/claude-code-skills.md +6 -6
  69. package/bundled-skills/docs/users/codex-cli-skills.md +5 -5
  70. package/bundled-skills/docs/users/cursor-skills.md +3 -3
  71. package/bundled-skills/docs/users/faq.md +27 -15
  72. package/bundled-skills/docs/users/gemini-cli-skills.md +4 -4
  73. package/bundled-skills/docs/users/getting-started.md +22 -12
  74. package/bundled-skills/docs/users/kiro-integration.md +7 -7
  75. package/bundled-skills/docs/users/plugins.md +8 -9
  76. package/bundled-skills/docs/users/security-skills.md +1 -1
  77. package/bundled-skills/docs/users/skills-vs-mcp-tools.md +1 -1
  78. package/bundled-skills/docs/users/specialized-plugin-roadmap.md +3 -4
  79. package/bundled-skills/docs/users/usage.md +9 -9
  80. package/bundled-skills/docs/users/visual-guide.md +7 -7
  81. package/bundled-skills/docs/users/windows-truncation-recovery.md +1 -1
  82. package/bundled-skills/docs/users/workflows.md +1 -1
  83. package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +1 -1
  84. package/bundled-skills/docs/vietnamese/FAQ.vi.md +15 -8
  85. package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +12 -5
  86. package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +1 -1
  87. package/bundled-skills/docs/vietnamese/README.vi.md +21 -17
  88. package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +1 -1
  89. package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +2 -2
  90. package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +1 -1
  91. package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +8 -8
  92. package/bundled-skills/docs-guard/SKILL.md +109 -0
  93. package/bundled-skills/docs-guard/references/code-samples.md +46 -0
  94. package/bundled-skills/docs-guard/references/docstrings.md +60 -0
  95. package/bundled-skills/docs-guard/references/review-checklist.md +45 -0
  96. package/bundled-skills/docs-guard/references/sources.md +22 -0
  97. package/bundled-skills/docs-guard/references/verification.md +51 -0
  98. package/bundled-skills/efficient-web-research/SKILL.md +4 -0
  99. package/bundled-skills/electron-development/SKILL.md +1 -1
  100. package/bundled-skills/event-staffing-compliance/SKILL.md +3 -0
  101. package/bundled-skills/event-staffing-ordering/SKILL.md +3 -0
  102. package/bundled-skills/feature-tracking/SKILL.md +222 -0
  103. package/bundled-skills/flutter-expert/SKILL.md +6 -1
  104. package/bundled-skills/flutter-expert/resources/implementation-playbook.md +214 -0
  105. package/bundled-skills/gemini-deep-research/README.md +246 -0
  106. package/bundled-skills/gemini-deep-research/SKILL.md +136 -0
  107. package/bundled-skills/gemini-deep-research/requirements.txt +2 -0
  108. package/bundled-skills/gemini-deep-research/scripts/research.py +692 -0
  109. package/bundled-skills/git-pushing/SKILL.md +21 -4
  110. package/bundled-skills/git-pushing/scripts/smart_commit.sh +206 -11
  111. package/bundled-skills/go-in-depth/scripts/workflow-script.js +4 -1
  112. package/bundled-skills/grok-build/SKILL.md +167 -0
  113. package/bundled-skills/grok-build/references/cli.md +99 -0
  114. package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +1 -1
  115. package/bundled-skills/idea-autopsy/SKILL.md +147 -0
  116. package/bundled-skills/it-manager-hospital/README.md +1 -1
  117. package/bundled-skills/it-manager-pro/README.md +1 -1
  118. package/bundled-skills/itil-expert/README.md +1 -1
  119. package/bundled-skills/langgraph/SKILL.md +1 -1
  120. package/bundled-skills/linkedin-content-generator/SKILL.md +1 -1
  121. package/bundled-skills/lint-and-validate/scripts/lint_runner.py +23 -23
  122. package/bundled-skills/lint-and-validate/scripts/type_coverage.py +30 -30
  123. package/bundled-skills/logic-lens/SKILL.md +1 -1
  124. package/bundled-skills/lore/LICENSE +21 -0
  125. package/bundled-skills/lore/README.md +386 -0
  126. package/bundled-skills/lore/README.zh-CN.md +386 -0
  127. package/bundled-skills/lore/SKILL.md +453 -0
  128. package/bundled-skills/lore/WORKFLOWS.md +216 -0
  129. package/bundled-skills/lore/WORKFLOWS.zh-CN.md +216 -0
  130. package/bundled-skills/lore/references/audit-template.md +60 -0
  131. package/bundled-skills/lore/references/compatibility.md +228 -0
  132. package/bundled-skills/lore/references/config.md +125 -0
  133. package/bundled-skills/lore/references/entry-format.md +70 -0
  134. package/bundled-skills/lore/references/history-command.md +106 -0
  135. package/bundled-skills/lore/references/monorepo-detection.md +78 -0
  136. package/bundled-skills/lore/references/platform-mirrors.md +377 -0
  137. package/bundled-skills/lore/references/stale-new-markers.md +62 -0
  138. package/bundled-skills/lore/references/summary-template.md +98 -0
  139. package/bundled-skills/lore/scripts/README.md +54 -0
  140. package/bundled-skills/lore/scripts/README.zh-CN.md +54 -0
  141. package/bundled-skills/lore/scripts/find_duplicates.py +211 -0
  142. package/bundled-skills/lore/scripts/find_stale.py +116 -0
  143. package/bundled-skills/lore/scripts/history.py +527 -0
  144. package/bundled-skills/lore/scripts/id_hash.py +32 -0
  145. package/bundled-skills/lore/scripts/list_entries.py +183 -0
  146. package/bundled-skills/lovable-cleanup/SKILL.md +3 -3
  147. package/bundled-skills/makepad-splash/SKILL.md +1 -1
  148. package/bundled-skills/mmx-cli/SKILL.md +14 -1
  149. package/bundled-skills/monopoly/SKILL.md +5 -0
  150. package/bundled-skills/monopoly/patterns/SKILL.md +4 -0
  151. package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +4 -0
  152. package/bundled-skills/monopoly/security-checklist/SKILL.md +4 -0
  153. package/bundled-skills/monopoly/tech-matrix/SKILL.md +4 -0
  154. package/bundled-skills/mtls-configuration/SKILL.md +1 -1
  155. package/bundled-skills/network-101/SKILL.md +4 -5
  156. package/bundled-skills/nika/SKILL.md +270 -0
  157. package/bundled-skills/not-a-vibe-coder/SKILL.md +4 -0
  158. package/bundled-skills/ontoly-software-graph/SKILL.md +160 -0
  159. package/bundled-skills/openclaw-github-repo-commander/SKILL.md +1 -1
  160. package/bundled-skills/pilot-protocol/SKILL.md +6 -3
  161. package/bundled-skills/postgres-readonly-queries/README.md +77 -0
  162. package/bundled-skills/postgres-readonly-queries/SKILL.md +152 -0
  163. package/bundled-skills/postgres-readonly-queries/connections.example.json +34 -0
  164. package/bundled-skills/postgres-readonly-queries/requirements.txt +1 -0
  165. package/bundled-skills/postgres-readonly-queries/scripts/query.py +262 -0
  166. package/bundled-skills/pptx-deck-creation/SKILL.md +275 -0
  167. package/bundled-skills/pptx-deck-creation/references/audit-checklist.md +156 -0
  168. package/bundled-skills/pptx-deck-creation/references/design-profiles.md +96 -0
  169. package/bundled-skills/pptx-deck-creation/references/python-snippets.md +150 -0
  170. package/bundled-skills/pptx-deck-creation/references/reference-deck-analysis.md +91 -0
  171. package/bundled-skills/pptx-deck-creation/references/visual-asset-adapters.md +158 -0
  172. package/bundled-skills/privilege-escalation-methods/SKILL.md +1 -1
  173. package/bundled-skills/product-decision-agent/SKILL.md +94 -0
  174. package/bundled-skills/product-decision-agent/agents/openai.yaml +7 -0
  175. package/bundled-skills/product-decision-agent/references/methodology-basis.md +232 -0
  176. package/bundled-skills/product-decision-agent/references/product-playbooks.md +813 -0
  177. package/bundled-skills/product-decision-agent/references/reasoning-engine.md +289 -0
  178. package/bundled-skills/product-decision-agent/references/response-examples.md +279 -0
  179. package/bundled-skills/product-decision-agent/scripts/quality_gate.py +221 -0
  180. package/bundled-skills/product-decision-agent/scripts/test_quality_gate.py +94 -0
  181. package/bundled-skills/pytest-skill/reference/playbook.md +358 -0
  182. package/bundled-skills/quit-sponsor/SKILL.md +96 -0
  183. package/bundled-skills/rclone-cli/references/providers/s3.md +1 -1
  184. package/bundled-skills/security-and-hardening/SKILL.md +1 -1
  185. package/bundled-skills/semgrep-rule-creator/SKILL.md +6 -6
  186. package/bundled-skills/skill-creator/README.md +3 -3
  187. package/bundled-skills/skill-creator/SKILL.md +8 -4
  188. package/bundled-skills/skill-creator/scripts/quick_validate.py +1 -1
  189. package/bundled-skills/sql-injection-testing/SKILL.md +4 -4
  190. package/bundled-skills/subagent-orchestrator/README.md +1 -1
  191. package/bundled-skills/super-code/bash/SKILL.md +3 -0
  192. package/bundled-skills/super-code/c/SKILL.md +3 -0
  193. package/bundled-skills/super-code/cpp/SKILL.md +3 -0
  194. package/bundled-skills/super-code/csharp/SKILL.md +3 -0
  195. package/bundled-skills/super-code/dart/SKILL.md +3 -0
  196. package/bundled-skills/super-code/elixir/SKILL.md +3 -0
  197. package/bundled-skills/super-code/go/SKILL.md +3 -0
  198. package/bundled-skills/super-code/java/SKILL.md +3 -0
  199. package/bundled-skills/super-code/kotlin/SKILL.md +3 -0
  200. package/bundled-skills/super-code/php/SKILL.md +3 -0
  201. package/bundled-skills/super-code/python/SKILL.md +3 -0
  202. package/bundled-skills/super-code/ruby/SKILL.md +3 -0
  203. package/bundled-skills/super-code/rust/SKILL.md +3 -0
  204. package/bundled-skills/super-code/scala/SKILL.md +3 -0
  205. package/bundled-skills/super-code/swift/SKILL.md +3 -0
  206. package/bundled-skills/super-code/typescript/SKILL.md +3 -0
  207. package/bundled-skills/telegram-bot-messaging/README.md +185 -0
  208. package/bundled-skills/telegram-bot-messaging/SKILL.md +101 -0
  209. package/bundled-skills/telegram-bot-messaging/scripts/telegram.sh +420 -0
  210. package/bundled-skills/test-guard/SKILL.md +132 -0
  211. package/bundled-skills/test-guard/references/jest.md +50 -0
  212. package/bundled-skills/test-guard/references/llm-app-testing.md +40 -0
  213. package/bundled-skills/test-guard/references/phpunit.md +56 -0
  214. package/bundled-skills/test-guard/references/pytest.md +65 -0
  215. package/bundled-skills/trading-ledger/SKILL.md +11 -3
  216. package/bundled-skills/uizze-ui-research/SKILL.md +93 -0
  217. package/bundled-skills/vibe-code-auditor/SKILL.md +1 -1
  218. package/bundled-skills/vibecode-production-qa-validator/SKILL.md +1 -1
  219. package/bundled-skills/videodb/scripts/ws_listener.py +29 -15
  220. package/bundled-skills/voice-ai-engine-development/README.md +1 -1
  221. package/bundled-skills/vulnerability-scanner/SKILL.md +1 -1
  222. package/bundled-skills/warehouse/SKILL.md +154 -0
  223. package/bundled-skills/woo-guard/SKILL.md +113 -0
  224. package/bundled-skills/woo-guard/references/checkout-and-money.md +64 -0
  225. package/bundled-skills/woo-guard/references/hpos-and-crud.md +87 -0
  226. package/bundled-skills/woo-guard/references/review-checklist.md +44 -0
  227. package/bundled-skills/woo-guard/references/sources.md +17 -0
  228. package/bundled-skills/wp-guard/SKILL.md +119 -0
  229. package/bundled-skills/wp-guard/references/i18n.md +88 -0
  230. package/bundled-skills/wp-guard/references/performance.md +70 -0
  231. package/bundled-skills/wp-guard/references/review-checklist.md +57 -0
  232. package/bundled-skills/wp-guard/references/security.md +100 -0
  233. package/bundled-skills/wp-guard/references/sources.md +27 -0
  234. package/bundled-skills/writing-skills/gotchas.md +1 -1
  235. package/bundled-skills/writing-skills/references/standards/metadata-standard.md +1 -1
  236. package/bundled-skills/x-twitter-scraper/SKILL.md +14 -32
  237. package/bundled-skills/xss-html-injection/SKILL.md +3 -3
  238. package/bundled-skills/youtube-seo-optimizer/SKILL.md +1 -1
  239. package/bundled-skills/youtube-summarizer/CHANGELOG.md +2 -2
  240. package/package.json +1 -1
  241. package/skills_index.json +273 -0
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: auto-research
3
+ description: Research uncertain questions with an explicit, user-approved web search or ChatGPT consultation, then present options and wait for implementation approval.
4
+ category: automation
5
+ risk: critical
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-07-09"
9
+ author: zyu51
10
+ tags: [research, chatgpt, playwright, browser-automation, decision-support, chinese]
11
+ tools: [claude, playwright]
12
+ license: MIT
13
+ ---
14
+
15
+ # Auto-Research Skill
16
+
17
+ ## Overview
18
+
19
+ When implementing tasks, Claude Code can encounter uncertainties — design choices, algorithm details, API usage, or best practices. This skill provides an explicit-consent research path, presents findings, and waits for user approval before writing code.
20
+
21
+ The skill supports web research and an optional ChatGPT consultation. It never sends
22
+ conversation context, files, browser state, or credentials to a third party without the
23
+ user's explicit approval of the exact, redacted text.
24
+
25
+ ## When to Use This Skill
26
+
27
+ - User asks a question where multiple valid approaches exist
28
+ - Claude is uncertain about algorithm details or API usage
29
+ - Design/architecture choices need comparison
30
+ - The user explicitly asks to search the web or consult ChatGPT and approves the proposed query
31
+
32
+ ## How It Works
33
+
34
+ **Step 1: Propose the research boundary** — State the source to use, the exact query or
35
+ redacted prompt, whether any local/workspace text would leave the machine, and the likely
36
+ cost. Wait for the user to approve that exact boundary.
37
+
38
+ **Step 2: Research** — After approval, use web search or a browser session the user has
39
+ explicitly selected and authorized. Use a pinned, user-configured browser automation
40
+ connector; do not install packages automatically, use `@latest`, or access browser cookies,
41
+ other tabs, saved passwords, or sessions.
42
+
43
+ **Step 3: Present** — Distill findings into concise options with sources, presented to the user.
44
+
45
+ **Step 4: Await Approval** — Do NOT write code until the user says "go ahead" or picks an option.
46
+
47
+ **Step 5: Implement** — Once approved, execute with confidence.
48
+
49
+ ### Explicit ChatGPT Consultation
50
+
51
+ Do not treat `?`, `??`, or another shorthand as consent. First propose a minimal prompt,
52
+ for example: `请评估这个已脱敏的方案的正确性、完整性和可改进之处:<text>`.
53
+ Explicitly identify every piece of text that would be sent. Only after the user confirms
54
+ the exact prompt may you open the selected ChatGPT session, submit that prompt, and present
55
+ the response. Do not include conversation history by default.
56
+
57
+ Redact secrets, personal data, proprietary code, customer data, and internal URLs before
58
+ proposing the prompt. If safe redaction is not possible, do not submit it.
59
+
60
+ ### Browser Automation Boundary
61
+
62
+ If browser automation is necessary, the user must separately authorize the selected browser
63
+ profile and connector version. Restrict the session to the consultation tab. Do not inspect,
64
+ reuse, export, or rely on cookies from other tabs or profiles.
65
+
66
+ ## Examples
67
+
68
+ ### Example 1: Design Question with GPT
69
+ ```
70
+ User: PyTorch 中自定义 ADMM 优化器怎么设计?
71
+ Claude: 我可以搜索公开资料,或将以下已脱敏问题发给 ChatGPT:
72
+ “如何设计 PyTorch 自定义 ADMM 优化器?请比较可行模式。”
73
+ 不会发送工作区文件或对话历史。是否允许?
74
+ User: 允许发送这段文字
75
+ Claude: [Opens only the authorized consultation tab, submits the approved prompt]
76
+ Claude: GPT suggests approach A with these pros/cons. Proceed?
77
+ User: 行
78
+ Claude: [Implements code]
79
+ ```
80
+
81
+ ### Example 2: Web Search
82
+ ```
83
+ User: ?? ADMM convergence criteria best practices
84
+ Claude: I can search public sources for the exact redacted query
85
+ “ADMM convergence criteria best practices”. No workspace files or conversation
86
+ history will be sent. May I send that text to WebSearch and fetch the results?
87
+ User: Yes, send that query
88
+ Claude: [WebSearch + WebFetch → finds Boyd et al. paper, extracts criteria]
89
+ Claude: Boyd recommends ||r|| < ε·max(||Ax||, ||Bz||, ||c||). Use this?
90
+ User: Yes
91
+ Claude: [Implements]
92
+ ```
93
+
94
+ ## Best Practices
95
+ - ✅ Always present findings to user before writing code
96
+ - ✅ Use `page.fill()` for instant text injection instead of `keyboard.type()`
97
+ - ✅ Ask for fresh approval before every external consultation
98
+ - ✅ Include sources in findings
99
+ - ❌ Don't skip research and write code speculatively
100
+ - ❌ Don't send context, files, or browser data because of a shorthand trigger
101
+ - ❌ Don't alter the user's browser profile or session state
102
+
103
+ ## Limitations
104
+ - Requires a user-configured, pinned browser automation connector if browser consultation is used
105
+ - ChatGPT consultation is optional; use ordinary web search when it meets the need
106
+ - GPT response time varies (10-30s typically)
107
+ - Web search quality depends on available sources
108
+ - Does not replace expert domain knowledge — always let user make the final call
109
+
110
+ ## Security & Safety Notes
111
+ - Obtain explicit consent for each third-party submission, including the exact redacted text
112
+ - Never access, export, or depend on cookies, saved passwords, or unrelated browser tabs
113
+ - Never submit sensitive credentials, tokens, proprietary code, personal data, or internal URLs
114
+ - Do not install or execute browser tooling from an unpinned package version
115
+
116
+ ## Common Pitfalls
117
+
118
+ | Problem | Solution |
119
+ |---------|----------|
120
+ | ChatGPT shows login page | Let the user log in themselves; do not handle cookies or credentials |
121
+ | The prompt contains sensitive context | Redact it or use local reasoning instead |
122
+ | Browser automation is unavailable | Use web search or stop and ask the user for a different approved method |
123
+
124
+ ## Related Skills
125
+ - @systematic-debugging — use when debugging Playwright interactions with ChatGPT
126
+ - @condition-based-waiting — use when waiting for GPT responses in the browser
@@ -67,7 +67,7 @@ Brooks Lint applies each book's core principles as a review lens:
67
67
  # Search: "brooks-lint" in Claude Code > Extensions
68
68
 
69
69
  # Or install via NPX (Antigravity)
70
- npx antigravity-awesome-skills --claude
70
+ npx agentic-awesome-skills --claude
71
71
  # Then invoke: @brooks-lint
72
72
  ```
73
73
 
@@ -37,7 +37,9 @@ This makes new Codex or Claude Code sessions in other folders load the runtime b
37
37
  ## Keeping the harness current
38
38
 
39
39
  - On each run, `browser-harness` prints `[browser-harness] update available: X -> Y` (once per day) when a newer GitHub release exists.
40
- - When you see that banner, run `browser-harness --update -y` yourself — don't ask the user. It pulls the new code (`git pull --ff-only` for editable clones, `uv tool upgrade browser-harness` for PyPI installs) and stops the running daemon so the next call picks up the new code. With `-y` it won't prompt.
40
+ - When you see that banner, report the available version and ask the user whether to update.
41
+ Do not run `browser-harness --update -y`, `git pull`, or `uv tool upgrade` automatically:
42
+ each changes locally installed code and may stop the running daemon.
41
43
  - `--update` refuses to run on an editable clone with uncommitted changes. If that happens, tell the user and let them resolve the dirty worktree.
42
44
 
43
45
  ## Maintenance commands
@@ -74,7 +74,7 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
74
74
  - ✅ **Do:** Use `chrome.runtime.onInstalled` for extension initialization.
75
75
  - ✅ **Do:** Use modern ES modules in scripts if configured in manifest.
76
76
  - ✅ **Do:** Validate external input in content scripts before acting on it.
77
- - ❌ **Don't:** Use `innerHTML` or `eval()` - prefer `textContent` and safe DOM APIs.
77
+ - ❌ **Don't:** Use `innerHTML` or `eval()` - prefer `textContent` and safe DOM APIs. <!-- security-allowlist: defensive extension guidance -->
78
78
  - ❌ **Don't:** Block the main thread in the service worker; it must remain responsive.
79
79
 
80
80
  ## Troubleshooting
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: "clean-code-guard"
3
+ description: "Review generated or changed production code with Clean Code, SOLID, DRY, KISS, YAGNI, and LLM-specific failure-mode checks."
4
+ risk: "critical"
5
+ source: "community"
6
+ source_repo: "amElnagdy/guard-skills"
7
+ source_type: "community"
8
+ date_added: 2026-07-13
9
+ author: "community"
10
+ tags: []
11
+ tools: []
12
+ ---
13
+
14
+
15
+ # clean-code-guard
16
+
17
+ You are reviewing generated or changed code before it ships. Apply the rules below as a guard pass after the first implementation pass — and once this skill is active, keep applying it to every later code change in the same session, re-running the self-check before delivery after each edit rather than reverting to unguarded output because the skill loaded earlier. If the user explicitly invokes this skill before writing code, use the same rules while writing and still run the self-check before delivery.
18
+
19
+ ## When to Use
20
+
21
+ Use this skill when reviewing generated or changed code before it ships. Activate it reactively after an agent writes, edits, or refactors production code — especially after a first implementation pass. Re-run the guard pass before delivery after each edit.
22
+
23
+ ## Compatibility
24
+
25
+ This is a portable instruction skill. It requires no MCP server, network access,
26
+ API key, shell command, local executable, or bundled script. It can be used in
27
+ any runtime that supports `SKILL.md` plus directly linked [references/](references/)
28
+ files; `agents/openai.yaml` is lightweight display metadata.
29
+
30
+ This skill does not replace project linters, formatters, type checkers, or test
31
+ runners. Use the project's own tools for mechanical verification; use this skill
32
+ for the judgement layer around code quality and review.
33
+
34
+ ## How to use this skill
35
+
36
+ This skill has three modes — pick based on the user's request.
37
+
38
+ **Guard-pass mode** (recommended): after code has been generated, edited, refactored, or fixed, check the diff or target files against the *Always-applied imperatives* below. Fix violations before presenting, committing, or merging the work.
39
+
40
+ **Live mode** (explicit): when the user invokes this skill before a risky code edit, apply the same imperatives while writing, then run the *Self-check before delivery* checklist. If you violate any rule, fix it before showing the user.
41
+
42
+ **Review mode** (triggered when the user asks you to review, audit, critique, or rate code): walk [references/review-checklist.md](references/review-checklist.md) against the target file(s) and produce a structured findings report. Do not edit code in review mode unless asked.
43
+
44
+ Across all three modes, the rule bodies live in [references/](references/). Read the relevant reference file when:
45
+ - You hit a rule you don't fully remember the reasoning for.
46
+ - The user pushes back on a rule and you need the source citation.
47
+ - You're in review mode and need the full checklist.
48
+ - The code under review touches a specific principle (e.g., subclassing → [references/solid.md](references/solid.md); deduplication → [references/dry-kiss-yagni.md](references/dry-kiss-yagni.md)).
49
+
50
+ The reference files are:
51
+ - [references/naming-and-functions.md](references/naming-and-functions.md) — names, function size, parameters, command/query separation.
52
+ - [references/comments-and-formatting.md](references/comments-and-formatting.md) — when to comment, when to delete, matching neighbor style.
53
+ - [references/solid.md](references/solid.md) — SRP, OCP, LSP, ISP, DIP with the modern phrasings and detection smells.
54
+ - [references/dry-kiss-yagni.md](references/dry-kiss-yagni.md) — knowledge vs code duplication, Sandi Metz's re-inline rule, McCabe complexity, Fowler's YAGNI cost categories.
55
+ - [references/ai-failure-modes.md](references/ai-failure-modes.md) — the 14 systematic ways LLMs produce bad code. **Read this one first if you are an AI agent reading this skill.** It is the highest-leverage file in the skill.
56
+ - [references/review-checklist.md](references/review-checklist.md) — structured walk-through for review mode.
57
+ - [references/sources.md](references/sources.md) — central bibliography for source URLs. Read it only when you need to verify or cite an external source.
58
+
59
+ ## Examples
60
+
61
+ - A coding agent implements an endpoint: use guard-pass mode on the diff before
62
+ the work is presented or committed.
63
+ - User asks "review this PR" or "should I merge this?": use review mode and
64
+ report findings from [references/review-checklist.md](references/review-checklist.md); do not edit unless
65
+ asked.
66
+ - User asks "implement this endpoint using clean-code-guard": use live mode
67
+ while writing, then run the self-check before delivery.
68
+ - User asks "refactor this function, same behavior": preserve observable
69
+ behavior exactly and treat any bug fix as a separate change.
70
+
71
+ ## Success criteria
72
+
73
+ This skill is working when code-writing tasks avoid the listed failure modes,
74
+ code-review tasks produce prioritized findings with concrete evidence, and
75
+ refactors preserve behavior unless the user explicitly asks for a behavior
76
+ change. It should stay silent for conceptual, CI, git workflow, prose, data
77
+ analysis, and test-running tasks covered by the frontmatter exclusions.
78
+
79
+ ## Why this skill exists
80
+
81
+ LLM-generated code has measurable, systematic failure modes that generic "follow clean code" instructions do not catch. Examples backed by published research:
82
+
83
+ - **Code duplication grew 8x** in tracked codebases between 2021 and 2024 (GitClear 2025 report).
84
+ - **Package hallucination rate averages 19.6%** across 16 models (Spracklen et al., USENIX Security '25).
85
+ - LLMs often wrap risky operations in broad catch-all handlers that swallow errors (Karpathy).
86
+ - AI agents **"declare success despite failing tests"** by returning hardcoded fixture values (Fowler, Patterns for Reducing Friction).
87
+ - Function size grew from 142 to 267 LoC, cyclomatic complexity from 4.2 to 8.1 in AI-assisted commits (GitClear).
88
+
89
+ The classic principles (Clean Code, SOLID, DRY/KISS/YAGNI) are still the foundation — but this skill adds the *AI-specific* layer most rule packs miss.
90
+
91
+ ## Always-applied imperatives
92
+
93
+ These are the rules to follow on every code change. They are imperative, not suggestions.
94
+
95
+ ### Functions and names
96
+
97
+ 1. **Names reveal intent.** Never use `data`, `data2`, `result`, `result_final`, `item`, `temp`, `value`, `obj`, `info`, `helper`, `manager`, `utils`, or `handle_*`/`process_*`/`do_*` without a qualifier. A name must answer *why it exists and what it does*. (Clean Code Ch. 2)
98
+ 2. **Functions stay small.** Target ≤20 lines, one level of abstraction, one thing. If you can extract a function with a name that doesn't restate the body, the parent was doing more than one thing. (Clean Code Ch. 3)
99
+ 3. **Four arguments is the hard ceiling.** At five, stop and introduce a request/config object (record, struct, DTO, or equivalent). Never use boolean flag arguments — split into two functions instead.
100
+ 4. **No output arguments.** A function either returns a value (query) or has a side effect (command). Never both. Command names use verbs; query names use nouns or getter-style names. (CQS)
101
+
102
+ ### Comments and structure
103
+
104
+ 5. **Comments explain *why*, never *what*.** Delete any comment that paraphrases the line below it. Delete step-number scaffolding comments. Delete commented-out code — version control exists. (Clean Code Ch. 4)
105
+ 6. **Match the file's existing style.** Read the file you're editing and at least one neighbor before writing. Mirror the casing, import order, error handling, logging, and HTTP/DB client choices. Do not introduce a second pattern.
106
+
107
+ ### SOLID
108
+
109
+ 7. **One actor per module.** A class should be answerable to one stakeholder group (Accounting, Auth, Reporting). If two unrelated subsystems both reach into the same class, split it. (SRP, Uncle Bob 2014)
110
+ 8. **Extension via new code, not edits.** If adding a new variant requires another type-tag branch in an existing function, refactor to a registry, strategy, or polymorphic dispatch first. (OCP)
111
+ 9. **No subclass refuses its parent's contract.** Never override a method to signal "not implemented" or "unsupported operation." Never strengthen preconditions or weaken postconditions in an override. If you need to do that, the inheritance is wrong. (LSP)
112
+ 10. **Abstractions live with the client, not the implementation.** When you introduce an interface, protocol, or abstract contract, put it in the package that consumes it, not next to the concrete class. (DIP)
113
+
114
+ ### DRY, KISS, YAGNI
115
+
116
+ 11. **Delete duplicated *knowledge*, not duplicated *text*.** Two functions that look alike but encode different rules are not a DRY violation. One rule expressed in code + docs + schema is. (Pragmatic Programmer, "DRY")
117
+ 12. **The wrong abstraction is worse than duplication.** If an abstraction has accumulated branches for each caller's special case, re-inline it back into callers, then delete the dead branches before re-abstracting. (Sandi Metz, "The Wrong Abstraction")
118
+ 13. **Complexity ceiling: cyclomatic ≤10, nesting depth ≤5.** Refactor before exceeding. (McCabe 1976)
119
+ 14. **No speculative anything.** No optional parameter, config flag, env var, feature toggle, interface, factory, or base class without a present-day caller. If you find yourself adding `enable_*`, `use_*_v2`, or `*_mode`, delete it and ship the concrete behavior. (Fowler, "Yagni")
120
+
121
+ ### AI-specific guardrails — the highest-leverage section
122
+
123
+ 15. **Never swallow errors with broad catch-all handling.** Catch only the specific error type you can recover from. If you cannot recover, let the error propagate. Returning null/none/empty success from a catch handler is forbidden unless the function contract documents that behavior. (Karpathy)
124
+ 16. **Guard the boundary; trust the contract.** At a trust boundary — external input, request/API payloads, deserialized or cross-process data, anything from an untrusted source — validate, even when the happy path looks fine. *Inside* the boundary, do not add null checks or runtime type checks for values whose declared type or caller contract already excludes that case. The test for a guard is not "could this theoretically be wrong" but "can untrusted data reach here." (arXiv 2409.19182)
125
+ 17. **Verify every import and external call.** Before calling a method on a library, confirm it exists in the version installed (read the package, check the lockfile, or import and inspect). Do not generate code based on what the API "should" look like. (USENIX Security '25)
126
+ 18. **No hardcoded "success" returns or mock fixtures in production code.** Never return `{"status": "ok", ...}` or canned data from a function whose spec says it does real work. If you cannot implement, fail explicitly with the language's unimplemented or unsupported-operation mechanism and say so. Never disable, skip, or weaken a test to make it pass. (Fowler, Claude Code issue #6984)
127
+ 19. **Re-derive, do not copy from similar.** When tempted to copy a function and modify it, stop. Re-derive from the spec. Off-by-one and wrong-null-semantic bugs almost always enter through copy-from-similar. (arXiv 2411.01414)
128
+ 20. **Enumerate boundary cases before writing them.** For any range, off-by-one, null/empty/one/many, even/odd, or unicode/byte boundary, write the case list in a comment first. Cover each case in code before moving on.
129
+ 21. **Strip dead code before delivery.** Run a linter or grep pass for unused imports, unused symbols, unreachable branches, and "just in case" exports. Remove them. A function that nothing calls today does not get to live for "someday."
130
+ 22. **Read before write.** Before writing in an unfamiliar repo, read the file you'll edit, one neighbor, and any project rules file (CLAUDE.md, AGENTS.md, README's "conventions" section). Use the project's existing helpers, error types, and logging.
131
+ 23. **No new dependency for what a few lines cover.** Before adding a package, check the standard library, the already-installed dependencies, and whether a few lines of local code do the job. A new dependency is permanent maintenance and supply-chain surface; add one only when it owns real complexity you should not re-implement (cryptography, parsing, time zones — illustrative, not exhaustive), never to save ten lines. See [references/dry-kiss-yagni.md](references/dry-kiss-yagni.md).
132
+
133
+ ### The floor — never cut these for simplicity
134
+
135
+ Rule 16 trusts the contract *inside* the boundary; the items below stay even while you strip speculation (14), defensive guards (16), and dead code (21). Removing one of these is a behavior change, not a cleanup — keep it, or flag it and ask.
136
+
137
+ - **Validation and sanitization at every trust boundary** — external input, request/API payloads, deserialized or cross-process data.
138
+ - **Error handling that prevents data loss.**
139
+ - **Security measures** — authorization, output escaping, parameterized queries, secret handling.
140
+ - **Behavior the user explicitly requested.** Idly mentioned ≠ requested, but do not drop what was asked for.
141
+
142
+ ### Refactoring discipline
143
+
144
+ 24. **Preserve observable behavior when refactoring.** When the user asks you to clean up, simplify, or refactor existing code, do not change the contract — same inputs produce the same outputs, same exceptions raised, same side effects, same ordering guarantees. If you spot a bug while refactoring, flag it separately and ask before changing it. Refactoring is defined as *"a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior"* (Fowler, *Refactoring*). Bug fixes and refactors are two operations — never bundle them in a single change.
145
+
146
+ ## Self-check before delivery
147
+
148
+ Before you show the user the code you wrote or edited:
149
+
150
+ 1. Walk imperatives 1–24 against your diff. Fix every violation.
151
+ 2. For new functions, count: lines ≤ 20? params ≤ 4? complexity feels ≤ 10? names reveal intent?
152
+ 3. For new comments, ask: does this explain *why*? If it explains *what*, delete it.
153
+ 4. For new error handling: is the caught error type specific? Does the handler do something other than silently return?
154
+ 5. For new abstractions (interface, factory, base class, registry): is there a second concrete user *today*? If no, inline it.
155
+ 6. Did you read the file you edited and at least one neighbor? Did your style match?
156
+ 7. Is there any hardcoded "ok" return or fixture data? If yes, replace with real implementation or an explicit unimplemented/unsupported-operation failure.
157
+ 8. If this is a refactor: did you change observable behavior? If yes, you bundled a bug fix — split it out and ask the user.
158
+
159
+ If you cannot answer yes to every check, fix before shipping.
160
+
161
+ After the guard pass, surface it so the user can see it ran (guard-pass and live modes — review mode reports through its own findings format). List each fix as `<file>[:<line>] — <what changed>`, omitting the line number if it is unstable, then close with one line: `clean-code-guard: <N> fixed, <M> flagged for author` — or `clean-code-guard: clean` if nothing triggered. Report only changes you actually made; never estimate a quality score or percentage — no baseline exists, so such a number would be invented. This reports the pass; it does not block presenting or committing.
162
+
163
+ ## When the user pushes back on a rule
164
+
165
+ Refer them to the source name in the relevant [references/](references/) file and use [references/sources.md](references/sources.md) only when the URL is needed. The rules are defensible — they come from primary sources (Uncle Bob, Fowler, Hunt & Thomas, McCabe, Metz) and from published 2024–2026 research on LLM code generation. If the user has a context-specific reason to override (e.g., a constructor genuinely needs 8 params for a config DTO), document the exception in a code comment that names the principle being overridden, the reason, and a revisit trigger — the condition under which it should be reconsidered. An exception comment with no revisit trigger is itself a finding on the next pass: a tradeoff with no exit is just deferred debt.
166
+
167
+ ## Troubleshooting
168
+
169
+ - If the task is conceptual rather than code-producing, do not apply this skill;
170
+ answer the concept directly.
171
+ - If review mode starts producing style-only feedback, use
172
+ [references/review-checklist.md](references/review-checklist.md) and prioritize behavioral bugs, brittleness,
173
+ and maintainability risks.
174
+ - If a rule conflicts with an explicit project convention, follow the project
175
+ convention and document the exception only when it would otherwise surprise a
176
+ future maintainer.
177
+ - If the skill feels too broad, use the frontmatter exclusions first; do not add
178
+ runtime-specific rules to this general guard skill.
179
+
180
+ ## What this skill does not do
181
+
182
+ - Run linters or static analysis. Those are tool-level concerns; this skill is about *what to write* and *what to look for*.
183
+ - Enforce language-specific formatter or linter preferences. Defer to the project's style tooling.
184
+ - Replace tests. Clean code passes tests; tests do not pass without clean code, but clean code without tests is also a defect.