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,46 @@
1
+ # Reconnaissance
2
+
3
+ ### Phase 1: Understand the application
4
+
5
+ Before looking for bugs, understand what you're auditing. This requires depth, not just a directory listing. Launch **multiple `research` agents in parallel** to map different aspects of the codebase:
6
+
7
+ **Agent 1a: Overview, tech stack, and comparable baseline**
8
+ ```
9
+ Explore the codebase at <path>. Answer:
10
+ 1. What is this application? What kind of software? (web app, API, CLI tool, library, daemon, desktop app, mobile backend, etc.)
11
+ 2. Who uses it and how? (end users, developers, operators, other services)
12
+ 3. What's the tech stack? (languages, frameworks, databases, runtime, deployment model)
13
+ 4. What comparable mainstream software exists? What security tradeoffs does the comparable accept?
14
+ 5. What's the high-level directory structure?
15
+ Return specific file paths for key entry points.
16
+ ```
17
+
18
+ **Agent 1b: Trust boundaries and access control**
19
+ ```
20
+ Explore the codebase at <path>. Find and read ALL code related to:
21
+ 1. Trust boundaries — where does untrusted input enter the system? (HTTP requests, CLI args, file reads, IPC, message queues, environment variables, config files, etc.)
22
+ 2. Authentication — how do callers prove identity? (sessions, tokens, API keys, mTLS, Unix sockets, etc.) If there's no authentication, note that.
23
+ 3. Authorization — how are permissions enforced? (middleware, decorators, capability checks, file permissions, etc.) If there's no authorization model, note that.
24
+ 4. Privilege separation — does the code run as root? Drop privileges? Use sandboxing? Fork workers?
25
+ 5. Any bypass mechanisms (dev-only modes, test helpers, setup flows, debug flags)
26
+ Return the trust model: who are the actors, what can each do by design, and which code enforces it. Include specific file paths and line numbers.
27
+ ```
28
+
29
+ **Agent 1c: Input surface inventory**
30
+ ```
31
+ Explore the codebase at <path>. Produce a complete inventory of where external input enters the system:
32
+ 1. Network-facing surfaces (HTTP endpoints, gRPC services, WebSocket handlers, TCP/UDP listeners, etc.) — list each with method/verb and purpose
33
+ 2. File-based input (file uploads, config file parsing, log ingestion, import/export, etc.)
34
+ 3. IPC and inter-service input (message queues, shared memory, Unix sockets, environment variables, CLI arguments)
35
+ 4. User-generated content surfaces (anywhere users provide content that is stored and later rendered, served, or processed)
36
+ 5. External integrations (OAuth, webhooks, third-party APIs, plugin loading, dynamic code execution)
37
+ 6. All places where input reaches dangerous sinks (SQL/query builders, HTML/template output, file paths, shell commands, deserialization, eval, dynamic imports)
38
+ Return specific file paths. Be exhaustive.
39
+ ```
40
+
41
+ Collect all three agents' outputs and synthesize them into `<output-dir>/architecture.md`:
42
+ - 1-2 page structured summary covering application type, tech stack, trust model, input surfaces, and baseline comparable
43
+ - Include the key file paths from all agents — these become the starting points for Phase 2
44
+ - This document is injected verbatim into every Phase 2 agent prompt
45
+
46
+ If Phase 1 agents reveal the codebase is larger or more complex than expected (e.g., plugin system, multi-tenant architecture, complex auth chains, multiple deployment targets), launch additional `research` agents to map those areas before proceeding. The quality of Phase 2 depends entirely on the quality of Phase 1.
@@ -0,0 +1,109 @@
1
+ # Validation, Reporting, and Verification
2
+
3
+ ### Phase 3: Validate findings
4
+
5
+ Collect all findings from Phase 2 agents and **consolidate duplicates first**. Phase 2 deliberately overlaps agent scopes, so the same issue is frequently reported by more than one hunter — merge findings that share a root cause before validating, or you'll validate and report the same bug multiple times. For each remaining finding, launch a **separate `research` validation agent** that tries to disprove it. The hunting agents are biased toward finding things; the validation agents are biased toward killing false positives. This adversarial step is critical.
6
+
7
+ For findings from the same attack surface, batch them into one validation agent. Launch validation agents in parallel where they cover independent areas.
8
+
9
+ Each validation agent prompt should:
10
+ 1. State the specific finding being validated (title, claimed attack, claimed impact)
11
+ 2. Ask the agent to read the exact code paths and verify each step of the trace
12
+ 3. Ask it to apply these tests (the adversarial, Phase 3 form of the canonical validation rules in [HUNTING.md](HUNTING.md) — here a separate agent tries to make each one fail):
13
+
14
+ **Validation tests:**
15
+ 1. **Exploitation test**: Read the actual code at each step of the trace. Does the data flow work as claimed? Can you construct the exact input (HTTP request, CLI invocation, API call, crafted file, etc.) that triggers this?
16
+ 2. **Impact test**: What does the attacker actually get? If the answer is "they learn field names" or "they cause an error", that's not meaningful impact — not a finding on its own (at most a building block for a chain).
17
+ 3. **Baseline test**: Does the identified comparable have the same pattern? If yes, has it been exploited? If never exploited in years of production use, understand why before reporting.
18
+ 4. **Mitigation test**: Is there another layer that prevents exploitation? Check middleware, database constraints, framework defaults.
19
+ 5. **Parser/runtime behavior test**: If the exploit depends on how a parser or runtime handles specific input, verify against the actual spec or implementation — do not reason from intuition.
20
+
21
+ Tell each validation agent:
22
+
23
+ ```
24
+ Your job is to DISPROVE this finding. Read the actual source code at every step. If you cannot disprove it, confirm it with the exact code that makes it exploitable. Return one of:
25
+ - "CONFIRMED: [explanation of why it's real, with code evidence]"
26
+ - "REJECTED: [explanation of what the finding got wrong, with code evidence]"
27
+ ```
28
+
29
+ **Kill false positives aggressively, but don't kill real findings.** A short report with 3 real findings is worth more than a long report with 30 theoretical ones. An honest "nothing found" is valid — but push hard before reaching that conclusion.
30
+
31
+ ### Phase 4: Report
32
+
33
+ Write the report to the output directory established in Setup.
34
+
35
+ **Output files:**
36
+
37
+ 1. `REPORT.md` -- Main report with:
38
+ - One-paragraph executive summary (honest assessment of security posture)
39
+ - Identified baseline and how this application compares
40
+ - Findings table (severity, title, one-line description)
41
+ - Each finding with: file path, concrete attack scenario, impact, recommended fix
42
+ - Hardening notes section (defense-in-depth suggestions, NOT findings)
43
+ - Positive patterns section (what the codebase does well -- this calibrates trust in the audit)
44
+
45
+ 2. `FINDINGS-DETAIL.md` -- For each finding rated MEDIUM or above:
46
+ - Complete data flow from input to sink with file:line references
47
+ - Exact HTTP request(s) to trigger
48
+ - What the attacker gets
49
+ - How the baseline comparable handles the same scenario
50
+
51
+ Keep it short. If the report is longer than the codebase deserves, you're padding.
52
+
53
+ ### Phase 5: Structured output and schema check
54
+
55
+ For every finding that survived Phase 3 validation, produce a structured JSON object conforming to the schema defined in `../resources/report-schema.json` (read it via the Read tool before writing output). Write the result to `<output-dir>/findings.json`.
56
+
57
+ The schema supports two verdict types via `oneOf`:
58
+ - **`confirmed`** — a validated vulnerability with full trace, execution, and remediation
59
+ - **`rejected`** — a finding that was investigated and determined to be factually incorrect
60
+
61
+ **Before writing `findings.json`:**
62
+
63
+ 1. Read `../resources/report-schema.json`. Follow it exactly — `additionalProperties: false` is enforced, so extra fields will make the output invalid.
64
+ 2. For each finding, populate every required field. If you cannot fill `trace` with real file paths and line numbers verified against the source, the finding is not sufficiently verified — go back and verify it or reject it. Mind the required fields that aren't self-evident: `intended_behavior` (what the code is *supposed* to do, so the defect is legible), `confidence` (`low`/`medium`/`high`, with a reason), and the `severity` object (`likelihood`/`impact`/`overall_severity`). All `severity` scores use the schema's **lowercase** enum — `informational`/`low`/`medium`/`high`/`critical`; the UPPERCASE tiers in SKILL.md and REPORT.md are prose labels, not valid JSON values.
65
+ 3. Validate `<output-dir>/findings.json` against `../resources/report-schema.json` with a trusted JSON Schema validator already available in the user's environment. Do not install or execute a new validator without approval. This is a structural check only — it confirms the JSON conforms to the schema, not that the findings are correct. Factual verification is Phase 6's job. Fix any failures before proceeding.
66
+
67
+ ### Phase 6: Independent verification
68
+
69
+ The structured output from Phase 5 forces self-validation, but the same agent that wrote the finding also wrote the JSON — it won't catch its own blind spots. This phase uses a fresh agent to independently verify every claim in `findings.json`.
70
+
71
+ Launch **one `research` agent per confirmed finding** via the Task tool, all in parallel. Each agent gets exactly one finding from `findings.json` and verifies it independently. Give each agent the JSON object for its finding and this prompt:
72
+
73
+ ```
74
+ You are an independent verifier. You did NOT write this finding. Your job is to read the actual source code and verify that every factual claim is correct.
75
+
76
+ 1. Read the file and line number cited in EVERY trace step. Verify:
77
+ - The file exists at that path
78
+ - The line number matches the described code
79
+ - The scope (function name) is correct
80
+ - The description accurately reflects what the code does
81
+
82
+ 2. Verify the root_cause statement by reading the cited file and confirming the described defect exists.
83
+
84
+ 3. Verify the execution payloads would actually work, in terms that fit the target:
85
+ - Does the entry point exist as claimed — the endpoint/URL, CLI command, exported function, syscall/ioctl, message handler, or tool the attacker invokes?
86
+ - Does the invocation match — HTTP method, argument shape, call signature, or message format?
87
+ - Would the input survive validation and parsing on the real code path?
88
+ - Would the relevant authentication, authorization, or ownership check pass as described?
89
+
90
+ 4. Verify conditions are complete — are there prerequisites the finding missed?
91
+
92
+ 5. Check the remediation code_changes — would the fix actually prevent the attack without breaking normal functionality?
93
+
94
+ 6. Verify `intended_behavior` accurately states what the code should do, and that `confidence` matches the strength of the evidence — don't leave `high` on a claim you couldn't fully trace.
95
+
96
+ Return one of:
97
+ - "VERIFIED" — all claims checked out against the source
98
+ - "CORRECTED: [field]: [what was wrong] → [what it should be]" — factual error in a specific field
99
+ - "REJECTED: [reason]" — the finding is fundamentally wrong
100
+ ```
101
+
102
+ Apply the agent's corrections:
103
+ - **VERIFIED** findings: no changes needed
104
+ - **CORRECTED** findings: update the specific fields in `findings.json`, re-run the schema validation script
105
+ - **REJECTED** findings: change their `verdict` to `"rejected"` with the agent's reason, or remove them entirely
106
+
107
+ After applying corrections, reconcile the prose deliverables: update `REPORT.md` and `FINDINGS-DETAIL.md` so they match the final `findings.json`. Remove or amend any finding the verification gate rejected or corrected — the human-readable report and the machine-readable output must not disagree.
108
+
109
+ This is the final quality gate. Do not skip it.
@@ -0,0 +1,85 @@
1
+ # HTTP-Protocol and Authentication Hunting
2
+
3
+ #### When to use this file
4
+
5
+ Reach for this file when the target speaks HTTP at a layer where parsing, caching, or identity decisions happen: reverse proxies, CDNs, API gateways, load balancers, custom HTTP servers and parsers, and any app that builds responses or URLs from request metadata — and whenever it implements or consumes an auth protocol (sessions, JWTs, OAuth/OIDC, SAML, or password-reset flows). These are the classes `ATTACK-CLASSES.md` treats only in passing: the injection class covers *content*, but not the request/response framing or the identity-token machinery, which have their own specific, high-hit-rate bug patterns.
6
+
7
+ Use alongside `ATTACK-CLASSES.md`. Access control there answers "is the check present and correct"; this file answers "can the attacker forge, replay, or confuse the identity the check runs on, or desync the request the check applies to."
8
+
9
+ Pick the relevant classes based on Phase 1; split per subsystem (framing/proxy layer, token verification, session store) for large targets. A pure single-server app behind a managed CDN has little smuggling surface; a custom proxy or a service that trusts `X-Forwarded-*` has a lot.
10
+
11
+ ## Core discipline (include in every agent prompt for this domain)
12
+
13
+ ```
14
+ - Framing bugs live in DISAGREEMENT, not in one parser. Request smuggling and cache poisoning exist because two components interpret the same bytes differently. Find the two components and the byte they disagree on; a single correct parser in isolation is not the finding.
15
+ - A signature you don't verify is decoration. For every token (JWT, SAML, cookie), find the exact line that verifies the signature AND the claims that apply to that token type (for JWT/OIDC: exp, aud, iss, nonce) — and that the algorithm is pinned server-side, not read from the token header. "It's signed" means nothing if nothing checks the signature with the right key and algorithm.
16
+ - Every use of Host, X-Forwarded-*, Forwarded, or a request-derived URL is a trust decision. Trace it to what it controls: a reset link, a cache key, a redirect, an access check.
17
+ - Reflected input in a security-relevant response field (Set-Cookie, Location, cache key, an absolute URL sent to a victim) — trace it to a cross-user impact (poisoned cache entry, redirect or token sent to a victim, cookie set in another context) even when it isn't classic XSS.
18
+ ```
19
+
20
+ ## HTTP request-framing attack classes (subagent_type: `general`)
21
+
22
+ **Request smuggling / desync**
23
+ A discrepancy in how two components (front proxy vs back-end, or HTTP/2 front vs HTTP/1.1 back) resolve message length. Classic forms: CL.TE, TE.CL, TE.TE (obfuscated `Transfer-Encoding`), and H2 downgrade (H2.CL / H2.TE) where an HTTP/2 front-end forwards to an HTTP/1.1 back-end and the injected `Content-Length`/`Transfer-Encoding` or CRLF in a header value survives. Audit angle: any component that parses HTTP messages itself, forwards requests, or normalizes headers. Look for lenient length handling (accepting both CL and TE, tolerating whitespace/casing/duplicates in `Transfer-Encoding`), and CRLF-in-header-value passthrough on the HTTP/2→1.1 hop. The prize is a request prefix that gets glued onto the *next* user's request.
24
+
25
+ **Web cache poisoning (unkeyed input)**
26
+ An input influences the response but is not part of the cache key, so the attacker's response is stored and served to others. Find the cache key construction, then find every input that changes the response body/headers but is absent from that key — `X-Forwarded-Host`, `X-Forwarded-Scheme`, custom headers, cookies stripped from the key, or a query param the key normalizes away. Reflected unkeyed input that lands in the cached body (a poisoned script src, an `<base href>` from `X-Forwarded-Host`) is stored XSS against every cache consumer.
27
+
28
+ **Cache deception**
29
+ Path/extension confusion that makes a dynamic, per-user page get cached as if it were a static asset (`/account/profile.css`, `/api/me;.js`, path-parameter tricks). The back-end serves the user's private page; the cache stores it under a path the attacker can then request. Trace how the cache decides "is this cacheable" versus how the app routes the path — the gap is the bug.
30
+
31
+ **Host-header and forwarded-header trust**
32
+ `Host` / `X-Forwarded-Host` used to build absolute URLs, routing, or cache keys. The highest-impact sink is password-reset / verification link construction: attacker sets the header, the victim receives a link to the attacker's domain, clicks, and leaks the token. Also: authentication or routing decisions keyed on a spoofable forwarded header.
33
+
34
+ **CRLF / response header injection**
35
+ User input reflected into a response header (`Location`, `Set-Cookie`, custom headers) with unescaped CR/LF, letting the attacker inject headers or split the response. Trace user input into any header-setting call; confirm the framework doesn't already strip CR/LF (many do — verify first, see #5).
36
+
37
+ ## Authentication-protocol attack classes (subagent_type: `general`)
38
+
39
+ First establish which role the target plays — it determines whose duty each control is. `redirect_uri` allowlisting, PKCE enforcement, authorization-code issuance, and assertion signing belong to the **authorization server / IdP**; a **relying-party client** legitimately sends its own `redirect_uri` and consumes tokens, so do not report "no `redirect_uri` allowlist" or "issues codes without PKCE" against a client. Token *verification* defects (below) apply to whichever side validates the token.
40
+
41
+ **JWT verification defects**
42
+ The densest source of auth bypasses. Check, in the verification code:
43
+ - **`alg` confusion** — `alg: none` accepted, or RS256→HS256 where the server verifies an attacker-forged HS256 token using the *public* key as the HMAC secret. Find where the algorithm is chosen: is it taken from the token header (attacker-controlled) or pinned server-side?
44
+ - **Decode without verify** — code that reads claims from a decoded token but never calls the verify function, or ignores its return/exception.
45
+ - **Missing claim checks** — `exp` (expiry), `nbf`, `aud` (audience — token for service A replayed at service B), `iss` (issuer). A signature check without claim checks is half a check.
46
+ - **Key-selection injection** — `kid`, `jku`, or `x5u` header taken from the token: `kid` used in a file path (traversal) or SQL (injection) to fetch the key, or `jku` pointing at an attacker-hosted JWK Set / `x5u` at an attacker-hosted X.509 cert chain. Attacker names the key that verifies their own forgery.
47
+ - **Weak/shared secret** — HMAC secret that's a guessable string or shared across trust domains.
48
+
49
+ **OAuth / OIDC flow defects**
50
+ - **`redirect_uri` validation** — substring/prefix matching, open-redirect on an allowlisted host, or `redirect_uri` not bound to the client. Leaks the authorization code to the attacker.
51
+ - **Missing/weak `state`** — no CSRF token on the callback → login CSRF / forced-login / session fixation of the OAuth flow. (`state` is a session-binding/CSRF control; authorization-code injection is prevented by PKCE and the OIDC `nonce`, not by `state` — don't conflate them.) Confirm `state` is generated, bound to the session, and verified on return.
52
+ - **PKCE** — missing on public clients, or `code_verifier` not actually checked against `code_challenge`.
53
+ - **`id_token` validation** — audience, issuer, signature, and `nonce` all verified? A token minted for another client accepted here is account takeover.
54
+ - **Mix-up / IdP confusion** — multi-IdP flows where the response isn't bound to the IdP the request went to.
55
+
56
+ **SAML assertion defects**
57
+ - **Signature wrapping (XSW)** — a signed assertion plus an injected unsigned one; the verifier checks the signature on one element but reads identity from another. Find the gap between "what is signature-verified" and "what is read as the authenticated identity."
58
+ - **Signature exclusion** — unsigned assertions accepted, or signature verification skippable via a flag/empty-signature path.
59
+ - **XXE / DTD** in the XML parser processing assertions.
60
+ - **Comment truncation** — a comment inserted into the signed NameID (`admin@company.com<!---->.attacker.com`) that canonicalization strips before the signature check (so it still validates) but that truncates identity extraction to the pre-comment text (`admin@company.com`, the victim). Same root as XSW: the bytes the signature covers ≠ the bytes read as identity.
61
+ - **Missing replay / binding checks** — even with a valid signature, is the assertion bound and fresh? Check `NotBefore`/`NotOnOrAfter` (validity window), `Recipient`/`Audience` (assertion minted for *this* SP, not replayed from another), `InResponseTo` (bound to a real outstanding request — blocks unsolicited-response injection), and one-time-use (a replayed assertion rejected). The signature checks above prove the assertion wasn't forged; these prove it wasn't stolen and replayed.
62
+
63
+ **Session-management defects**
64
+ - **Fixation** — session identifier not rotated on privilege change (login, step-up auth). Attacker fixes a known ID, victim authenticates into it.
65
+ - **Weak invalidation** — session/token still valid after logout, password change, or revocation; server-side state not cleared (especially stateless JWT sessions with no revocation list).
66
+ - **Predictable identifiers** (non-CSPRNG session IDs an attacker can guess/derive), or an overly broad cookie `Domain` that leaks the session cookie to an attacker-controlled sibling subdomain. (Bare "cookie could be shorter-lived" with no leakage path is a hardening note, not a finding.)
67
+
68
+ **Password-reset / account-recovery defects**
69
+ - Token not cryptographically bound to the user (reset A's token, use it on B), predictable/short token, no single-use or expiry, token leaked via `Host` header (see above) or `Referer`, or a race that mints multiple valid tokens. Recovery flows are frequently the weakest path to the strongest impact (account takeover).
70
+
71
+ ## Universal moves (apply across the above)
72
+
73
+ - **Diff duplicated request paths side by side.** Where the code has more than one thing that parses or forwards HTTP (a middleware plus the framework, a normalizer plus the router, a legacy API version plus the current one), read them together and feed each the same ambiguous bytes on paper. Divergence is the smuggling/desync bug.
74
+ - **Walk the whole token lifecycle.** Issue → store → transmit → verify → refresh → revoke. The bugs live in the transitions the happy path skips: a session still valid after logout, a refresh that never re-checks revocation, a reset token that survives a password change.
75
+ - **Enumerate every door to the same identity.** SSO, password login, API key, password reset, impersonation — each is a parallel path that mints a session. The weakest one sets the account's real security; a hardened login means nothing if reset is trivial.
76
+ - **Audit the compat/fallback path.** A legacy endpoint version, a deprecated header, or a "for old clients" branch that skips a guard the main path added. Old auth code is where the reverted or forgotten check hides.
77
+
78
+ ## Validation rules (apply before reporting ANY finding here)
79
+
80
+ 1. **Source-visibility gate — this domain lives partly outside the repo.** Framing bugs (proxy chain), cache poisoning/deception (cache-key config), secret strength, and token entropy frequently depend on components, config, or values NOT in the audited tree. If confirming the bug requires a component/config/secret you cannot read, it is **unverifiable from source: flag it "requires deployment testing" and do NOT report it as a confirmed finding.** "Downgrade" is not enough — an unconfirmable HIGH reported as a MEDIUM is still a false positive.
81
+ 2. **For framing/cache findings, name both components and the divergent parse.** "The Go net/http back-end accepts a bare-LF `Transfer-Encoding` that the front proxy treats as CL" — not "smuggling may be possible." A single server with no proxy in front has no smuggling surface. If you've confirmed only the in-repo half (the back-end genuinely mishandles a specific ambiguous input — bare-LF `Transfer-Encoding`, duplicate CL), record it as a lead with the exact bytes — "requires paired front-end testing" — a real observation, not a severity-rated finding.
82
+ 3. **For token findings, cite the verification line and what it fails to check.** Point at the `verify`/`decode` call and the missing `alg` pin / `aud` check / signature step. A forged-token claim requires showing the server would accept the forgery, not just that JWTs are in use. Establish the client-vs-server role first — don't fault a client for controls the server owns.
83
+ 4. **Prove the cross-user impact.** Show the payload reaching a victim's response (cache), request (smuggling), session (fixation), or inbox (reset link). Attacker-only effects are not findings: a `Host` header reflected into a self-referential link the victim never receives out-of-band is a hardening note; a `Host` header controlling a reset link emailed to the victim is a finding.
84
+ 5. **Verify the framework AND the library default don't already handle it.** Many stacks strip CR/LF from headers, rotate sessions on login, and key caches on `Host` by default; JWT libraries increasingly reject `alg:none` and require an explicit algorithm list — check the library and version, and if you cannot determine the default, treat it as unverifiable rather than assuming it's vulnerable. Only report secret/RNG weakness when the code itself sets a hardcoded/short/derivable value or uses a non-CSPRNG. Confirm the specific defense is absent — do not report a gap the framework or library already closes.
85
+ 6. **Return ONLY confirmed findings** with the divergent parse or the skipped verification step and the cross-user impact — or "No exploitable protocol/auth issues found" if that's honest.
@@ -0,0 +1,210 @@
1
+ {
2
+ "$comment": "Single source of truth for findings.json structure (see SKILL.md Phase 5). Validate findings directly against this schema so there is no second copy of these rules to keep in sync.",
3
+ "output_schema": {
4
+ "oneOf": [
5
+ {
6
+ "type": "object",
7
+ "description": "Confirmed vulnerability — provide the complete, independently verified report.",
8
+ "properties": {
9
+ "verdict": {
10
+ "type": "string",
11
+ "const": "confirmed"
12
+ },
13
+ "title": {
14
+ "type": "string",
15
+ "description": "A concise, standard title for the vulnerability."
16
+ },
17
+ "description": {
18
+ "type": "string",
19
+ "description": "Comprehensive explanation of the vulnerability. Include any reproduction details (proof-of-concept input, configuration, observed output or crash) here."
20
+ },
21
+ "root_cause": {
22
+ "type": "string",
23
+ "description": "One sentence using the template: '[function_or_component] in [file] does not [missing action], allowing [consequence]'. MUST include the function/component name and file name where the defect exists."
24
+ },
25
+ "intended_behavior": {
26
+ "type": "string",
27
+ "description": "What was the developer trying to build? Explain the intended, non-vulnerable business logic."
28
+ },
29
+ "trace": {
30
+ "type": "array",
31
+ "minItems": 2,
32
+ "items": {
33
+ "type": "object",
34
+ "properties": {
35
+ "kind": {
36
+ "type": "string",
37
+ "enum": ["entrypoint", "propagation", "sink"]
38
+ },
39
+ "file": {
40
+ "type": "string",
41
+ "description": "Exact file path relative to repository root."
42
+ },
43
+ "line": {
44
+ "type": "integer"
45
+ },
46
+ "scope": {
47
+ "type": "string",
48
+ "description": "Bare function or method name. No parentheses, no arguments."
49
+ },
50
+ "description": {
51
+ "type": "string",
52
+ "description": "Factual description of the state change or data movement."
53
+ }
54
+ },
55
+ "required": ["kind", "file", "line", "scope", "description"],
56
+ "additionalProperties": false
57
+ },
58
+ "description": "Sequential code trace from entrypoint to sink, verified against actual source code. The first step must be kind 'entrypoint', the last must be kind 'sink', and any intermediate steps must be kind 'propagation' (enforced by the validator)."
59
+ },
60
+ "conditions": {
61
+ "type": "array",
62
+ "items": {
63
+ "type": "object",
64
+ "properties": {
65
+ "kind": {
66
+ "type": "string",
67
+ "enum": ["authentication_level", "authorization_role", "user_interaction", "system_configuration", "network_routing", "environmental_dependency", "data_state", "timing_dependency", "third_party_dependency"]
68
+ },
69
+ "description": {
70
+ "type": "string"
71
+ }
72
+ },
73
+ "required": ["kind", "description"],
74
+ "additionalProperties": false
75
+ },
76
+ "description": "Factual prerequisites for exploitation. Empty array if exploitable by default."
77
+ },
78
+ "execution": {
79
+ "type": "object",
80
+ "properties": {
81
+ "attacker_perspective": {
82
+ "type": "string",
83
+ "description": "Who is the attacker and their starting point."
84
+ },
85
+ "payloads": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "string"
89
+ },
90
+ "description": "Specific malicious inputs, HTTP requests, or scripts."
91
+ },
92
+ "instructions": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "string"
96
+ },
97
+ "description": "Linear array of all attacker actions from setup through exploitation."
98
+ },
99
+ "expected_result": {
100
+ "type": "string",
101
+ "description": "Observable outcome confirming successful exploitation."
102
+ }
103
+ },
104
+ "required": ["attacker_perspective", "payloads", "instructions", "expected_result"],
105
+ "additionalProperties": false
106
+ },
107
+ "remediation": {
108
+ "type": "object",
109
+ "properties": {
110
+ "strategy": {
111
+ "type": "string",
112
+ "description": "High-level explanation of the fix."
113
+ },
114
+ "code_changes": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "object",
118
+ "properties": {
119
+ "file_name": {
120
+ "type": "string"
121
+ },
122
+ "fixed_code": {
123
+ "type": "string"
124
+ }
125
+ },
126
+ "required": ["file_name", "fixed_code"],
127
+ "additionalProperties": false
128
+ }
129
+ }
130
+ },
131
+ "required": ["strategy"],
132
+ "additionalProperties": false
133
+ },
134
+ "severity": {
135
+ "type": "object",
136
+ "properties": {
137
+ "likelihood": {
138
+ "type": "object",
139
+ "properties": {
140
+ "score": {
141
+ "type": "string",
142
+ "enum": ["informational", "low", "medium", "high", "critical"]
143
+ },
144
+ "reason": {
145
+ "type": "string"
146
+ }
147
+ },
148
+ "required": ["score", "reason"],
149
+ "additionalProperties": false
150
+ },
151
+ "impact": {
152
+ "type": "object",
153
+ "properties": {
154
+ "score": {
155
+ "type": "string",
156
+ "enum": ["informational", "low", "medium", "high", "critical"]
157
+ },
158
+ "reason": {
159
+ "type": "string"
160
+ }
161
+ },
162
+ "required": ["score", "reason"],
163
+ "additionalProperties": false
164
+ },
165
+ "overall_severity": {
166
+ "type": "string",
167
+ "enum": ["informational", "low", "medium", "high", "critical"]
168
+ }
169
+ },
170
+ "required": ["likelihood", "impact", "overall_severity"],
171
+ "additionalProperties": false
172
+ },
173
+ "confidence": {
174
+ "type": "object",
175
+ "properties": {
176
+ "score": {
177
+ "type": "string",
178
+ "enum": ["low", "medium", "high"]
179
+ },
180
+ "reason": {
181
+ "type": "string",
182
+ "description": "Why you scored the confidence this way. Mention any missing files, complex routing, or ambiguous data flows."
183
+ }
184
+ },
185
+ "required": ["score", "reason"],
186
+ "additionalProperties": false
187
+ }
188
+ },
189
+ "required": ["verdict", "title", "description", "root_cause", "intended_behavior", "trace", "conditions", "execution", "remediation", "severity", "confidence"],
190
+ "additionalProperties": false
191
+ },
192
+ {
193
+ "type": "object",
194
+ "description": "Rejected finding — the described behavior is factually incorrect or the code path does not exist.",
195
+ "properties": {
196
+ "verdict": {
197
+ "type": "string",
198
+ "const": "rejected"
199
+ },
200
+ "reason": {
201
+ "type": "string",
202
+ "description": "Explain which specific claims in the finding are factually wrong (e.g., code path doesn't exist, mitigation prevents the described flow, trace is incorrect)."
203
+ }
204
+ },
205
+ "required": ["verdict", "reason"],
206
+ "additionalProperties": false
207
+ }
208
+ ]
209
+ }
210
+ }
@@ -963,7 +963,7 @@ has expired" }`.
963
963
 
