opencode-skills-collection 3.1.23 → 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,147 @@
1
+ ---
2
+ name: idea-autopsy
3
+ description: "Autopsy a business idea before you build it: kill-list check, five hard filters, a free-AI one-prompt test, live ad-market verification, and a verdict with a named kill-pattern."
4
+ category: product
5
+ risk: critical
6
+ source: community
7
+ source_repo: hafiz-actyte/idea-autopsy
8
+ source_type: community
9
+ date_added: "2026-07-10"
10
+ author: hafiz-actyte
11
+ tags: [business-ideas, idea-validation, market-research, startup, founders]
12
+ tools: [claude, cursor, gemini]
13
+ license: "MIT"
14
+ license_source: "https://github.com/hafiz-actyte/idea-autopsy/blob/main/LICENSE"
15
+ ---
16
+
17
+ # Idea Autopsy
18
+
19
+ ## Overview
20
+
21
+ Turns the agent into a ruthless business-idea pathologist: instead of encouraging
22
+ the user, it hunts for the one sentence that kills an idea — before any money or
23
+ weeks are spent building it. Built from a real founder kill-list of 42 dead ideas
24
+ (including a 9/10-scored idea and one that turned out to be federally illegal to
25
+ charge for). Every autopsy ends in a hard verdict: DEAD with a named kill-pattern,
26
+ or SURVIVED with the one cheapest test that could still kill it.
27
+
28
+ ## When to Use This Skill
29
+
30
+ - Use when the user proposes a new business, product, or side-project idea
31
+ - Use when the user asks "should I build X?" or "validate this idea"
32
+ - Use when the user says "autopsy my idea"
33
+ - Use before any market-research or build-planning task for a new venture
34
+
35
+ ## How It Works
36
+
37
+ ### Step 1: Kill-list check
38
+
39
+ If the project contains a `REJECTION.md` (the user's personal kill-list), read it
40
+ first. A NICHE match (same niche as a killed row) = verdict DEAD, cite the row,
41
+ stop. A KILL-PATTERN match alone (new niche, previously-seen pattern) is a strong
42
+ prior, NOT a verdict: name the matching pattern, then run the specific check for
43
+ that pattern (the relevant filter or test below) to confirm it actually applies
44
+ before declaring death. If no kill-list exists, ask the user for permission to create one
45
+ with exactly this schema — this autopsy writes its first row:
46
+
47
+ ```markdown
48
+ # REJECTION.md — my kill-list
49
+
50
+ ## Killed ideas
51
+
52
+ | # | Idea/Niche | Killed (date) | Hard reason (one line) | Pattern |
53
+ |---|-----------|---------------|------------------------|---------|
54
+
55
+ ## Survivors under test
56
+
57
+ | Idea | Passed filters (date) | Pending test | Deadline |
58
+ |------|----------------------|--------------|----------|
59
+ ```
60
+
61
+ ### Step 2: The five filters
62
+
63
+ Demand evidence, not optimism. One hard NO = dead.
64
+
65
+ 1. **Real pain?** 2am-problem, or a nice-to-have "vitamin"?
66
+ 2. **Buyer has money?** Right now — not after the product helps them.
67
+ 3. **Proven demand?** Can the user name a single live competitor ad?
68
+ 4. **Legal to charge for?** Regulated, licensed, or illegal in the target market? Name the law if suspicion exists.
69
+ 5. **A moat?** What stops the 50th copycat next month?
70
+
71
+ ### Step 3: The free-AI test
72
+
73
+ Try to produce the idea's core deliverable with one prompt to a frontier model.
74
+ If one prompt produces the whole deliverable free, the verdict is DEAD with
75
+ kill-pattern `free-AI`: the user doesn't have a product, they have a prompt.
76
+
77
+ ### Step 4: Live-market verification (own eyes)
78
+
79
+ Desk research lies. Walk the user through the Meta Ad Library (or equivalent) with
80
+ an explicit checklist: number of ACTIVE advertisers, age of the oldest running ad
81
+ (90+ days = someone is paying because it works), and the three traps — zero ads
82
+ (`wrong-channel`), a few giants (`incumbent-owned`), or hundreds of ads
83
+ (`crowded` commodity knife-fight: demand ≠ room for you).
84
+
85
+ ### Step 5: Verdict
86
+
87
+ ```
88
+ VERDICT: DEAD | SURVIVED
89
+ KILL-PATTERN: <name> (if dead)
90
+ THE ONE SENTENCE: <the single finding that decided it>
91
+ EVIDENCE: <2-4 hard facts with sources/numbers>
92
+ NEXT: <if survived: the ONE cheapest test that could still kill it>
93
+ ```
94
+
95
+ Then record the result — gated on consent: if `REJECTION.md` exists, or the user
96
+ approved creating it in Step 1, append a one-line row (dead) or note the survivor
97
+ with the date and pending test. If the user declined the kill-list, do NOT create
98
+ or write the file — print the proposed row as text so they can save it wherever
99
+ they prefer. The kill-list is the compounding asset — every autopsy makes the
100
+ next one faster, but only with the user's consent.
101
+
102
+ ## Examples
103
+
104
+ ### Example 1: Idea that dies on the free-AI test
105
+
106
+ ```
107
+ User: Should I build a chargeback-response kit for Shopify sellers? Ready-to-send
108
+ evidence packets, $29 one-time.
109
+ Agent: Running the autopsy... Step 3 kills it: one prompt to a frontier model
110
+ produces a complete, usable evidence packet for free.
111
+ VERDICT: DEAD. KILL-PATTERN: free-AI.
112
+ THE ONE SENTENCE: If AI ships your whole deliverable in one prompt, you
113
+ don't have a product — you have a prompt.
114
+ ```
115
+
116
+ ### Example 2: Proven demand that still dies
117
+
118
+ ```
119
+ User: An app that identifies plants from a photo — there are over a thousand
120
+ active ads for these, demand is proven!
121
+ Agent: Step 4 confirms ~1,100 active advertisers — and that's the trap. The AI is
122
+ free, the datasets are public, everyone could build it, so everyone did.
123
+ VERDICT: DEAD. KILL-PATTERN: no-moat.
124
+ THE ONE SENTENCE: Demand tells you a market exists; it doesn't tell you
125
+ there's room for you.
126
+ ```
127
+
128
+ ## Best Practices
129
+
130
+ - ✅ Demand a number, a law, a live ad, or a quote for every claim
131
+ - ✅ Treat a fast honest kill as a WIN — it saves weeks and dollars
132
+ - ✅ Make the user verify ad-library findings with their own eyes
133
+ - ❌ Don't soften verdicts to be encouraging — "it depends" is a failed autopsy
134
+ - ❌ Don't let buildability excitement skip the buyer questions; building was never the problem
135
+
136
+ ## Limitations
137
+
138
+ - This skill does not replace legal advice, financial advice, or professional market research.
139
+ - Kill-patterns are priors, not verdicts — a new niche matching an old pattern still deserves a fresh check that the pattern applies.
140
+ - Ad-library checks reflect one acquisition channel; some categories legitimately sell through search or app stores.
141
+ - Stop and ask for clarification if the idea's target market, buyer, or deliverable is unclear.
142
+
143
+ ## Security & Safety Notes
144
+
145
+ - This skill performs no shell commands, network calls, or credential handling.
146
+ - It modifies project state in exactly one place: creating or appending rows to the project's own `REJECTION.md` (hence `risk: critical`). It never edits other files; ask permission before creating the file on first run.
147
+ - Web checks (ad libraries) are performed by the USER in their own browser; the skill only provides the checklist.
@@ -34,4 +34,4 @@ The skill will provide the core strategic answer and then **ask** if you want to
34
34
  - `examples/hospital-management-scenarios.md`: Crisis in ICU, Audit Prep, and AI Roadmaps.
35
35
 
36
36
  ---
37
- *Powered by Antigravity Skills Ecosystem.*
37
+ *Powered by Agentic Skills Ecosystem.*
@@ -38,4 +38,4 @@ To keep responses concise and high-value, the skill will provide a core answer f
38
38
  - `examples/`: Practical scenarios for crisis management, budgeting, and strategy.
39
39
 
40
40
  ---
41
- *Powered by Antigravity Skills Ecosystem.*
41
+ *Powered by Agentic Skills Ecosystem.*
@@ -36,4 +36,4 @@ Trigger the skill using phrases like:
36
36
  - Compliance & Sustainability Officers
37
37
 
38
38
  ---
39
- *Created as part of the Antigravity Skills Ecosystem.*
39
+ *Created as part of the Agentic Skills Ecosystem.*
@@ -112,7 +112,7 @@ def search(query: str) -> str:
112
112
  @tool
113
113
  def calculator(expression: str) -> str:
114
114
  """Evaluate a math expression."""
115
- return str(eval(expression))
115
+ return str(safe_math_evaluator(expression))
116
116
 
117
117
  tools = [search, calculator]
118
118
 
@@ -55,7 +55,7 @@ formats across every session.
55
55
 
56
56
  **Python 3.8 or later** must be available in your shell path.
57
57
 
58
- The skill is self-contained. Install it from the antigravity skills library:
58
+ The skill is self-contained. Install it from the Agentic Awesome Skills library:
59
59
 
60
60
  ```bash
61
61
  # Install via antigravity CLI (recommended)
@@ -30,7 +30,7 @@ def detect_project_type(project_path: Path) -> dict:
30
30
  "type": "unknown",
31
31
  "linters": []
32
32
  }
33
-
33
+
34
34
  # Node.js project
35
35
  package_json = project_path / "package.json"
36
36
  if package_json.exists():
@@ -39,31 +39,31 @@ def detect_project_type(project_path: Path) -> dict:
39
39
  pkg = json.loads(package_json.read_text(encoding='utf-8'))
40
40
  scripts = pkg.get("scripts", {})
41
41
  deps = {**pkg.get("dependencies", {}), **pkg.get("devDependencies", {})}
42
-
42
+
43
43
  # Check for lint script
44
44
  if "lint" in scripts:
45
45
  result["linters"].append({"name": "npm lint", "cmd": ["npm", "run", "lint"]})
46
46
  elif "eslint" in deps:
47
47
  result["linters"].append({"name": "eslint", "cmd": ["npx", "eslint", "."]})
48
-
48
+
49
49
  # Check for TypeScript
50
50
  if "typescript" in deps or (project_path / "tsconfig.json").exists():
51
51
  result["linters"].append({"name": "tsc", "cmd": ["npx", "tsc", "--noEmit"]})
52
-
52
+
53
53
  except:
54
54
  pass
55
-
55
+
56
56
  # Python project
57
57
  if (project_path / "pyproject.toml").exists() or (project_path / "requirements.txt").exists():
58
58
  result["type"] = "python"
59
-
59
+
60
60
  # Check for ruff
61
61
  result["linters"].append({"name": "ruff", "cmd": ["ruff", "check", "."]})
62
-
62
+
63
63
  # Check for mypy
64
64
  if (project_path / "mypy.ini").exists() or (project_path / "pyproject.toml").exists():
65
65
  result["linters"].append({"name": "mypy", "cmd": ["mypy", "."]})
66
-
66
+
67
67
  return result
68
68
 
69
69
 
@@ -75,7 +75,7 @@ def run_linter(linter: dict, cwd: Path) -> dict:
75
75
  "output": "",
76
76
  "error": ""
77
77
  }
78
-
78
+
79
79
  try:
80
80
  proc = subprocess.run(
81
81
  linter["cmd"],
@@ -86,36 +86,36 @@ def run_linter(linter: dict, cwd: Path) -> dict:
86
86
  errors='replace',
87
87
  timeout=120
88
88
  )
89
-
89
+
90
90
  result["output"] = proc.stdout[:2000] if proc.stdout else ""
91
91
  result["error"] = proc.stderr[:500] if proc.stderr else ""
92
92
  result["passed"] = proc.returncode == 0
93
-
93
+
94
94
  except FileNotFoundError:
95
95
  result["error"] = f"Command not found: {linter['cmd'][0]}"
96
96
  except subprocess.TimeoutExpired:
97
97
  result["error"] = "Timeout after 120s"
98
98
  except Exception as e:
99
99
  result["error"] = str(e)
100
-
100
+
101
101
  return result
102
102
 
103
103
 
104
104
  def main():
105
105
  project_path = Path(sys.argv[1] if len(sys.argv) > 1 else ".").resolve()
106
-
106
+
107
107
  print(f"\n{'='*60}")
108
108
  print(f"[LINT RUNNER] Unified Linting")
109
109
  print(f"{'='*60}")
110
110
  print(f"Project: {project_path}")
111
111
  print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
112
-
112
+
113
113
  # Detect project type
114
114
  project_info = detect_project_type(project_path)
115
115
  print(f"Type: {project_info['type']}")
116
116
  print(f"Linters: {len(project_info['linters'])}")
117
117
  print("-"*60)
118
-
118
+
119
119
  if not project_info["linters"]:
120
120
  print("No linters found for this project type.")
121
121
  output = {
@@ -128,16 +128,16 @@ def main():
128
128
  }
129
129
  print(json.dumps(output, indent=2))
130
130
  sys.exit(0)
131
-
131
+
132
132
  # Run each linter
133
133
  results = []
134
134
  all_passed = True
135
-
135
+
136
136
  for linter in project_info["linters"]:
137
137
  print(f"\nRunning: {linter['name']}...")
138
138
  result = run_linter(linter, project_path)
139
139
  results.append(result)
140
-
140
+
141
141
  if result["passed"]:
142
142
  print(f" [PASS] {linter['name']}")
143
143
  else:
@@ -145,16 +145,16 @@ def main():
145
145
  if result["error"]:
146
146
  print(f" Error: {result['error'][:200]}")
147
147
  all_passed = False
148
-
148
+
149
149
  # Summary
150
150
  print("\n" + "="*60)
151
151
  print("SUMMARY")
152
152
  print("="*60)
153
-
153
+
154
154
  for r in results:
155
155
  icon = "[PASS]" if r["passed"] else "[FAIL]"
156
156
  print(f"{icon} {r['name']}")
157
-
157
+
158
158
  output = {
159
159
  "script": "lint_runner",
160
160
  "project": str(project_path),
@@ -162,9 +162,9 @@ def main():
162
162
  "checks": results,
163
163
  "passed": all_passed
164
164
  }
165
-
165
+
166
166
  print("\n" + json.dumps(output, indent=2))
167
-
167
+
168
168
  sys.exit(0 if all_passed else 1)
169
169
 
170
170
 
@@ -20,36 +20,36 @@ def check_typescript_coverage(project_path: Path) -> dict:
20
20
  issues = []
21
21
  passed = []
22
22
  stats = {'any_count': 0, 'untyped_functions': 0, 'total_functions': 0}
23
-
23
+
24
24
  ts_files = list(project_path.rglob("*.ts")) + list(project_path.rglob("*.tsx"))
25
25
  ts_files = [f for f in ts_files if 'node_modules' not in str(f) and '.d.ts' not in str(f)]
26
-
26
+
27
27
  if not ts_files:
28
28
  return {'type': 'typescript', 'files': 0, 'passed': [], 'issues': ["[!] No TypeScript files found"], 'stats': stats}
29
-
29
+
30
30
  for file_path in ts_files[:30]: # Limit
31
31
  try:
32
32
  content = file_path.read_text(encoding='utf-8', errors='ignore')
33
-
33
+
34
34
  # Count 'any' usage
35
35
  any_matches = re.findall(r':\s*any\b', content)
36
36
  stats['any_count'] += len(any_matches)
37
-
37
+
38
38
  # Find functions without return types
39
39
  # function name(params) { - no return type
40
40
  untyped = re.findall(r'function\s+\w+\s*\([^)]*\)\s*{', content)
41
41
  # Arrow functions without types: const fn = (x) => or (x) =>
42
42
  untyped += re.findall(r'=\s*\([^:)]*\)\s*=>', content)
43
43
  stats['untyped_functions'] += len(untyped)
44
-
44
+
45
45
  # Count typed functions
46
46
  typed = re.findall(r'function\s+\w+\s*\([^)]*\)\s*:\s*\w+', content)
47
47
  typed += re.findall(r':\s*\([^)]*\)\s*=>\s*\w+', content)
48
48
  stats['total_functions'] += len(typed) + len(untyped)
49
-
49
+
50
50
  except Exception:
51
51
  continue
52
-
52
+
53
53
  # Analyze results
54
54
  if stats['any_count'] == 0:
55
55
  passed.append("[OK] No 'any' types found")
@@ -57,7 +57,7 @@ def check_typescript_coverage(project_path: Path) -> dict:
57
57
  issues.append(f"[!] {stats['any_count']} 'any' types found (acceptable)")
58
58
  else:
59
59
  issues.append(f"[X] {stats['any_count']} 'any' types found (too many)")
60
-
60
+
61
61
  if stats['total_functions'] > 0:
62
62
  typed_ratio = (stats['total_functions'] - stats['untyped_functions']) / stats['total_functions'] * 100
63
63
  if typed_ratio >= 80:
@@ -66,9 +66,9 @@ def check_typescript_coverage(project_path: Path) -> dict:
66
66
  issues.append(f"[!] Type coverage: {typed_ratio:.0f}% (improve)")
67
67
  else:
68
68
  issues.append(f"[X] Type coverage: {typed_ratio:.0f}% (too low)")
69
-
69
+
70
70
  passed.append(f"[OK] Analyzed {len(ts_files)} TypeScript files")
71
-
71
+
72
72
  return {'type': 'typescript', 'files': len(ts_files), 'passed': passed, 'issues': issues, 'stats': stats}
73
73
 
74
74
  def check_python_coverage(project_path: Path) -> dict:
@@ -76,35 +76,35 @@ def check_python_coverage(project_path: Path) -> dict:
76
76
  issues = []
77
77
  passed = []
78
78
  stats = {'untyped_functions': 0, 'typed_functions': 0, 'any_count': 0}
79
-
79
+
80
80
  py_files = list(project_path.rglob("*.py"))
81
81
  py_files = [f for f in py_files if not any(x in str(f) for x in ['venv', '__pycache__', '.git', 'node_modules'])]
82
-
82
+
83
83
  if not py_files:
84
84
  return {'type': 'python', 'files': 0, 'passed': [], 'issues': ["[!] No Python files found"], 'stats': stats}
85
-
85
+
86
86
  for file_path in py_files[:30]: # Limit
87
87
  try:
88
88
  content = file_path.read_text(encoding='utf-8', errors='ignore')
89
-
89
+
90
90
  # Count Any usage
91
91
  any_matches = re.findall(r':\s*Any\b', content)
92
92
  stats['any_count'] += len(any_matches)
93
-
93
+
94
94
  # Find functions with type hints
95
95
  typed_funcs = re.findall(r'def\s+\w+\s*\([^)]*:[^)]+\)', content)
96
96
  typed_funcs += re.findall(r'def\s+\w+\s*\([^)]*\)\s*->', content)
97
97
  stats['typed_functions'] += len(typed_funcs)
98
-
98
+
99
99
  # Find functions without type hints
100
100
  all_funcs = re.findall(r'def\s+\w+\s*\(', content)
101
101
  stats['untyped_functions'] += len(all_funcs) - len(typed_funcs)
102
-
102
+
103
103
  except Exception:
104
104
  continue
105
-
105
+
106
106
  total = stats['typed_functions'] + stats['untyped_functions']
107
-
107
+
108
108
  if total > 0:
109
109
  typed_ratio = stats['typed_functions'] / total * 100
110
110
  if typed_ratio >= 70:
@@ -113,42 +113,42 @@ def check_python_coverage(project_path: Path) -> dict:
113
113
  issues.append(f"[!] Type hints coverage: {typed_ratio:.0f}%")
114
114
  else:
115
115
  issues.append(f"[X] Type hints coverage: {typed_ratio:.0f}% (add type hints)")
116
-
116
+
117
117
  if stats['any_count'] == 0:
118
118
  passed.append("[OK] No 'Any' types found")
119
119
  elif stats['any_count'] <= 3:
120
120
  issues.append(f"[!] {stats['any_count']} 'Any' types found")
121
121
  else:
122
122
  issues.append(f"[X] {stats['any_count']} 'Any' types found")
123
-
123
+
124
124
  passed.append(f"[OK] Analyzed {len(py_files)} Python files")
125
-
125
+
126
126
  return {'type': 'python', 'files': len(py_files), 'passed': passed, 'issues': issues, 'stats': stats}
127
127
 
128
128
  def main():
129
129
  target = sys.argv[1] if len(sys.argv) > 1 else "."
130
130
  project_path = Path(target)
131
-
131
+
132
132
  print("\n" + "=" * 60)
133
133
  print(" TYPE COVERAGE CHECKER")
134
134
  print("=" * 60 + "\n")
135
-
135
+
136
136
  results = []
137
-
137
+
138
138
  # Check TypeScript
139
139
  ts_result = check_typescript_coverage(project_path)
140
140
  if ts_result['files'] > 0:
141
141
  results.append(ts_result)
142
-
142
+
143
143
  # Check Python
144
144
  py_result = check_python_coverage(project_path)
145
145
  if py_result['files'] > 0:
146
146
  results.append(py_result)
147
-
147
+
148
148
  if not results:
149
149
  print("[!] No TypeScript or Python files found.")
150
150
  sys.exit(0)
151
-
151
+
152
152
  # Print results
153
153
  critical_issues = 0
154
154
  for result in results:
@@ -160,7 +160,7 @@ def main():
160
160
  print(f" {item}")
161
161
  if item.startswith("[X]"):
162
162
  critical_issues += 1
163
-
163
+
164
164
  print("\n" + "=" * 60)
165
165
  if critical_issues == 0:
166
166
  print("[OK] TYPE COVERAGE: ACCEPTABLE")
@@ -47,7 +47,7 @@ Logic Lens uses Claude Code's reasoning capabilities to:
47
47
  # Search: "logic-lens" in Claude Code > Extensions
48
48
 
49
49
  # Or install via NPX (Antigravity)
50
- npx antigravity-awesome-skills --claude
50
+ npx agentic-awesome-skills --claude
51
51
  # Then invoke: @logic-lens
52
52
  ```
53
53
 
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 TheaDust
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.