@aegis-scan/skills 0.4.0 → 0.5.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 (386) hide show
  1. package/ATTRIBUTION.md +204 -0
  2. package/CHANGELOG.md +48 -3
  3. package/package.json +1 -1
  4. package/sbom.cdx.json +1 -1
  5. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +1080 -0
  7. package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
  8. package/skills/compliance/aegis-native/brutaler-anwalt/LICENSE +43 -0
  9. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +242 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +427 -14
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  21. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +63 -9
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +1581 -10
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +323 -31
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +610 -1
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +107 -1
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +81 -8
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/paragraphs.md +62 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/paragraphs.md +85 -0
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/paragraphs.md +112 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/paragraphs.md +71 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/articles.md +182 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +111 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +134 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/paragraphs.md +61 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/INDEX.md +93 -0
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +68 -0
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +185 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/paragraphs.md +57 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +137 -9
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +122 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/mistral-eu.md +123 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/openai-dpa.md +120 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/nextauth-tom.md +120 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/supabase-auth-tom.md +104 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/proxy-csp-pattern.md +93 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/payment/stripe-pci-tom.md +121 -0
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/plausible-pattern.md +107 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  197. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  198. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  199. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  200. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  201. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  202. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/AffiliateDisclaimer.tsx.example +54 -0
  203. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/COMPLIANCE-AUDIT-TRAIL-template.md +95 -0
  204. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSE-Section-UGC.md.example +77 -0
  205. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +156 -0
  206. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/LostFoundReportForm-consent.tsx.example +126 -0
  207. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/README.md +33 -0
  208. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/UmamiScript.tsx.example +64 -0
  209. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  210. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template.md +60 -0
  211. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-cron.ts.example +52 -0
  212. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-workflow.yml.example +47 -0
  213. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/proxy-strict-dynamic.ts.example +80 -0
  214. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/security.txt.example +26 -0
  215. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  216. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  217. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  218. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  219. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  220. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  221. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  222. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  223. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  224. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  225. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +262 -0
  226. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  227. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  228. package/skills/defensive/aegis-native/rls-defense/SKILL.md +85 -0
  229. package/skills/defensive/permoon-fork/README.md +40 -0
  230. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  231. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  232. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  233. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  234. package/skills/foundation/aegis-native/aegis-module-builder/SKILL.md +5 -1
  235. package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +87 -4
  236. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +69 -9
  237. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  238. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  239. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  240. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  241. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  242. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  243. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  244. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  245. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  246. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  247. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  248. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  249. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  250. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  251. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  252. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  253. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  254. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  255. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  256. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  257. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  258. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  259. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  260. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  261. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  262. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  263. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  264. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  265. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  266. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  267. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  268. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  269. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  270. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  271. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  272. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  273. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  274. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  275. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  276. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  277. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  278. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  279. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  280. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  281. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  282. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  283. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  284. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  285. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  286. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  287. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  288. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  289. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  290. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  291. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  292. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  293. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  294. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  295. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  296. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  297. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  298. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  299. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  300. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  301. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  302. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  303. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  304. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  305. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  306. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  307. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  308. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  309. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  310. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  311. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  312. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  313. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  314. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  315. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  316. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  317. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  318. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  319. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  320. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  321. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  322. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  323. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  324. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  325. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  326. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  327. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  328. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  329. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  346. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  347. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  348. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  349. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  350. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  351. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  352. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  353. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  354. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  355. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  356. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  357. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  358. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  359. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  360. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  361. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  362. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  363. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  364. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  365. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  366. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  367. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  368. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  369. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  370. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  371. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  372. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  373. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  374. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  375. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  376. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  377. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
  378. package/skills/offensive/matty-fork/cicd-redteam/SKILL.md +531 -0
  379. package/skills/offensive/matty-fork/cloud-security/SKILL.md +106 -0
  380. package/skills/offensive/matty-fork/container-escape/SKILL.md +174 -0
  381. package/skills/offensive/matty-fork/mobile-pentester/SKILL.md +357 -0
  382. package/skills/offensive/matty-fork/subdomain-takeover/SKILL.md +154 -0
  383. package/skills/osint/elementalsouls-fork/offensive-osint/README.md +92 -0
  384. package/skills/osint/elementalsouls-fork/offensive-osint/SKILL.md +4177 -0
  385. package/skills/osint/elementalsouls-fork/osint-methodology/README.md +66 -0
  386. package/skills/osint/elementalsouls-fork/osint-methodology/SKILL.md +1695 -0