964
964
  ```bash
965
965
  # 1. Decode the JWT to check expiration (without verification)
966
- echo "<your-token>" | cut -d'.' -f2 | base64 -d 2>/dev/null | jq '.exp'
966
+ echo "<your-token>" | cut -d'.' -f2 | base64 -d 2>/dev/null | jq '.exp' # security-allowlist: local JWT inspection, no code execution
967
967
 
968
968
  # 2. Compare with current time
969
969
  date +%s
@@ -22,7 +22,7 @@ Before committing, always check the current branch:
22
22
  git branch --show-current
23
23
  ```
24
24
 
25
- **If you're on `main` or `master`, you MUST create a feature branch first** — unless the user explicitly asked to commit to main. Do not ask the user whether to create a branch; just proceed with branch creation. The `create-branch` skill will still propose a branch name for the user to confirm.
25
+ **If you're on `main` or `master`, you MUST create a feature branch first** — unless the user explicitly asked to commit to main and the server permits direct pushes. A user request does not bypass protected-branch rules; when the remote rejects direct updates, use the repository's required pull-request path. Do not ask the user whether to create a branch; just proceed with branch creation. The `create-branch` skill will still propose a branch name for the user to confirm.
26
26
 
27
27
  Use the `create-branch` skill to create the branch. After `create-branch` completes, verify the current branch has changed before proceeding:
