@raishin/vanguard-frontier-agentic 2.0.0 → 2.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 (223) hide show
  1. package/.claude-plugin/plugin.json +14 -0
  2. package/.cursor-plugin/plugin.json +14 -0
  3. package/.github/plugin/marketplace.json +1 -1
  4. package/README.md +7 -2
  5. package/agents/marketing/README.md +44 -0
  6. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/AGENT.md +53 -0
  7. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/claude-code.agent.md +36 -0
  8. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/codex.toml +33 -0
  9. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/copilot.agent.md +36 -0
  10. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/cursor.agent.md +36 -0
  11. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/gemini.agent.md +36 -0
  12. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/kiro-cli.agent.json +5 -0
  13. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/kiro-ide.agent.md +36 -0
  14. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/metadata.json +31 -0
  15. package/agents/marketing/analytics-data-minimization-review-agent/AGENT.md +51 -0
  16. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/claude-code.agent.md +34 -0
  17. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/codex.toml +33 -0
  18. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/copilot.agent.md +34 -0
  19. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/cursor.agent.md +34 -0
  20. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/gemini.agent.md +34 -0
  21. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/kiro-cli.agent.json +5 -0
  22. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/kiro-ide.agent.md +34 -0
  23. package/agents/marketing/analytics-data-minimization-review-agent/metadata.json +31 -0
  24. package/agents/marketing/email-sender-authentication-review-agent/AGENT.md +50 -0
  25. package/agents/marketing/email-sender-authentication-review-agent/harnesses/claude-code.agent.md +33 -0
  26. package/agents/marketing/email-sender-authentication-review-agent/harnesses/codex.toml +32 -0
  27. package/agents/marketing/email-sender-authentication-review-agent/harnesses/copilot.agent.md +33 -0
  28. package/agents/marketing/email-sender-authentication-review-agent/harnesses/cursor.agent.md +33 -0
  29. package/agents/marketing/email-sender-authentication-review-agent/harnesses/gemini.agent.md +33 -0
  30. package/agents/marketing/email-sender-authentication-review-agent/harnesses/kiro-cli.agent.json +5 -0
  31. package/agents/marketing/email-sender-authentication-review-agent/harnesses/kiro-ide.agent.md +33 -0
  32. package/agents/marketing/email-sender-authentication-review-agent/metadata.json +31 -0
  33. package/agents/marketing/eu-ai-act-marketing-system-review-agent/AGENT.md +54 -0
  34. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/claude-code.agent.md +37 -0
  35. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/codex.toml +33 -0
  36. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/copilot.agent.md +37 -0
  37. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/cursor.agent.md +37 -0
  38. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/gemini.agent.md +37 -0
  39. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/kiro-cli.agent.json +5 -0
  40. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/kiro-ide.agent.md +37 -0
  41. package/agents/marketing/eu-ai-act-marketing-system-review-agent/metadata.json +31 -0
  42. package/agents/marketing/influencer-disclosure-compliance-review-agent/AGENT.md +52 -0
  43. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/claude-code.agent.md +35 -0
  44. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/codex.toml +33 -0
  45. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/copilot.agent.md +35 -0
  46. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/cursor.agent.md +35 -0
  47. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/gemini.agent.md +35 -0
  48. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  49. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/kiro-ide.agent.md +35 -0
  50. package/agents/marketing/influencer-disclosure-compliance-review-agent/metadata.json +31 -0
  51. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/AGENT.md +54 -0
  52. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/claude-code.agent.md +37 -0
  53. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/codex.toml +34 -0
  54. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/copilot.agent.md +37 -0
  55. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/cursor.agent.md +37 -0
  56. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/gemini.agent.md +37 -0
  57. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  58. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/kiro-ide.agent.md +37 -0
  59. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/metadata.json +31 -0
  60. package/agents/marketing/marketing-consent-data-collection-review-agent/AGENT.md +51 -0
  61. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/claude-code.agent.md +34 -0
  62. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/codex.toml +33 -0
  63. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/copilot.agent.md +34 -0
  64. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/cursor.agent.md +34 -0
  65. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/gemini.agent.md +34 -0
  66. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/kiro-cli.agent.json +5 -0
  67. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/kiro-ide.agent.md +34 -0
  68. package/agents/marketing/marketing-consent-data-collection-review-agent/metadata.json +31 -0
  69. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/AGENT.md +51 -0
  70. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/claude-code.agent.md +34 -0
  71. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/codex.toml +33 -0
  72. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/copilot.agent.md +34 -0
  73. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/cursor.agent.md +34 -0
  74. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/gemini.agent.md +34 -0
  75. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/kiro-cli.agent.json +5 -0
  76. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/kiro-ide.agent.md +34 -0
  77. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/metadata.json +31 -0
  78. package/agents/marketing/marketing-email-list-retention-review-agent/AGENT.md +50 -0
  79. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/claude-code.agent.md +33 -0
  80. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/codex.toml +32 -0
  81. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/copilot.agent.md +33 -0
  82. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/cursor.agent.md +33 -0
  83. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/gemini.agent.md +33 -0
  84. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/kiro-cli.agent.json +5 -0
  85. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/kiro-ide.agent.md +33 -0
  86. package/agents/marketing/marketing-email-list-retention-review-agent/metadata.json +31 -0
  87. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/AGENT.md +50 -0
  88. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/claude-code.agent.md +33 -0
  89. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/codex.toml +32 -0
  90. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/copilot.agent.md +33 -0
  91. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/cursor.agent.md +33 -0
  92. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/gemini.agent.md +33 -0
  93. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/kiro-cli.agent.json +5 -0
  94. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/kiro-ide.agent.md +33 -0
  95. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/metadata.json +31 -0
  96. package/agents/marketing/marketing-maestro-agent/AGENT.md +62 -0
  97. package/agents/marketing/marketing-maestro-agent/PERMISSIONS.md +75 -0
  98. package/agents/marketing/marketing-maestro-agent/README.md +62 -0
  99. package/agents/marketing/marketing-maestro-agent/harnesses/claude-code.agent.md +43 -0
  100. package/agents/marketing/marketing-maestro-agent/harnesses/codex.toml +35 -0
  101. package/agents/marketing/marketing-maestro-agent/harnesses/copilot.agent.md +43 -0
  102. package/agents/marketing/marketing-maestro-agent/harnesses/cursor.agent.md +43 -0
  103. package/agents/marketing/marketing-maestro-agent/harnesses/gemini.agent.md +43 -0
  104. package/agents/marketing/marketing-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  105. package/agents/marketing/marketing-maestro-agent/harnesses/kiro-ide.agent.md +43 -0
  106. package/agents/marketing/marketing-maestro-agent/metadata.json +38 -0
  107. package/agents/marketing/marketing-pixel-data-leakage-review-agent/AGENT.md +50 -0
  108. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/claude-code.agent.md +33 -0
  109. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/codex.toml +32 -0
  110. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/copilot.agent.md +33 -0
  111. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/cursor.agent.md +33 -0
  112. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/gemini.agent.md +33 -0
  113. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/kiro-cli.agent.json +5 -0
  114. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/kiro-ide.agent.md +33 -0
  115. package/agents/marketing/marketing-pixel-data-leakage-review-agent/metadata.json +31 -0
  116. package/agents/marketing/martech-access-governance-review-agent/AGENT.md +51 -0
  117. package/agents/marketing/martech-access-governance-review-agent/harnesses/claude-code.agent.md +34 -0
  118. package/agents/marketing/martech-access-governance-review-agent/harnesses/codex.toml +33 -0
  119. package/agents/marketing/martech-access-governance-review-agent/harnesses/copilot.agent.md +34 -0
  120. package/agents/marketing/martech-access-governance-review-agent/harnesses/cursor.agent.md +34 -0
  121. package/agents/marketing/martech-access-governance-review-agent/harnesses/gemini.agent.md +34 -0
  122. package/agents/marketing/martech-access-governance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  123. package/agents/marketing/martech-access-governance-review-agent/harnesses/kiro-ide.agent.md +34 -0
  124. package/agents/marketing/martech-access-governance-review-agent/metadata.json +31 -0
  125. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/AGENT.md +50 -0
  126. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/claude-code.agent.md +33 -0
  127. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/codex.toml +32 -0
  128. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/copilot.agent.md +33 -0
  129. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/cursor.agent.md +33 -0
  130. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/gemini.agent.md +33 -0
  131. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/kiro-cli.agent.json +5 -0
  132. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/kiro-ide.agent.md +33 -0
  133. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/metadata.json +31 -0
  134. package/catalog/agents.json +765 -197
  135. package/catalog/asset-integrity.json +859 -29
  136. package/catalog/install-roles.json +38 -2
  137. package/catalog/skill-manifest.json +318 -0
  138. package/catalog/skills.json +596 -199
  139. package/package.json +1 -1
  140. package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
  141. package/skills/marketing/ai-advertising-targeting-fairness-review/SKILL.md +43 -0
  142. package/skills/marketing/ai-advertising-targeting-fairness-review/metadata.json +21 -0
  143. package/skills/marketing/ai-advertising-targeting-fairness-review/references/workflow-and-output.md +150 -0
  144. package/skills/marketing/analytics-data-minimization-review/SKILL.md +44 -0
  145. package/skills/marketing/analytics-data-minimization-review/metadata.json +22 -0
  146. package/skills/marketing/analytics-data-minimization-review/references/workflow-and-output.md +187 -0
  147. package/skills/marketing/email-sender-authentication-review/SKILL.md +43 -0
  148. package/skills/marketing/email-sender-authentication-review/metadata.json +22 -0
  149. package/skills/marketing/email-sender-authentication-review/references/workflow-and-output.md +152 -0
  150. package/skills/marketing/eu-ai-act-marketing-system-review/SKILL.md +43 -0
  151. package/skills/marketing/eu-ai-act-marketing-system-review/metadata.json +21 -0
  152. package/skills/marketing/eu-ai-act-marketing-system-review/references/workflow-and-output.md +176 -0
  153. package/skills/marketing/influencer-disclosure-compliance-review/SKILL.md +43 -0
  154. package/skills/marketing/influencer-disclosure-compliance-review/metadata.json +22 -0
  155. package/skills/marketing/influencer-disclosure-compliance-review/references/workflow-and-output.md +156 -0
  156. package/skills/marketing/lookalike-audience-upload-compliance-review/SKILL.md +44 -0
  157. package/skills/marketing/lookalike-audience-upload-compliance-review/metadata.json +21 -0
  158. package/skills/marketing/lookalike-audience-upload-compliance-review/references/workflow-and-output.md +203 -0
  159. package/skills/marketing/marketing-consent-data-collection-review/SKILL.md +44 -0
  160. package/skills/marketing/marketing-consent-data-collection-review/metadata.json +21 -0
  161. package/skills/marketing/marketing-consent-data-collection-review/references/workflow-and-output.md +139 -0
  162. package/skills/marketing/marketing-conversion-flow-dark-pattern-review/SKILL.md +45 -0
  163. package/skills/marketing/marketing-conversion-flow-dark-pattern-review/metadata.json +22 -0
  164. package/skills/marketing/marketing-conversion-flow-dark-pattern-review/references/workflow-and-output.md +160 -0
  165. package/skills/marketing/marketing-email-list-retention-review/SKILL.md +43 -0
  166. package/skills/marketing/marketing-email-list-retention-review/metadata.json +22 -0
  167. package/skills/marketing/marketing-email-list-retention-review/references/workflow-and-output.md +144 -0
  168. package/skills/marketing/marketing-gpc-signal-honoring-review/SKILL.md +42 -0
  169. package/skills/marketing/marketing-gpc-signal-honoring-review/metadata.json +22 -0
  170. package/skills/marketing/marketing-gpc-signal-honoring-review/references/workflow-and-output.md +145 -0
  171. package/skills/marketing/marketing-maestro/README.md +37 -0
  172. package/skills/marketing/marketing-maestro/SKILL.md +49 -0
  173. package/skills/marketing/marketing-maestro/metadata.json +26 -0
  174. package/skills/marketing/marketing-maestro/references/safety-checklist.md +67 -0
  175. package/skills/marketing/marketing-maestro/references/workflow-and-output.md +110 -0
  176. package/skills/marketing/marketing-pixel-data-leakage-review/SKILL.md +43 -0
  177. package/skills/marketing/marketing-pixel-data-leakage-review/metadata.json +21 -0
  178. package/skills/marketing/marketing-pixel-data-leakage-review/references/workflow-and-output.md +129 -0
  179. package/skills/marketing/martech-access-governance-review/SKILL.md +45 -0
  180. package/skills/marketing/martech-access-governance-review/metadata.json +21 -0
  181. package/skills/marketing/martech-access-governance-review/references/workflow-and-output.md +116 -0
  182. package/skills/marketing/programmatic-supply-chain-integrity-review/SKILL.md +43 -0
  183. package/skills/marketing/programmatic-supply-chain-integrity-review/metadata.json +22 -0
  184. package/skills/marketing/programmatic-supply-chain-integrity-review/references/workflow-and-output.md +164 -0
  185. package/tests/fixtures/marketing-maestro-routing/expected/001-happy-ai-advertising-targeting-fairness-review.json +6 -0
  186. package/tests/fixtures/marketing-maestro-routing/expected/002-happy-analytics-data-minimization-review.json +6 -0
  187. package/tests/fixtures/marketing-maestro-routing/expected/003-happy-consent-data-collection-review.json +6 -0
  188. package/tests/fixtures/marketing-maestro-routing/expected/004-happy-conversion-flow-dark-pattern-review.json +6 -0
  189. package/tests/fixtures/marketing-maestro-routing/expected/005-happy-email-list-retention-review.json +6 -0
  190. package/tests/fixtures/marketing-maestro-routing/expected/006-happy-email-sender-authentication-review.json +6 -0
  191. package/tests/fixtures/marketing-maestro-routing/expected/007-happy-eu-ai-act-marketing-system-review.json +6 -0
  192. package/tests/fixtures/marketing-maestro-routing/expected/008-happy-gpc-signal-honoring-review.json +6 -0
  193. package/tests/fixtures/marketing-maestro-routing/expected/009-happy-influencer-disclosure-compliance-review.json +6 -0
  194. package/tests/fixtures/marketing-maestro-routing/expected/010-happy-lookalike-audience-upload-compliance-review.json +6 -0
  195. package/tests/fixtures/marketing-maestro-routing/expected/011-happy-martech-access-governance-review.json +6 -0
  196. package/tests/fixtures/marketing-maestro-routing/expected/012-happy-pixel-data-leakage-review.json +6 -0
  197. package/tests/fixtures/marketing-maestro-routing/expected/013-happy-programmatic-supply-chain-integrity-review.json +6 -0
  198. package/tests/fixtures/marketing-maestro-routing/expected/adv-ambiguous.json +4 -0
  199. package/tests/fixtures/marketing-maestro-routing/expected/adv-instruction-injection.json +7 -0
  200. package/tests/fixtures/marketing-maestro-routing/expected/adv-live-guard-gate.json +4 -0
  201. package/tests/fixtures/marketing-maestro-routing/expected/adv-persona-replacement.json +6 -0
  202. package/tests/fixtures/marketing-maestro-routing/expected/adv-secrets-bait.json +7 -0
  203. package/tests/fixtures/marketing-maestro-routing/inputs/001-happy-ai-advertising-targeting-fairness-review.json +7 -0
  204. package/tests/fixtures/marketing-maestro-routing/inputs/002-happy-analytics-data-minimization-review.json +7 -0
  205. package/tests/fixtures/marketing-maestro-routing/inputs/003-happy-consent-data-collection-review.json +7 -0
  206. package/tests/fixtures/marketing-maestro-routing/inputs/004-happy-conversion-flow-dark-pattern-review.json +7 -0
  207. package/tests/fixtures/marketing-maestro-routing/inputs/005-happy-email-list-retention-review.json +7 -0
  208. package/tests/fixtures/marketing-maestro-routing/inputs/006-happy-email-sender-authentication-review.json +7 -0
  209. package/tests/fixtures/marketing-maestro-routing/inputs/007-happy-eu-ai-act-marketing-system-review.json +7 -0
  210. package/tests/fixtures/marketing-maestro-routing/inputs/008-happy-gpc-signal-honoring-review.json +7 -0
  211. package/tests/fixtures/marketing-maestro-routing/inputs/009-happy-influencer-disclosure-compliance-review.json +7 -0
  212. package/tests/fixtures/marketing-maestro-routing/inputs/010-happy-lookalike-audience-upload-compliance-review.json +7 -0
  213. package/tests/fixtures/marketing-maestro-routing/inputs/011-happy-martech-access-governance-review.json +7 -0
  214. package/tests/fixtures/marketing-maestro-routing/inputs/012-happy-pixel-data-leakage-review.json +7 -0
  215. package/tests/fixtures/marketing-maestro-routing/inputs/013-happy-programmatic-supply-chain-integrity-review.json +7 -0
  216. package/tests/fixtures/marketing-maestro-routing/inputs/adv-ambiguous.json +7 -0
  217. package/tests/fixtures/marketing-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  218. package/tests/fixtures/marketing-maestro-routing/inputs/adv-live-guard-gate.json +7 -0
  219. package/tests/fixtures/marketing-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  220. package/tests/fixtures/marketing-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  221. package/tests/fixtures/marketing-maestro-routing/taxonomy.json +183 -0
  222. package/tests/validate-catalog.py +1 -0
  223. package/tests/validate-maestro-routing.py +4 -0