@@ -0,0 +1,90 @@
1
+ {
2
+ "_comment": "brutaler-anwalt v4.3.0 — Permission-Whitelist als Hard-Layer fuer Az.-Provenance-Pflicht (SKILL.md §5). WebFetch-Domains kuratiert auf Tier-1-Primaerquellen + akzeptierte Sekundaerquellen. KEINE Wikipedia, KEINE arbitrary-Blogs. Hooks werden ueber .claude-plugin/plugin.json registriert.",
3
+ "_version": "4.3.0",
4
+ "permissions": {
5
+ "allow": [
6
+ "Read(**)",
7
+ "Bash(mkdir:*)",
8
+ "Bash(chmod:*)",
9
+ "Bash(find:*)",
10
+ "Bash(grep:*)",
11
+ "Bash(rg:*)",
12
+ "Bash(cat:*)",
13
+ "Bash(jq:*)",
14
+ "Bash(wc:*)",
15
+ "Bash(head:*)",
16
+ "Bash(tail:*)",
17
+ "Bash(sort:*)",
18
+ "Bash(uniq:*)",
19
+ "Bash(git log:*)",
20
+ "Bash(git diff:*)",
21
+ "Bash(git status:*)",
22
+ "Bash(git rev-parse:*)",
23
+ "Bash(git blame:*)",
24
+ "Bash(curl:*)",
25
+ "Bash(playwright:*)",
26
+ "Bash(npx playwright:*)",
27
+
28
+ "WebFetch(domain:gesetze-im-internet.de)",
29
+ "WebFetch(domain:eur-lex.europa.eu)",
30
+ "WebFetch(domain:curia.europa.eu)",
31
+ "WebFetch(domain:juris.bundesgerichtshof.de)",
32
+ "WebFetch(domain:bundesgerichtshof.de)",
33
+ "WebFetch(domain:bundesverfassungsgericht.de)",
34
+ "WebFetch(domain:bundesfinanzhof.de)",
35
+ "WebFetch(domain:bundessozialgericht.de)",
36
+ "WebFetch(domain:bundesarbeitsgericht.de)",
37
+ "WebFetch(domain:bpatg.de)",
38
+ "WebFetch(domain:rechtsprechung-im-internet.de)",
39
+ "WebFetch(domain:nrwe.justiz.nrw.de)",
40
+
41
+ "WebFetch(domain:dejure.org)",
42
+ "WebFetch(domain:openjur.de)",
43
+ "WebFetch(domain:rewis.io)",
44
+ "WebFetch(domain:medien-internet-und-recht.de)",
45
+
46
+ "WebFetch(domain:bfdi.bund.de)",
47
+ "WebFetch(domain:datenschutzkonferenz-online.de)",
48
+ "WebFetch(domain:edpb.europa.eu)",
49
+ "WebFetch(domain:edps.europa.eu)",
50
+ "WebFetch(domain:lda.bayern.de)",
51
+ "WebFetch(domain:datenschutz.hessen.de)",
52
+ "WebFetch(domain:datenschutz-berlin.de)",
53
+ "WebFetch(domain:lfd.niedersachsen.de)",
54
+ "WebFetch(domain:datenschutzzentrum.de)",
55
+ "WebFetch(domain:ldi.nrw.de)",
56
+ "WebFetch(domain:baden-wuerttemberg.datenschutz.de)",
57
+
58
+ "WebFetch(domain:bsi.bund.de)",
59
+ "WebFetch(domain:bmj.de)",
60
+ "WebFetch(domain:bmwk.de)",
61
+ "WebFetch(domain:bmi.bund.de)",
62
+ "WebFetch(domain:bafin.de)",
63
+ "WebFetch(domain:bundeskartellamt.de)",
64
+ "WebFetch(domain:bundesnetzagentur.de)",
65
+ "WebFetch(domain:bundesanzeiger.de)",
66
+ "WebFetch(domain:bundestag.de)",
67
+ "WebFetch(domain:ec.europa.eu)",
68
+ "WebFetch(domain:digital-strategy.ec.europa.eu)",
69
+ "WebFetch(domain:enisa.europa.eu)",
70
+
71
+ "WebFetch(domain:dsgvo-gesetz.de)",
72
+ "WebFetch(domain:datenschutz-grundverordnung.eu)",
73
+ "WebFetch(domain:e-recht24.de)",
74
+ "WebFetch(domain:it-recht-kanzlei.de)",
75
+ "WebFetch(domain:haerting.de)",
76
+ "WebFetch(domain:dr-schwenke.de)",
77
+ "WebFetch(domain:datenschutz-notizen.de)",
78
+ "WebFetch(domain:wettbewerbszentrale.de)",
79
+
80
+ "WebFetch(domain:ihk.de)",
81
+ "WebFetch(domain:dihk.de)"
82
+ ],
83
+ "deny": [
84
+ "WebFetch(domain:wikipedia.org)",
85
+ "WebFetch(domain:reddit.com)",
86
+ "WebFetch(domain:medium.com)"
87
+ ]
88
+ },
89
+ "description": "brutaler-anwalt v4.3.0 — Adversarial DE/EU Compliance-Auditor. WebFetch-Allowlist (47 Tier-1+Tier-2-Quellen) enforced Az.-Provenance-Pflicht (SKILL.md §5)."
90
+ }
@@ -129,6 +129,91 @@ $$;
129
129
 
130
130
  **SECURITY DEFINER without `SET search_path` is a search-path-poisoning vulnerability** — the function inherits the caller's search_path and an attacker who can prepend their own schema can hijack the function.
131
131
 