28
28
 
@@ -168,5 +168,6 @@ Reason: Caused performance regression in production.
168
168
 
169
169
  ## Limitations
170
170
  - Use this skill only when the task clearly matches the scope described above.
171
+ - Direct-to-main instructions remain subordinate to server-side branch protection and required checks.
171
172
  - Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
172
173
  - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -24,13 +24,13 @@ version: b17ad5148ab7
24
24
 
25
25
  Use this skill when the user asks you to scrape public web data or draft/read/send email through DeepAPI.
26
26
 
27
- ## Staying Up To Date
27
+ ## Version Pinning
28
28
 
29
- - Your installed copy's version is the `version` value in the frontmatter above.
30
- - If a request fails unexpectedly, fetch https://deepapi.co/deepapi-skill/VERSION.txt public, no auth, a few bytes.
31
- - If it differs from this file's version, fetch https://deepapi.co/deepapi-skill/SKILL.md and overwrite this file with it.
32
- - Every API response includes `skillVersion`. If it differs from this file's version, refresh the same way.
33
- - Only ever fetch this skill from https://deepapi.co.
29
+ - The installed copy is pinned to the `version` value in the frontmatter above.
30
+ - If a request or API response reports a different `skillVersion`, report the mismatch and
31
+ stop. Do not fetch, overwrite, or otherwise self-update this `SKILL.md`.
32
+ - Updates must arrive through the reviewed repository release process, with explicit user
33
+ approval for any package or repository update.
34
34
 
