b2b-agent-skills 0.2.0__tar.gz

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 (218) hide show
  1. b2b_agent_skills-0.2.0/.claude/skills/README.md +41 -0
  2. b2b_agent_skills-0.2.0/.claude/skills/abm-account-priority-ranker/SKILL.md +40 -0
  3. b2b_agent_skills-0.2.0/.claude/skills/abm-account-priority-ranker/schema.json +87 -0
  4. b2b_agent_skills-0.2.0/.claude/skills/account-plan-generator/SKILL.md +37 -0
  5. b2b_agent_skills-0.2.0/.claude/skills/account-plan-generator/schema.json +99 -0
  6. b2b_agent_skills-0.2.0/.claude/skills/account-priority-matrix-builder/SKILL.md +40 -0
  7. b2b_agent_skills-0.2.0/.claude/skills/account-priority-matrix-builder/schema.json +61 -0
  8. b2b_agent_skills-0.2.0/.claude/skills/ad-copy-variant-generator/SKILL.md +39 -0
  9. b2b_agent_skills-0.2.0/.claude/skills/ad-copy-variant-generator/schema.json +87 -0
  10. b2b_agent_skills-0.2.0/.claude/skills/attribution-model-reviewer/SKILL.md +39 -0
  11. b2b_agent_skills-0.2.0/.claude/skills/attribution-model-reviewer/schema.json +87 -0
  12. b2b_agent_skills-0.2.0/.claude/skills/audience-segmentation-optimizer/SKILL.md +44 -0
  13. b2b_agent_skills-0.2.0/.claude/skills/audience-segmentation-optimizer/schema.json +122 -0
  14. b2b_agent_skills-0.2.0/.claude/skills/brand-perception-monitor/SKILL.md +37 -0
  15. b2b_agent_skills-0.2.0/.claude/skills/brand-perception-monitor/schema.json +67 -0
  16. b2b_agent_skills-0.2.0/.claude/skills/brand-positioning-synthesizer/SKILL.md +41 -0
  17. b2b_agent_skills-0.2.0/.claude/skills/brand-positioning-synthesizer/schema.json +87 -0
  18. b2b_agent_skills-0.2.0/.claude/skills/campaign-performance-diagnostician/SKILL.md +35 -0
  19. b2b_agent_skills-0.2.0/.claude/skills/campaign-performance-diagnostician/schema.json +109 -0
  20. b2b_agent_skills-0.2.0/.claude/skills/champion-advocacy-builder/SKILL.md +42 -0
  21. b2b_agent_skills-0.2.0/.claude/skills/champion-advocacy-builder/schema.json +87 -0
  22. b2b_agent_skills-0.2.0/.claude/skills/competitive-differentiation-coach/SKILL.md +39 -0
  23. b2b_agent_skills-0.2.0/.claude/skills/competitive-differentiation-coach/schema.json +83 -0
  24. b2b_agent_skills-0.2.0/.claude/skills/competitor-monitor/SKILL.md +42 -0
  25. b2b_agent_skills-0.2.0/.claude/skills/competitor-monitor/schema.json +60 -0
  26. b2b_agent_skills-0.2.0/.claude/skills/competitor-signal-clusterer/SKILL.md +39 -0
  27. b2b_agent_skills-0.2.0/.claude/skills/competitor-signal-clusterer/schema.json +66 -0
  28. b2b_agent_skills-0.2.0/.claude/skills/content-gap-analysis-agent/SKILL.md +39 -0
  29. b2b_agent_skills-0.2.0/.claude/skills/content-gap-analysis-agent/schema.json +95 -0
  30. b2b_agent_skills-0.2.0/.claude/skills/crm-data-cleaner/SKILL.md +38 -0
  31. b2b_agent_skills-0.2.0/.claude/skills/crm-data-cleaner/schema.json +67 -0
  32. b2b_agent_skills-0.2.0/.claude/skills/customer-journey-friction-audit/SKILL.md +39 -0
  33. b2b_agent_skills-0.2.0/.claude/skills/customer-journey-friction-audit/schema.json +66 -0
  34. b2b_agent_skills-0.2.0/.claude/skills/deal-committee-readiness-coach/SKILL.md +39 -0
  35. b2b_agent_skills-0.2.0/.claude/skills/deal-committee-readiness-coach/schema.json +72 -0
  36. b2b_agent_skills-0.2.0/.claude/skills/deal-risk-assessor/SKILL.md +51 -0
  37. b2b_agent_skills-0.2.0/.claude/skills/deal-risk-assessor/schema.json +101 -0
  38. b2b_agent_skills-0.2.0/.claude/skills/discovery-question-generator/SKILL.md +38 -0
  39. b2b_agent_skills-0.2.0/.claude/skills/discovery-question-generator/schema.json +68 -0
  40. b2b_agent_skills-0.2.0/.claude/skills/executive-briefing-builder/SKILL.md +39 -0
  41. b2b_agent_skills-0.2.0/.claude/skills/executive-briefing-builder/schema.json +73 -0
  42. b2b_agent_skills-0.2.0/.claude/skills/executive-sponsor-identifier/SKILL.md +40 -0
  43. b2b_agent_skills-0.2.0/.claude/skills/executive-sponsor-identifier/schema.json +79 -0
  44. b2b_agent_skills-0.2.0/.claude/skills/forecast-bias-detector/SKILL.md +43 -0
  45. b2b_agent_skills-0.2.0/.claude/skills/forecast-bias-detector/schema.json +58 -0
  46. b2b_agent_skills-0.2.0/.claude/skills/forecast-confidence-model/SKILL.md +47 -0
  47. b2b_agent_skills-0.2.0/.claude/skills/forecast-confidence-model/schema.json +71 -0
  48. b2b_agent_skills-0.2.0/.claude/skills/icp-refinement-agent/SKILL.md +40 -0
  49. b2b_agent_skills-0.2.0/.claude/skills/icp-refinement-agent/schema.json +121 -0
  50. b2b_agent_skills-0.2.0/.claude/skills/landing-page-copy-optimizer/SKILL.md +37 -0
  51. b2b_agent_skills-0.2.0/.claude/skills/landing-page-copy-optimizer/schema.json +66 -0
  52. b2b_agent_skills-0.2.0/.claude/skills/lead-prioritization-agent/SKILL.md +43 -0
  53. b2b_agent_skills-0.2.0/.claude/skills/lead-prioritization-agent/schema.json +45 -0
  54. b2b_agent_skills-0.2.0/.claude/skills/lifecycle-email-optimizer/SKILL.md +39 -0
  55. b2b_agent_skills-0.2.0/.claude/skills/lifecycle-email-optimizer/schema.json +120 -0
  56. b2b_agent_skills-0.2.0/.claude/skills/market-shift-monitor/SKILL.md +39 -0
  57. b2b_agent_skills-0.2.0/.claude/skills/market-shift-monitor/schema.json +55 -0
  58. b2b_agent_skills-0.2.0/.claude/skills/market-sizing-modeler/SKILL.md +44 -0
  59. b2b_agent_skills-0.2.0/.claude/skills/market-sizing-modeler/schema.json +103 -0
  60. b2b_agent_skills-0.2.0/.claude/skills/market-trend-signal-reporter/SKILL.md +41 -0
  61. b2b_agent_skills-0.2.0/.claude/skills/market-trend-signal-reporter/schema.json +55 -0
  62. b2b_agent_skills-0.2.0/.claude/skills/messaging-clarity-auditor/SKILL.md +38 -0
  63. b2b_agent_skills-0.2.0/.claude/skills/messaging-clarity-auditor/schema.json +86 -0
  64. b2b_agent_skills-0.2.0/.claude/skills/multi-threading-plan-builder/SKILL.md +37 -0
  65. b2b_agent_skills-0.2.0/.claude/skills/multi-threading-plan-builder/schema.json +80 -0
  66. b2b_agent_skills-0.2.0/.claude/skills/negotiation-readiness-coach/SKILL.md +37 -0
  67. b2b_agent_skills-0.2.0/.claude/skills/negotiation-readiness-coach/schema.json +101 -0
  68. b2b_agent_skills-0.2.0/.claude/skills/nurture-sequence-architect/SKILL.md +37 -0
  69. b2b_agent_skills-0.2.0/.claude/skills/nurture-sequence-architect/schema.json +71 -0
  70. b2b_agent_skills-0.2.0/.claude/skills/objection-response-coach/SKILL.md +39 -0
  71. b2b_agent_skills-0.2.0/.claude/skills/objection-response-coach/schema.json +40 -0
  72. b2b_agent_skills-0.2.0/.claude/skills/persona-insight-extractor/SKILL.md +37 -0
  73. b2b_agent_skills-0.2.0/.claude/skills/persona-insight-extractor/schema.json +80 -0
  74. b2b_agent_skills-0.2.0/.claude/skills/pipeline-health-monitor/SKILL.md +46 -0
  75. b2b_agent_skills-0.2.0/.claude/skills/pipeline-health-monitor/schema.json +92 -0
  76. b2b_agent_skills-0.2.0/.claude/skills/pricing-justification-builder/SKILL.md +42 -0
  77. b2b_agent_skills-0.2.0/.claude/skills/pricing-justification-builder/schema.json +60 -0
  78. b2b_agent_skills-0.2.0/.claude/skills/renewal-risk-scorer/SKILL.md +44 -0
  79. b2b_agent_skills-0.2.0/.claude/skills/renewal-risk-scorer/schema.json +60 -0
  80. b2b_agent_skills-0.2.0/.claude/skills/sales-handoff-quality-auditor/SKILL.md +37 -0
  81. b2b_agent_skills-0.2.0/.claude/skills/sales-handoff-quality-auditor/schema.json +88 -0
  82. b2b_agent_skills-0.2.0/.claude/skills/stakeholder-map-builder/SKILL.md +39 -0
  83. b2b_agent_skills-0.2.0/.claude/skills/stakeholder-map-builder/schema.json +86 -0
  84. b2b_agent_skills-0.2.0/.claude/skills/strategic-account-priority-ranker/SKILL.md +39 -0
  85. b2b_agent_skills-0.2.0/.claude/skills/strategic-account-priority-ranker/schema.json +71 -0
  86. b2b_agent_skills-0.2.0/.claude/skills/territory-prioritization-agent/SKILL.md +40 -0
  87. b2b_agent_skills-0.2.0/.claude/skills/territory-prioritization-agent/schema.json +89 -0
  88. b2b_agent_skills-0.2.0/.claude/skills/value-proposition-tester/SKILL.md +45 -0
  89. b2b_agent_skills-0.2.0/.claude/skills/value-proposition-tester/schema.json +112 -0
  90. b2b_agent_skills-0.2.0/.claude/skills/win-loss-theme-clusterer/SKILL.md +40 -0
  91. b2b_agent_skills-0.2.0/.claude/skills/win-loss-theme-clusterer/schema.json +95 -0
  92. b2b_agent_skills-0.2.0/.gitignore +67 -0
  93. b2b_agent_skills-0.2.0/CHANGELOG.md +98 -0
  94. b2b_agent_skills-0.2.0/LICENSE +21 -0
  95. b2b_agent_skills-0.2.0/PKG-INFO +146 -0
  96. b2b_agent_skills-0.2.0/README.md +82 -0
  97. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/README.md +70 -0
  98. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/account-priority-matrix-builder/README.md +90 -0
  99. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/competitor-monitor/README.md +89 -0
  100. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/competitor-signal-clusterer/README.md +86 -0
  101. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/market-shift-monitor/README.md +92 -0
  102. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/market-sizing-modeler/README.md +88 -0
  103. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/market-trend-signal-reporter/README.md +92 -0
  104. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/strategic-account-priority-ranker/README.md +93 -0
  105. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/skills/win-loss-theme-clusterer/README.md +93 -0
  106. b2b_agent_skills-0.2.0/b2b-agent-skills-gtm/sources-and-frameworks.md +24 -0
  107. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/README.md +88 -0
  108. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/abm-account-priority-ranker/README.md +92 -0
  109. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/ad-copy-variant-generator/README.md +80 -0
  110. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/audience-segmentation-optimizer/README.md +122 -0
  111. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/brand-perception-monitor/README.md +83 -0
  112. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/brand-positioning-synthesizer/README.md +93 -0
  113. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/campaign-performance-diagnostician/README.md +81 -0
  114. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/content-gap-analysis-agent/README.md +88 -0
  115. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/customer-journey-friction-audit/README.md +80 -0
  116. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/icp-refinement-agent/README.md +90 -0
  117. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/landing-page-copy-optimizer/README.md +84 -0
  118. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/lifecycle-email-optimizer/README.md +75 -0
  119. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/messaging-clarity-auditor/README.md +84 -0
  120. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/nurture-sequence-architect/README.md +81 -0
  121. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/persona-insight-extractor/README.md +74 -0
  122. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/skills/value-proposition-tester/README.md +93 -0
  123. b2b_agent_skills-0.2.0/b2b-agent-skills-marketing/sources-and-frameworks.md +19 -0
  124. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/README.md +64 -0
  125. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/skills/attribution-model-reviewer/README.md +89 -0
  126. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/skills/crm-data-cleaner/README.md +96 -0
  127. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/skills/forecast-bias-detector/README.md +79 -0
  128. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/skills/pipeline-health-monitor/README.md +91 -0
  129. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/skills/sales-handoff-quality-auditor/README.md +90 -0
  130. b2b_agent_skills-0.2.0/b2b-agent-skills-revops/sources-and-frameworks.md +25 -0
  131. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/README.md +68 -0
  132. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/account-plan-generator/README.md +83 -0
  133. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/champion-advocacy-builder/README.md +79 -0
  134. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/competitive-differentiation-coach/README.md +79 -0
  135. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/deal-committee-readiness-coach/README.md +83 -0
  136. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/deal-risk-assessor/README.md +88 -0
  137. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/discovery-question-generator/README.md +77 -0
  138. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/executive-briefing-builder/README.md +77 -0
  139. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/executive-sponsor-identifier/README.md +80 -0
  140. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/forecast-confidence-model/README.md +86 -0
  141. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/lead-prioritization-agent/README.md +84 -0
  142. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/multi-threading-plan-builder/README.md +73 -0
  143. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/negotiation-readiness-coach/README.md +76 -0
  144. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/objection-response-coach/README.md +74 -0
  145. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/pricing-justification-builder/README.md +93 -0
  146. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/renewal-risk-scorer/README.md +93 -0
  147. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/stakeholder-map-builder/README.md +83 -0
  148. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/skills/territory-prioritization-agent/README.md +80 -0
  149. b2b_agent_skills-0.2.0/b2b-agent-skills-sales/sources-and-frameworks.md +28 -0
  150. b2b_agent_skills-0.2.0/b2b_agent_skills/__init__.py +36 -0
  151. b2b_agent_skills-0.2.0/b2b_agent_skills/__main__.py +5 -0
  152. b2b_agent_skills-0.2.0/b2b_agent_skills/cli.py +155 -0
  153. b2b_agent_skills-0.2.0/b2b_agent_skills/errors.py +39 -0
  154. b2b_agent_skills-0.2.0/b2b_agent_skills/evaluation.py +244 -0
  155. b2b_agent_skills-0.2.0/b2b_agent_skills/mcp_server.py +103 -0
  156. b2b_agent_skills-0.2.0/b2b_agent_skills/providers.py +281 -0
  157. b2b_agent_skills-0.2.0/b2b_agent_skills/py.typed +0 -0
  158. b2b_agent_skills-0.2.0/b2b_agent_skills/registry.py +117 -0
  159. b2b_agent_skills-0.2.0/b2b_agent_skills/runner.py +144 -0
  160. b2b_agent_skills-0.2.0/b2b_agent_skills/server.py +111 -0
  161. b2b_agent_skills-0.2.0/b2b_agent_skills/validation.py +50 -0
  162. b2b_agent_skills-0.2.0/evals/README.md +18 -0
  163. b2b_agent_skills-0.2.0/evals/golden/abm-account-priority-ranker.json +81 -0
  164. b2b_agent_skills-0.2.0/evals/golden/account-plan-generator.json +125 -0
  165. b2b_agent_skills-0.2.0/evals/golden/account-priority-matrix-builder.json +47 -0
  166. b2b_agent_skills-0.2.0/evals/golden/ad-copy-variant-generator.json +48 -0
  167. b2b_agent_skills-0.2.0/evals/golden/attribution-model-reviewer.json +123 -0
  168. b2b_agent_skills-0.2.0/evals/golden/audience-segmentation-optimizer.json +108 -0
  169. b2b_agent_skills-0.2.0/evals/golden/brand-perception-monitor.json +53 -0
  170. b2b_agent_skills-0.2.0/evals/golden/brand-positioning-synthesizer.json +63 -0
  171. b2b_agent_skills-0.2.0/evals/golden/campaign-performance-diagnostician.json +70 -0
  172. b2b_agent_skills-0.2.0/evals/golden/champion-advocacy-builder.json +79 -0
  173. b2b_agent_skills-0.2.0/evals/golden/competitive-differentiation-coach.json +86 -0
  174. b2b_agent_skills-0.2.0/evals/golden/competitor-monitor.json +58 -0
  175. b2b_agent_skills-0.2.0/evals/golden/competitor-signal-clusterer.json +100 -0
  176. b2b_agent_skills-0.2.0/evals/golden/content-gap-analysis-agent.json +77 -0
  177. b2b_agent_skills-0.2.0/evals/golden/crm-data-cleaner.json +158 -0
  178. b2b_agent_skills-0.2.0/evals/golden/customer-journey-friction-audit.json +53 -0
  179. b2b_agent_skills-0.2.0/evals/golden/deal-committee-readiness-coach.json +78 -0
  180. b2b_agent_skills-0.2.0/evals/golden/deal-risk-assessor.json +61 -0
  181. b2b_agent_skills-0.2.0/evals/golden/discovery-question-generator.json +40 -0
  182. b2b_agent_skills-0.2.0/evals/golden/executive-briefing-builder.json +40 -0
  183. b2b_agent_skills-0.2.0/evals/golden/executive-sponsor-identifier.json +62 -0
  184. b2b_agent_skills-0.2.0/evals/golden/forecast-bias-detector.json +102 -0
  185. b2b_agent_skills-0.2.0/evals/golden/forecast-confidence-model.json +74 -0
  186. b2b_agent_skills-0.2.0/evals/golden/icp-refinement-agent.json +58 -0
  187. b2b_agent_skills-0.2.0/evals/golden/landing-page-copy-optimizer.json +37 -0
  188. b2b_agent_skills-0.2.0/evals/golden/lead-prioritization-agent.json +109 -0
  189. b2b_agent_skills-0.2.0/evals/golden/lifecycle-email-optimizer.json +54 -0
  190. b2b_agent_skills-0.2.0/evals/golden/market-shift-monitor.json +58 -0
  191. b2b_agent_skills-0.2.0/evals/golden/market-sizing-modeler.json +53 -0
  192. b2b_agent_skills-0.2.0/evals/golden/market-trend-signal-reporter.json +93 -0
  193. b2b_agent_skills-0.2.0/evals/golden/messaging-clarity-auditor.json +39 -0
  194. b2b_agent_skills-0.2.0/evals/golden/multi-threading-plan-builder.json +47 -0
  195. b2b_agent_skills-0.2.0/evals/golden/negotiation-readiness-coach.json +57 -0
  196. b2b_agent_skills-0.2.0/evals/golden/nurture-sequence-architect.json +52 -0
  197. b2b_agent_skills-0.2.0/evals/golden/objection-response-coach.json +59 -0
  198. b2b_agent_skills-0.2.0/evals/golden/persona-insight-extractor.json +96 -0
  199. b2b_agent_skills-0.2.0/evals/golden/pipeline-health-monitor.json +64 -0
  200. b2b_agent_skills-0.2.0/evals/golden/pricing-justification-builder.json +76 -0
  201. b2b_agent_skills-0.2.0/evals/golden/renewal-risk-scorer.json +54 -0
  202. b2b_agent_skills-0.2.0/evals/golden/sales-handoff-quality-auditor.json +66 -0
  203. b2b_agent_skills-0.2.0/evals/golden/stakeholder-map-builder.json +89 -0
  204. b2b_agent_skills-0.2.0/evals/golden/strategic-account-priority-ranker.json +49 -0
  205. b2b_agent_skills-0.2.0/evals/golden/territory-prioritization-agent.json +54 -0
  206. b2b_agent_skills-0.2.0/evals/golden/value-proposition-tester.json +61 -0
  207. b2b_agent_skills-0.2.0/evals/golden/win-loss-theme-clusterer.json +65 -0
  208. b2b_agent_skills-0.2.0/examples/README.md +31 -0
  209. b2b_agent_skills-0.2.0/memory/README.md +14 -0
  210. b2b_agent_skills-0.2.0/pyproject.toml +103 -0
  211. b2b_agent_skills-0.2.0/scripts/build_docs.py +84 -0
  212. b2b_agent_skills-0.2.0/scripts/generate_schemas.py +121 -0
  213. b2b_agent_skills-0.2.0/scripts/render_demo_gif.py +137 -0
  214. b2b_agent_skills-0.2.0/tests/test_golden.py +73 -0
  215. b2b_agent_skills-0.2.0/tests/test_interfaces.py +88 -0
  216. b2b_agent_skills-0.2.0/tests/test_providers.py +172 -0
  217. b2b_agent_skills-0.2.0/tests/test_registry.py +79 -0
  218. b2b_agent_skills-0.2.0/tests/test_runner.py +108 -0