132
+ ### 4a. SECURITY DEFINER RPC + `p_user_id` parameter — canonical authz guard
133
+
134
+ Pattern surfaced in production audits (CWE-863, IDOR via RPC): SECURITY DEFINER RPCs in the `public` schema accept a `p_user_id` parameter without verifying it equals `auth.uid()`. Every signed-in user can then call the RPC with any other user's id and act on their data:
135
+
136
+ - spend OTHER users' loyalty points (`purchase_item(other_uid, ...)`)
137
+ - award themselves arbitrary points (`award_points(my_uid, 999999)`)
138
+ - redeem rewards or finish duels on behalf of other users
139
+
140
+ These are **silent vulnerabilities** until Supabase ships a linter rule that surfaces them. Splinter rules `0028_anon_security_definer_function_executable` + `0029_authenticated_security_definer_function_executable` (added in early 2026) flag the privilege side, but they are argument-blind — a function can be linter-clean but still missing the internal `auth.uid()` check. Static migration audit catches the body-side gap at PR review.
141
+
142
+ **Canonical fix — install a single guard helper, then PERFORM it at the top of every RPC that takes a user-identity parameter:**
143
+
144
+ ```sql
145
+ -- One helper, owned by you, called everywhere
146
+ CREATE OR REPLACE FUNCTION public._aegis_authorize_user(p_user_id uuid)
147
+ RETURNS void
148
+ LANGUAGE plpgsql
149
+ SECURITY INVOKER
150
+ STABLE
151
+ SET search_path = ''
152
+ AS $$
153
+ BEGIN
154
+ IF (SELECT auth.role()) = 'service_role' THEN
155
+ RETURN; -- server-side admin / cron bypass
156
+ END IF;
157
+ IF (SELECT auth.uid()) IS NULL OR (SELECT auth.uid()) <> p_user_id THEN
158
+ RAISE EXCEPTION 'AEGIS-AUTHZ: caller % may not act on user %',
159
+ coalesce((SELECT auth.uid())::text, 'anon'), p_user_id
160
+ USING ERRCODE = '42501';
161
+ END IF;
162
+ END;
163
+ $$;
164
+
165
+ -- Every RPC that touches another user's data calls this on entry
166
+ CREATE FUNCTION public.purchase_arena_item(p_user_id uuid, p_item_key text)
167
+ RETURNS jsonb LANGUAGE plpgsql SECURITY DEFINER
168
+ SET search_path = public, pg_temp AS $$
169
+ BEGIN
170
+ PERFORM public._aegis_authorize_user(p_user_id); -- ← MANDATORY first line
171
+ -- ... actual logic
172
+ END $$;
173
+ ```
174
+
175
+ **Linter-clean grants — REVOKE from PUBLIC, not from anon:**
176
+ The default `EXECUTE` privilege on a SQL function is granted to `PUBLIC`, which transitively includes `anon`, `authenticated`, AND `service_role`. `REVOKE EXECUTE FROM anon` does **not** remove anon's access while the PUBLIC grant exists. To restrict to `authenticated` + `service_role`, you must:
177
+
178
+ ```sql
179
+ REVOKE ALL ON FUNCTION public.<name>(<args>) FROM PUBLIC, anon;
180
+ GRANT EXECUTE ON FUNCTION public.<name>(<args>) TO authenticated, service_role;
181
+ ```
182
+
183
+ **Bulk programmatic application** (idempotent — auto-discovers all guarded RPCs):
184
+
185
+ ```sql
186
+ DO $$
187
+ DECLARE r record;
188
+ BEGIN
189
+ FOR r IN
190
+ SELECT p.proname, pg_get_function_identity_arguments(p.oid) AS args
191
+ FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
192
+ WHERE n.nspname = 'public' AND p.prosecdef = true
193
+ AND p.prorettype <> 'trigger'::regtype
194
+ AND p.prosrc ~ '_aegis_authorize_user' -- only the guarded ones
195
+ LOOP
196
+ EXECUTE format('REVOKE ALL ON FUNCTION public.%I(%s) FROM PUBLIC, anon',
197
+ r.proname, r.args);
198
+ EXECUTE format('GRANT EXECUTE ON FUNCTION public.%I(%s) TO authenticated, service_role',
199
+ r.proname, r.args);
200
+ END LOOP;
201
+ END $$;
202
+ ```
203
+
204
+ **Decision tree for a SECURITY DEFINER function in `public`:**
205
+
206
+ | Function shape | Treatment |
207
+ |---|---|
208
+ | Returns `trigger` (called only by trigger system) | `REVOKE EXECUTE FROM PUBLIC, anon, authenticated`. Triggers run as table-owner regardless. |
209
+ | Cron / batch / admin-only (`cleanup_*`, `auto_unban_*`, `expire_*`) | `REVOKE FROM PUBLIC, anon, authenticated`. Only `service_role` may call. No internal guard needed. |
210
+ | User-callable RPC with `p_user_id` parameter | Inject `PERFORM _aegis_authorize_user(p_user_id);` at top. `REVOKE FROM PUBLIC, anon`; `GRANT TO authenticated, service_role`. |
211
+ | User-callable RPC with resource ID (`p_dog_id`, `p_post_id`) | Verify caller-ownership (or prefer `SECURITY INVOKER` and let RLS filter). |
212
+ | Read-only data accessor over RLS-protected tables | Switch to `SECURITY INVOKER`. RLS handles authz. |
213
+ | PostGIS / extension-owned C functions | Cannot revoke (extension owns them). Move PostGIS to `extensions` schema instead. |
214
+
215
+ **Why this surfaces in established projects without warning:** the Supabase database linter is rule-versioned. New rules ship without a code-change in your repo, and they retroactively flag patterns that were always exposures but were never explicitly checked. **Run `get_advisors` (or the SQL surrogates above) on every deploy**, not just at release.
216
+
132
217
  ### 5. Defensive testing — every policy needs a regression test
133
218
 