35
35
  ## Required Environment
36
36
 
@@ -10,7 +10,7 @@
10
10
  - [`users/codex-cli-skills.md`](users/codex-cli-skills.md)
11
11
  - [`users/gemini-cli-skills.md`](users/gemini-cli-skills.md)
12
12
  - [`users/ai-agent-skills.md`](users/ai-agent-skills.md)
13
- - [`users/antigravity-awesome-skills-vs-awesome-claude-skills.md`](users/antigravity-awesome-skills-vs-awesome-claude-skills.md)
13
+ - [`users/agentic-awesome-skills-vs-awesome-claude-skills.md`](users/agentic-awesome-skills-vs-awesome-claude-skills.md)
14
14
  - [`users/best-claude-code-skills-github.md`](users/best-claude-code-skills-github.md)
15
15
  - [`users/best-cursor-skills-github.md`](users/best-cursor-skills-github.md)
16
16
  - [`users/bundles.md`](users/bundles.md)
@@ -1,6 +1,6 @@
1
1
  # 🏆 Quality Bar & Validation Standards
2
2
 
3
- To transform **Antigravity Awesome Skills** from a collection of scripts into a trusted platform, every skill must meet a specific standard of quality and safety.
3
+ To transform **Agentic Awesome Skills** from a collection of scripts into a trusted platform, every skill must meet a specific standard of quality and safety.
4
4
 
