100xprism 2.3.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 (207) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +196 -0
  3. package/VERSION +1 -0
  4. package/adapters/antigravity.sh +14 -0
  5. package/adapters/claude-code.sh +160 -0
  6. package/adapters/codex.sh +13 -0
  7. package/adapters/copilot.sh +13 -0
  8. package/adapters/cursor.sh +13 -0
  9. package/adapters/gemini.sh +13 -0
  10. package/adapters/lib/__pycache__/modules.cpython-312.pyc +0 -0
  11. package/adapters/lib/modules.py +592 -0
  12. package/adapters/lib/shared.sh +83 -0
  13. package/adapters/lib/sync_plugins.py +113 -0
  14. package/adapters/windsurf.sh +15 -0
  15. package/bin/100xprism.js +29 -0
  16. package/get.sh +24 -0
  17. package/install-project.sh +82 -0
  18. package/install.sh +281 -0
  19. package/lib/adapters/windows.js +429 -0
  20. package/lib/bootstrap.js +33 -0
  21. package/lib/init.js +19 -0
  22. package/lib/install.js +18 -0
  23. package/lib/migrate.js +52 -0
  24. package/lib/platform.js +22 -0
  25. package/lib/update.js +29 -0
  26. package/modules/_lib/reference.md +77 -0
  27. package/modules/a11y-auditor/SKILL.md +151 -0
  28. package/modules/ab-test-setup/SKILL.md +266 -0
  29. package/modules/ab-test-setup/evals/evals.json +105 -0
  30. package/modules/ab-test-setup/references/sample-size-guide.md +263 -0
  31. package/modules/ab-test-setup/references/test-templates.md +277 -0
  32. package/modules/ad-creative/SKILL.md +362 -0
  33. package/modules/ad-creative/evals/evals.json +90 -0
  34. package/modules/ad-creative/references/generative-tools.md +637 -0
  35. package/modules/ad-creative/references/platform-specs.md +213 -0
  36. package/modules/ai-seo/SKILL.md +398 -0
  37. package/modules/ai-seo/evals/evals.json +90 -0
  38. package/modules/ai-seo/references/content-patterns.md +285 -0
  39. package/modules/ai-seo/references/platform-ranking-factors.md +152 -0
  40. package/modules/analytics-tracking/SKILL.md +309 -0
  41. package/modules/analytics-tracking/evals/evals.json +90 -0
  42. package/modules/analytics-tracking/references/event-library.md +260 -0
  43. package/modules/analytics-tracking/references/ga4-implementation.md +300 -0
  44. package/modules/analytics-tracking/references/gtm-implementation.md +390 -0
  45. package/modules/architect/SKILL.md +282 -0
  46. package/modules/branch/SKILL.md +105 -0
  47. package/modules/churn-prevention/SKILL.md +424 -0
  48. package/modules/churn-prevention/evals/evals.json +93 -0
  49. package/modules/churn-prevention/references/cancel-flow-patterns.md +316 -0
  50. package/modules/churn-prevention/references/dunning-playbook.md +408 -0
  51. package/modules/cloud-security/SKILL.md +240 -0
  52. package/modules/cold-email/SKILL.md +178 -0
  53. package/modules/cold-email/evals/evals.json +94 -0
  54. package/modules/cold-email/references/benchmarks.md +83 -0
  55. package/modules/cold-email/references/follow-up-sequences.md +81 -0
  56. package/modules/cold-email/references/frameworks.md +90 -0
  57. package/modules/cold-email/references/personalization.md +79 -0
  58. package/modules/cold-email/references/subject-lines.md +53 -0
  59. package/modules/commit/SKILL.md +195 -0
  60. package/modules/competitor-alternatives/SKILL.md +256 -0
  61. package/modules/competitor-alternatives/evals/evals.json +93 -0
  62. package/modules/competitor-alternatives/references/content-architecture.md +271 -0
  63. package/modules/competitor-alternatives/references/templates.md +223 -0
  64. package/modules/connect/SKILL.md +894 -0
  65. package/modules/content-strategy/SKILL.md +359 -0
  66. package/modules/content-strategy/evals/evals.json +90 -0
  67. package/modules/context-dump/SKILL.md +67 -0
  68. package/modules/copy-editing/SKILL.md +447 -0
  69. package/modules/copy-editing/evals/evals.json +89 -0
  70. package/modules/copy-editing/references/plain-english-alternatives.md +394 -0
  71. package/modules/copywriting/SKILL.md +271 -0
  72. package/modules/copywriting/evals/evals.json +111 -0
  73. package/modules/copywriting/references/cold-email-benchmarks.md +83 -0
  74. package/modules/copywriting/references/cold-email-follow-ups.md +81 -0
  75. package/modules/copywriting/references/cold-email-frameworks.md +90 -0
  76. package/modules/copywriting/references/cold-email-personalization.md +79 -0
  77. package/modules/copywriting/references/cold-email-subject-lines.md +53 -0
  78. package/modules/copywriting/references/copy-frameworks.md +344 -0
  79. package/modules/copywriting/references/email-copy-guidelines.md +113 -0
  80. package/modules/copywriting/references/email-types.md +515 -0
  81. package/modules/copywriting/references/natural-transitions.md +272 -0
  82. package/modules/copywriting/references/sequence-templates.md +168 -0
  83. package/modules/data-query/SKILL.md +58 -0
  84. package/modules/data-viz/SKILL.md +225 -0
  85. package/modules/db/SKILL.md +205 -0
  86. package/modules/db/db-engines/_router.md +24 -0
  87. package/modules/db/db-engines/athena.md +16 -0
  88. package/modules/db/db-engines/cloud-sql.md +16 -0
  89. package/modules/db/db-engines/databricks.md +14 -0
  90. package/modules/db/db-engines/oracle.md +14 -0
  91. package/modules/db/db-engines/postgres.md +15 -0
  92. package/modules/db/db-engines/presto.md +14 -0
  93. package/modules/db/db-engines/snowflake.md +14 -0
  94. package/modules/docs/SKILL.md +100 -0
  95. package/modules/email-sequence/SKILL.md +309 -0
  96. package/modules/email-sequence/evals/evals.json +93 -0
  97. package/modules/email-sequence/references/copy-guidelines.md +113 -0
  98. package/modules/email-sequence/references/email-types.md +515 -0
  99. package/modules/email-sequence/references/sequence-templates.md +168 -0
  100. package/modules/enterprise-design/SKILL.md +75 -0
  101. package/modules/eval/SKILL.md +105 -0
  102. package/modules/figma-translator/SKILL.md +49 -0
  103. package/modules/fix-bugs/SKILL.md +104 -0
  104. package/modules/form-cro/SKILL.md +429 -0
  105. package/modules/form-cro/evals/evals.json +90 -0
  106. package/modules/free-tool-strategy/SKILL.md +178 -0
  107. package/modules/free-tool-strategy/evals/evals.json +90 -0
  108. package/modules/free-tool-strategy/references/tool-types.md +217 -0
  109. package/modules/gate/SKILL.md +232 -0
  110. package/modules/grill-me/SKILL.md +59 -0
  111. package/modules/interaction-engineer/SKILL.md +49 -0
  112. package/modules/issue/SKILL.md +272 -0
  113. package/modules/launch/SKILL.md +345 -0
  114. package/modules/launch-strategy/SKILL.md +353 -0
  115. package/modules/launch-strategy/evals/evals.json +91 -0
  116. package/modules/lint/SKILL.md +126 -0
  117. package/modules/marketing-ideas/SKILL.md +167 -0
  118. package/modules/marketing-ideas/evals/evals.json +90 -0
  119. package/modules/marketing-ideas/references/ideas-by-category.md +366 -0
  120. package/modules/marketing-psychology/SKILL.md +455 -0
  121. package/modules/marketing-psychology/evals/evals.json +88 -0
  122. package/modules/motion-designer/SKILL.md +214 -0
  123. package/modules/onboarding-cro/SKILL.md +220 -0
  124. package/modules/onboarding-cro/evals/evals.json +92 -0
  125. package/modules/onboarding-cro/references/experiments.md +258 -0
  126. package/modules/orchestrate/SKILL.md +77 -0
  127. package/modules/page-cro/SKILL.md +182 -0
  128. package/modules/page-cro/evals/evals.json +111 -0
  129. package/modules/page-cro/references/experiments.md +248 -0
  130. package/modules/page-cro/references/paywall-experiments.md +164 -0
  131. package/modules/paid-ads/SKILL.md +315 -0
  132. package/modules/paid-ads/evals/evals.json +90 -0
  133. package/modules/paid-ads/references/ad-copy-templates.md +207 -0
  134. package/modules/paid-ads/references/audience-targeting.md +243 -0
  135. package/modules/paid-ads/references/platform-setup-checklists.md +277 -0
  136. package/modules/paywall-upgrade-cro/SKILL.md +227 -0
  137. package/modules/paywall-upgrade-cro/evals/evals.json +93 -0
  138. package/modules/paywall-upgrade-cro/references/experiments.md +164 -0
  139. package/modules/popup-cro/SKILL.md +453 -0
  140. package/modules/popup-cro/evals/evals.json +94 -0
  141. package/modules/pr/SKILL.md +203 -0
  142. package/modules/pricing-strategy/SKILL.md +231 -0
  143. package/modules/pricing-strategy/evals/evals.json +90 -0
  144. package/modules/pricing-strategy/references/research-methods.md +152 -0
  145. package/modules/pricing-strategy/references/tier-structure.md +232 -0
  146. package/modules/product-marketing-context/SKILL.md +241 -0
  147. package/modules/product-marketing-context/evals/evals.json +85 -0
  148. package/modules/programmatic-seo/SKILL.md +238 -0
  149. package/modules/programmatic-seo/evals/evals.json +94 -0
  150. package/modules/programmatic-seo/references/playbooks.md +308 -0
  151. package/modules/push/SKILL.md +202 -0
  152. package/modules/referral-program/SKILL.md +255 -0
  153. package/modules/referral-program/evals/evals.json +89 -0
  154. package/modules/referral-program/references/affiliate-programs.md +164 -0
  155. package/modules/referral-program/references/program-examples.md +143 -0
  156. package/modules/release/SKILL.md +293 -0
  157. package/modules/revops/SKILL.md +343 -0
  158. package/modules/revops/evals/evals.json +91 -0
  159. package/modules/revops/references/automation-playbooks.md +290 -0
  160. package/modules/revops/references/lifecycle-definitions.md +278 -0
  161. package/modules/revops/references/routing-rules.md +203 -0
  162. package/modules/revops/references/scoring-models.md +247 -0
  163. package/modules/sales-enablement/SKILL.md +349 -0
  164. package/modules/sales-enablement/evals/evals.json +91 -0
  165. package/modules/sales-enablement/references/deck-frameworks.md +263 -0
  166. package/modules/sales-enablement/references/demo-scripts.md +355 -0
  167. package/modules/sales-enablement/references/objection-library.md +270 -0
  168. package/modules/sales-enablement/references/one-pager-templates.md +208 -0
  169. package/modules/schema-markup/SKILL.md +179 -0
  170. package/modules/schema-markup/evals/evals.json +87 -0
  171. package/modules/schema-markup/references/schema-examples.md +398 -0
  172. package/modules/security/SKILL.md +138 -0
  173. package/modules/seo-audit/SKILL.md +412 -0
  174. package/modules/seo-audit/evals/evals.json +136 -0
  175. package/modules/seo-audit/references/ai-writing-detection.md +200 -0
  176. package/modules/seo-audit/references/content-patterns.md +285 -0
  177. package/modules/seo-audit/references/platform-ranking-factors.md +152 -0
  178. package/modules/signup-flow-cro/SKILL.md +359 -0
  179. package/modules/signup-flow-cro/evals/evals.json +88 -0
  180. package/modules/site-architecture/SKILL.md +357 -0
  181. package/modules/site-architecture/evals/evals.json +88 -0
  182. package/modules/site-architecture/references/mermaid-templates.md +216 -0
  183. package/modules/site-architecture/references/navigation-patterns.md +305 -0
  184. package/modules/site-architecture/references/site-type-templates.md +293 -0
  185. package/modules/social-content/SKILL.md +278 -0
  186. package/modules/social-content/evals/evals.json +92 -0
  187. package/modules/social-content/references/platforms.md +170 -0
  188. package/modules/social-content/references/post-templates.md +177 -0
  189. package/modules/social-content/references/reverse-engineering.md +195 -0
  190. package/modules/spec/SKILL.md +81 -0
  191. package/modules/subagents/SKILL.md +123 -0
  192. package/modules/techdebt/SKILL.md +71 -0
  193. package/modules/terminal-setup/SKILL.md +49 -0
  194. package/modules/test/SKILL.md +493 -0
  195. package/modules/test/references/e2e-patterns.md +294 -0
  196. package/modules/update-claude-md/SKILL.md +52 -0
  197. package/modules/visual-system-architect/SKILL.md +53 -0
  198. package/package.json +44 -0
  199. package/plugins/plugins.json +43 -0
  200. package/shell/aliases.sh +24 -0
  201. package/shell/check-update.sh +212 -0
  202. package/templates/.env.example +199 -0
  203. package/templates/docker-compose.md +46 -0
  204. package/templates/node-frontend.md +56 -0
  205. package/templates/node-fullstack.md +59 -0
  206. package/templates/python-api.md +57 -0
  207. package/update.sh +231 -0