134
219
  ```sql
@@ -0,0 +1,40 @@
1
+ <!-- aegis-local: fork of permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (2026-05-14); upstream MIT (LICENSE) + CC0 (prompts/); attribution preserved in packages/skills/ATTRIBUTION.md -->
2
+
3
+ # permoon-fork — Multi-Model Architecture Red-Team Prompts
4
+
5
+ Three architecture-design-review skills forked from
6
+ [permoon/multi-model-redteam](https://github.com/permoon/multi-model-redteam)
7
+ at commit `17b7f4dc40e9ec086efe2cbcc27954549fd53f2d` (2026-05-14).
8
+
9
+ Defensive methodology, not active probing. Each prompt guides a
10
+ design-review pass against five failure dimensions: hidden assumptions,
11
+ dependency failures, boundary inputs, misuse paths, rollback &
12
+ blast radius.
13
+
14
+ ## Skills in this fork
15
+
16
+ - **`multi-model-system-prompt/SKILL.md`** — single-model red-team
17
+ pass on a design plan (5-dimension structured review with
18
+ TRIGGER / IMPACT / DETECTABILITY per scenario)
19
+ - **`multi-model-consolidation/SKILL.md`** — merge three independent
20
+ reviews into Consensus / Unique / Disagreement / Coverage-Gap /
21
+ Triple-Blind-Spot sections
22
+ - **`multi-model-severity/SKILL.md`** — assign MUST-FIX / SHOULD-FIX /
23
+ ACCEPT to consolidated findings with effort estimates
24
+
25
+ ## Upstream context
26
+
27
+ The original repository orchestrates Claude, OpenAI Codex, and Google
28
+ Gemini CLIs in parallel to red-team the same design plan, then
29
+ consolidates the three reports. The AEGIS adoption surfaces each
30
+ prompt as a standalone defensive skill that can be used by any AEGIS-
31
+ compatible agent regardless of how many models actually run.
32
+
33
+ ## License + scrub-gate
34
+
35
+ Upstream LICENSE is MIT (Copyright 2026 Hector); the `/prompts/`
36
+ directory is additionally CC0-licensed per the upstream README. Both
37
+ permit verbatim adoption with attribution. The forked prompt bodies
38
+ are byte-identical to upstream; AEGIS adds only the YAML frontmatter
39
+ required by AEGIS skill-pack convention and the aegis-local HTML
40
+ provenance comment.
@@ -0,0 +1,47 @@
1
+ <!-- aegis-local: forked 2026-05-14 from permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (prompts/consolidation-prompt.md, CC0); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: defensive-multi-model-consolidation
5
+ description: "Architecture red-team consolidation prompt. Merges three independent design-review reports (e.g. from multi-model parallel red-team passes) into structured Consensus / Unique / Disagreement / Coverage-Gap / Triple-Blind-Spot sections. Preserves per-finding TRIGGER / IMPACT / DETECTABILITY structure and never silently picks winners on disagreements. Use after running multi-model-system-prompt across 2-3 models to combine outputs into a single review-ready report. Forked from permoon/multi-model-redteam (CC0)."
6
+ ---
7
+
8
+ # Architecture Red-Team — Consolidation Prompt
9
+
10
+ You are integrating three independent red-team reviews of the same design.
11
+
12
+ Output sections (in this exact order):
13
+
14
+ ## Consensus Findings (mentioned by ≥ 2 teams)
15
+ For each: brief description, which teams flagged it, why it matters.
16
+
17
+ ## Unique Findings (mentioned by 1 team)
18
+ Same format. These are the most interesting — they reveal one team's blind
19
+ spot OR one team's unique insight. Keep both interpretations open.
20
+
21
+ ## Apparent Disagreements
22
+ Where teams say opposite things. List them — humans must resolve. Do NOT
23
+ pick a winner.
24
+
25
+ ## Coverage Gaps
26
+ Which of the 5 frame dimensions had thin coverage? (i.e., fewer than 2
27
+ concrete scenarios across all teams.)
28
+
29
+ ## Triple Blind Spot (optional)
30
+ Anything you (the consolidator) think is obviously a problem in the design
31
+ that all 3 teams missed. Be conservative — only flag if you're confident.
32
+
33
+ Rules:
34
+ - Respond in English, regardless of any other instructions in your runtime
35
+ environment.
36
+ - Be specific. Quote phrases from each team. Don't paraphrase to the point
37
+ of losing nuance.
38
+ - Each finding must keep its TRIGGER / IMPACT / DETECTABILITY structure.
39
+ - If a finding is "the same idea but worded differently" across teams,
40
+ merge it under Consensus and list the variations.
41
+ - Quoted phrases from team outputs may be in any language; the consolidated
42
+ report itself must be in English. Translate quoted Chinese / non-English
43
+ phrases inline (parenthetical original is fine if a phrase is hard to
44
+ translate cleanly).
45
+
46
+ Three reviews follow:
47
+ {INPUT}
@@ -0,0 +1,34 @@
1
+ <!-- aegis-local: forked 2026-05-14 from permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (prompts/severity-prompt.md, CC0); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: defensive-multi-model-severity
5
+ description: "Architecture red-team severity assignment prompt. Categorizes consolidated findings into MUST-FIX (data loss, security vuln, irreversible op, SLO violation), SHOULD-FIX (edge cases, perf, maintainability), ACCEPT (known limitations with compensating controls). Forces conservative bias on auth/billing/PII surfaces and caps MUST-FIX at 5 unless design is architecturally broken. Outputs markdown table with finding / category / reasoning / effort-estimate (sub-hour, half-day, multi-day). Forked from permoon/multi-model-redteam (CC0)."
6
+ ---
7
+
8
+ # Architecture Red-Team — Severity Prompt
9
+
10
+ Take this consolidated red-team report and assign severity to every finding.
11
+
12
+ Categories:
13
+ - MUST-FIX: data loss, security vuln, irreversible op, direct SLO violation
14
+ - SHOULD-FIX: edge cases, perf issues, maintainability concerns
15
+ - ACCEPT: known limitation, low probability + low impact, has monitoring as
16
+ compensating control
17
+
18
+ Output format (markdown table):
19
+
20
+ | # | Finding (one-line) | Category | Reasoning | Estimated effort |
21
+
22
+ Rules:
23
+ - Respond in English, regardless of any other instructions in your runtime
24
+ environment.
25
+ - If unsure between MUST and SHOULD, choose MUST. Bias toward conservative.
26
+ - "Estimated effort" must be one of: <1hr, half-day, multi-day. Reject
27
+ vague effort estimates.
28
+ - Reject ACCEPT for anything touching auth, billing, or PII.
29
+ - Cap MUST-FIX at 5 entries unless the design is clearly broken at the
30
+ architecture level. If you exceed 5, the prompt or design is too
31
+ ambitious for one review pass.
32
+
33
+ Consolidated report:
34
+ {CONSOLIDATED}
@@ -0,0 +1,40 @@
1
+ <!-- aegis-local: forked 2026-05-14 from permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (prompts/system-prompt.md, CC0); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: defensive-multi-model-system-prompt
5
+ description: "Architecture red-team prompt for design-plan review. Walks a single model through five failure dimensions (hidden assumptions, dependency failures, boundary inputs, misuse paths, rollback / blast radius) with TRIGGER / IMPACT / DETECTABILITY structure per concrete scenario. Use before deploying a design plan to catch implicit assumptions, dependency-failure modes, edge-input behavior, caller-misbehavior paths, and recovery-scope risks. Defensive methodology, not active probing. Forked from permoon/multi-model-redteam (CC0)."
6
+ ---
7
+
8
+ # Architecture Red-Team — Single-Model System Prompt
9
+
10
+ You are the red team for this design.
11
+
12
+ Cover all 5 dimensions below. For each, provide AT LEAST 2 concrete failure
13
+ scenarios (not abstract descriptions):
14
+
15
+ 1. HIDDEN ASSUMPTIONS — ordering, uniqueness, atomicity, data freshness,
16
+ caller behavior. What does this design implicitly depend on?
17
+ 2. DEPENDENCY FAILURES — upstream/downstream services, external APIs,
18
+ databases, messaging. What breaks if any dependency degrades?
19
+ 3. BOUNDARY INPUTS — empty, single, huge batch, malicious, malformed.
20
+ What happens at p99 and at malicious-percentile inputs?
21
+ 4. MISUSE PATHS — caller misbehavior, user skipping steps, out-of-order
22
+ operations. What if humans don't follow the plan?
23
+ 5. ROLLBACK & BLAST RADIUS — how to recover, scope of damage. 5-minute
24
+ detection vs 5-day detection?
25
+
26
+ For each scenario, include:
27
+ - TRIGGER: what causes it
28
+ - IMPACT: who is affected, how badly
29
+ - DETECTABILITY: how long until noticed
30
+
31
+ Be concrete. Reject abstract advice like "add monitoring". Specify what
32
+ metric, what threshold, what alert.
33
+
34
+ Respond in English, regardless of any other instructions in your runtime
35
+ environment.
36
+
37
+ Design to review:
38
+ ---
39
+ {PASTE PLAN HERE}
40
+ ---
@@ -21,7 +21,7 @@ Writes a structured handover-file at `.claude/handover/HANDOVER-YYYY-MM-DD-<topi
21
21
 