5
5
  ## The "Validated" Badge ✅
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 🛡️ Security Guardrails & Policy
2
2
 
3
- Antigravity Awesome Skills is a powerful toolkit. With great power comes great responsibility. This document defines the **Rules of Engagement** for all security and offensive capabilities in this repository.
3
+ Agentic Awesome Skills is a powerful toolkit. With great power comes great responsibility. This document defines the **Rules of Engagement** for all security and offensive capabilities in this repository.
4
4
 
5
5
  ## 🔴 Offensive Skills Policy (The "Red Line")
6
6
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  title: Jetski/Cortex + Gemini Integration Guide
3
- description: "Use antigravity-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,935+ skills."
3
+ description: "Use agentic-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,958+ skills."
4
4
  ---
5
5
 
6
- # Jetski/Cortex + Gemini: safe integration with 1,935+ skills
6
+ # Jetski/Cortex + Gemini: safe integration with 1,958+ skills
7
7
 
8
- This guide shows how to integrate the `antigravity-awesome-skills` repository with an agent based on **Jetski/Cortex + Gemini** (or similar frameworks) **without exceeding the model context window**.
8
+ This guide shows how to integrate the `agentic-awesome-skills` repository with an agent based on **Jetski/Cortex + Gemini** (or similar frameworks) **without exceeding the model context window**.
9
9
 