@@ -0,0 +1,41 @@
1
+ # Claude Code skills
2
+
3
+ All 45 skills in this repo are packaged here as real [Claude Code Skills](https://code.claude.com/docs/en/skills) — `SKILL.md` files Claude discovers and can invoke directly, not just markdown you read and copy-paste.
4
+
5
+ ## How to use these
6
+
7
+ **As a Claude Code plugin** (recommended):
8
+
9
+ ```text
10
+ /plugin marketplace add pratsy/skills-AI
11
+ /plugin install b2b-agent-skills@b2b-agent-skills
12
+ ```
13
+
14
+ **In this repo**, they're already active: open Claude Code anywhere inside a clone and ask it to score a deal's risk, build a discovery sequence, size a market, and so on.
15
+
16
+ **In your own project**, copy whole skill folders into your repo's `.claude/skills/`:
17
+
18
+ ```bash
19
+ cp -r .claude/skills/deal-risk-assessor /path/to/your-project/.claude/skills/
20
+ ```
21
+
22
+ Each folder holds `SKILL.md` (the instructions Claude follows) and `schema.json` (the output contract, generated from the skill's README by `scripts/generate_schemas.py`; don't edit it by hand). No install step, dependency, or API key.
23
+
24
+ ## One definition, every surface
25
+
26
+ The Python SDK, CLI, MCP server, and HTTP API (package `b2b_agent_skills`) read these same folders, and the PyPI wheel bundles them. A skill's logic lives in exactly one place, so editing a `SKILL.md` here changes every surface.
27
+
28
+ ## Directory
29
+
30
+ 45 skills, matching the four packs exactly:
31
+
32
+ | Domain | Skills |
33
+ |---|---|
34
+ | Sales (17) | `account-plan-generator`, `champion-advocacy-builder`, `competitive-differentiation-coach`, `deal-committee-readiness-coach`, `deal-risk-assessor`, `discovery-question-generator`, `executive-briefing-builder`, `executive-sponsor-identifier`, `forecast-confidence-model`, `lead-prioritization-agent`, `multi-threading-plan-builder`, `negotiation-readiness-coach`, `objection-response-coach`, `pricing-justification-builder`, `renewal-risk-scorer`, `stakeholder-map-builder`, `territory-prioritization-agent` |
35
+ | Marketing (15) | `abm-account-priority-ranker`, `ad-copy-variant-generator`, `audience-segmentation-optimizer`, `brand-perception-monitor`, `brand-positioning-synthesizer`, `campaign-performance-diagnostician`, `content-gap-analysis-agent`, `customer-journey-friction-audit`, `icp-refinement-agent`, `landing-page-copy-optimizer`, `lifecycle-email-optimizer`, `messaging-clarity-auditor`, `nurture-sequence-architect`, `persona-insight-extractor`, `value-proposition-tester` |
36
+ | RevOps (5) | `attribution-model-reviewer`, `crm-data-cleaner`, `forecast-bias-detector`, `pipeline-health-monitor`, `sales-handoff-quality-auditor` |
37
+ | GTM (8) | `account-priority-matrix-builder`, `competitor-monitor`, `competitor-signal-clusterer`, `market-shift-monitor`, `market-sizing-modeler`, `market-trend-signal-reporter`, `strategic-account-priority-ranker`, `win-loss-theme-clusterer` |
38
+
39
+ ## Adding or editing a skill
40
+
41
+ Use any existing `SKILL.md` as the template: `name` and `description` frontmatter (plus `license: MIT`), then Role / Method / If information is missing / Output / Common failure patterns / Reference sections. Keep it under ~50 lines — the full depth belongs in the pack README it links back to, not duplicated here.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: abm-account-priority-ranker
3
+ description: Tier a named-account ABM list (1:1 / 1:few / 1:many) using ITSMA's model, scoring opportunity value and reachability independently. Use when the user has a named-account list and a limited ABM budget/headcount and needs to decide how much investment each account gets.
4
+ license: MIT
5
+ ---
6
+
7
+ ## Role
8
+
9
+ You are an ABM strategist. Tier by two independent axes — a large but unreachable account shouldn't get 1:1 investment just because of its size.
10
+
11
+ ## Scoring model
12
+
13
+ ```
14
+ Opportunity Value Score = 0.6 × (deal_value normalized to largest in list) + 0.4 × account-specific win probability (not blended company win rate)
15
+ Reachability Score = 0.4 × (known buying-committee contacts / typical committee size) + 0.3 × engagement recency (1.0 if touch in 30d, 0.5 if 90d, else 0) + 0.3 × champion presence (1.0 confirmed, 0.4 warm contact, 0 cold)
16
+ ```
17
+
18
+ Tier by a 60/60 threshold on both axes: **high value + high reachability** = Tier 1 (1:1); **high value + low reachability** = Tier 1-Pending (build reachability first, don't fund 1:1 content yet); **low value + high reachability** = Tier 2 (1:few); **low value + low reachability** = Tier 3 (1:many).
19
+
20
+ ## If information is missing
21
+
22
+ Ask for: potential deal value per account, account-specific (not blended) win probability, known buying-committee contacts vs. typical committee size, recent engagement, and champion status.
23
+
24
+ ## Output
25
+
26
+ Each account's two scores, tier, and — for Tier 1-Pending accounts — what specific reachability gap needs to close first.
27
+
28
+ ## Common failure patterns to avoid
29
+
30
+ - Using blended company win rate instead of an account-specific estimate.
31
+ - Tiering by deal size alone and ignoring reachability.
32
+ - Treating tiers as fixed for the quarter — reachability changes fast.
33
+
34
+ ## Output format
35
+
36
+ When the caller needs machine-readable output (an API, a pipeline, or an explicit request for JSON), return a single JSON object that validates against [`schema.json`](schema.json) in this skill's folder: every field it lists, no extra fields. Otherwise, present the same fields as a readable summary.
37
+
38
+ ## Reference
39
+
40
+ Full methodology and worked example: [`b2b-agent-skills-marketing/skills/abm-account-priority-ranker/README.md`](../../../b2b-agent-skills-marketing/skills/abm-account-priority-ranker/README.md)
@@ -0,0 +1,87 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "abm-account-priority-ranker",
4
+ "description": "Output of the abm-account-priority-ranker skill. Generated from b2b-agent-skills-marketing/skills/abm-account-priority-ranker/README.md by scripts/generate_schemas.py - edit the README, not this file.",
5
+ "type": "object",
6
+ "properties": {
7
+ "accounts_ranked": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "account_id": {
13
+ "type": "string"
14
+ },
15
+ "opportunity_value_score": {
16
+ "type": "number"
17
+ },
18
+ "reachability_score": {
19
+ "type": "number"
20
+ },
21
+ "tier": {
22
+ "type": "string"
23
+ },
24
+ "rationale": {
25
+ "type": "string"
26
+ }
27
+ },
28
+ "required": [
29
+ "account_id",
30
+ "opportunity_value_score",
31
+ "reachability_score",
32
+ "tier",
33
+ "rationale"
34
+ ],
35
+ "additionalProperties": false
36
+ }
37
+ },
38
+ "tier_counts": {
39
+ "type": "object",
40
+ "properties": {
41
+ "tier_1": {
42
+ "type": "number"
43
+ },
44
+ "tier_1_pending": {
45
+ "type": "number"
46
+ },
47
+ "tier_2": {
48
+ "type": "number"
49
+ },
50
+ "tier_3": {
51
+ "type": "number"
52
+ }
53
+ },
54
+ "required": [
55
+ "tier_1",
56
+ "tier_1_pending",
57
+ "tier_2",
58
+ "tier_3"
59
+ ],
60
+ "additionalProperties": false
61
+ }
62
+ },
63
+ "required": [
64
+ "accounts_ranked",
65
+ "tier_counts"
66
+ ],
67
+ "additionalProperties": false,
68
+ "examples": [
69
+ {
70
+ "accounts_ranked": [
71
+ {
72
+ "account_id": "acct_1190",
73
+ "opportunity_value_score": 50,
74
+ "reachability_score": 77.1,
75
+ "tier": "Tier 2 (1:few)",
76
+ "rationale": "confirmed champion and recent engagement, but deal value below Tier 1 threshold"
77
+ }
78
+ ],
79
+ "tier_counts": {
80
+ "tier_1": 0,
81
+ "tier_1_pending": 0,
82
+ "tier_2": 1,
83
+ "tier_3": 0
84
+ }
85
+ }
86
+ ]
87
+ }
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: account-plan-generator
3
+ description: Build a strategic account plan using whitespace analysis, ranking expansion opportunities by relationship coverage as well as deal size. Use when the user shares an account's owned products and candidate expansion areas and asks for an account plan or where to expand next.
4
+ license: MIT
5
+ ---
6
+
7
+ ## Role
8
+
9
+ You are a strategic account planner. Rank whitespace by relationship coverage × opportunity size, not size alone — a smaller opportunity with an existing relationship usually closes faster than a larger one requiring cold entry.
10
+
11
+ ## Scoring model
12
+
13
+ `Whitespace Priority Score = whitespace_size_estimate × relationship_coverage_multiplier`
14
+
15
+ Relationship coverage multiplier: **1.0** if a confirmed champion/EB exists in the target business unit, **0.5** if a relationship exists in an adjacent unit, **0.2** if no relationship exists near the target unit.
16
+
17
+ ## If information is missing
18
+
19
+ Ask for: current owned products by business unit (with usage health), candidate whitespace areas with opportunity estimates (ideally sized against a comparable customer, not a guess), and what relationships exist in each target business unit.
20
+
21
+ ## Output
22
+
23
+ Owned footprint summary, whitespace areas ranked by priority score (not raw size), and the specific next action per top-ranked area. Sort `whitespace_ranked` strictly by `priority_score`, highest first: the multiplier already accounts for relationship warmth, so don't move a warm area above a higher-scoring cold one (e.g. $500K × 0.2 = 100,000 ranks above $40K × 1.0 = 40,000).
24
+
25
+ ## Common failure patterns to avoid
26
+
27
+ - Ranking whitespace by raw dollar opportunity alone.
28
+ - Sizing whitespace from generic assumptions instead of a comparable customer's actual adoption.
29
+ - Pursuing expansion in a business unit while an owned product elsewhere in the account is unhealthy — stabilize first.
30
+
31
+ ## Output format
32
+
33
+ When the caller needs machine-readable output (an API, a pipeline, or an explicit request for JSON), return a single JSON object that validates against [`schema.json`](schema.json) in this skill's folder: every field it lists, no extra fields. Otherwise, present the same fields as a readable summary.
34
+
35
+ ## Reference
36
+
37
+ Full methodology and worked example: [`b2b-agent-skills-sales/skills/account-plan-generator/README.md`](../../../b2b-agent-skills-sales/skills/account-plan-generator/README.md)
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "account-plan-generator",
4
+ "description": "Output of the account-plan-generator skill. Generated from b2b-agent-skills-sales/skills/account-plan-generator/README.md by scripts/generate_schemas.py - edit the README, not this file.",
5
+ "type": "object",
6
+ "properties": {
7
+ "account_name": {
8
+ "type": "string"
9
+ },
10
+ "owned": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "business_unit": {
16
+ "type": "string"
17
+ },
18
+ "product": {
19
+ "type": "string"
20
+ },
21
+ "usage_health": {
22
+ "type": "string"
23
+ }
24
+ },
25
+ "required": [
26
+ "business_unit",
27
+ "product",
28
+ "usage_health"
29
+ ],
30
+ "additionalProperties": false
31
+ }
32
+ },
33
+ "whitespace_ranked": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "properties": {
38
+ "business_unit": {
39
+ "type": "string"
40
+ },
41
+ "opportunity_estimate": {
42
+ "type": "number"
43
+ },
44
+ "relationship_multiplier": {
45
+ "type": "number"
46
+ },
47
+ "priority_score": {
48
+ "type": "number"
49
+ },
50
+ "next_action": {
51
+ "type": "string"
52
+ }
53
+ },
54
+ "required": [
55
+ "business_unit",
56
+ "opportunity_estimate",
57
+ "relationship_multiplier",
58
+ "priority_score",
59
+ "next_action"
60
+ ],
61
+ "additionalProperties": false
62
+ }
63
+ }
64
+ },
65
+ "required": [
66
+ "account_name",
67
+ "owned",
68
+ "whitespace_ranked"
69
+ ],
70
+ "additionalProperties": false,
71
+ "examples": [
72
+ {
73
+ "account_name": "Meridian Capital",
74
+ "owned": [
75
+ {
76
+ "business_unit": "Sales Ops",
77
+ "product": "deal-risk module",
78
+ "usage_health": "healthy"
79
+ }
80
+ ],
81
+ "whitespace_ranked": [
82
+ {
83
+ "business_unit": "Customer Success",
84
+ "opportunity_estimate": 120000,
85
+ "relationship_multiplier": 0.5,
86
+ "priority_score": 60000,
87
+ "next_action": "confirm the existing contact's role and use them to scope a renewal-risk pilot"
88
+ },
89
+ {
90
+ "business_unit": "Marketing Ops",
91
+ "opportunity_estimate": 80000,
92
+ "relationship_multiplier": 0.2,
93
+ "priority_score": 16000,
94
+ "next_action": "identify a first contact before pursuing"
95
+ }
96
+ ]
97
+ }
98
+ ]
99
+ }
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: account-priority-matrix-builder
3
+ description: Build a cross-functional value-vs-effort 2x2 for GTM segment-level planning (which account segments the whole org should invest in this cycle), distinct from named-account tiering tools. Use when the user wants to prioritize account segments across sales, marketing, and CS for planning purposes.
4
+ license: MIT
5
+ ---
6
+
7
+ ## Role
8
+
9
+ You are a GTM strategy analyst building a segment-level priority matrix — a planning-level tool, not a named-account tiering tool (that's `abm-account-priority-ranker` or `strategic-account-priority-ranker`).
10
+
11
+ ## Scoring model
12
+
13
+ ```
14
+ Value Score = 0.5×normalized_TAM_in_segment + 0.3×ACV_index(segment ACV / company average) + 0.2×strategic_fit(0-1, roadmap alignment)
15
+ Effort Score = 0.4×sales_cycle_index(segment cycle / company average) + 0.3×competitive_intensity(0-1) + 0.3×(1 - historical_win_rate)
16
+ ```
17
+
18
+ Place each segment in a quadrant: high value/low effort = invest now; high value/high effort = invest deliberately with a dedicated strategy; low value/low effort = efficient/self-serve motion; low value/high effort = deprioritize.
19
+
20
+ ## If information is missing
21
+
22
+ Ask for, per segment: TAM estimate, ACV relative to company average, strategic/roadmap fit, sales cycle length relative to average, competitive intensity, and historical win rate.
23
+
24
+ ## Output
25
+
26
+ Each segment's value and effort scores, quadrant, and recommended action — scaled relative to the other segments being compared, not an absolute scale.
27
+
28
+ ## Common failure patterns to avoid
29
+
30
+ - Building the matrix from one function's data alone (e.g. sales pipeline only).
31
+ - Using raw TAM as the entire value score, ignoring ACV and strategic fit.
32
+ - Treating quadrant placement as permanent instead of rebuilding each planning cycle.
33
+
34
+ ## Output format
35
+
36
+ When the caller needs machine-readable output (an API, a pipeline, or an explicit request for JSON), return a single JSON object that validates against [`schema.json`](schema.json) in this skill's folder: every field it lists, no extra fields. Otherwise, present the same fields as a readable summary.
37
+
38
+ ## Reference
39
+
40
+ Full methodology and worked example: [`b2b-agent-skills-gtm/skills/account-priority-matrix-builder/README.md`](../../../b2b-agent-skills-gtm/skills/account-priority-matrix-builder/README.md)
@@ -0,0 +1,61 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "account-priority-matrix-builder",
4
+ "description": "Output of the account-priority-matrix-builder skill. Generated from b2b-agent-skills-gtm/skills/account-priority-matrix-builder/README.md by scripts/generate_schemas.py - edit the README, not this file.",
5
+ "type": "object",
6
+ "properties": {
7
+ "segments_scored": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "segment": {
13
+ "type": "string"
14
+ },
15
+ "value_score": {
16
+ "type": "number"
17
+ },
18
+ "effort_score": {
19
+ "type": "number"
20
+ },
21
+ "quadrant": {
22
+ "type": "string"
23
+ },
24
+ "action": {
25
+ "type": "string"
26
+ }
27
+ },
28
+ "required": [
29
+ "segment",
30
+ "value_score",
31
+ "effort_score",
32
+ "quadrant",
33
+ "action"
34
+ ],
35
+ "additionalProperties": false
36
+ }
37
+ },
38
+ "planning_cycle": {
39
+ "type": "string"
40
+ }
41
+ },
42
+ "required": [
43
+ "segments_scored",
44
+ "planning_cycle"
45
+ ],
46
+ "additionalProperties": false,
47
+ "examples": [
48
+ {
49
+ "segments_scored": [
50
+ {
51
+ "segment": "mid-market FinTech",
52
+ "value_score": 87,
53
+ "effort_score": 64,
54
+ "quadrant": "high value / moderate effort",
55
+ "action": "invest now"
56
+ }
57
+ ],
58
+ "planning_cycle": "Q1 2027"
59
+ }
60
+ ]
61
+ }
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: ad-copy-variant-generator
3
+ description: Generate ad copy variants across genuinely different persuasion structures (PAS, AIDA, proof-led) rather than reworded versions of the same angle, plus the sample size needed to actually test them. Use when the user wants ad copy variants or A/B test copy for a product/persona.
4
+ license: MIT
5
+ ---
6
+
7
+ ## Role
8
+
9
+ You are a B2B performance marketer. Generate one variant per persuasion structure, not per wording style — each structure tests a different hypothesis about what moves the buyer.
10
+
11
+ ## Method
12
+
13
+ - **PAS** (Problem-Agitate-Solve): bets on pain-avoidance.
14
+ - **AIDA** (Attention-Interest-Desire-Action): bets on aspirational/gain-seeking framing.
15
+ - **Proof-led**: leads with the strongest real stat/customer result — bets that this audience is skeptical and needs evidence before attention. Only use real, provided proof points — never invent a statistic.
16
+
17
+ Then compute the test design: `required_n ≈ 16 × p × (1-p) / (p × MDE)²` where p is the baseline conversion rate and MDE is the minimum detectable *relative* effect (default 0.20), so `p × MDE` is the absolute lift. Example: p = 0.018, MDE = 0.20 → 16 × 0.018 × 0.982 / (0.0036)² ≈ 21,800 per variant. State this explicitly and note the test shouldn't be called before each variant reaches that sample size.
18
+
19
+ ## If information is missing
20
+
21
+ Ask for: the product/value prop, target persona, real proof points available (don't fabricate), and the baseline conversion rate if a sample-size calculation is wanted.
22
+
23
+ ## Output
24
+
25
+ Three variants labeled by structure with the hypothesis each tests, plus the required sample size per variant if a baseline rate was given.
26
+
27
+ ## Common failure patterns to avoid
28
+
29
+ - Generating variants that are all the same structure with different adjectives.
30
+ - Calling a test winner before reaching the calculated sample size.
31
+ - Inventing a statistic for the proof-led variant instead of using only real provided proof points.
32
+
33
+ ## Output format
34
+
35
+ When the caller needs machine-readable output (an API, a pipeline, or an explicit request for JSON), return a single JSON object that validates against [`schema.json`](schema.json) in this skill's folder: every field it lists, no extra fields. Otherwise, present the same fields as a readable summary.
36
+
37
+ ## Reference
38
+
39
+ Full methodology and worked example: [`b2b-agent-skills-marketing/skills/ad-copy-variant-generator/README.md`](../../../b2b-agent-skills-marketing/skills/ad-copy-variant-generator/README.md)
@@ -0,0 +1,87 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "ad-copy-variant-generator",
4
+ "description": "Output of the ad-copy-variant-generator skill. Generated from b2b-agent-skills-marketing/skills/ad-copy-variant-generator/README.md by scripts/generate_schemas.py - edit the README, not this file.",
5
+ "type": "object",
6
+ "properties": {
7
+ "variants": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "structure": {
13
+ "type": "string"
14
+ },
15
+ "copy": {
16
+ "type": "string"
17
+ },
18
+ "hypothesis": {
19
+ "type": "string"
20
+ }
21
+ },
22
+ "required": [
23
+ "structure",
24
+ "copy",
25
+ "hypothesis"
26
+ ],
27
+ "additionalProperties": false
28
+ }
29
+ },
30
+ "test_design": {
31
+ "type": "object",
32
+ "properties": {
33
+ "baseline_rate": {
34
+ "type": "number"
35
+ },
36
+ "mde": {
37
+ "type": "number"
38
+ },
39
+ "required_sample_size_per_variant": {
40
+ "type": "number"
41
+ },
42
+ "do_not_call_before": {
43
+ "type": "string"
44
+ }
45
+ },
46
+ "required": [
47
+ "baseline_rate",
48
+ "mde",
49
+ "required_sample_size_per_variant",
50
+ "do_not_call_before"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ },
55
+ "required": [
56
+ "variants",
57
+ "test_design"
58
+ ],
59
+ "additionalProperties": false,
60
+ "examples": [
61
+ {
62
+ "variants": [
63
+ {
64
+ "structure": "PAS",
65
+ "copy": "...",
66
+ "hypothesis": "pain-avoidance framing outperforms with this audience"
67
+ },
68
+ {
69
+ "structure": "AIDA",
70
+ "copy": "...",
71
+ "hypothesis": "aspirational framing outperforms"
72
+ },
73
+ {
74
+ "structure": "proof-led",
75
+ "copy": "...",
76
+ "hypothesis": "skeptical buyers need evidence before attention"
77
+ }
78
+ ],
79
+ "test_design": {
80
+ "baseline_rate": 0.018,
81
+ "mde": 0.2,
82
+ "required_sample_size_per_variant": 21700,
83
+ "do_not_call_before": "each variant reaches required sample size"
84
+ }
85
+ }
86
+ ]
87
+ }
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: attribution-model-reviewer
3
+ description: Compare how credit for closed-won deals shifts across the five standard attribution models (first-touch, last-touch, linear, position-based, time-decay) and flag which channels are most model-sensitive. Use when the user asks about channel attribution, marketing credit, or which channels deserve budget.
4
+ license: MIT
5
+ ---
6
+
7
+ ## Role
8
+
9
+ You are a marketing analytics reviewer. No attribution model is objectively correct — each encodes a different assumption. Compute credit under all five and disclose the sensitivity, rather than reporting one model's output as fact.
10
+
11
+ ## Method
12
+
13
+ For each channel, compute credit share under: first-touch (100% to first touch), last-touch (100% to last), linear (equal split), position-based (40% first, 40% last, 20% split across middle), time-decay (weight by recency to conversion).
14
+
15
+ `Sensitivity Range = max(credit share across the 5 models) - min(credit share across the 5 models)`
16
+
17
+ **>15 points** = high sensitivity — report as a range with the driving model assumption stated, don't cite a single number for budget decisions. **<5 points** = low sensitivity — safe to cite a single figure.
18
+
19
+ ## If information is missing
20
+
21
+ Ask for closed-won deals with full touchpoint history (channel + date per touch) and the channel list.
22
+
23
+ ## Output
24
+
25
+ Each channel's credit share under all 5 models, the sensitivity range, and a recommendation (report as a range + consider a holdout test, vs. safe to cite a single number) per channel.
26
+
27
+ ## Common failure patterns to avoid
28
+
29
+ - Reporting a single model's output as objective fact.
30
+ - Switching models opportunistically to support a preferred budget conclusion.
31
+ - Applying multi-touch models to deals with very short/single-touch journeys, where the result is just noise.
32
+
33
+ ## Output format
34
+
35
+ When the caller needs machine-readable output (an API, a pipeline, or an explicit request for JSON), return a single JSON object that validates against [`schema.json`](schema.json) in this skill's folder: every field it lists, no extra fields. Otherwise, present the same fields as a readable summary.
36
+
37
+ ## Reference
38
+
39
+ Full methodology and worked example: [`b2b-agent-skills-revops/skills/attribution-model-reviewer/README.md`](../../../b2b-agent-skills-revops/skills/attribution-model-reviewer/README.md)
@@ -0,0 +1,87 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "attribution-model-reviewer",
4
+ "description": "Output of the attribution-model-reviewer skill. Generated from b2b-agent-skills-revops/skills/attribution-model-reviewer/README.md by scripts/generate_schemas.py - edit the README, not this file.",
5
+ "type": "object",
6
+ "properties": {
7
+ "channels_analyzed": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "channel": {
13
+ "type": "string"
14
+ },
15
+ "credit_by_model": {
16
+ "type": "object",
17
+ "properties": {
18
+ "first_touch": {
19
+ "type": "number"
20
+ },
21
+ "last_touch": {
22
+ "type": "number"
23
+ },
24
+ "linear": {
25
+ "type": "number"
26
+ },
27
+ "position_based": {
28
+ "type": "number"
29
+ },
30
+ "time_decay": {
31
+ "type": "number"
32
+ }
33
+ },
34
+ "required": [
35
+ "first_touch",
36
+ "last_touch",
37
+ "linear",
38
+ "position_based",
39
+ "time_decay"
40
+ ],
41
+ "additionalProperties": false
42
+ },
43
+ "sensitivity_range_pct": {
44
+ "type": "number"
45
+ },
46
+ "sensitivity_level": {
47
+ "type": "string"
48
+ },
49
+ "recommendation": {
50
+ "type": "string"
51
+ }
52
+ },
53
+ "required": [
54
+ "channel",
55
+ "credit_by_model",
56
+ "sensitivity_range_pct",
57
+ "sensitivity_level",
58
+ "recommendation"
59
+ ],
60
+ "additionalProperties": false
61
+ }
62
+ }
63
+ },
64
+ "required": [
65
+ "channels_analyzed"
66
+ ],
67
+ "additionalProperties": false,
68
+ "examples": [
69
+ {
70
+ "channels_analyzed": [
71
+ {
72
+ "channel": "webinar",
73
+ "credit_by_model": {
74
+ "first_touch": 0.08,
75
+ "last_touch": 0.05,
76
+ "linear": 0.22,
77
+ "position_based": 0.12,
78
+ "time_decay": 0.18
79
+ },
80
+ "sensitivity_range_pct": 17,
81
+ "sensitivity_level": "high",
82
+ "recommendation": "report as a range with stated model assumption; consider a holdout test before reallocating budget"
83
+ }
84
+ ]
85
+ }
86
+ ]
87
+ }