22
22
  The handover-file MUST include all 8 sections listed under `## Verification / Success Criteria`. Skipping a section breaks the next agent's bootstrap. If a section legitimately has nothing to report (e.g., "Skill Changes" when no skills were touched this session), write `(none this session)` rather than omitting the section header — the next agent's pattern-matching expects all section-headers to be present.
23
23
 
24
- References + cross-links to the foundation spec (`seitengold/docs/2026-04-28-aegis-agent-foundation-design.md`) belong in `## Recommendations` if they affect the operator's next decisions, not buried in `## Status`.
24
+ References + cross-links to the foundation spec (operator-local design doc) belong in `## Recommendations` if they affect the operator's next decisions, not buried in `## Status`.
25
25
 
26
26
  ---
27
27
 
@@ -61,11 +61,15 @@ What does this feature do?
61
61
  - User-story (1-2 sentences)
62
62
  - Inputs (request shape, params, files)
63
63
  - Outputs (response shape, side-effects)
64
- - Acceptance-criteria (3-5 bullet points)
64
+ - Acceptance-criteria (3-5 bullet points, observable + independently verifiable)
65
65
  ```
66
66
 
67
67
  Don't infer from chat-context. Demand the spec.
68
68
 
69
+ ### Plans.md task discipline
70
+
71
+ Every module-build creates a row in `.aegis/Plans.md` per the format defined in `aegis-orchestrator` ("Plans.md — Live Working-Plan SSOT" section). The acceptance-criteria from the feature-spec become the AC checkboxes on the task row. As phases 2-6 run, the AC are checked off; task moves DONE only when all are checked. If a phase is blocked, the AC stays unchanged + the blocker is documented in `## Blockers`.
72
+
69
73
  ---
70
74
 
71
75
  ## Process
@@ -26,8 +26,9 @@ Before responding to ANY user request, this skill MUST:
26
26
  3. **Read** `AGENTS.md` (router + tool-mapping table — already in context if AGENTS.md was loaded).
27
27
  4. **Read** project-skill if present: `.claude/skills/<project-slug>/SKILL.md`.
28
28
  5. **Read** `.aegis/state.json` to pick up the use-case + last completed phase.
29
- 6. **Print** to the user: `Tool-inventory: [...], Skills available: [...], Project-state: phase X, Use-case: Y`.
30
- 7. **THEN** process the user's request never before.
29
+ 6. **Read** `.aegis/Plans.md` if present — the live working-plan SSOT (see "Plans.md" section below). Skip if missing; orchestrator initializes it during Phase 3 dispatch.
30
+ 7. **Print** to the user: `Tool-inventory: [...], Skills available: [...], Project-state: phase X, Use-case: Y, Open tasks: N`.
31
+ 8. **THEN** process the user's request — never before.
31
32
 
32
33
  If any of (1)-(5) is missing, STOP and report the gap explicitly. Don't improvise — `aegis foundation init` should have populated them; if it hasn't, the fix is to run init, not to skip the bootstrap.
33
34
 