@@ -0,0 +1,152 @@
1
+ # Workflow and Output Contract
2
+
3
+ ## Workflow
4
+
5
+ ### Step 1 — Collect inputs
6
+
7
+ Ask the user to provide the following as a sanitized DNS record export (replace real selector names with generic placeholders only if the user prefers; SPF/DKIM/DMARC records are public data but never request ESP credentials or DMARC aggregate XML):
8
+ - SPF TXT record for the root sending domain and all active ESP subdomains
9
+ - DKIM TXT record(s) identified by selector name (e.g., `selector1._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=..."`)
10
+ - DMARC TXT record at `_dmarc.example.com`
11
+ - BIMI TXT record at `default._bimi.example.com` and VMC/CMC certificate URL if present
12
+ - The list of all active ESP and transactional sending paths (e.g., Mailchimp, Salesforce Marketing Cloud, SendGrid transactional, Postmark) and whether each uses a subdomain or the root domain
13
+
14
+ If the user provides only partial records, note which paths are unassessed.
15
+
16
+ ### Step 2 — SPF audit
17
+
18
+ Parse the SPF record from `v=spf1` through the terminating `all` mechanism:
19
+
20
+ 1. Count every mechanism that requires a DNS lookup: `include:`, `a`, `mx`, `ptr`, `exists`. RFC 7208 mandates a hard limit of ten such lookups; exceeding it produces a permerror treated as an SPF fail by receiving MTAs.
21
+ 2. Identify the `all` qualifier: `~all` (softfail), `-all` (hardfail), `+all` (pass all — HIGH), `?all` (neutral).
22
+ 3. Identify any mechanisms that are redundant, deprecated (`ptr:`), or that enumerate IP ranges far wider than the actual sending infrastructure.
23
+
24
+ ```text
25
+ # HIGH — SPF with +all negates all restrictions
26
+ v=spf1 include:esp1.com include:esp2.com +all
27
+
28
+ # HIGH — SPF with 13 DNS lookups; permerror on receipt
29
+ v=spf1 include:_spf.google.com include:sendgrid.net include:mail.zendesk.com
30
+ include:servers.mcsv.net include:spf.mailjet.com include:_spf.salesforce.com
31
+ include:postmarkapp.com include:emailsig.com include:mktomail.com
32
+ include:smtp.hubspot.net include:spf1.mailchimp.com include:esp12.com
33
+ include:sp.example.com ~all
34
+ # (13 include: mechanisms, each resolves to at least one more lookup → permerror)
35
+
36
+ # CORRECT — SPF with eight lookups and -all
37
+ v=spf1 include:_spf.google.com include:sendgrid.net include:postmarkapp.com -all
38
+ ```
39
+
40
+ ### Step 3 — DKIM audit
41
+
42
+ For each active sending path identified in Step 1:
43
+ - Confirm a DKIM selector exists and the TXT record is present and well-formed (`v=DKIM1`, key type, public key).
44
+ - Confirm the key length is at least 1024 bits; 2048 bits is recommended.
45
+ - Confirm the signing domain (`d=` tag in the DKIM signature) aligns with the `From:` domain at the level required by the DMARC alignment mode (relaxed: organizational domain match; strict: exact domain match).
46
+ - Flag any sending path with no DKIM selector as HIGH.
47
+ - Flag keys shorter than 1024 bits as HIGH (deprecated, breakable).
48
+ - Note whether key rotation documentation was provided; absence is MEDIUM.
49
+
50
+ ```text
51
+ # HIGH — transactional ESP subdomain has no DKIM selector
52
+ tx.example.com: no DKIM TXT record found for any known selector
53
+ DMARC alignment for mail sent via tx.example.com: fails (no signature to align)
54
+
55
+ # CORRECT — selector and key present, 2048-bit key
56
+ selector2._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
57
+ ```
58
+
59
+ ### Step 4 — DMARC audit
60
+
61
+ Parse the DMARC record at `_dmarc.<domain>`:
62
+ - `p=` (policy): `none`, `quarantine`, or `reject`. `none` provides monitoring only; it does not prevent spoofing or satisfy Google/Yahoo bulk-sender enforcement requirements when operating at scale.
63
+ - `pct=` (percentage): defaults to 100; values below 100 mean the policy applies to only that fraction of non-aligning mail.
64
+ - `rua=` (aggregate report URI): absence means no visibility into alignment failures.
65
+ - `ruf=` (forensic report URI): optional but useful for debugging.
66
+ - `aspf=` and `adkim=` (alignment modes): `r` (relaxed, default) or `s` (strict); strict requires an exact domain match between the `From:` header and the SPF/DKIM signing domain.
67
+ - `sp=` (subdomain policy): defaults to the `p=` value if absent; explicit `sp=reject` is recommended when subdomains are not used for sending.
68
+
69
+ ```text
70
+ # HIGH — p=none with no enforcement path
71
+ _dmarc.example.com IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
72
+ → spoofing is possible; Google/Yahoo bulk-sender requirements not satisfied for enforcement
73
+
74
+ # MEDIUM — p=quarantine with pct=10 and no ruf
75
+ _dmarc.example.com IN TXT "v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc@example.com"
76
+ → only 10% of failing mail is quarantined; 90% is unaffected
77
+
78
+ # CORRECT — p=reject, full enforcement, reporting configured
79
+ _dmarc.example.com IN TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com"
80
+ ```
81
+
82
+ ### Step 5 — DMARC alignment verification
83
+
84
+ DMARC requires at least one of SPF or DKIM to align with the `From:` header domain:
85
+ - For SPF alignment: the envelope `MAIL FROM` domain must match the `From:` header domain at the configured alignment level.
86
+ - For DKIM alignment: the `d=` tag in the DKIM signature must match the `From:` header domain at the configured level.
87
+ - If neither SPF nor DKIM aligns, DMARC fails regardless of `p=` value — flag as HIGH if structural misalignment is evident from the record set.
88
+
89
+ ### Step 6 — BIMI and certificate audit
90
+
91
+ If a BIMI record is present at `default._bimi.<domain>`:
92
+ - Confirm `v=BIMI1; l=<logo-url>; a=<certificate-url>` syntax.
93
+ - Confirm the certificate URL resolves to a VMC (Verified Mark Certificate) or CMC (Common Mark Certificate).
94
+ - Without a VMC/CMC, BIMI display is ignored by Gmail, Yahoo, and Apple Mail — flag as LOW.
95
+ - If no BIMI record is present, note it as informational (not a deficiency unless the user has a BIMI adoption goal).
96
+
97
+ ### Step 7 — Bulk-sender compliance assessment
98
+
99
+ Assess compliance with Google and Yahoo bulk-sender requirements (enforced Feb 2024 for Google, June 2024 for Yahoo):
100
+ - DMARC record present at organizational domain level: required.
101
+ - SPF or DKIM alignment passing: required.
102
+ - Spam complaint rate below 0.10% (0.08% recommended): not assessable from DNS records alone — note as out-of-scope.
103
+ - One-click unsubscribe (RFC 8058 `List-Unsubscribe-Post` header): not assessable from DNS records — note as out-of-scope.
104
+
105
+ Summarize the DNS-assessable compliance gap clearly.
106
+
107
+ ### Step 8 — Produce the output
108
+
109
+ Format findings using the Output format section below.
110
+
111
+ ---
112
+
113
+ ## Output format
114
+
115
+ ```
116
+ ## Verdict
117
+ <one sentence: pass / needs work / critical issues found>
118
+
119
+ ## Evidence level
120
+ <DNS record provided | documentation-based | inference from absent record>
121
+
122
+ ## Findings
123
+
124
+ ### CRITICAL
125
+ - [C1] <finding title>: <description> — <remediation>
126
+
127
+ ### HIGH
128
+ - [H1] <finding title>: <description> — <remediation>
129
+
130
+ ### MEDIUM
131
+ - [M1] <finding title>: <description> — <remediation>
132
+
133
+ ### LOW
134
+ - [L1] <finding title>: <description> — <remediation>
135
+
136
+ ## Safe next actions
137
+ 1. <action>
138
+ 2. <action>
139
+
140
+ ## Open questions
141
+ - <question requiring user clarification>
142
+ ```
143
+
144
+ ---
145
+
146
+ ## Security and scope notes
147
+
148
+ - This is a static review. DNS records are public, but never request ESP account credentials, DMARC aggregate report XML containing real email metadata, or sending-platform API keys.
149
+ - A domain at `p=none` is exploitable for spoofing attacks and phishing campaigns impersonating the brand. Surface this risk explicitly; do not understate it as a deliverability issue only.
150
+ - When evidence is partial (e.g., SPF record provided but no DKIM selectors listed), scope each finding to what was provided and state the inference basis explicitly.
151
+ - Do not recommend removing an active ESP's SPF `include:` to solve the lookup-count problem without first confirming DKIM-only alignment is available for that path — removing SPF coverage without DKIM will break DMARC alignment.
152
+ - Key rotation guidance is advisory hygiene; the urgency depends on key age and organizational risk tolerance; surface it as MEDIUM, not blocking.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: eu-ai-act-marketing-system-review
3
+ description: Use this skill when reviewing a marketing AI system's description card against EU AI Act risk-tier criteria to classify the system (prohibited / high-risk / limited-risk / minimal-risk), flag documentation obligations, and identify deployment-readiness gaps before the August 2, 2026 full-enforcement date. Trigger when a user provides an AI system description card covering system purpose, input data types, output decisions, human-oversight mechanism, deployment geography, and whether it profiles natural persons — or when they ask whether their marketing AI tool, lead-scoring model, content personalization engine, or automated ad-decisioning system requires a conformity assessment or transparency notice under EU AI Act Regulation 2024/1689.
4
+ allowed-tools: Read Grep Glob
5
+ metadata:
6
+ author: "github: Raishin"
7
+ version: "0.1.0"
8
+ updated: "2026-05-17"
9
+ category: compliance
10
+ lifecycle: experimental
11
+ ---
12
+
13
+ # EU AI Act Marketing System Review
14
+
15
+ ## Purpose
16
+ This skill reviews a marketing AI system's description card against EU AI Act Regulation 2024/1689 risk-tier criteria to classify the system, flag documentation obligations, and identify deployment-readiness gaps before the August 2, 2026 full-enforcement date. Marketing AI systems — lead-quality scorers, content personalization engines, urgency-calibration models, lookalike generators, and automated bidding optimizers — operate at the boundary between Article 5 prohibited practices (subliminal manipulation, exploitation of vulnerabilities), Annex III high-risk systems (AI for access to private services, creditworthiness, and employment when profiling natural persons), and limited-risk systems subject to transparency obligations only. Misclassification is itself a compliance gap: a system internally labeled "low risk" that profiles behavioral and demographic signals for credit or employment routing is Annex III high-risk and requires a conformity assessment. The review ingests the description card, maps system characteristics to the risk taxonomy, flags missing documentation (technical documentation Article 11, conformity assessment Article 43, transparency obligations Article 13/52), and identifies the August 2026 enforcement timeline pressure.
17
+
18
+ ## Lean operating rules
19
+ - Treat a system that profiles natural persons using behavioral or demographic signals to produce scores, rankings, or routing decisions used in access to credit, insurance, employment, or essential private services as HIGH — this maps to Annex III categories and requires a conformity assessment, CE marking, and registration in the EU AI database before deployment.
20
+ - Treat urgency or scarcity signals calibrated by real-time engagement data with no human review gate as HIGH — this is a candidate for Article 5(1)(b) prohibited subliminal manipulation or exploitation of psychological vulnerabilities; route to qualified legal counsel without making the prohibition determination yourself.
21
+ - Treat a system classified internally as "low risk" but routing decisions to downstream agents or automated processes with no human override capability as HIGH — the absence of a meaningful human-oversight mechanism invalidates a limited-risk designation under Article 14 requirements.
22
+ - Treat a system that processes biometric, health, racial/ethnic-origin, political-opinion, or religious-belief data as input features or inferred labels for marketing segmentation as HIGH — these are special-category data under GDPR Article 9 and trigger heightened AI Act scrutiny as potential Annex III characteristics.
23
+ - Treat the absence of technical documentation (Article 11) covering system purpose, training data provenance, performance metrics, and limitations for any non-minimal-risk system as HIGH — documentation is a prerequisite for conformity assessment, not a post-deployment obligation.
24
+ - Treat a system with no transparency notice or user-facing disclosure of automated decision-making where the EU AI Act or GDPR Article 22 requires one as HIGH — undisclosed profiling that produces legal or similarly significant effects is both a GDPR and an AI Act violation.
25
+ - Flag a system whose August 2026 enforcement readiness is unknown — no documented conformity-assessment timeline, no assigned responsible person, no EU registration planned — as MEDIUM when the system is potentially high-risk.
26
+ - Flag general-purpose AI models integrated into marketing workflows without a documented system-level risk assessment as MEDIUM — the GPAI provisions under Title VIII require providers to assess downstream systemic risk.
27
+ - Flag systems that collect or process behavioral signals at scale (>1 million natural persons) without a documented fundamental rights impact assessment as MEDIUM.
28
+ - Do not classify a system as prohibited under Article 5 without explicit instruction to qualified counsel; surface the risk and route the determination.
29
+ - Label every finding with evidence basis: description card provided, documentation-based, or inference from missing information.
30
+
31
+ ## References
32
+ Load these only when needed:
33
+ - [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review or formatting the final answer.
34
+
35
+ ## Response minimum
36
+ Return, at minimum:
37
+ - System risk-tier classification (prohibited / high-risk Annex III / limited-risk / minimal-risk) with rationale
38
+ - Profiling and natural-person assessment (Article 22 GDPR intersection)
39
+ - Human-oversight mechanism assessment (Article 14)
40
+ - Documentation gap inventory (Article 11 technical docs, Article 43 conformity assessment, Article 13/52 transparency)
41
+ - August 2026 enforcement readiness assessment
42
+ - Severity-labelled finding list (critical / high / medium / low)
43
+ - Safe next actions
@@ -0,0 +1,21 @@
1
+ {
2
+ "id": "eu-ai-act-marketing-system-review",
3
+ "name": "EU AI Act Marketing System Review",
4
+ "type": "skill",
5
+ "provider": "marketing",
6
+ "harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
7
+ "summary": "Review a marketing AI system description card against EU AI Act Regulation 2024/1689 risk-tier criteria — classify the system, flag documentation obligations (Articles 11, 13, 14, 43), and identify deployment-readiness gaps before the August 2, 2026 full-enforcement date.",
8
+ "source_type": "original",
9
+ "official_docs": [
10
+ "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689",
11
+ "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
12
+ "https://www.europarl.europa.eu/topics/en/article/20230601STO93804/eu-ai-act-first-regulation-on-artificial-intelligence",
13
+ "https://edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-022023-technical-scope-art-22-gdpr_en",
14
+ "https://artificialintelligenceact.eu/the-act/"
15
+ ],
16
+ "security_notes": "EU AI Act classification determines conformity assessment, CE marking, and EU AI database registration obligations — misclassification is itself a compliance gap. Review works from sanitized AI system description cards only; never request model weights, training datasets, internal performance logs, or vendor system-access credentials. Legal determination of Article 5 prohibited practices is routed to qualified counsel.",
17
+ "last_verified": "2026-05-17",
18
+ "path": "skills/marketing/eu-ai-act-marketing-system-review",
19
+ "author": "github: Raishin",
20
+ "version": "0.1.0"
21
+ }
@@ -0,0 +1,176 @@
1
+ # Workflow and Output Contract
2
+
3
+ ## Workflow
4
+
5
+ ### Step 1 — Collect inputs
6
+
7
+ Ask the user to provide an AI system description card as a sanitized document (no model weights, no training data, no vendor credentials). The description card should cover:
8
+ - System purpose and primary use case (what decision or output does it produce?)
9
+ - Input data types (behavioral signals, demographic data, purchase history, engagement metrics, etc.)
10
+ - Output type (score, ranking, binary decision, content recommendation, audience segment)
11
+ - Human-oversight mechanism (is there a human review gate before the output is acted upon?)
12
+ - Deployment geography (EU deployment or EU-resident data subjects?)
13
+ - Whether the system profiles natural persons (produces an evaluation of personal aspects)
14
+ - Internal risk classification, if any
15
+ - Whether the system is integrated into a downstream automated decision chain
16
+
17
+ If the user provides only a partial description card, note which elements are absent and scope findings accordingly.
18
+
19
+ ### Step 2 — Determine EU AI Act applicability
20
+
21
+ Confirm whether the Act applies:
22
+ - The system is placed on the market in the EU, used in the EU, or its outputs affect EU-resident natural persons.
23
+ - The operator or deployer is subject to EU jurisdiction, or the provider targets the EU market.
24
+
25
+ If applicability is uncertain, flag as MEDIUM and recommend a legal-jurisdiction assessment.
26
+
27
+ ### Step 3 — Article 5 prohibited-practice screening
28
+
29
+ Screen the system description for candidate prohibited practices before proceeding to risk-tier classification:
30
+
31
+ ```text
32
+ # Article 5(1)(a) — Subliminal manipulation
33
+ System uses techniques that influence behavior below the threshold of conscious awareness,
34
+ causing decisions persons would not have made otherwise — e.g., urgency signals calibrated
35
+ to anxiety response patterns without the user's knowledge.
36
+
37
+ # Article 5(1)(b) — Exploitation of vulnerabilities
38
+ System exploits specific vulnerabilities of a group (age, disability, social/economic situation)
39
+ to distort behavior in a way that causes harm — e.g., targeting financially distressed segments
40
+ with high-interest offers optimized on engagement signals from that population.
41
+
42
+ # Article 5(1)(e)/(f) — Social scoring / emotion recognition in workplace or public space
43
+ ```
44
+
45
+ If any candidate applies, flag as HIGH and route the prohibited-practice determination to qualified legal counsel. Do not determine prohibition yourself.
46
+
47
+ ### Step 4 — Annex III high-risk classification
48
+
49
+ Map system characteristics to Annex III categories relevant to marketing AI:
50
+
51
+ ```text
52
+ Annex III(1) — Biometric categorisation that infers sensitive characteristics
53
+ Annex III(3) — AI in education or vocational training affecting access
54
+ Annex III(4) — Employment, workers management, access to self-employment
55
+ Annex III(5) — Access to and enjoyment of essential private services and public services
56
+ → creditworthiness scoring, insurance risk, financial product access
57
+ Annex III(6) — Law enforcement (typically out of scope for marketing)
58
+ Annex III(8) — Administration of justice / democratic processes
59
+ ```
60
+
61
+ A marketing AI system that profiles natural persons to determine or influence their access to credit, insurance, employment, or essential services maps to Annex III(5) or Annex III(4). Classify as HIGH-RISK.
62
+
63
+ ```text
64
+ # HIGH — lead-quality scorer using behavioral + demographic signals, output routes to credit team
65
+ System purpose: score leads for mortgage pre-qualification routing
66
+ Input: browsing behavior, inferred income tier, device type, engagement rate
67
+ Output: lead-quality score → routed to underwriting queue or rejected
68
+ Classification: Annex III(5) — access to essential private services (credit/mortgage)
69
+ Obligation: Technical documentation (Art. 11), conformity assessment (Art. 43),
70
+ EU AI database registration (Art. 71), transparency to affected persons (Art. 13)
71
+ ```
72
+
73
+ ### Step 5 — Limited-risk and transparency-only assessment
74
+
75
+ For systems that do not meet Annex III criteria, assess whether limited-risk transparency obligations apply:
76
+
77
+ - Article 52(1): Systems interacting with natural persons must disclose they are AI (chatbots, virtual advisors).
78
+ - Article 52(3): Deep fake / synthetic content must be disclosed as artificially generated.
79
+ - Article 52(4): Emotion recognition or biometric categorisation systems must notify the persons exposed.
80
+
81
+ ```text
82
+ # MEDIUM — AI chatbot on marketing site with no AI-disclosure notice
83
+ Obligation: Article 52(1) transparency notice required before interaction begins.
84
+ ```
85
+
86
+ ### Step 6 — Human oversight and Article 14 assessment
87
+
88
+ Assess whether the system's declared human-oversight mechanism satisfies Article 14 for high-risk systems:
89
+
90
+ ```text
91
+ # HIGH — "human in the loop" flag declared but system routes decisions to automated downstream agents
92
+ The human review gate must be meaningful: the human must be able to understand the output,
93
+ detect failures, and override or halt the system. Rubber-stamp review with no override capability
94
+ does not satisfy Article 14.
95
+ ```
96
+
97
+ ### Step 7 — Documentation gap inventory
98
+
99
+ For any non-minimal-risk system, enumerate required documentation and flag gaps:
100
+
101
+ | Obligation | Article | Status |
102
+ |---|---|---|
103
+ | Technical documentation | Art. 11 | Present / Absent / Partial |
104
+ | Conformity assessment | Art. 43 | Present / Absent / Planned |
105
+ | EU AI database registration | Art. 71 | Present / Absent / Not started |
106
+ | Transparency notice (users) | Art. 13/52 | Present / Absent |
107
+ | Fundamental rights impact assessment | Art. 27 | Present / Absent |
108
+ | Responsible person designation | Art. 26 | Present / Absent |
109
+
110
+ ### Step 8 — August 2026 enforcement readiness check
111
+
112
+ Regulation 2024/1689 entered into force August 1, 2024. Key milestones:
113
+ - February 2, 2025: Prohibited practices (Article 5) enforceable.
114
+ - August 2, 2025: GPAI and governance provisions enforceable.
115
+ - August 2, 2026: All provisions including high-risk obligations enforceable.
116
+
117
+ Flag any high-risk system with no documented conformity-assessment timeline, no responsible person, or no EU AI database registration as MEDIUM (if enforcement date is future) or HIGH (if enforcement date has passed at time of review).
118
+
119
+ ### Step 9 — Produce the output
120
+
121
+ Format findings using the Output section below.
122
+
123
+ ---
124
+
125
+ ## Output
126
+
127
+ Return findings in this structure:
128
+
129
+ ```
130
+ ## Verdict
131
+ <one sentence: pass / needs work / critical issues found>
132
+
133
+ ## Evidence level
134
+ <description card provided | documentation-based | inference>
135
+
136
+ ## Risk-tier classification
137
+ <Prohibited (Art. 5) candidate | High-risk Annex III | Limited-risk (Art. 52) | Minimal-risk>
138
+ <rationale: which Annex III category or Article 5 provision applies and why>
139
+
140
+ ## Documentation gap inventory
141
+ <table: obligation | article | status>
142
+
143
+ ## Findings
144
+
145
+ ### CRITICAL
146
+ - [C1] <finding title>: <description> — <remediation>
147
+
148
+ ### HIGH
149
+ - [H1] <finding title>: <description> — <remediation>
150
+
151
+ ### MEDIUM
152
+ - [M1] <finding title>: <description> — <remediation>
153
+
154
+ ### LOW
155
+ - [L1] <finding title>: <description> — <remediation>
156
+
157
+ ## August 2026 enforcement readiness
158
+ <summary of gaps and timeline pressure>
159
+
160
+ ## Safe next actions
161
+ 1. <action>
162
+ 2. <action>
163
+
164
+ ## Open questions
165
+ - <question requiring user clarification>
166
+ ```
167
+
168
+ ---
169
+
170
+ ## Security and scope notes
171
+
172
+ - This is a static review. Never request model weights, training datasets, internal performance logs, or vendor system-access credentials. Work from sanitized description cards only.
173
+ - The prohibited-practice determination under Article 5 is a legal conclusion — flag the candidate risk and route to qualified legal counsel rather than deciding it.
174
+ - EU AI Act obligations are in addition to, not instead of, GDPR obligations. A system that triggers Annex III also implicates GDPR Article 22, Article 35 DPIA obligations, and special-category data restrictions.
175
+ - August 2026 is a hard enforcement deadline; systems requiring conformity assessments need lead time. Flag timeline pressure explicitly.
176
+ - When evidence is partial, scope each finding to what was provided and state the assumption explicitly.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: influencer-disclosure-compliance-review
3
+ description: Use this skill when reviewing an influencer campaign audit pack — campaign brief, creator agreement excerpt, platform post descriptions or screenshot descriptions, and the disclosure format and placement specification — against FTC Endorsement Guides to identify undisclosed material connections, inadequate disclosure placement, and brand liability exposure. Trigger when a user provides a structured influencer campaign audit pack and asks whether disclosures meet FTC requirements, whether the brief contains problematic instructions, or whether the brand faces liability for creator conduct under 16 CFR Part 255.
4
+ allowed-tools: Read Grep Glob
5
+ metadata:
6
+ author: "github: Raishin"
7
+ version: "0.1.0"
8
+ updated: "2026-05-17"
9
+ category: compliance
10
+ lifecycle: experimental
11
+ ---
12
+
13
+ # Influencer Disclosure Compliance Review
14
+
15
+ ## Purpose
16
+ This skill reviews a structured influencer campaign audit pack against the FTC Endorsement Guides (16 CFR Part 255, updated 2023) and FTC Act Section 5 to identify undisclosed material connections, inadequate disclosure placement, brand-instructed deceptive practices, and brand liability exposure. The FTC has consistently held that a "material connection" — payment, gifted product, free service, family or employment relationship, or any other material incentive — must be clearly and conspicuously disclosed so that consumers can weight the endorsement appropriately. A disclosure buried after the "more" fold, placed only in a hashtag crowd, or omitted entirely is a violation. The review assesses the audit pack as a static document: it does not generate new campaign content, draft creator instructions, or approve posts. This skill is scoped strictly to reviewing an existing audit pack; for ad-hoc content generation, use a different skill.
17
+
18
+ ## Lean operating rules
19
+ - Treat any post description where a material connection (payment, gifted product, free service, brand affiliation) exists but no disclosure appears in the visible portion of the content — before the "more" or "see more" fold on Instagram, TikTok, or YouTube — as HIGH. FTC Endorsement Guides §255.5 requires clear-and-conspicuous disclosure visible without requiring additional user action.
20
+ - Treat gifted product or complimentary service received by the creator, regardless of whether cash payment was made, as a material connection requiring disclosure. Flag the absence of any gifted-product disclosure in the post description as HIGH.
21
+ - Treat a campaign brief that instructs creators to "only share positive experiences," suppress honest opinions, or omit negative aspects of the product as HIGH. Instructing suppression of honest opinion is a deceptive practice under 16 CFR §255.5 and creates brand liability.
22
+ - Treat disclosure language placed exclusively within a crowd of hashtags (e.g., `#ad` buried among 20 other hashtags) where it is not likely to stand out as HIGH — the FTC Endorsement Guides require disclosures to be clear and conspicuous, not hidden.
23
+ - Treat a creator agreement that contains no disclosure obligation clause, or whose clause does not specify placement requirements, as HIGH — the brand bears responsibility for ensuring adequate disclosure and must contractually enforce it.
24
+ - Treat verbal or audio-only disclosures in video content without simultaneous on-screen text disclosure as MEDIUM for platforms where superimposed text is technically feasible — the FTC's 2023 updated guides indicate disclosures should be simultaneous with the relevant content.
25
+ - Treat the use of platform-native "Paid Partnership" or "Branded Content" labels as a positive control but note it does not eliminate the obligation to make disclosures in the caption or verbally where the connection is not otherwise obvious.
26
+ - Flag any disclosure that uses ambiguous language — "collab," "sp," "partner," "ambassador" without context — without a plain-language equivalent as MEDIUM; the FTC guidance indicates that simple terms like "#ad" or "#sponsored" are preferred.
27
+ - Flag the absence of a documented disclosure review or approval step in the campaign workflow as MEDIUM — brands bear ongoing liability for non-compliant creator posts.
28
+ - Do not recommend suppressing, editing, or withholding any creator's honest opinion. Remediation recommendations must preserve the creator's right to share genuine views.
29
+ - Label every finding with evidence basis: brief provided, contract provided, post description provided, disclosure spec provided, or inference from missing document.
30
+
31
+ ## References
32
+ Load these only when needed:
33
+ - [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review or formatting the final answer.
34
+
35
+ ## Response minimum
36
+ Return, at minimum:
37
+ - Material-connection disclosure assessment (payment, gifted product, free service, other incentives)
38
+ - Disclosure placement and conspicuousness assessment (pre-fold visibility, hashtag crowd, verbal vs. on-screen)
39
+ - Brief and contract review for problematic instructions (opinion suppression, mandatory positivity)
40
+ - Creator agreement disclosure-obligation clause assessment
41
+ - Platform-native label usage assessment
42
+ - Severity-labelled finding list (critical / high / medium / low)
43
+ - Safe next actions
@@ -0,0 +1,22 @@
1
+ {
2
+ "id": "influencer-disclosure-compliance-review",
3
+ "name": "Influencer Disclosure Compliance Review",
4
+ "type": "skill",
5
+ "provider": "marketing",
6
+ "harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
7
+ "summary": "Review influencer campaign audit packs — brief, contract, post descriptions, and disclosure placement specs — for FTC Endorsement Guide violations: undisclosed material connections, inadequate disclosure placement, and brand liability exposure.",
8
+ "source_type": "original",
9
+ "official_docs": [
10
+ "https://www.ftc.gov/legal-library/browse/rules/endorsement-guides",
11
+ "https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-255",
12
+ "https://www.ftc.gov/system/files/ftc_gov/pdf/ftc-endorsement-guides-final-rule.pdf",
13
+ "https://www.ftc.gov/legal-library/browse/statutes/federal-trade-commission-act",
14
+ "https://www.ftc.gov/business-guidance/resources/ftcs-endorsement-guides-what-people-are-asking"
15
+ ],
16
+ "security_notes": "Review works from a structured influencer campaign audit pack only — brief, contract excerpt, post descriptions, and disclosure spec. Never accept raw personal data about creators, unpublished negotiations, or brand financial terms beyond what is needed to assess disclosure adequacy. This is a static compliance review; it does not generate campaign content or creator instructions.",
17
+ "last_verified": "2026-05-17",
18
+ "path": "skills/marketing/influencer-disclosure-compliance-review",
19
+ "author": "github: Raishin",
20
+ "version": "0.1.0",
21
+ "lifecycle": "experimental"
22
+ }
@@ -0,0 +1,156 @@
1
+ # Workflow and Output Contract
2
+
3
+ ## Workflow
4
+
5
+ ### Step 1 — Collect inputs
6
+
7
+ Ask the user to provide the influencer campaign audit pack as a structured document. The pack should include:
8
+ - **Campaign brief**: objectives, key messages, deliverable specifications, any instructions to creators about tone or content scope
9
+ - **Creator agreement excerpt**: compensation terms (cash, gifted product, affiliate commission, free service), disclosure obligation clause, content approval process
10
+ - **Post descriptions**: written descriptions of the posts as published or planned, or a text description of screenshot content — including caption text, hashtags used, and where in the caption any disclosure language appears relative to the "more" fold
11
+ - **Disclosure format and placement specification**: the brand's stated requirement for how creators must disclose (e.g., "#ad in first line," "verbal disclosure in first 30 seconds," "Instagram Paid Partnership label required")
12
+
13
+ Note which documents are absent. If the brief is missing, note that brief-level findings cannot be assessed. If post descriptions are missing, note that placement findings are inference only.
14
+
15
+ ### Step 2 — Material connection identification
16
+
17
+ Before assessing disclosures, identify all material connections present in the campaign:
18
+ - **Cash payment**: flat fee, CPM, performance-based commission, affiliate fee
19
+ - **Gifted product**: product provided free of charge regardless of whether additional payment was made — the FTC is explicit that product gifts are material connections
20
+ - **Complimentary service**: free access, free subscription, free experience
21
+ - **Brand affiliation**: creator is an employee, brand ambassador, family member of a brand employee, or investor in the brand
22
+ - **Other incentives**: contest entry, travel, accommodation, ticket access
23
+
24
+ ```text
25
+ # Example: material connections present in this campaign
26
+ - Cash payment: $[AMOUNT_REDACTED] flat fee per post
27
+ - Gifted product: one unit of [PRODUCT] provided prior to post
28
+ - No affiliate commission structure found in contract excerpt
29
+ ```
30
+
31
+ Any combination of the above constitutes a material connection requiring disclosure under 16 CFR §255.5. Document every connection found.
32
+
33
+ ### Step 3 — Brief review for problematic instructions
34
+
35
+ Review the campaign brief for instructions that could themselves be deceptive practices or brand liability triggers:
36
+ - **Opinion suppression**: Instructions to "only share positive experiences," "avoid mentioning [negative aspect]," "only post if you love it," or equivalent. Under 16 CFR §255.5 and FTC Act Section 5, directing a creator to suppress honest opinion is a deceptive practice attributable to the brand.
37
+ - **Mandatory positivity**: Instructions requiring the creator to express enthusiasm, use superlatives, or frame the product in exclusively positive terms.
38
+ - **Approval-gate bias**: An approval process where the brand reviews content before publication and withholds approval for content that includes balanced or negative views — functionally equivalent to opinion suppression.
39
+ - **False authenticity framing**: Instructions to present sponsored content as organic discovery (e.g., "write as if you found this yourself").
40
+
41
+ ```text
42
+ # HIGH — brief instructs opinion suppression
43
+ Brief language: "Please only share your experience if it is positive. If you have concerns,
44
+ reach out to us directly rather than including them in your post."
45
+
46
+ # COMPLIANT — brief preserves honest opinion
47
+ Brief language: "Share your genuine experience with the product. If you have concerns,
48
+ you are welcome to include them. We ask only that you disclose the partnership."
49
+ ```
50
+
51
+ ### Step 4 — Disclosure placement and conspicuousness assessment
52
+
53
+ For each post description, assess whether disclosure language is clear and conspicuous:
54
+
55
+ **Pre-fold visibility rule**: On platforms with truncated captions (Instagram, TikTok, Facebook), disclosure language must appear before the "more" or "see more" fold — i.e., in the first approximately 125 characters visible without user interaction. A disclosure that appears after the fold is not clear and conspicuous regardless of its content.
56
+
57
+ ```text
58
+ # HIGH — disclosure after the fold
59
+ Caption (visible before "more"):
60
+ "I've been obsessed with this skincare routine lately — here's what I've been using
61
+ every morning to get glowing skin. Products linked below! 🌟 [120 chars so far]"
62
+ [...more...]
63
+ "#ad #sponsored #gifted"
64
+
65
+ # COMPLIANT — disclosure in first line, before fold
66
+ Caption:
67
+ "AD | [Brand] gifted me this skincare set and I've been loving it..."
68
+ ```
69
+
70
+ **Hashtag crowd burial**: A disclosure hashtag (`#ad`, `#sponsored`) buried within a group of 15 or more other hashtags at the end of a caption is not clear and conspicuous. Assess whether the disclosure hashtag stands out.
71
+
72
+ **Video disclosures**: For video content, assess whether disclosure is:
73
+ - Verbal: stated clearly and early (within first 30 seconds for videos over 2 minutes)
74
+ - On-screen text: present simultaneously with the verbal mention or the first reference to the product
75
+ - Not reliant solely on a description-box disclosure that viewers may not see
76
+
77
+ **Platform-native labels**: Note whether Instagram's "Paid Partnership" label, TikTok's "Branded Content" toggle, or YouTube's paid promotion disclosure checkbox were used. These are positive controls but do not eliminate caption or verbal disclosure obligations where the connection might otherwise not be obvious.
78
+
79
+ ### Step 5 — Creator agreement disclosure-obligation clause assessment
80
+
81
+ Review the creator agreement excerpt for:
82
+ - **Presence of a disclosure clause**: Does the agreement explicitly require the creator to disclose the material connection in every post?
83
+ - **Placement specificity**: Does the clause specify where in the post the disclosure must appear (e.g., "in the first line of the caption before any truncation")?
84
+ - **Platform coverage**: Does the clause cover all platforms on which the creator will post, including Stories, Reels, TikTok, YouTube Shorts, and any cross-posting?
85
+ - **Enforcement mechanism**: Does the agreement give the brand a right to request correction of a non-compliant post?
86
+
87
+ A creator agreement with no disclosure clause, or with a disclosure clause that does not specify placement, leaves the brand exposed — the FTC holds brands responsible for ensuring disclosures are made even when individual creators are nominally independent.
88
+
89
+ ```text
90
+ # HIGH — no disclosure clause
91
+ Creator agreement excerpt: [No disclosure obligation language found in provided excerpt]
92
+
93
+ # COMPLIANT — specific placement requirement
94
+ Creator agreement clause: "Creator shall include '#ad' or '#sponsored' as the first
95
+ hashtag or in the first line of the caption on each post, before any caption truncation."
96
+ ```
97
+
98
+ ### Step 6 — Disclosure format adequacy assessment
99
+
100
+ Assess whether the disclosure language specified in the brief or used in post descriptions meets FTC clarity standards:
101
+ - **Acceptable terms**: `#ad`, `#sponsored`, "Advertisement," "Paid partnership with [Brand]," "I received this product for free from [Brand]"
102
+ - **Ambiguous terms** (flag as MEDIUM): `#collab`, `#sp`, `#partner`, `#ambassador` without further context — the FTC guidance notes these may not be universally understood
103
+ - **Insufficient terms**: `#gifted` alone may not be sufficient if it does not convey the commercial nature of the relationship; `#affiliate` is more specific but may still require context
104
+
105
+ ### Step 7 — Produce the output
106
+
107
+ Format findings using the Output section below.
108
+
109
+ ---
110
+
111
+ ## Output
112
+
113
+ Return findings in this structure:
114
+
115
+ ```
116
+ ## Verdict
117
+ <one sentence: pass / needs work / critical issues found>
118
+
119
+ ## Evidence level
120
+ <brief provided | contract provided | post descriptions provided | disclosure spec provided | inference>
121
+
122
+ ## Material connections identified
123
+ <list all material connections found in the audit pack>
124
+
125
+ ## Findings
126
+
127
+ ### CRITICAL
128
+ - [C1] <finding title>: <description> — <remediation>
129
+
130
+ ### HIGH
131
+ - [H1] <finding title>: <description> — <remediation>
132
+
133
+ ### MEDIUM
134
+ - [M1] <finding title>: <description> — <remediation>
135
+
136
+ ### LOW
137
+ - [L1] <finding title>: <description> — <remediation>
138
+
139
+ ## Safe next actions
140
+ 1. <action>
141
+ 2. <action>
142
+
143
+ ## Open questions
144
+ - <question requiring user clarification>
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Security and scope notes
150
+
151
+ - This is a static review of a structured influencer campaign audit pack. The skill does not generate new post content, draft creator instructions, or approve posts for publication.
152
+ - Never recommend that creators suppress honest opinions, omit negative experiences, or present sponsored content as organic discovery — these are themselves FTC violations and increase brand liability.
153
+ - Brand liability under FTC Act Section 5 extends to deceptive acts by creators the brand directed or had reason to know about. A finding of brief-level opinion suppression instructions is a brand liability issue, not only a creator issue.
154
+ - The FTC Endorsement Guides were substantially updated in 2023 — verify that any prior campaign documentation was produced with awareness of the updated requirements, particularly regarding disclosure placement and the treatment of gifted product.
155
+ - When evidence is partial (e.g., no post descriptions provided), scope placement findings to inference and state assumptions explicitly.
156
+ - A serious finding here (e.g., systematic non-disclosure across a campaign) may warrant notification to legal counsel before the campaign continues or expands.