@@ -0,0 +1,53 @@
1
+ # Subject Line Optimization
2
+
3
+ The subject line determines whether the email gets read. The data is counterintuitive: **short, boring, internal-looking subject lines win decisively.**
4
+
5
+ ## Length: 2–4 words
6
+
7
+ - 2-word subject lines get **60% more opens** than 5-word (Lavender).
8
+ - Going from 2 to 4 words reduces replies by **17.5%**.
9
+ - 2–4 words yield **46% open rates** vs 34% for 10 words (Belkins, 5.5M emails).
10
+ - Mobile truncates at 30–35 characters — brevity is practical necessity.
11
+
12
+ ## Internal Camouflage Principle
13
+
14
+ Subject lines that look like they came from a colleague, not a vendor, double open rates (Gong). Buyers mentally categorize before opening — if it looks like sales, it's filtered.
15
+
16
+ **High-performing examples:** "reply rates" · "trial delays" · "hiring ops" · "employee turnover" · "Q2 forecast" · "new patients" · "personalization issue" · "second page"
17
+
18
+ ## Capitalization: lowercase wins
19
+
20
+ All-lowercase has highest open rates (Gong, 85M+ emails). Lowercase looks more personal/internal. For cold outreach specifically, lowercase beats title case.
21
+
22
+ ## Personalization: context over name
23
+
24
+ Personalized subject lines boost opens **26–50%**, but type matters:
25
+
26
+ - **First name in subject line → 12% fewer replies.** Signals automation.
27
+ - **Contextual personalization works:** pain points, competitors, trigger events, industry challenges.
28
+ - Use {{painPoint}}, {{competitor}}, {{commonGround}} — not {{firstName}}.
29
+
30
+ ## Questions: only when highly specific
31
+
32
+ Data conflicts: Belkins says questions perform well (46% open rate). Lavender says questions lower opens by **56%**. Resolution: **specific pain questions work** ("Need help with {{challenge}}?"), **generic questions fail** ("Quick question?" / "Have 15 minutes?"). Default to statements.
33
+
34
+ ## What to Avoid
35
+
36
+ | Anti-pattern | Impact |
37
+ | ---------------------------------------------- | --------------------------- |
38
+ | Salesy language ("increase," "boost," "ROI") | -17.9% opens |
39
+ | Urgency words ("ASAP," "urgent") | Below 36% opens |
40
+ | Excessive punctuation ("!!!" or "??") | -36% opens |
41
+ | Numbers and percentages | -46% opens |
42
+ | Emojis | Hurt B2B professionalism |
43
+ | Pitching product in subject | -57% replies |
44
+ | Empty/no subject line | +30% opens but -12% replies |
45
+ | Spam triggers ("free," "guarantee," "act now") | Deliverability risk |
46
+
47
+ ## C-Suite Subject Lines
48
+
49
+ Executives receive 300–400 emails daily, decide in seconds. They respond **23% more often** than non-C-suite when emails pass their filter (6.4% reply rate).
50
+
51
+ What works: ultra-concise, human, understated. "{{companyInitiative}}" · "thank you" · "an update" · "a question" · reference to a specific project or trigger event.
52
+
53
+ Anything "salesy" is immediately rejected.
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: commit
3
+ description: Quality gate runs FIRST. **Do NOT commit if any gate fails.**
4
+ category: lifecycle
5
+ tier: core
6
+ slash_command: /commit
7
+ ---
8
+
9
+ # Commit — Gate → Stage → Commit
10
+
11
+ Quality gate runs FIRST. **Do NOT commit if any gate fails.**
12
+
13
+ ## Do NOT ask for permission. Do NOT skip the gate.
14
+
15
+ ---
16
+
17
+ ## Phase 0 — Quality Gate (MANDATORY)
18
+
19
+ Check gate cache first — skip if it already passed for this exact tree state. The
20
+ cache is keyed on a tree token (HEAD + tracked diff + untracked files), not a bare
21
+ HEAD, so a dirty or rebased tree never reuses a stale pass:
22
+
23
+ ```bash
24
+ TOKEN=$(python3 ~/100xprism/hooks/gate-pass.py --print 2>/dev/null)
25
+ CACHED=$(cat ~/.100xprism/gate-cache 2>/dev/null)
26
+ [ -n "$TOKEN" ] && [ "$CACHED" = "$TOKEN" ] && echo "Gate: skipped (already passed for this tree)" && GATE_DONE=true || GATE_DONE=false
27
+ ```
28
+
29
+ If `GATE_DONE=false`: run the **gate** workflow. On pass, record it (same token the
30
+ gate-on-commit hook checks):
31
+ ```bash
32
+ python3 ~/100xprism/hooks/gate-pass.py
33
+ ```
34
+
35
+ Do NOT proceed until gate reports `✅ ALL GATES PASSED`. If any gate fails → STOP, fix, clear cache, re-run gate.
36
+
37
+ ---
38
+
39
+ ## Phase 1 — Review changes
40
+
41
+ ```bash
42
+ PROJECT_ROOT=$(git rev-parse --show-toplevel)
43
+ cd "$PROJECT_ROOT"
44
+ git status
45
+ git diff --stat
46
+ git diff --name-only HEAD 2>/dev/null || true
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Phase 2 — Update docs (if needed)
52
+
53
+ Based on what changed, update corresponding documentation:
54
+
55
+ | Changed files | Doc to update |
56
+ |---|---|
57
+ | API routes or handlers | API reference doc (README, project instruction file, or `docs/`) |
58
+ | CLI commands or flags | CLI reference doc |
59
+ | New features or config | README.md or project-equivalent |
60
+ | Removed files/features | Remove stale references from all docs |
61
+ | `.claude/commands/**` | No doc update needed |
62
+
63
+ Read the project instruction file for specific doc file paths. Skip if no docs are affected.
64
+
65
+ ---
66
+
67
+ ## Phase 3 — Stage files
68
+
69
+ Stage only task-related files. Never stage `.env`, `dist/`, `node_modules/`, `venv/`, unrelated work:
70
+
71
+ ```bash
72
+ git add -u
73
+ # Or stage specific files if -u picks up unrelated changes:
74
+ # git add path/to/file1 path/to/file2
75
+ git diff --staged --stat
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Phase 4 — Write and create commit
81
+
82
+ Use [Conventional Commits](https://www.conventionalcommits.org/). Focus on **why**, not just what.
83
+
84
+ | Type | When to use |
85
+ |---|---|
86
+ | `feat` | New feature or capability |
87
+ | `fix` | Bug fix |
88
+ | `test` | Adding or updating tests |
89
+ | `chore` | Tooling, config, scripts, CI |
90
+ | `docs` | Documentation only |
91
+ | `refactor` | Code change with no behavior change |
92
+ | `perf` | Performance improvement |
93
+ | `security` | Vulnerability fix |
94
+
95
+ ```bash
96
+ git commit -m "$(cat <<'EOF'
97
+ <type>(<scope>): <short summary under 72 chars>
98
+
99
+ - <Key change 1 and why>
100
+ - <Key change 2 and why>
101
+
102
+ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
103
+ EOF
104
+ )"
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Phase 5 — Code Review
110
+
111
+ Check review cache — skip if this HEAD was already reviewed:
112
+
113
+ ```bash
114
+ HEAD=$(git rev-parse HEAD)
115
+ REVIEWED=$(cat ~/.100xprism/review-cache 2>/dev/null)
116
+ [ "$REVIEWED" = "$HEAD" ] && echo "Review: skipped (already done for $HEAD)" && exit 0
117
+ ```
118
+
119
+ Otherwise, run a full review:
120
+
121
+ ```bash
122
+ git diff HEAD~1 --stat
123
+ PR=$(gh pr list --head "$(git branch --show-current)" --json number -q '.[0].number' 2>/dev/null)
124
+ [ -n "$PR" ] && echo "PR #$PR found" || echo "No PR — running diff review"
125
+ ```
126
+
127
+ **If a PR exists** → run the **code-review** skill: `/review $PR`
128
+
129
+ **If no PR** → spawn **one** review Agent on `git diff HEAD~1`. The Agent reads the full diff and scans surrounding codebase for context. Cover all five dimensions in a single pass:
130
+
131
+ ### Review dimensions (all required)
132
+
133
+ **1. Bug review**
134
+ - Null/undefined dereferences, off-by-one errors, wrong conditions
135
+ - Unhandled error paths, missing awaits, silent catch blocks
136
+ - Race conditions, state mutation side effects
137
+
138
+ **2. Security review**
139
+ - Injection vectors (SQL, shell, XSS), auth bypass, missing input validation
140
+ - Exposed secrets or tokens, insecure defaults, overly permissive CORS/headers
141
+ - Privilege escalation risks in new routes or handlers
142
+
143
+ **3. Architecture review**
144
+ - Does the change respect existing layer boundaries (e.g. routes → services → DB, not routes → DB directly)?
145
+ - Does it introduce patterns inconsistent with the rest of the codebase?
146
+ - Are new abstractions justified, or is this premature generalization?
147
+ - Does it create circular dependencies or tight coupling between modules?
148
+ - Does it belong in the right layer/module — or is it a responsibility leak?
149
+
150
+ **4. Design review**
151
+ - Are names (variables, functions, files) clear and consistent with existing conventions?
152
+ - Is the interface (function signatures, return types, API shape) clean and minimal?
153
+ - Is there unnecessary duplication that should be extracted — or over-extracted abstraction that should be inlined?
154
+ - Do new data structures match the project's existing patterns (shape, naming, serialization)?
155
+ - Are SOLID principles respected — single responsibility, open/closed, dependency inversion?
156
+
157
+ **5. CLAUDE.md / project rules compliance**
158
+ - Read the project instruction file and verify all new code follows its conventions
159
+ - Flag any deviation from documented patterns, naming rules, or architectural decisions
160
+
161
+ ### Severity
162
+
163
+ | Level | Action |
164
+ |---|---|
165
+ | **Critical** | Bug, security hole, or architectural violation that breaks correctness or safety → fix before push |
166
+ | **High** | Design smell or pattern inconsistency that will compound over time → fix before push |
167
+ | **Minor** | Style, naming preference, small improvement → log, non-blocking |
168
+
169
+ **Critical or High issues found** → fix now, create a new commit, re-run gate. Do NOT push.
170
+
171
+ On clean review, cache the result so push skips re-reviewing the same HEAD:
172
+ ```bash
173
+ echo "$(git rev-parse HEAD)" > ~/.100xprism/review-cache
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Phase 6 — Verify
179
+
180
+ ```bash
181
+ git log --oneline -3
182
+ ```
183
+
184
+ ---
185
+
186
+ ## Output
187
+
188
+ ```
189
+ === /commit Complete ===
190
+ Gate: ✅ ALL GATES PASSED
191
+ Staged files: N
192
+ Commit: <short-hash> <message>
193
+ Review: ✅ No critical issues | ⚠️ N minor notes
194
+ Status: COMMITTED ✅
195
+ ```
@@ -0,0 +1,256 @@
1
+ ---
2
+ name: competitor-alternatives
3
+ description: "When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement."
4
+ category: marketing
5
+ tier: on-demand
6
+ ---
7
+
8
+ # Competitor & Alternative Pages
9
+
10
+ You are an expert in creating competitor comparison and alternative pages. Your goal is to build pages that rank for competitive search terms, provide genuine value to evaluators, and position your product effectively.
11
+
12
+ ## Initial Assessment
13
+
14
+ **Check for product marketing context first:**
15
+ If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
16
+
17
+ Before creating competitor pages, understand:
18
+
19
+ 1. **Your Product**
20
+ - Core value proposition
21
+ - Key differentiators
22
+ - Ideal customer profile
23
+ - Pricing model
24
+ - Strengths and honest weaknesses
25
+
26
+ 2. **Competitive Landscape**
27
+ - Direct competitors
28
+ - Indirect/adjacent competitors
29
+ - Market positioning of each
30
+ - Search volume for competitor terms
31
+
32
+ 3. **Goals**
33
+ - SEO traffic capture
34
+ - Sales enablement
35
+ - Conversion from competitor users
36
+ - Brand positioning
37
+
38
+ ---
39
+
40
+ ## Core Principles
41
+
42
+ ### 1. Honesty Builds Trust
43
+ - Acknowledge competitor strengths
44
+ - Be accurate about your limitations
45
+ - Don't misrepresent competitor features
46
+ - Readers are comparing—they'll verify claims
47
+
48
+ ### 2. Depth Over Surface
49
+ - Go beyond feature checklists
50
+ - Explain *why* differences matter
51
+ - Include use cases and scenarios
52
+ - Show, don't just tell
53
+
54
+ ### 3. Help Them Decide
55
+ - Different tools fit different needs
56
+ - Be clear about who you're best for
57
+ - Be clear about who competitor is best for
58
+ - Reduce evaluation friction
59
+
60
+ ### 4. Modular Content Architecture
61
+ - Competitor data should be centralized
62
+ - Updates propagate to all pages
63
+ - Single source of truth per competitor
64
+
65
+ ---
66
+
67
+ ## Page Formats
68
+
69
+ ### Format 1: [Competitor] Alternative (Singular)
70
+
71
+ **Search intent**: User is actively looking to switch from a specific competitor
72
+
73
+ **URL pattern**: `/alternatives/[competitor]` or `/[competitor]-alternative`
74
+
75
+ **Target keywords**: "[Competitor] alternative", "alternative to [Competitor]", "switch from [Competitor]"
76
+
77
+ **Page structure**:
78
+ 1. Why people look for alternatives (validate their pain)
79
+ 2. Summary: You as the alternative (quick positioning)
80
+ 3. Detailed comparison (features, service, pricing)
81
+ 4. Who should switch (and who shouldn't)
82
+ 5. Migration path
83
+ 6. Social proof from switchers
84
+ 7. CTA
85
+
86
+ ---
87
+
88
+ ### Format 2: [Competitor] Alternatives (Plural)
89
+
90
+ **Search intent**: User is researching options, earlier in journey
91
+
92
+ **URL pattern**: `/alternatives/[competitor]-alternatives`
93
+
94
+ **Target keywords**: "[Competitor] alternatives", "best [Competitor] alternatives", "tools like [Competitor]"
95
+
96
+ **Page structure**:
97
+ 1. Why people look for alternatives (common pain points)
98
+ 2. What to look for in an alternative (criteria framework)
99
+ 3. List of alternatives (you first, but include real options)
100
+ 4. Comparison table (summary)
101
+ 5. Detailed breakdown of each alternative
102
+ 6. Recommendation by use case
103
+ 7. CTA
104
+
105
+ **Important**: Include 4-7 real alternatives. Being genuinely helpful builds trust and ranks better.
106
+
107
+ ---
108
+
109
+ ### Format 3: You vs [Competitor]
110
+
111
+ **Search intent**: User is directly comparing you to a specific competitor
112
+
113
+ **URL pattern**: `/vs/[competitor]` or `/compare/[you]-vs-[competitor]`
114
+
115
+ **Target keywords**: "[You] vs [Competitor]", "[Competitor] vs [You]"
116
+
117
+ **Page structure**:
118
+ 1. TL;DR summary (key differences in 2-3 sentences)
119
+ 2. At-a-glance comparison table
120
+ 3. Detailed comparison by category (Features, Pricing, Support, Ease of use, Integrations)
121
+ 4. Who [You] is best for
122
+ 5. Who [Competitor] is best for (be honest)
123
+ 6. What customers say (testimonials from switchers)
124
+ 7. Migration support
125
+ 8. CTA
126
+
127
+ ---
128
+
129
+ ### Format 4: [Competitor A] vs [Competitor B]
130
+
131
+ **Search intent**: User comparing two competitors (not you directly)
132
+
133
+ **URL pattern**: `/compare/[competitor-a]-vs-[competitor-b]`
134
+
135
+ **Page structure**:
136
+ 1. Overview of both products
137
+ 2. Comparison by category
138
+ 3. Who each is best for
139
+ 4. The third option (introduce yourself)
140
+ 5. Comparison table (all three)
141
+ 6. CTA
142
+
143
+ **Why this works**: Captures search traffic for competitor terms, positions you as knowledgeable.
144
+
145
+ ---
146
+
147
+ ## Essential Sections
148
+
149
+ ### TL;DR Summary
150
+ Start every page with a quick summary for scanners—key differences in 2-3 sentences.
151
+
152
+ ### Paragraph Comparisons
153
+ Go beyond tables. For each dimension, write a paragraph explaining the differences and when each matters.
154
+
155
+ ### Feature Comparison
156
+ For each category: describe how each handles it, list strengths and limitations, give bottom line recommendation.
157
+
158
+ ### Pricing Comparison
159
+ Include tier-by-tier comparison, what's included, hidden costs, and total cost calculation for sample team size.
160
+
161
+ ### Who It's For
162
+ Be explicit about ideal customer for each option. Honest recommendations build trust.
163
+
164
+ ### Migration Section
165
+ Cover what transfers, what needs reconfiguration, support offered, and quotes from customers who switched.
166
+
167
+ **For detailed templates**: See [references/templates.md](references/templates.md)
168
+
169
+ ---
170
+
171
+ ## Content Architecture
172
+
173
+ ### Centralized Competitor Data
174
+ Create a single source of truth for each competitor with:
175
+ - Positioning and target audience
176
+ - Pricing (all tiers)
177
+ - Feature ratings
178
+ - Strengths and weaknesses
179
+ - Best for / not ideal for
180
+ - Common complaints (from reviews)
181
+ - Migration notes
182
+
183
+ **For data structure and examples**: See [references/content-architecture.md](references/content-architecture.md)
184
+
185
+ ---
186
+
187
+ ## Research Process
188
+
189
+ ### Deep Competitor Research
190
+
191
+ For each competitor, gather:
192
+
193
+ 1. **Product research**: Sign up, use it, document features/UX/limitations
194
+ 2. **Pricing research**: Current pricing, what's included, hidden costs
195
+ 3. **Review mining**: G2, Capterra, TrustRadius for common praise/complaint themes
196
+ 4. **Customer feedback**: Talk to customers who switched (both directions)
197
+ 5. **Content research**: Their positioning, their comparison pages, their changelog
198
+
199
+ ### Ongoing Updates
200
+
201
+ - **Quarterly**: Verify pricing, check for major feature changes
202
+ - **When notified**: Customer mentions competitor change
203
+ - **Annually**: Full refresh of all competitor data
204
+
205
+ ---
206
+
207
+ ## SEO Considerations
208
+
209
+ ### Keyword Targeting
210
+
211
+ | Format | Primary Keywords |
212
+ |--------|-----------------|
213
+ | Alternative (singular) | [Competitor] alternative, alternative to [Competitor] |
214
+ | Alternatives (plural) | [Competitor] alternatives, best [Competitor] alternatives |
215
+ | You vs Competitor | [You] vs [Competitor], [Competitor] vs [You] |
216
+ | Competitor vs Competitor | [A] vs [B], [B] vs [A] |
217
+
218
+ ### Internal Linking
219
+ - Link between related competitor pages
220
+ - Link from feature pages to relevant comparisons
221
+ - Create hub page linking to all competitor content
222
+
223
+ ### Schema Markup
224
+ Consider FAQ schema for common questions like "What is the best alternative to [Competitor]?"
225
+
226
+ ---
227
+
228
+ ## Output Format
229
+
230
+ ### Competitor Data File
231
+ Complete competitor profile in YAML format for use across all comparison pages.
232
+
233
+ ### Page Content
234
+ For each page: URL, meta tags, full page copy organized by section, comparison tables, CTAs.
235
+
236
+ ### Page Set Plan
237
+ Recommended pages to create with priority order based on search volume.
238
+
239
+ ---
240
+
241
+ ## Task-Specific Questions
242
+
243
+ 1. What are common reasons people switch to you?
244
+ 2. Do you have customer quotes about switching?
245
+ 3. What's your pricing vs. competitors?
246
+ 4. Do you offer migration support?
247
+
248
+ ---
249
+
250
+ ## Related Skills
251
+
252
+ - **programmatic-seo**: For building competitor pages at scale
253
+ - **copywriting**: For writing compelling comparison copy
254
+ - **seo-audit**: For optimizing competitor pages
255
+ - **schema-markup**: For FAQ and comparison schema
256
+ - **sales-enablement**: For internal sales collateral, decks, and objection docs
@@ -0,0 +1,93 @@
1
+ {
2
+ "skill_name": "competitor-alternatives",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Create a 'Best Asana Alternatives' page for our project management tool. We compete mainly on price (we're $8/user vs their $24/user) and simplicity (they've become bloated). Target audience is small teams (5-20 people).",
7
+ "expected_output": "Should check for product-marketing-context.md first. Should identify this as the plural alternatives format ([Competitor] Alternatives). Should include the essential sections: TL;DR comparison, brief paragraphs on each alternative (including the user's product positioned first or prominently), feature comparison table, pricing comparison, who each alternative is best for. Should use the modular content architecture approach. Should address SEO considerations for the target keyword 'Asana alternatives.' Should position the user's product with the stated differentiators (price, simplicity).",
8
+ "assertions": [
9
+ "Checks for product-marketing-context.md",
10
+ "Identifies as plural alternatives format",
11
+ "Includes TL;DR comparison section",
12
+ "Includes feature comparison table",
13
+ "Includes pricing comparison",
14
+ "Includes 'who it's best for' per alternative",
15
+ "Positions user's product prominently with differentiators",
16
+ "Addresses SEO for target keyword"
17
+ ],
18
+ "files": []
19
+ },
20
+ {
21
+ "id": 2,
22
+ "prompt": "Write a 'HubSpot vs Salesforce' comparison page. We're HubSpot and want to show why we're the better choice for SMBs.",
23
+ "expected_output": "Should identify this as the 'you vs competitor' format. Should include structured comparison sections: overview of both, feature-by-feature comparison, pricing comparison, pros/cons of each, who each is best for, and migration path. Should be factually accurate about the competitor while strategically positioning the user's product. Should include a TL;DR at the top. Should address the SMB angle throughout. Should use the centralized competitor data architecture pattern.",
24
+ "assertions": [
25
+ "Identifies as 'you vs competitor' format",
26
+ "Includes structured comparison sections",
27
+ "Includes feature-by-feature comparison",
28
+ "Includes pricing comparison",
29
+ "Includes TL;DR at the top",
30
+ "Factually accurate about competitor",
31
+ "Strategically positions user's product for SMBs",
32
+ "Includes migration path or switching section"
33
+ ],
34
+ "files": []
35
+ },
36
+ {
37
+ "id": 3,
38
+ "prompt": "we need a page targeting 'mailchimp alternative' (singular). we're an email marketing platform focused on e-commerce brands.",
39
+ "expected_output": "Should trigger on casual phrasing. Should identify this as the singular alternative format ([Competitor] Alternative — positioning your product as THE alternative). Should focus the entire page on why the user's product is the best Mailchimp alternative for e-commerce. Should include: why people switch from Mailchimp, what the user's product does better (e-commerce specific features), feature comparison, pricing comparison, migration guide, customer testimonials. Should optimize for the singular keyword 'Mailchimp alternative.'",
40
+ "assertions": [
41
+ "Triggers on casual phrasing",
42
+ "Identifies as singular alternative format",
43
+ "Focuses on user's product as THE alternative",
44
+ "Includes why people switch from Mailchimp",
45
+ "Highlights e-commerce-specific advantages",
46
+ "Includes feature and pricing comparison",
47
+ "Includes migration guide",
48
+ "Optimizes for singular keyword"
49
+ ],
50
+ "files": []
51
+ },
52
+ {
53
+ "id": 4,
54
+ "prompt": "Can you create a comparison page for 'Notion vs Coda'? We're a third-party review site, not affiliated with either product.",
55
+ "expected_output": "Should identify this as the 'competitor vs competitor' format (third-party perspective). Should maintain objectivity since the user isn't either product. Should include balanced comparison: overview of both, feature comparison, pricing, pros/cons, use case recommendations. Should use the essential page sections from the skill. Should suggest how to monetize the page (affiliate links, CTA to the user's own product if relevant). Should address SEO for the 'Notion vs Coda' keyword.",
56
+ "assertions": [
57
+ "Identifies as 'competitor vs competitor' format",
58
+ "Maintains objectivity (third-party perspective)",
59
+ "Includes balanced feature comparison",
60
+ "Includes pricing comparison",
61
+ "Includes use case recommendations",
62
+ "Addresses SEO considerations",
63
+ "Suggests monetization approach"
64
+ ],
65
+ "files": []
66
+ },
67
+ {
68
+ "id": 5,
69
+ "prompt": "We want to build a whole competitor comparison hub. We have 5 main competitors and want to create alternative pages for each, plus head-to-head comparisons. How should we structure this?",
70
+ "expected_output": "Should apply the centralized competitor data architecture. Should recommend a hub structure with: individual alternative pages for each competitor (5 singular pages), a 'best alternatives' roundup page, head-to-head comparison pages for key matchups. Should address internal linking strategy between these pages. Should recommend the research process for gathering competitive data. Should address URL structure and site architecture for the hub.",
71
+ "assertions": [
72
+ "Applies centralized competitor data architecture",
73
+ "Recommends hub structure with multiple page types",
74
+ "Suggests individual and roundup alternative pages",
75
+ "Addresses internal linking between comparison pages",
76
+ "Recommends research process for competitive data",
77
+ "Addresses URL structure"
78
+ ],
79
+ "files": []
80
+ },
81
+ {
82
+ "id": 6,
83
+ "prompt": "I need to create a battle card for our sales team comparing us to Zendesk. It should help reps handle competitive objections during sales calls.",
84
+ "expected_output": "Should recognize this as internal sales enablement material, not a public comparison page. Should defer to or cross-reference the sales-enablement skill, which handles battle cards, objection handling docs, and internal competitive collateral. May provide some competitive positioning advice but should make clear that sales-enablement is the right skill for internal sales materials.",
85
+ "assertions": [
86
+ "Recognizes this as internal sales enablement material",
87
+ "References or defers to sales-enablement skill",
88
+ "Does not attempt to create internal battle card using public comparison page patterns"
89
+ ],
90
+ "files": []
91
+ }
92
+ ]
93
+ }