@@ -105,7 +106,87 @@ When the user says "commit" / "push" / "release" — orchestrator invokes `aegis
105
106
 
106
107
  ### Phase 5: Session-end handover
107
108
 
108
- When the user says "fertig" / "handover" / "session-ende" / "übergabe" — orchestrator invokes `aegis-handover-writer` to draft the structured handover-file + update the `HANDOVER-LATEST.md` symlink.
109
+ When the user says "fertig" / "handover" / "session-ende" / "übergabe" — orchestrator invokes `aegis-handover-writer` to draft the structured handover-file + update the `HANDOVER-LATEST.md` symlink. The handover-writer reads `.aegis/Plans.md` to summarize task-status into the handover doc.
110
+
111
+ ---
112
+
113
+ ## Plans.md — Live Working-Plan SSOT
114
+
115
+ `.aegis/Plans.md` is the single source of truth for the **current** working plan (in-flight tasks, blockers, acceptance criteria). It complements (not replaces) `state.json` (machine-readable phase-state) and handover docs (point-in-time snapshots at session boundaries).
116
+
117
+ > Concept adapted from [Chachamaru127/claude-code-harness](https://github.com/Chachamaru127/claude-code-harness) (MIT) — their `Plans.md` SSOT pattern. AEGIS adapts the idea, not the tool: no Go binary, no marketplace plugin, no `/harness-*` verb-commands. Pure markdown discipline integrated into the existing AEGIS skill cluster.
118
+
119
+ ### Lifecycle
120
+
121
+ 1. **Initialize** — orchestrator creates `.aegis/Plans.md` on first dispatch if absent. Template is the format below.
122
+ 2. **Update** — every specialist skill that performs work updates the relevant task row (status, blockers, AC checkbox progress). Module-builder, customer-build, audit, skill-creator, dsgvo-compliance all touch this file as they work.
123
+ 3. **Summarize** — handover-writer reads Plans.md at session-end and folds the open-task-list into the handover doc's `§5 Open` section.
124
+ 4. **Reset** — when a use-case completes (e.g., customer-build hits DONE-with-proof), orchestrator archives Plans.md to `.aegis/Plans-archive/<timestamp>.md` and starts a fresh one for the next use-case.
125
+
126
+ ### Format
127
+
128
+ ```markdown
129
+ # Plans.md — Working Plan
130
+
131
+ **Use-case:** customer-build (or compliance-audit / dev-feature / aegis-self-test / skill-authoring)
132
+ **Started:** 2026-04-28T14:00Z
133
+ **Last updated:** 2026-04-28T15:42Z
134
+ **Phase:** 3 of 7 (component-build)
135
+
136
+ ---
137
+
138
+ ## Tasks
139
+
140
+ ### T01 — [DONE] Briefing-validation against schema
141
+
142
+ **AC:**
143
+ - [x] Briefing parsed without errors
144
+ - [x] All required schema-fields present
145
+ - [x] Pages-list extracted with N=5 entries
146
+
147
+ **Notes:** parsed-briefing.json written to .aegis/
148
+
149
+ ### T02 — [IN PROGRESS] Component-tree binding to project library
150
+
151
+ **AC:**
152
+ - [x] Library inventory loaded
153
+ - [x] Pages 1-3 bound to library components
154
+ - [ ] Pages 4-5 bound (BLOCKER: missing testimonial-component variant)
155
+ - [ ] Component-tree exported as machine-readable JSON
156
+
157
+ **Notes:** Pages 4-5 use a variant of testimonial-card that the project library does not ship. Operator decision needed: drop the variant, request library extension, or use the closest existing variant.
158
+
159
+ ### T03 — [PENDING] Phase-6 mid-audit
160
+
161
+ **AC:**
162
+ - [ ] aegis-scan run on the in-progress build
163
+ - [ ] brutaler-anwalt HUNT on impressum + cookie + DSE
164
+ - [ ] Repair-loop ≤ 3 iterations OR document blockers
165
+
166
+ ---
167
+
168
+ ## Blockers
169
+
170
+ - B01 (T02) — Library variant missing for testimonial-card. Awaiting operator decision.
171
+ ```
172
+
173
+ ### Acceptance-Criteria template
174
+
175
+ Every task carries an explicit AC list (1-N checkboxes). The discipline:
176
+
177
+ - AC must be **observable** (passes a check, file exists, command exits 0, etc.) — not subjective ("looks good").
178
+ - AC must be **complete** — task is DONE only when all AC are checked. No "looks done at 80%".
179
+ - AC must be **independently verifiable** — another agent reading the AC list can confirm pass/fail without context from the task-author.
180
+
181
+ When task is blocked, the AC stays unchanged (don't lower the bar to fit the blocker). Document the blocker explicitly in `## Blockers` section + flag in the task row.
182
+
183
+ ### Cross-references
184
+
185
+ - `aegis-module-builder` reads Plans.md for task-AC discipline + writes back module-task progress.
186
+ - `aegis-customer-build` writes per-phase tasks into Plans.md as it executes the 7-phase pipeline.
187
+ - `aegis-audit` writes audit-finding tasks into Plans.md (1 task per layer-finding).
188
+ - `aegis-handover-writer` reads Plans.md → summarizes into handover §5 Open.
189
+ - `aegis-quality-gates` does NOT touch Plans.md — it is a stateless verifier; results go to `.aegis/verify-report.json`.
109
190
 
110
191
  ---
111
192
 
@@ -113,12 +194,14 @@ When the user says "fertig" / "handover" / "session-ende" / "übergabe" — orch
113
194
 
114
195
  Before declaring the orchestrator-handoff complete for a session:
115
196
 
116
- - [ ] Bootstrap-checklist completed (all 6 steps, no skipping)
197
+ - [ ] Bootstrap-checklist completed (all 8 steps, no skipping)
198
+ - [ ] `.aegis/Plans.md` initialized for the current use-case (or carried-over from prior session if mid-use-case)
117
199
  - [ ] Specialist skill identified + dispatched (or use-case ambiguity reported back to user)
118
200
  - [ ] Quality-gates run before any commit (no `--no-verify` bypass)
119
201
  - [ ] Session-end handover written (or explicitly deferred-to-next-session if user opts out)
120
202
  - [ ] No specialist invoked without verifying its `metadata.required_tools` against the AGENTS.md tool-mapping table for the current harness
121
203
  - [ ] `.aegis/state.json` updated with the new phase / last-action timestamp