10
10
  The common error seen in Jetski/Cortex is:
11
11
 
@@ -23,7 +23,7 @@ Never do:
23
23
  - concatenate all `SKILL.md` content into a single system prompt;
24
24
  - re-inject the entire library for **every** request.
25
25
 
26
- With 1,935+ skills, this approach fills the context window before user messages are even added, causing truncation.
26
+ With 1,958+ skills, this approach fills the context window before user messages are even added, causing truncation.
27
27
 
28
28
  ---
29
29
 
@@ -277,4 +277,4 @@ To prevent recurrence:
277
277
  - Load skills **on demand** based on `@skill-id`.
278
278
  - Set clear limits (max skills per turn, token threshold).
279
279
 
280
- Following this pattern, Jetski/Cortex + Gemini can use the full `antigravity-awesome-skills` library safely, at scale, and within modern model context-window limits.
280
+ Following this pattern, Jetski/Cortex + Gemini can use the full `agentic-awesome-skills` library safely, at scale, and within modern model context-window limits.
@@ -1,6 +1,6 @@
1
1
  # Jetski + Gemini Lazy Skill Loader (Example)
2
2
 
3
- This example shows one way to integrate **antigravity-awesome-skills** with a Jetski/Cortex‑style agent using **lazy loading** based on `@skill-id` mentions, instead of concatenating every `SKILL.md` into the prompt.
3
+ This example shows one way to integrate **agentic-awesome-skills** with a Jetski/Cortex‑style agent using **lazy loading** based on `@skill-id` mentions, instead of concatenating every `SKILL.md` into the prompt.
4
4
 
5
5
  > This is **not** a production‑ready library – it is a minimal reference you can adapt to your own host/agent implementation.
6
6
 
@@ -21,7 +21,7 @@ This example shows one way to integrate **antigravity-awesome-skills** with a Je
21
21
  - How to enforce a **maximum number of skills per turn** via `maxSkillsPerTurn`.
22
22
  - How to choose whether to **truncate or error** when too many skills are requested via `overflowBehavior`.
23
23
 
24
- This pattern avoids context overflow when you have 1,935+ skills installed.
24
+ This pattern avoids context overflow when you have 1,958+ skills installed.
25
25
 
26
26
  Manifest contract references:
27
27
 
@@ -53,7 +53,7 @@ import {
53
53
  Message,
54
54
  } from "./loader.mjs";
55
55
 
56
- const REPO_ROOT = "/path/to/antigravity-awesome-skills";
56
+ const REPO_ROOT = "/path/to/agentic-awesome-skills";
57
57
  const SKILLS_ROOT = REPO_ROOT;
58
58
  const INDEX_PATH = path.join(REPO_ROOT, "skills_index.json");
59
59