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.
- package/LICENSE +21 -0
- package/README.md +196 -0
- package/VERSION +1 -0
- package/adapters/antigravity.sh +14 -0
- package/adapters/claude-code.sh +160 -0
- package/adapters/codex.sh +13 -0
- package/adapters/copilot.sh +13 -0
- package/adapters/cursor.sh +13 -0
- package/adapters/gemini.sh +13 -0
- package/adapters/lib/__pycache__/modules.cpython-312.pyc +0 -0
- package/adapters/lib/modules.py +592 -0
- package/adapters/lib/shared.sh +83 -0
- package/adapters/lib/sync_plugins.py +113 -0
- package/adapters/windsurf.sh +15 -0
- package/bin/100xprism.js +29 -0
- package/get.sh +24 -0
- package/install-project.sh +82 -0
- package/install.sh +281 -0
- package/lib/adapters/windows.js +429 -0
- package/lib/bootstrap.js +33 -0
- package/lib/init.js +19 -0
- package/lib/install.js +18 -0
- package/lib/migrate.js +52 -0
- package/lib/platform.js +22 -0
- package/lib/update.js +29 -0
- package/modules/_lib/reference.md +77 -0
- package/modules/a11y-auditor/SKILL.md +151 -0
- package/modules/ab-test-setup/SKILL.md +266 -0
- package/modules/ab-test-setup/evals/evals.json +105 -0
- package/modules/ab-test-setup/references/sample-size-guide.md +263 -0
- package/modules/ab-test-setup/references/test-templates.md +277 -0
- package/modules/ad-creative/SKILL.md +362 -0
- package/modules/ad-creative/evals/evals.json +90 -0
- package/modules/ad-creative/references/generative-tools.md +637 -0
- package/modules/ad-creative/references/platform-specs.md +213 -0
- package/modules/ai-seo/SKILL.md +398 -0
- package/modules/ai-seo/evals/evals.json +90 -0
- package/modules/ai-seo/references/content-patterns.md +285 -0
- package/modules/ai-seo/references/platform-ranking-factors.md +152 -0
- package/modules/analytics-tracking/SKILL.md +309 -0
- package/modules/analytics-tracking/evals/evals.json +90 -0
- package/modules/analytics-tracking/references/event-library.md +260 -0
- package/modules/analytics-tracking/references/ga4-implementation.md +300 -0
- package/modules/analytics-tracking/references/gtm-implementation.md +390 -0
- package/modules/architect/SKILL.md +282 -0
- package/modules/branch/SKILL.md +105 -0
- package/modules/churn-prevention/SKILL.md +424 -0
- package/modules/churn-prevention/evals/evals.json +93 -0
- package/modules/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/modules/churn-prevention/references/dunning-playbook.md +408 -0
- package/modules/cloud-security/SKILL.md +240 -0
- package/modules/cold-email/SKILL.md +178 -0
- package/modules/cold-email/evals/evals.json +94 -0
- package/modules/cold-email/references/benchmarks.md +83 -0
- package/modules/cold-email/references/follow-up-sequences.md +81 -0
- package/modules/cold-email/references/frameworks.md +90 -0
- package/modules/cold-email/references/personalization.md +79 -0
- package/modules/cold-email/references/subject-lines.md +53 -0
- package/modules/commit/SKILL.md +195 -0
- package/modules/competitor-alternatives/SKILL.md +256 -0
- package/modules/competitor-alternatives/evals/evals.json +93 -0
- package/modules/competitor-alternatives/references/content-architecture.md +271 -0
- package/modules/competitor-alternatives/references/templates.md +223 -0
- package/modules/connect/SKILL.md +894 -0
- package/modules/content-strategy/SKILL.md +359 -0
- package/modules/content-strategy/evals/evals.json +90 -0
- package/modules/context-dump/SKILL.md +67 -0
- package/modules/copy-editing/SKILL.md +447 -0
- package/modules/copy-editing/evals/evals.json +89 -0
- package/modules/copy-editing/references/plain-english-alternatives.md +394 -0
- package/modules/copywriting/SKILL.md +271 -0
- package/modules/copywriting/evals/evals.json +111 -0
- package/modules/copywriting/references/cold-email-benchmarks.md +83 -0
- package/modules/copywriting/references/cold-email-follow-ups.md +81 -0
- package/modules/copywriting/references/cold-email-frameworks.md +90 -0
- package/modules/copywriting/references/cold-email-personalization.md +79 -0
- package/modules/copywriting/references/cold-email-subject-lines.md +53 -0
- package/modules/copywriting/references/copy-frameworks.md +344 -0
- package/modules/copywriting/references/email-copy-guidelines.md +113 -0
- package/modules/copywriting/references/email-types.md +515 -0
- package/modules/copywriting/references/natural-transitions.md +272 -0
- package/modules/copywriting/references/sequence-templates.md +168 -0
- package/modules/data-query/SKILL.md +58 -0
- package/modules/data-viz/SKILL.md +225 -0
- package/modules/db/SKILL.md +205 -0
- package/modules/db/db-engines/_router.md +24 -0
- package/modules/db/db-engines/athena.md +16 -0
- package/modules/db/db-engines/cloud-sql.md +16 -0
- package/modules/db/db-engines/databricks.md +14 -0
- package/modules/db/db-engines/oracle.md +14 -0
- package/modules/db/db-engines/postgres.md +15 -0
- package/modules/db/db-engines/presto.md +14 -0
- package/modules/db/db-engines/snowflake.md +14 -0
- package/modules/docs/SKILL.md +100 -0
- package/modules/email-sequence/SKILL.md +309 -0
- package/modules/email-sequence/evals/evals.json +93 -0
- package/modules/email-sequence/references/copy-guidelines.md +113 -0
- package/modules/email-sequence/references/email-types.md +515 -0
- package/modules/email-sequence/references/sequence-templates.md +168 -0
- package/modules/enterprise-design/SKILL.md +75 -0
- package/modules/eval/SKILL.md +105 -0
- package/modules/figma-translator/SKILL.md +49 -0
- package/modules/fix-bugs/SKILL.md +104 -0
- package/modules/form-cro/SKILL.md +429 -0
- package/modules/form-cro/evals/evals.json +90 -0
- package/modules/free-tool-strategy/SKILL.md +178 -0
- package/modules/free-tool-strategy/evals/evals.json +90 -0
- package/modules/free-tool-strategy/references/tool-types.md +217 -0
- package/modules/gate/SKILL.md +232 -0
- package/modules/grill-me/SKILL.md +59 -0
- package/modules/interaction-engineer/SKILL.md +49 -0
- package/modules/issue/SKILL.md +272 -0
- package/modules/launch/SKILL.md +345 -0
- package/modules/launch-strategy/SKILL.md +353 -0
- package/modules/launch-strategy/evals/evals.json +91 -0
- package/modules/lint/SKILL.md +126 -0
- package/modules/marketing-ideas/SKILL.md +167 -0
- package/modules/marketing-ideas/evals/evals.json +90 -0
- package/modules/marketing-ideas/references/ideas-by-category.md +366 -0
- package/modules/marketing-psychology/SKILL.md +455 -0
- package/modules/marketing-psychology/evals/evals.json +88 -0
- package/modules/motion-designer/SKILL.md +214 -0
- package/modules/onboarding-cro/SKILL.md +220 -0
- package/modules/onboarding-cro/evals/evals.json +92 -0
- package/modules/onboarding-cro/references/experiments.md +258 -0
- package/modules/orchestrate/SKILL.md +77 -0
- package/modules/page-cro/SKILL.md +182 -0
- package/modules/page-cro/evals/evals.json +111 -0
- package/modules/page-cro/references/experiments.md +248 -0
- package/modules/page-cro/references/paywall-experiments.md +164 -0
- package/modules/paid-ads/SKILL.md +315 -0
- package/modules/paid-ads/evals/evals.json +90 -0
- package/modules/paid-ads/references/ad-copy-templates.md +207 -0
- package/modules/paid-ads/references/audience-targeting.md +243 -0
- package/modules/paid-ads/references/platform-setup-checklists.md +277 -0
- package/modules/paywall-upgrade-cro/SKILL.md +227 -0
- package/modules/paywall-upgrade-cro/evals/evals.json +93 -0
- package/modules/paywall-upgrade-cro/references/experiments.md +164 -0
- package/modules/popup-cro/SKILL.md +453 -0
- package/modules/popup-cro/evals/evals.json +94 -0
- package/modules/pr/SKILL.md +203 -0
- package/modules/pricing-strategy/SKILL.md +231 -0
- package/modules/pricing-strategy/evals/evals.json +90 -0
- package/modules/pricing-strategy/references/research-methods.md +152 -0
- package/modules/pricing-strategy/references/tier-structure.md +232 -0
- package/modules/product-marketing-context/SKILL.md +241 -0
- package/modules/product-marketing-context/evals/evals.json +85 -0
- package/modules/programmatic-seo/SKILL.md +238 -0
- package/modules/programmatic-seo/evals/evals.json +94 -0
- package/modules/programmatic-seo/references/playbooks.md +308 -0
- package/modules/push/SKILL.md +202 -0
- package/modules/referral-program/SKILL.md +255 -0
- package/modules/referral-program/evals/evals.json +89 -0
- package/modules/referral-program/references/affiliate-programs.md +164 -0
- package/modules/referral-program/references/program-examples.md +143 -0
- package/modules/release/SKILL.md +293 -0
- package/modules/revops/SKILL.md +343 -0
- package/modules/revops/evals/evals.json +91 -0
- package/modules/revops/references/automation-playbooks.md +290 -0
- package/modules/revops/references/lifecycle-definitions.md +278 -0
- package/modules/revops/references/routing-rules.md +203 -0
- package/modules/revops/references/scoring-models.md +247 -0
- package/modules/sales-enablement/SKILL.md +349 -0
- package/modules/sales-enablement/evals/evals.json +91 -0
- package/modules/sales-enablement/references/deck-frameworks.md +263 -0
- package/modules/sales-enablement/references/demo-scripts.md +355 -0
- package/modules/sales-enablement/references/objection-library.md +270 -0
- package/modules/sales-enablement/references/one-pager-templates.md +208 -0
- package/modules/schema-markup/SKILL.md +179 -0
- package/modules/schema-markup/evals/evals.json +87 -0
- package/modules/schema-markup/references/schema-examples.md +398 -0
- package/modules/security/SKILL.md +138 -0
- package/modules/seo-audit/SKILL.md +412 -0
- package/modules/seo-audit/evals/evals.json +136 -0
- package/modules/seo-audit/references/ai-writing-detection.md +200 -0
- package/modules/seo-audit/references/content-patterns.md +285 -0
- package/modules/seo-audit/references/platform-ranking-factors.md +152 -0
- package/modules/signup-flow-cro/SKILL.md +359 -0
- package/modules/signup-flow-cro/evals/evals.json +88 -0
- package/modules/site-architecture/SKILL.md +357 -0
- package/modules/site-architecture/evals/evals.json +88 -0
- package/modules/site-architecture/references/mermaid-templates.md +216 -0
- package/modules/site-architecture/references/navigation-patterns.md +305 -0
- package/modules/site-architecture/references/site-type-templates.md +293 -0
- package/modules/social-content/SKILL.md +278 -0
- package/modules/social-content/evals/evals.json +92 -0
- package/modules/social-content/references/platforms.md +170 -0
- package/modules/social-content/references/post-templates.md +177 -0
- package/modules/social-content/references/reverse-engineering.md +195 -0
- package/modules/spec/SKILL.md +81 -0
- package/modules/subagents/SKILL.md +123 -0
- package/modules/techdebt/SKILL.md +71 -0
- package/modules/terminal-setup/SKILL.md +49 -0
- package/modules/test/SKILL.md +493 -0
- package/modules/test/references/e2e-patterns.md +294 -0
- package/modules/update-claude-md/SKILL.md +52 -0
- package/modules/visual-system-architect/SKILL.md +53 -0
- package/package.json +44 -0
- package/plugins/plugins.json +43 -0
- package/shell/aliases.sh +24 -0
- package/shell/check-update.sh +212 -0
- package/templates/.env.example +199 -0
- package/templates/docker-compose.md +46 -0
- package/templates/node-frontend.md +56 -0
- package/templates/node-fullstack.md +59 -0
- package/templates/python-api.md +57 -0
- 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
|
+
}
|