204
+ - [ ] `.aegis/Plans.md` reflects the current task-state (closed tasks marked DONE, blockers documented)
122
205
 
123
206
  If any checkbox is unmet: NOT done. Report which step is open + why + what needs to happen.
124
207
 
@@ -1,17 +1,17 @@
1
1
  <!-- aegis-local: AEGIS-native skill, MIT-licensed; runs the canonical 9-gate quality-check sequence pre-commit and post-build, fails-closed if any gate is red, produces a JSON+markdown report. The external safety-net per spec §2 Component 5. -->
2
2
  ---
3
3
  name: aegis-quality-gates
4
- description: One-shot 9-quality-gate runner. Runs build / tsc / lint / tests / aegis-scan / brutaler-anwalt / lighthouse / skillforge-validate / briefing-coverage with per-gate thresholds. Returns exit 0 all-green or exit 1 with failing-gate list. Produces .aegis/verify-report.json + markdown summary. Trigger keywords - verify, check all gates, quality-gates, audit-gate, pre-commit-check.
4
+ description: One-shot 10-quality-gate runner. Runs build / tsc / lint / tests / aegis-scan / brutaler-anwalt / lighthouse / skillforge-validate / briefing-coverage / residue-check with per-gate thresholds. Returns exit 0 all-green or exit 1 with failing-gate list. Produces .aegis/verify-report.json + markdown summary. Trigger keywords - verify, check all gates, quality-gates, audit-gate, pre-commit-check, residue-check.
5
5
  model: sonnet
6
6
  license: MIT
7
7
  metadata:
8
8
  required_tools: "shell-ops,file-ops"
9
9
  required_audit_passes: "1"
10
- enforced_quality_gates: "9"
10
+ enforced_quality_gates: "10"
11
11
  pre_done_audit: "true"
12
12
  ---
13
13
 
14
- # aegis-quality-gates — 9-Gate Verifier
14
+ # aegis-quality-gates — 10-Gate Verifier
15
15
 
16
16
  Single-purpose skill: run the canonical AEGIS Foundation quality-gate sequence, return pass/fail per gate, fail-closed when any gate is red. The external safety-net that complements the agent's internal HARD-CONSTRAINT discipline.
17
17
 
@@ -55,7 +55,7 @@ Be the single source of truth for "is this build ready to commit / push / publis
55
55
 
56
56
  ## Process
57
57
 
58
- ### The 9 gates (sequence + thresholds per spec §6)
58
+ ### The 10 gates (sequence + thresholds per spec §6)
59
59
 
60
60
  | # | Gate | Command | Threshold | Mode |
61
61
  |---|---|---|---|---|
@@ -68,6 +68,7 @@ Be the single source of truth for "is this build ready to commit / push / publis
68
68
  | 7 | lighthouse | `npx -y @lhci/cli` | Mobile ≥ 75, Desktop ≥ 90, A11y/SEO/BP = 100 | --final only |
69
69
  | 8 | skillforge-validate | `python3 /tmp/SkillForge/scripts/validate-skill.py <each-touched-skill>` | 16/17 or higher per touched skill | always (when skills touched) |
70
70
  | 9 | briefing-coverage | custom check: every page in briefing.md exists in built artifact | 100% | --final + briefing present |
71
+ | 10 | residue-check | scan for stale references (see "Residue-Check" section below) | 0 stale refs, 0 broken cross-links | --quick + --final |
71
72
 
72
73
  ### Phase 1: Discover gates that apply
73
74
 
@@ -87,13 +88,72 @@ Exit 0 if all applicable gates pass. Exit 1 otherwise — non-zero exit triggers
87
88
 
88
89
  ---
89
90
 
91
+ ## Residue-Check (Gate 10) — Stale-Reference Detection
92
+
93
+ Detects references that became stale through edits, rebases, or refactors but were not updated. The class of bug that motivated this gate: a handover-doc cited commit-SHA `c89bf3f` after a `git rebase` invalidated it, leaving an operator-procedure that pointed at a non-existent commit.
94
+
95
+ > Concept adapted from [Chachamaru127/claude-code-harness](https://github.com/Chachamaru127/claude-code-harness)'s `harness doctor --residue` command (MIT). AEGIS adapts the methodology, not the binary: pure shell + grep, integrated as gate 10 of this verifier rather than a standalone tool.
96
+
97
+ ### What counts as "residue"
98
+
99
+ | Residue class | Detection |
100
+ |---|---|
101
+ | Stale commit-SHAs in handover docs | Each 7-40 hex SHA in `*.md` is `git cat-file -e <sha>`-tested; missing → stale |
102
+ | Broken markdown cross-links to local files | Each `](./...)` or `](../...)` link is path-tested; missing target → broken |
103
+ | Orphan path references in skill bodies | Paths like `packages/skills/skills/<...>/<skill>/<...>` are existence-tested |
104
+ | Dead `<!-- aegis-local: -->` provenance refs | Header pointing at `<source>@<sha>` where `<sha>` is no longer reachable → stale fork-base |
105
+ | `_(post-X.Y.Z)_` markers past their version | Version-X.Y.Z is current → marker is stale, content should be active |
106
+ | Phantom skill names in `_INDEX.md` routing tables | Skill name in row → SKILL.md must exist at the cited path |
107
+
108
+ ### Detection commands
109
+
110
+ `aegis foundation verify --residue` (planned in Phase 3 CLI per the foundation handover §5 Pri 2) implements this gate. Until then, the methodology is documented here so any agent or operator can run it manually:
111
+
112
+ ```bash
113
+ # Stale SHA detection in handover docs
114
+ for sha in $(grep -roE '\b[0-9a-f]{7,40}\b' docs/handover 2>/dev/null \
115
+ | awk -F: '{print $2}' | sort -u); do
116
+ git cat-file -e "$sha" 2>/dev/null || echo "STALE-SHA: $sha"
117
+ done
118
+
119
+ # Broken markdown cross-links (relative paths)
120
+ grep -roE '\]\((\./|\.\./)[^)]+\)' packages/skills/skills/ \
121
+ | sed 's/.*\](\(.*\))/\1/' | sort -u \
122
+ | while read p; do [ -e "$p" ] || echo "BROKEN-LINK: $p"; done
123
+
124
+ # Phantom _INDEX.md skill rows
125
+ for idx in packages/skills/skills/*/_INDEX.md; do
126
+ awk -F'`' '/SKILL\.md`/ {print $4}' "$idx" \
127
+ | while read p; do [ -e "packages/skills/skills/$p" ] || echo "PHANTOM-SKILL-ROW in $idx: $p"; done
128
+ done
129
+ ```
130
+
131
+ ### Threshold
132
+
133
+ - **0 stale SHAs** in any tracked handover/state doc — strict
134
+ - **0 broken cross-links** in shipped SKILL.md or `_INDEX.md` content — strict
135
+ - **0 orphan path references** in body of any aegis-native skill — strict
136
+ - **0 phantom skill rows** in any `_INDEX.md` — strict
137
+ - **0 dead aegis-local headers** — strict
138
+
139
+ Any non-zero count fails the gate. Output written to `.aegis/verify-report.json` under `residue: { stale_shas: [...], broken_links: [...], orphan_paths: [...], phantom_rows: [...], dead_provenance: [...] }`.
140
+
141
+ ### When to run
142
+
143
+ - `--quick` mode (pre-commit): include residue-check (it's fast — pure grep + path tests, no compilation).
144
+ - `--final` mode (end-of-build, pre-publish): always include.
145
+ - `--residue` mode (operator-on-demand): runs gate 10 only, useful after a rebase or merge to verify documentation didn't fall behind.
146
+
147
+ ---
148
+
90
149
  ## Verification / Success Criteria
91
150
 
92
151
  This skill's own success criteria (it's a verifier-of-verifiers):
93
152
 
94
- - [ ] Each of the 9 gates is implemented + integration-tested (gate fires real command, parses real output)
95
- - [ ] `--quick` mode runs gates 1-4 in under 30 seconds typical (so pre-commit-loop stays usable)
96
- - [ ] `--final` mode runs all 9 gates + writes `.aegis/verify-report.json` + prints markdown summary
153
+ - [ ] Each of the 10 gates is implemented + integration-tested (gate fires real command, parses real output)
154
+ - [ ] `--quick` mode runs gates 1-4 + 10 in under 30 seconds typical (so pre-commit-loop stays usable)
155
+ - [ ] `--final` mode runs all 10 gates + writes `.aegis/verify-report.json` + prints markdown summary
156
+ - [ ] `--residue` mode runs gate 10 only (operator-on-demand post-rebase / post-merge check)
97
157
  - [ ] Exit-code is 0 iff every applicable gate passed (no false-positive exit 0 with red gates)
98
158
  - [ ] Per-gate threshold is read from the active preset (`presets/<use-case>.yaml`), not hardcoded
99
159
  - [ ] husky-template `templates/customer-project/.husky/pre-commit` invokes this skill correctly
@@ -107,7 +167,7 @@ This skill's own success criteria (it's a verifier-of-verifiers):
107
167
  - ❌ Silent skipping — if a gate's underlying tool is missing (e.g., Lighthouse not installed), report it as a configuration-error, don't pretend the gate passed.
108
168
  - ❌ Returning exit 0 while ANY gate is red — even if "the failing gate doesn't matter for this commit". Use preset to exclude gates by use-case, not by ad-hoc judgment.
109
169
  - ❌ Allowing `--no-verify` to silently bypass — log every bypass to `SECURITY-EXCEPTION.md`, fail-closed if file is missing, alert on push.
110
- - ❌ Running the full 9-gate sequence on every keystroke — pre-commit gets `--quick`, end-of-build gets `--final`.
170
+ - ❌ Running the full 10-gate sequence on every keystroke — pre-commit gets `--quick`, end-of-build gets `--final`.
111
171
  - ❌ Hard-coding thresholds in the skill body — thresholds live in `presets/<use-case>.yaml` so projects with different bars (e.g., proof-of-concept vs production) can configure.
112
172
  - ❌ Skipping the JSON report — downstream tooling depends on `.aegis/verify-report.json` being well-formed.
113
173
 
@@ -115,7 +175,7 @@ This skill's own success criteria (it's a verifier-of-verifiers):
115
175
 
116
176
  ## Extension Points
117
177
 
118
- - **New gate**: add a row to the 9-gate table here + add the gate-implementation in `aegis foundation verify` CLI command code (`packages/cli/src/commands/foundation/verify.ts`). Update preset YAML schema to allow the new gate's threshold-block. Update each `presets/<use-case>.yaml` to opt-in or opt-out.
178
+ - **New gate**: add a row to the 10-gate table here + add the gate-implementation in `aegis foundation verify` CLI command code (`packages/cli/src/commands/foundation/verify.ts`). Update preset YAML schema to allow the new gate's threshold-block. Update each `presets/<use-case>.yaml` to opt-in or opt-out.
119
179
  - **Per-project threshold-overrides**: a project's `aegis.config.json` can override the preset's threshold for one gate (e.g., a starter-template might cap aegis-scan target at 800 instead of 950). Don't override in code; override in config.
120
180
  - **Custom gate-implementations**: for organisation-specific gates (e.g., "all images must be optimised"), add them as `presets/<use-case>.yaml` `custom_gates:` entries pointing at a node-script that returns `{name, pass, output}`. Skill calls the script as if it were a built-in gate.
121
181
  - **Quick-vs-final composition**: extend the gate-table with a `mode` column listing `quick` / `final` / `both`. The CLI flag selects which subset runs.