arkaos 4.26.0 → 4.28.0
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/README.md +7 -5
- package/THE-ARKAOS-GUIDE.md +7 -7
- package/VERSION +1 -1
- package/arka/SKILL.md +1 -1
- package/arka/skills/human-writing/SKILL.md +106 -0
- package/arka/skills/human-writing/references/anti-slop-phrases.md +131 -0
- package/arka/skills/human-writing/references/checklist.md +66 -0
- package/arka/skills/human-writing/references/content-refresh.md +38 -0
- package/arka/skills/human-writing/references/plain-english-alternatives.md +394 -0
- package/arka/skills/human-writing/references/pt-pt-anti-slop.md +82 -0
- package/arka/skills/human-writing/references/stop-slop.LICENSE +21 -0
- package/arka/skills/human-writing/references/structural-patterns.md +151 -0
- package/config/claude-agents/content-marketer.md +1 -1
- package/config/claude-agents/content-strategist.md +1 -1
- package/config/claude-agents/eduardo-copy.md +13 -0
- package/config/claude-agents/lifecycle-marketer.md +50 -0
- package/config/claude-agents/pr-partnerships.md +50 -0
- package/config/claude-agents/product-marketer.md +50 -0
- package/config/claude-agents/repurpose-distributor.md +1 -1
- package/config/claude-agents/sales-copywriter.md +1 -1
- package/config/claude-agents/scriptwriter.md +1 -1
- package/config/claude-agents/viral-engineer.md +1 -1
- package/config/evals/community.yaml +137 -0
- package/config/evals/content.yaml +298 -0
- package/config/evals/landing.yaml +927 -0
- package/config/evals/marketing.yaml +3836 -0
- package/config/evals/saas.yaml +616 -0
- package/config/evals/sales.yaml +437 -0
- package/config/skills-curated.yaml +2 -2
- package/config/skills-provenance.yaml +194 -21
- package/core/registry/generator.py +7 -0
- package/departments/community/SKILL.md +1 -0
- package/departments/community/skills/community-marketing/SKILL.md +200 -0
- package/departments/content/SKILL.md +1 -0
- package/departments/content/agents/content-strategist.yaml +1 -0
- package/departments/content/agents/repurpose-distributor.yaml +1 -0
- package/departments/content/agents/scriptwriter.yaml +1 -0
- package/departments/content/agents/viral-engineer.yaml +1 -0
- package/departments/content/skills/image-create/SKILL.md +375 -0
- package/departments/content/skills/image-create/references/ai-image-prompting.md +229 -0
- package/departments/content/skills/video-produce/SKILL.md +220 -0
- package/departments/content/skills/video-produce/references/ai-video-prompting.md +175 -0
- package/departments/content/skills/video-produce/references/edit-anatomy.md +84 -0
- package/departments/landing/SKILL.md +3 -0
- package/departments/landing/agents/sales-copywriter.yaml +1 -0
- package/departments/landing/skills/affiliate-bridge/SKILL.md +291 -5
- package/departments/landing/skills/affiliate-bridge/references/affiliate-programs.md +167 -0
- package/departments/landing/skills/affiliate-bridge/references/program-examples.md +143 -0
- package/departments/landing/skills/copy-framework/SKILL.md +241 -0
- package/departments/landing/skills/copy-framework/references/copy-frameworks.md +344 -0
- package/departments/landing/skills/copy-framework/references/natural-transitions.md +272 -0
- package/departments/landing/skills/lead-magnet/SKILL.md +337 -0
- package/departments/landing/skills/lead-magnet/references/benchmarks.md +129 -0
- package/departments/landing/skills/lead-magnet/references/format-guide.md +196 -0
- package/departments/landing/skills/offer-create/SKILL.md +105 -8
- package/departments/landing/skills/offer-create/references/bonus-stacking.md +150 -0
- package/departments/landing/skills/offer-create/references/examples.md +215 -0
- package/departments/landing/skills/offer-create/references/guarantee-design.md +172 -0
- package/departments/landing/skills/offer-create/references/offer-anatomy.md +203 -0
- package/departments/landing/skills/offer-create/references/offer-formats.md +240 -0
- package/departments/landing/skills/offer-create/references/scarcity-urgency.md +175 -0
- package/departments/landing/skills/offer-create/references/value-equation.md +134 -0
- package/departments/landing/skills/optimize-page/SKILL.md +185 -4
- package/departments/landing/skills/optimize-page/references/experiments.md +248 -0
- package/departments/landing/skills/optimize-page/references/form.md +422 -0
- package/departments/landing/skills/page-architect/SKILL.md +373 -5
- package/departments/landing/skills/page-architect/references/mermaid-templates.md +216 -0
- package/departments/landing/skills/page-architect/references/navigation-patterns.md +305 -0
- package/departments/landing/skills/page-architect/references/site-type-templates.md +293 -0
- package/departments/landing/skills/popup-design/SKILL.md +481 -0
- package/departments/landing/skills/signup-optimize/SKILL.md +385 -0
- package/departments/marketing/SKILL.md +22 -1
- package/departments/marketing/agents/content-marketer.yaml +1 -0
- package/departments/marketing/agents/growth-marketing/lifecycle-marketer.yaml +75 -0
- package/departments/marketing/agents/growth-marketing/pr-partnerships.yaml +74 -0
- package/departments/marketing/agents/growth-marketing/product-marketer.yaml +79 -0
- package/departments/marketing/agents/marketing-director.yaml +1 -0
- package/departments/marketing/skills/ab-test/SKILL.md +322 -3
- package/departments/marketing/skills/ab-test/references/sample-size-guide.md +263 -0
- package/departments/marketing/skills/ab-test/references/test-templates.md +277 -0
- package/departments/marketing/skills/ad-creative/SKILL.md +451 -0
- package/departments/marketing/skills/ad-creative/references/creative-review-page.md +106 -0
- package/departments/marketing/skills/ad-creative/references/creative-roadmap.md +118 -0
- package/departments/marketing/skills/ad-creative/references/generative-tools.md +637 -0
- package/departments/marketing/skills/ad-creative/references/hook-system.md +115 -0
- package/departments/marketing/skills/ad-creative/references/imessage-video-ads.md +201 -0
- package/departments/marketing/skills/ad-creative/references/motion-video-ads.md +126 -0
- package/departments/marketing/skills/ad-creative/references/platform-specs.md +213 -0
- package/departments/marketing/skills/ad-creative/references/static-ad-templates.md +200 -0
- package/departments/marketing/skills/ai-seo/SKILL.md +520 -0
- package/departments/marketing/skills/ai-seo/references/citations-vs-recommendations.md +85 -0
- package/departments/marketing/skills/ai-seo/references/content-patterns.md +287 -0
- package/departments/marketing/skills/ai-seo/references/content-types.md +71 -0
- package/departments/marketing/skills/ai-seo/references/okf.md +104 -0
- package/departments/marketing/skills/ai-seo/references/platform-ranking-factors.md +154 -0
- package/departments/marketing/skills/analytics-report/SKILL.md +310 -1
- package/departments/marketing/skills/analytics-report/references/event-library.md +260 -0
- package/departments/marketing/skills/analytics-report/references/ga4-implementation.md +300 -0
- package/departments/marketing/skills/analytics-report/references/gtm-implementation.md +390 -0
- package/departments/marketing/skills/aso/SKILL.md +336 -0
- package/departments/marketing/skills/aso/references/apple-specs.md +107 -0
- package/departments/marketing/skills/aso/references/benchmarks.md +129 -0
- package/departments/marketing/skills/aso/references/google-play-specs.md +131 -0
- package/departments/marketing/skills/aso/references/report-template.md +213 -0
- package/departments/marketing/skills/aso/references/scoring-criteria.md +213 -0
- package/departments/marketing/skills/co-marketing/SKILL.md +316 -0
- package/departments/marketing/skills/cold-email/SKILL.md +80 -0
- package/departments/marketing/skills/cold-email/references/benchmarks.md +83 -0
- package/departments/marketing/skills/cold-email/references/follow-up-sequences.md +81 -0
- package/departments/marketing/skills/cold-email/references/frameworks.md +90 -0
- package/departments/marketing/skills/cold-email/references/personalization.md +79 -0
- package/departments/marketing/skills/cold-email/references/subject-lines.md +53 -0
- package/departments/marketing/skills/competitor-analysis/SKILL.md +262 -5
- package/departments/marketing/skills/competitor-analysis/references/content-architecture.md +271 -0
- package/departments/marketing/skills/competitor-analysis/references/templates.md +223 -0
- package/departments/marketing/skills/competitor-profile/SKILL.md +447 -0
- package/departments/marketing/skills/competitor-profile/references/templates.md +167 -0
- package/departments/marketing/skills/competitor-profile/references/tool-reference.md +179 -0
- package/departments/marketing/skills/content-strategy/SKILL.md +398 -0
- package/departments/marketing/skills/content-strategy/references/headless-cms.md +194 -0
- package/departments/marketing/skills/council/SKILL.md +185 -0
- package/departments/marketing/skills/council/references/advisor-template.md +51 -0
- package/departments/marketing/skills/council/references/advisors/alex-hormozi.md +43 -0
- package/departments/marketing/skills/council/references/advisors/ann-handley.md +43 -0
- package/departments/marketing/skills/council/references/advisors/april-dunford.md +41 -0
- package/departments/marketing/skills/council/references/advisors/byron-sharp.md +43 -0
- package/departments/marketing/skills/council/references/advisors/claude-hopkins.md +42 -0
- package/departments/marketing/skills/council/references/advisors/david-ogilvy.md +42 -0
- package/departments/marketing/skills/council/references/advisors/eugene-schwartz.md +42 -0
- package/departments/marketing/skills/council/references/advisors/gary-halbert.md +43 -0
- package/departments/marketing/skills/council/references/advisors/gary-vaynerchuk.md +43 -0
- package/departments/marketing/skills/council/references/advisors/rory-sutherland.md +42 -0
- package/departments/marketing/skills/council/references/advisors/russell-brunson.md +43 -0
- package/departments/marketing/skills/council/references/advisors/seth-godin.md +43 -0
- package/departments/marketing/skills/customer-research/SKILL.md +318 -0
- package/departments/marketing/skills/customer-research/references/source-guides.md +401 -0
- package/departments/marketing/skills/directory-submit/SKILL.md +409 -0
- package/departments/marketing/skills/directory-submit/references/directory-list.md +477 -0
- package/departments/marketing/skills/directory-submit/references/positioning-variations.md +232 -0
- package/departments/marketing/skills/directory-submit/references/submission-tracker-template.csv +266 -0
- package/departments/marketing/skills/email-sequence/SKILL.md +309 -2
- package/departments/marketing/skills/email-sequence/references/copy-guidelines.md +113 -0
- package/departments/marketing/skills/email-sequence/references/email-types.md +515 -0
- package/departments/marketing/skills/email-sequence/references/sequence-templates.md +168 -0
- package/departments/marketing/skills/free-tools/SKILL.md +203 -0
- package/departments/marketing/skills/free-tools/references/tool-types.md +217 -0
- package/departments/marketing/skills/marketing-ideas/SKILL.md +191 -0
- package/departments/marketing/skills/marketing-ideas/references/ideas-by-category.md +366 -0
- package/departments/marketing/skills/marketing-loops/SKILL.md +136 -0
- package/departments/marketing/skills/marketing-loops/references/loop-catalog.md +687 -0
- package/departments/marketing/skills/marketing-loops/references/loop-guardrails.md +73 -0
- package/departments/marketing/skills/marketing-loops/references/loop-orchestration.md +69 -0
- package/departments/marketing/skills/marketing-loops/references/loop-state.md +67 -0
- package/departments/marketing/skills/marketing-loops/references/loop-template.md +79 -0
- package/departments/marketing/skills/marketing-plan/SKILL.md +302 -0
- package/departments/marketing/skills/marketing-plan/references/aarrr-framework.md +180 -0
- package/departments/marketing/skills/marketing-plan/references/budget-planning.md +168 -0
- package/departments/marketing/skills/marketing-plan/references/client-types.md +373 -0
- package/departments/marketing/skills/marketing-plan/references/current-state-rubric.md +255 -0
- package/departments/marketing/skills/marketing-plan/references/example-quietude.md +972 -0
- package/departments/marketing/skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
- package/departments/marketing/skills/marketing-plan/references/growth-patterns.md +148 -0
- package/departments/marketing/skills/marketing-plan/references/idea-cross-reference.md +265 -0
- package/departments/marketing/skills/marketing-plan/references/measurement-framework.md +213 -0
- package/departments/marketing/skills/marketing-plan/references/methodology.md +363 -0
- package/departments/marketing/skills/marketing-plan/references/ops-stack-mapping.md +197 -0
- package/departments/marketing/skills/marketing-plan/references/plan-template.md +494 -0
- package/departments/marketing/skills/marketing-plan/references/team-and-agency-model.md +278 -0
- package/departments/marketing/skills/marketing-psychology/SKILL.md +479 -0
- package/departments/marketing/skills/paid-campaign/SKILL.md +452 -3
- package/departments/marketing/skills/paid-campaign/references/abm-playbook.md +93 -0
- package/departments/marketing/skills/paid-campaign/references/ad-copy-templates.md +207 -0
- package/departments/marketing/skills/paid-campaign/references/audience-targeting.md +243 -0
- package/departments/marketing/skills/paid-campaign/references/b2b-paid-playbook.md +115 -0
- package/departments/marketing/skills/paid-campaign/references/conversion-tracking.md +361 -0
- package/departments/marketing/skills/paid-campaign/references/google-search-playbook.md +120 -0
- package/departments/marketing/skills/paid-campaign/references/linkedin-b2b-playbook.md +107 -0
- package/departments/marketing/skills/paid-campaign/references/meta-decision-system.md +143 -0
- package/departments/marketing/skills/paid-campaign/references/platform-setup-checklists.md +277 -0
- package/departments/marketing/skills/paid-campaign/references/rsa-output-spec.md +88 -0
- package/departments/marketing/skills/product-marketing/SKILL.md +141 -0
- package/departments/marketing/skills/programmatic-seo/SKILL.md +74 -3
- package/departments/marketing/skills/programmatic-seo/references/playbooks.md +308 -0
- package/departments/marketing/skills/public-relations/SKILL.md +167 -0
- package/departments/marketing/skills/public-relations/references/journalist-pitching.md +368 -0
- package/departments/marketing/skills/public-relations/references/media-outlets.md +207 -0
- package/departments/marketing/skills/public-relations/references/newsjacking.md +218 -0
- package/departments/marketing/skills/public-relations/references/press-platforms.md +188 -0
- package/departments/marketing/skills/schema-markup/SKILL.md +203 -0
- package/departments/marketing/skills/schema-markup/references/schema-examples.md +398 -0
- package/departments/marketing/skills/seo-audit/SKILL.md +470 -1
- package/departments/marketing/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/departments/marketing/skills/seo-audit/references/international-seo.md +230 -0
- package/departments/marketing/skills/sms-campaign/SKILL.md +363 -0
- package/departments/marketing/skills/sms-campaign/references/compliance.md +202 -0
- package/departments/marketing/skills/sms-campaign/references/platforms.md +318 -0
- package/departments/marketing/skills/sms-campaign/references/sequence-templates.md +282 -0
- package/departments/marketing/skills/social-strategy/SKILL.md +414 -3
- package/departments/marketing/skills/social-strategy/references/carousel-frameworks.md +141 -0
- package/departments/marketing/skills/social-strategy/references/listening-sources-template.md +123 -0
- package/departments/marketing/skills/social-strategy/references/listening.md +283 -0
- package/departments/marketing/skills/social-strategy/references/platform-limits.md +110 -0
- package/departments/marketing/skills/social-strategy/references/platforms.md +170 -0
- package/departments/marketing/skills/social-strategy/references/post-templates.md +179 -0
- package/departments/marketing/skills/social-strategy/references/reverse-engineering.md +195 -0
- package/departments/marketing/skills/social-strategy/references/short-form-video.md +237 -0
- package/departments/marketing/squad.yaml +10 -1
- package/departments/marketing/tools/LICENSE +21 -0
- package/departments/marketing/tools/REGISTRY.md +590 -0
- package/departments/marketing/tools/clis/README.md +198 -0
- package/departments/marketing/tools/clis/activecampaign.js +435 -0
- package/departments/marketing/tools/clis/adobe-analytics.js +161 -0
- package/departments/marketing/tools/clis/ahrefs.js +192 -0
- package/departments/marketing/tools/clis/airops.js +163 -0
- package/departments/marketing/tools/clis/amplitude.js +182 -0
- package/departments/marketing/tools/clis/apollo.js +142 -0
- package/departments/marketing/tools/clis/beehiiv.js +245 -0
- package/departments/marketing/tools/clis/brevo.js +368 -0
- package/departments/marketing/tools/clis/buffer.js +260 -0
- package/departments/marketing/tools/clis/calendly.js +253 -0
- package/departments/marketing/tools/clis/clay.js +159 -0
- package/departments/marketing/tools/clis/clearbit.js +163 -0
- package/departments/marketing/tools/clis/close.js +232 -0
- package/departments/marketing/tools/clis/coupler.js +173 -0
- package/departments/marketing/tools/clis/crossbeam.js +193 -0
- package/departments/marketing/tools/clis/customer-io.js +205 -0
- package/departments/marketing/tools/clis/dataforseo.js +257 -0
- package/departments/marketing/tools/clis/demio.js +149 -0
- package/departments/marketing/tools/clis/dub.js +158 -0
- package/departments/marketing/tools/clis/exa.js +147 -0
- package/departments/marketing/tools/clis/g2.js +186 -0
- package/departments/marketing/tools/clis/ga4.js +194 -0
- package/departments/marketing/tools/clis/github-prospects.js +257 -0
- package/departments/marketing/tools/clis/google-ads.js +189 -0
- package/departments/marketing/tools/clis/google-search-console.js +166 -0
- package/departments/marketing/tools/clis/hotjar.js +167 -0
- package/departments/marketing/tools/clis/hunter.js +249 -0
- package/departments/marketing/tools/clis/instantly.js +270 -0
- package/departments/marketing/tools/clis/intercom.js +399 -0
- package/departments/marketing/tools/clis/keywords-everywhere.js +185 -0
- package/departments/marketing/tools/clis/kit.js +232 -0
- package/departments/marketing/tools/clis/klaviyo.js +348 -0
- package/departments/marketing/tools/clis/lemlist.js +221 -0
- package/departments/marketing/tools/clis/linkedin-ads.js +185 -0
- package/departments/marketing/tools/clis/livestorm.js +292 -0
- package/departments/marketing/tools/clis/mailchimp.js +220 -0
- package/departments/marketing/tools/clis/mention-me.js +161 -0
- package/departments/marketing/tools/clis/meta-ads.js +181 -0
- package/departments/marketing/tools/clis/mixpanel.js +248 -0
- package/departments/marketing/tools/clis/onesignal.js +241 -0
- package/departments/marketing/tools/clis/optimizely.js +233 -0
- package/departments/marketing/tools/clis/outreach.js +213 -0
- package/departments/marketing/tools/clis/paddle.js +385 -0
- package/departments/marketing/tools/clis/partnerstack.js +382 -0
- package/departments/marketing/tools/clis/pendo.js +221 -0
- package/departments/marketing/tools/clis/plausible.js +249 -0
- package/departments/marketing/tools/clis/postmark.js +375 -0
- package/departments/marketing/tools/clis/rankparse.js +196 -0
- package/departments/marketing/tools/clis/resend.js +370 -0
- package/departments/marketing/tools/clis/rewardful.js +160 -0
- package/departments/marketing/tools/clis/savvycal.js +223 -0
- package/departments/marketing/tools/clis/segment.js +192 -0
- package/departments/marketing/tools/clis/semrush.js +207 -0
- package/departments/marketing/tools/clis/sendgrid.js +211 -0
- package/departments/marketing/tools/clis/similarweb.js +214 -0
- package/departments/marketing/tools/clis/snov.js +237 -0
- package/departments/marketing/tools/clis/supermetrics.js +169 -0
- package/departments/marketing/tools/clis/tiktok-ads.js +190 -0
- package/departments/marketing/tools/clis/tolt.js +153 -0
- package/departments/marketing/tools/clis/trustpilot.js +276 -0
- package/departments/marketing/tools/clis/typeform.js +269 -0
- package/departments/marketing/tools/clis/wistia.js +301 -0
- package/departments/marketing/tools/clis/zapier.js +165 -0
- package/departments/marketing/tools/clis/zoominfo.js +223 -0
- package/departments/marketing/tools/composio/README.md +105 -0
- package/departments/marketing/tools/composio/marketing-tools.md +91 -0
- package/departments/marketing/tools/integrations/activecampaign.md +337 -0
- package/departments/marketing/tools/integrations/adobe-analytics.md +156 -0
- package/departments/marketing/tools/integrations/ahrefs.md +142 -0
- package/departments/marketing/tools/integrations/airops.md +128 -0
- package/departments/marketing/tools/integrations/amplitude.md +135 -0
- package/departments/marketing/tools/integrations/apollo.md +148 -0
- package/departments/marketing/tools/integrations/attentive.md +152 -0
- package/departments/marketing/tools/integrations/audiencetap.md +125 -0
- package/departments/marketing/tools/integrations/beehiiv.md +157 -0
- package/departments/marketing/tools/integrations/brevo.md +268 -0
- package/departments/marketing/tools/integrations/browserbase.md +111 -0
- package/departments/marketing/tools/integrations/buffer.md +138 -0
- package/departments/marketing/tools/integrations/calendly.md +161 -0
- package/departments/marketing/tools/integrations/clay.md +149 -0
- package/departments/marketing/tools/integrations/clearbit.md +142 -0
- package/departments/marketing/tools/integrations/close.md +191 -0
- package/departments/marketing/tools/integrations/cogny.md +153 -0
- package/departments/marketing/tools/integrations/composio.md +190 -0
- package/departments/marketing/tools/integrations/contentful.md +160 -0
- package/departments/marketing/tools/integrations/coupler.md +142 -0
- package/departments/marketing/tools/integrations/crossbeam.md +137 -0
- package/departments/marketing/tools/integrations/customer-io.md +187 -0
- package/departments/marketing/tools/integrations/dataforseo.md +165 -0
- package/departments/marketing/tools/integrations/demio.md +182 -0
- package/departments/marketing/tools/integrations/dub-co.md +160 -0
- package/departments/marketing/tools/integrations/exa.md +145 -0
- package/departments/marketing/tools/integrations/firecrawl.md +144 -0
- package/departments/marketing/tools/integrations/firehose.md +159 -0
- package/departments/marketing/tools/integrations/g2.md +179 -0
- package/departments/marketing/tools/integrations/ga4.md +126 -0
- package/departments/marketing/tools/integrations/github.md +182 -0
- package/departments/marketing/tools/integrations/gong.md +144 -0
- package/departments/marketing/tools/integrations/google-ads.md +159 -0
- package/departments/marketing/tools/integrations/google-search-console.md +147 -0
- package/departments/marketing/tools/integrations/heygen.md +126 -0
- package/departments/marketing/tools/integrations/hotjar.md +147 -0
- package/departments/marketing/tools/integrations/hubspot.md +178 -0
- package/departments/marketing/tools/integrations/hunter.md +90 -0
- package/departments/marketing/tools/integrations/hyperframes.md +180 -0
- package/departments/marketing/tools/integrations/instantly.md +104 -0
- package/departments/marketing/tools/integrations/intercom.md +292 -0
- package/departments/marketing/tools/integrations/introw.md +182 -0
- package/departments/marketing/tools/integrations/keywords-everywhere.md +207 -0
- package/departments/marketing/tools/integrations/kit.md +167 -0
- package/departments/marketing/tools/integrations/klaviyo.md +228 -0
- package/departments/marketing/tools/integrations/lemlist.md +110 -0
- package/departments/marketing/tools/integrations/linkedin-ads.md +164 -0
- package/departments/marketing/tools/integrations/livestorm.md +313 -0
- package/departments/marketing/tools/integrations/mailchimp.md +150 -0
- package/departments/marketing/tools/integrations/mention-me.md +160 -0
- package/departments/marketing/tools/integrations/meta-ads.md +147 -0
- package/departments/marketing/tools/integrations/mixpanel.md +137 -0
- package/departments/marketing/tools/integrations/nitrosend.md +113 -0
- package/departments/marketing/tools/integrations/onesignal.md +229 -0
- package/departments/marketing/tools/integrations/optimizely.md +171 -0
- package/departments/marketing/tools/integrations/outreach.md +172 -0
- package/departments/marketing/tools/integrations/paddle.md +212 -0
- package/departments/marketing/tools/integrations/partnerstack.md +222 -0
- package/departments/marketing/tools/integrations/pendo.md +208 -0
- package/departments/marketing/tools/integrations/plausible.md +177 -0
- package/departments/marketing/tools/integrations/plivo.md +140 -0
- package/departments/marketing/tools/integrations/posthog.md +151 -0
- package/departments/marketing/tools/integrations/postmark.md +234 -0
- package/departments/marketing/tools/integrations/postscript.md +126 -0
- package/departments/marketing/tools/integrations/rankparse.md +257 -0
- package/departments/marketing/tools/integrations/rb2b.md +110 -0
- package/departments/marketing/tools/integrations/resend.md +212 -0
- package/departments/marketing/tools/integrations/rewardful.md +147 -0
- package/departments/marketing/tools/integrations/salesforce.md +150 -0
- package/departments/marketing/tools/integrations/sanity.md +148 -0
- package/departments/marketing/tools/integrations/savvycal.md +181 -0
- package/departments/marketing/tools/integrations/segment.md +159 -0
- package/departments/marketing/tools/integrations/semrush.md +121 -0
- package/departments/marketing/tools/integrations/sendgrid.md +161 -0
- package/departments/marketing/tools/integrations/sequenzy.md +306 -0
- package/departments/marketing/tools/integrations/shopify.md +176 -0
- package/departments/marketing/tools/integrations/similarweb.md +150 -0
- package/departments/marketing/tools/integrations/snov.md +94 -0
- package/departments/marketing/tools/integrations/sparktoro.md +127 -0
- package/departments/marketing/tools/integrations/strapi.md +167 -0
- package/departments/marketing/tools/integrations/stripe.md +148 -0
- package/departments/marketing/tools/integrations/supermetrics.md +145 -0
- package/departments/marketing/tools/integrations/tiktok-ads.md +161 -0
- package/departments/marketing/tools/integrations/tolt.md +144 -0
- package/departments/marketing/tools/integrations/truelist.md +184 -0
- package/departments/marketing/tools/integrations/trustpilot.md +191 -0
- package/departments/marketing/tools/integrations/twilio.md +152 -0
- package/departments/marketing/tools/integrations/typeform.md +190 -0
- package/departments/marketing/tools/integrations/webflow.md +198 -0
- package/departments/marketing/tools/integrations/wistia.md +164 -0
- package/departments/marketing/tools/integrations/wordpress.md +175 -0
- package/departments/marketing/tools/integrations/zapier.md +244 -0
- package/departments/marketing/tools/integrations/zoominfo.md +191 -0
- package/departments/quality/agents/copy-director.yaml +1 -0
- package/departments/saas/SKILL.md +1 -0
- package/departments/saas/skills/churn-analysis/SKILL.md +421 -4
- package/departments/saas/skills/churn-analysis/references/cancel-flow-patterns.md +316 -0
- package/departments/saas/skills/churn-analysis/references/dunning-playbook.md +408 -0
- package/departments/saas/skills/launch-execute/SKILL.md +346 -4
- package/departments/saas/skills/onboarding-optimize/SKILL.md +218 -4
- package/departments/saas/skills/onboarding-optimize/references/experiments.md +258 -0
- package/departments/saas/skills/paywall-design/SKILL.md +256 -0
- package/departments/saas/skills/paywall-design/references/experiments.md +164 -0
- package/departments/saas/skills/pricing-strategy/SKILL.md +224 -0
- package/departments/saas/skills/pricing-strategy/references/research-methods.md +152 -0
- package/departments/saas/skills/pricing-strategy/references/tier-structure.md +232 -0
- package/departments/sales/SKILL.md +3 -0
- package/departments/sales/skills/prospecting/SKILL.md +297 -0
- package/departments/sales/skills/prospecting/references/b2b-prospecting.md +106 -0
- package/departments/sales/skills/prospecting/references/compliance.md +123 -0
- package/departments/sales/skills/prospecting/references/data-sources.md +287 -0
- package/departments/sales/skills/prospecting/references/demand-signals.md +129 -0
- package/departments/sales/skills/prospecting/references/local-prospecting.md +165 -0
- package/departments/sales/skills/prospecting/references/saas-prospecting.md +123 -0
- package/departments/sales/skills/revops/SKILL.md +379 -0
- package/departments/sales/skills/revops/references/automation-playbooks.md +290 -0
- package/departments/sales/skills/revops/references/lifecycle-definitions.md +278 -0
- package/departments/sales/skills/revops/references/routing-rules.md +203 -0
- package/departments/sales/skills/revops/references/scoring-models.md +247 -0
- package/departments/sales/skills/sales-enablement/SKILL.md +396 -0
- package/departments/sales/skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/departments/sales/skills/sales-enablement/references/demo-scripts.md +355 -0
- package/departments/sales/skills/sales-enablement/references/objection-library.md +270 -0
- package/departments/sales/skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/harness/codex/AGENTS.md +8 -8
- package/harness/copilot/copilot-instructions.md +8 -8
- package/harness/cursor/rules/arkaos.mdc +9 -9
- package/harness/gemini/GEMINI.md +8 -8
- package/harness/opencode/AGENTS.md +8 -8
- package/harness/zed/.rules +8 -8
- package/knowledge/agents-registry-v2.json +170 -8
- package/knowledge/commands-registry.json +693 -99
- package/knowledge/skills-manifest.json +459 -20
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/scripts/tools/evals_import.py +183 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Carousel Frameworks
|
|
2
|
+
|
|
3
|
+
Five slide-by-slide narrative architectures for carousels — Instagram carousels and LinkedIn document posts. Each framework is a different *reason to keep swiping*; picking the right one for the content matters more than polishing individual slides.
|
|
4
|
+
|
|
5
|
+
A carousel is not a blog post chopped into squares. It's a swipe-through with two jobs per slide: deliver one idea, and make the next swipe irresistible. These frameworks encode structures that show up repeatedly in high-performing carousels; treat them as starting structures to adapt, not rigid formulas — and expect to validate against your own analytics.
|
|
6
|
+
|
|
7
|
+
## Picking a Framework
|
|
8
|
+
|
|
9
|
+
| Your content is... | Use | Why |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| A list of resources, tools, or tips | **A: Value-Stack** | Completeness is the promise; the count is the hook |
|
|
12
|
+
| A personal result with a system behind it | **B: Problem-Proof** | Proof opens and closes the loop; the system is the meat |
|
|
13
|
+
| Several named techniques on one theme | **C: Hack List** | Each hack re-earns the swipe independently |
|
|
14
|
+
| A strong opinion about a common practice | **D: Rant Callout** | Conviction is the content; structure keeps it fair |
|
|
15
|
+
| A product or workflow you can show | **E: Demo Walkthrough** | Seeing the steps is more persuasive than describing them |
|
|
16
|
+
|
|
17
|
+
Two cross-framework rules before the specifics:
|
|
18
|
+
|
|
19
|
+
- **Slide 1 is the thumbnail.** It competes in the feed alone, before anyone knows a carousel follows. Design and write it as a standalone scroll-stopper.
|
|
20
|
+
- **One visual template per carousel.** Same layout, type scale, and palette on every interior slide. Variety between slides reads as clutter; consistency lets the *content* change while the frame stays still.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Framework A: Value-Stack (4–14 slides)
|
|
25
|
+
|
|
26
|
+
The "everything you need" carousel. Works because the cover makes a completeness claim — an exact count and an exact deliverable — and every swipe pays it down.
|
|
27
|
+
|
|
28
|
+
| Slide | Job | Pattern |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| 1 — Cover | State the exact count + exact deliverable. Specificity proves scale upfront. | "[N] [resource type] for [role/outcome]" |
|
|
31
|
+
| 2 to N−1 — Value delivery | One item or category per slide, 3–6 concrete sub-items each. Same visual template, zero filler slides. | "[Category/item] — [sub-items]" |
|
|
32
|
+
| N — Close | Convert the swipe-through into an action. | "[Action] for [the payoff]" — comment a keyword, follow, link in bio |
|
|
33
|
+
|
|
34
|
+
**Why the exact count matters:** "27 free tools" outperforms "the best free tools" because a number is a checkable promise — the reader can verify you delivered. Rounding up with padding breaks the trust the count created.
|
|
35
|
+
|
|
36
|
+
*SaaS example:* "12 ChatGPT prompts for SaaS onboarding emails" → one prompt per slide with the use case → "Comment PROMPTS and I'll send the full doc."
|
|
37
|
+
|
|
38
|
+
**Failure mode:** filler slides to hit a bigger number. Cut to the real count; a tight 8 beats a padded 14.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Framework B: Problem-Proof (6–10 slides)
|
|
43
|
+
|
|
44
|
+
The "I did X, here's the system" carousel. The hook is a *result stated as fact*, not advice — and the final slide shows the receipt, closing the loop slide 1 opened.
|
|
45
|
+
|
|
46
|
+
| Slide | Job | Pattern |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| 1 — Hook | A specific personal claim with a number. A result, not a tip. | "[I/we did X]. [Specific result, with number]." |
|
|
49
|
+
| 2 — Reframe the problem | Name what's *actually* going wrong so the reader recognizes themselves. | "The real problem — [named issue]" |
|
|
50
|
+
| 3–4 — The mechanism | Show the real system: named tools, named steps. Concrete beats vague. | "The system — [named tools/steps]" |
|
|
51
|
+
| 5 to N−1 — The detail | The literal prompt text, template, or step-by-step. This is the save-worthy part. | "[The literal prompt or process detail]" |
|
|
52
|
+
| N — Proof | The actual output artifact. A screenshot, not a description. | "[Screenshot of output] — the receipt" |
|
|
53
|
+
|
|
54
|
+
**The open loop is the engine:** slide 1 makes a claim, the last slide proves it, and everything between explains how. Readers swipe to see whether the receipt is real.
|
|
55
|
+
|
|
56
|
+
*SaaS example:* "We cut churn 22% with one onboarding email." → the real problem (activation, not price) → the sequence structure → the literal email copy → the retention chart.
|
|
57
|
+
|
|
58
|
+
**Failure mode:** vague mechanism slides ("optimize your workflow") — if the middle slides don't name tools and steps, the proof slide reads as luck, not system.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Framework C: Hack List (6–10 slides)
|
|
63
|
+
|
|
64
|
+
The "numbered techniques" carousel. A contrarian cover creates status anxiety — most people are doing this wrong — and each numbered hack independently re-earns the swipe.
|
|
65
|
+
|
|
66
|
+
| Slide | Job | Pattern |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| 1 — Contrarian hook | A stat or claim implying most people fail at this. | "[Stat implying most people fail at X]" |
|
|
69
|
+
| 2 — The problem | Why the common approach fails, ideally with an analogy. | "The problem — [why it fails]" |
|
|
70
|
+
| 3 to N−1 — Numbered hacks | One named technique per slide. Bad-vs-good contrast makes each hack land instantly. | "Hack #[n] — [named technique]" |
|
|
71
|
+
| N — Synthesis + close | A one-line thesis tying the hacks together, then a save/share/follow CTA. | "[Thesis tying hacks together]" + [CTA] |
|
|
72
|
+
|
|
73
|
+
**Name every technique.** "The 3-second rule" is shareable and memorable; "keep it short" is neither. Named techniques travel — people repeat them and credit the source.
|
|
74
|
+
|
|
75
|
+
*SaaS example:* "90% of trial emails never get opened." → why (they read like receipts, not messages) → Hack #1: The founder-from line, Hack #2: The one-question subject, ... → "Trial emails are conversations, not confirmations. Save this for your next sequence."
|
|
76
|
+
|
|
77
|
+
**Failure mode:** hacks that are restatements of each other. Each slide must survive alone — if two hacks collapse into one idea, merge them and go shorter.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Framework D: Rant Callout (4–8 slides)
|
|
82
|
+
|
|
83
|
+
The "someone had to say it" carousel. Personality-led and polarizing by design — the structure exists to keep the heat *fair* so it reads as conviction, not bitterness.
|
|
84
|
+
|
|
85
|
+
| Slide | Job | Pattern |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| 1 — Provocative claim | An unpopular opinion or direct accusation about a common practice. | "Unpopular opinion — [common practice]" |
|
|
88
|
+
| 2 to N−2 — Escalate the argument | Sensory, specific detail. Show the offense; don't gesture at it abstractly. Each slide raises the stakes. | "[Escalating, specific complaint]" |
|
|
89
|
+
| N−1 — Fairness pivot | "Don't get me wrong…" — clarify what you're *not* attacking. Anti-laziness, not anti-tool; anti-practice, not anti-person. | "The problem isn't [X], it's [Y]" |
|
|
90
|
+
| N — Close | Firm, personality-forward sign-off. Signed rants read as owned opinions; anonymous ones read as potshots. | "[Firm sign-off] — signed [name/persona]" |
|
|
91
|
+
|
|
92
|
+
**The fairness pivot is what makes it work.** Without it you're yelling; with it you're drawing a precise line, and precise lines get quoted. It also pre-empts the top hostile comment.
|
|
93
|
+
|
|
94
|
+
*SaaS example:* "Your AI-generated LinkedIn posts are costing you customers." → the specifics (same em-dash cadence, same 'game-changer' vocabulary, zero lived detail) → "Don't get me wrong — I use AI daily. The problem isn't the tool, it's publishing the first draft." → "Write like you talk. — [Name]"
|
|
95
|
+
|
|
96
|
+
**Failure modes:** skipping the pivot (reads unhinged, invites pile-ons), or ranting about something your own product/content visibly does (the comments will find it).
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Framework E: Demo Walkthrough (5–11 slides)
|
|
101
|
+
|
|
102
|
+
The "watch it work" carousel for product or workflow content. Show the finished result first, then the steps — the outcome earns attention for the process.
|
|
103
|
+
|
|
104
|
+
| Slide | Job | Pattern |
|
|
105
|
+
|---|---|---|
|
|
106
|
+
| 1 — Product + outcome | Brand/product plus the finished result. Lead with what they get. | "[Product] + [outcome], finished result" |
|
|
107
|
+
| 2 — Problem it solves | The specific frustration this replaces. | "[The specific pain this replaces]" |
|
|
108
|
+
| 3 — Process overview | The numbered step list, shown *before* the detail. Seeing the whole path lowers mid-swipe drop-off — readers commit when they know how long the road is. | "[N] steps to [outcome] in [timeframe]" |
|
|
109
|
+
| 4 to N−1 — Step-by-step | One real UI screenshot per step with a short caption. Real screenshots; mockups read as vaporware. | "Step [n] — [screenshot] — [caption]" |
|
|
110
|
+
| N — Result + positioning | The full-size output plus one brand-philosophy line. | "[Final output] + [positioning line]" |
|
|
111
|
+
|
|
112
|
+
**Overview-before-detail is the key move** (same reason recipe sites list ingredients before instructions): a reader who's seen "4 steps, 10 minutes" on slide 3 will finish; a reader dropped straight into step 1 with no map bails at step 2.
|
|
113
|
+
|
|
114
|
+
*SaaS example:* "From CSV to live dashboard in 4 steps" → the pain (weekly manual reporting) → the 4-step overview → one screenshot per step → the finished dashboard + "Built for marketers, not analysts."
|
|
115
|
+
|
|
116
|
+
**Failure mode:** screenshots with too much UI. Crop to the action, zoom the relevant control, annotate with one arrow — each screenshot should make sense at thumbnail size.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Platform Notes
|
|
121
|
+
|
|
122
|
+
**Instagram:** 1080×1350 (4:5) slides; up to 20 slides but the frameworks' ranges above reflect where completion rates hold. The caption carries the searchable text — restate the hook and add context, don't just repeat slide 1. First slide doubles as the grid thumbnail.
|
|
123
|
+
|
|
124
|
+
**LinkedIn (document posts):** Upload as PDF. Square or 4:5. LinkedIn shows a "N pages" badge — Value-Stack's exact-count cover plays especially well here. B2B tolerates denser text per slide than Instagram, but the one-idea-per-slide rule still holds. The post text above the document is a second hook — write it as its own post, not a throwaway "see attached."
|
|
125
|
+
|
|
126
|
+
**TikTok photo mode:** Same frameworks work; pacing skews faster — trim each framework toward its minimum slide count.
|
|
127
|
+
|
|
128
|
+
## Production Checklist
|
|
129
|
+
|
|
130
|
+
- [ ] Slide 1 works as a standalone feed post (test: would it stop the scroll with no carousel behind it?)
|
|
131
|
+
- [ ] One idea per slide — if a slide needs two sentences of setup, split it
|
|
132
|
+
- [ ] Same visual template on every interior slide
|
|
133
|
+
- [ ] Any count promised on the cover is exactly delivered (no filler, no rounding)
|
|
134
|
+
- [ ] Claims and numbers are real and yours — no invented stats or borrowed screenshots
|
|
135
|
+
- [ ] Text is legible at thumbnail size (minimum ~28pt at 1080px wide)
|
|
136
|
+
- [ ] Final slide has one CTA, not three
|
|
137
|
+
- [ ] Caption/post text written as its own hook, not a repeat of slide 1
|
|
138
|
+
|
|
139
|
+
## Measuring What Worked
|
|
140
|
+
|
|
141
|
+
Judge carousels on **saves and completion**, not likes — saves signal reference value (the algorithmic win for carousels), and where per-slide analytics exist (Instagram professional insights, LinkedIn document analytics, or third-party tools), drop-off position tells you which slide broke the swipe chain. When a carousel underperforms, the fix is usually slide 1 (didn't stop the scroll) or the framework choice (list content forced into a rant structure), not the middle slides. Track per-framework performance and double down on the two that fit your audience — see [reverse-engineering.md](reverse-engineering.md) for the analysis workflow.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Listening Sources — Template
|
|
2
|
+
|
|
3
|
+
Copy this file to `.agents/listening-sources.md` in your project (or `.claude/listening-sources.md`) and fill in the brackets. Claude reads it when running the [listening workflow](listening.md).
|
|
4
|
+
|
|
5
|
+
Delete sections you don't use. Keep this short and current — stale sources are worse than no sources.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What We're Listening For
|
|
10
|
+
|
|
11
|
+
**Brand / product:** [Your product name]
|
|
12
|
+
**Category:** [e.g., "AI writing assistant", "Postgres GUI"]
|
|
13
|
+
**Goal:** [e.g., "find people switching from Notion", "engage with B2B SaaS founders 50-200 employees"]
|
|
14
|
+
|
|
15
|
+
## ICP (for scoring)
|
|
16
|
+
|
|
17
|
+
Used by the [scoring rubric](listening.md#scoring-rubric) to judge ICP fit.
|
|
18
|
+
|
|
19
|
+
- **Role:** [e.g., "founder, head of marketing, marketing ops lead"]
|
|
20
|
+
- **Company stage:** [e.g., "seed to Series B SaaS, 10-200 employees"]
|
|
21
|
+
- **Industry:** [e.g., "B2B SaaS, infra, devtools"]
|
|
22
|
+
- **Signals they're a fit:** [e.g., "writes about GTM, runs paid ads, recently raised"]
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Target Accounts
|
|
27
|
+
|
|
28
|
+
Engage with **every** post from these accounts when relevant. Keep this list to 20-50 max.
|
|
29
|
+
|
|
30
|
+
### LinkedIn (browser-driven — use dev-browser to view feed)
|
|
31
|
+
- [Name] — `linkedin.com/in/handle`
|
|
32
|
+
- [Name] — `linkedin.com/in/handle`
|
|
33
|
+
|
|
34
|
+
### X / Twitter (browser-driven)
|
|
35
|
+
- [@handle]
|
|
36
|
+
- [@handle]
|
|
37
|
+
|
|
38
|
+
### Reddit
|
|
39
|
+
- u/[username]
|
|
40
|
+
- u/[username]
|
|
41
|
+
|
|
42
|
+
### Bluesky
|
|
43
|
+
- [handle.bsky.social]
|
|
44
|
+
|
|
45
|
+
### Blogs / Newsletters (RSS)
|
|
46
|
+
- [Name] — `https://example.com/feed/`
|
|
47
|
+
- [Name] — `https://example.substack.com/feed`
|
|
48
|
+
|
|
49
|
+
### YouTube channels (RSS)
|
|
50
|
+
- [Name] — channel ID `UCxxxxxxxx`
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Keywords (intent signals)
|
|
55
|
+
|
|
56
|
+
Search across all platforms. Claude runs these through Reddit, HN, Bluesky on the [daily loop](listening.md#the-daily-triage-loop).
|
|
57
|
+
|
|
58
|
+
### High-intent (someone shopping or switching)
|
|
59
|
+
- `"alternative to [competitor]"`
|
|
60
|
+
- `"looking for a [category] tool"`
|
|
61
|
+
- `"recommend a [category]"`
|
|
62
|
+
- `"switching from [competitor]"`
|
|
63
|
+
- `"frustrated with [competitor]"`
|
|
64
|
+
|
|
65
|
+
### Problem signals (someone in pain)
|
|
66
|
+
- `"[category] is so [bad/hard/expensive]"`
|
|
67
|
+
- `"why is [category] [problem]"`
|
|
68
|
+
- `"hate [pain point]"`
|
|
69
|
+
|
|
70
|
+
### Brand mentions
|
|
71
|
+
- `"[your brand]"`
|
|
72
|
+
- `"[your brand misspelling]"`
|
|
73
|
+
- `"[your domain]"`
|
|
74
|
+
|
|
75
|
+
### Competitor mentions (monitor for switching language)
|
|
76
|
+
- `"[competitor 1]"`
|
|
77
|
+
- `"[competitor 2]"`
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Subreddits
|
|
82
|
+
|
|
83
|
+
Pulled via Reddit JSON API on the daily loop.
|
|
84
|
+
|
|
85
|
+
- r/SaaS
|
|
86
|
+
- r/Entrepreneur
|
|
87
|
+
- r/[your niche, e.g., "marketing", "devtools"]
|
|
88
|
+
- r/[adjacent community]
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Saved Searches (manual / browser-driven)
|
|
93
|
+
|
|
94
|
+
URLs Claude opens via dev-browser to scan.
|
|
95
|
+
|
|
96
|
+
### LinkedIn Sales Navigator
|
|
97
|
+
- [Search name] — `https://linkedin.com/sales/search/people?...`
|
|
98
|
+
|
|
99
|
+
### LinkedIn (regular)
|
|
100
|
+
- Posts hashtag — `https://linkedin.com/feed/hashtag/yourtopic/`
|
|
101
|
+
|
|
102
|
+
### X advanced search
|
|
103
|
+
- [Search name] — `https://x.com/search?q=...&f=live`
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Do Not Engage
|
|
108
|
+
|
|
109
|
+
Save yourself the regret.
|
|
110
|
+
|
|
111
|
+
- Accounts known for bad-faith dunking: [@handle], [@handle]
|
|
112
|
+
- Blocked brands / competitors who'll screenshot: [list]
|
|
113
|
+
- Topics to avoid: [politics, [your founder's hot takes], etc.]
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Notes for Claude
|
|
118
|
+
|
|
119
|
+
- When asked for "today's top 10," output in the format defined in [listening.md](listening.md#the-daily-triage-loop)
|
|
120
|
+
- For LinkedIn and X, use dev-browser with the persistent session (user is logged in)
|
|
121
|
+
- For everything else, use the curl recipes in [listening.md](listening.md#sources--light-tooling-curl-recipes)
|
|
122
|
+
- Default lookback: 24h. User can override.
|
|
123
|
+
- Always ask before posting — output drafts, user approves and posts manually
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# Social Listening & Engagement Triage
|
|
2
|
+
|
|
3
|
+
How to surface the right posts to engage with each day — instead of randomly scrolling. The goal is a short, scorable list ("here are your top 10 posts to comment on") rather than an open feed.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
- When to use this
|
|
7
|
+
- The daily triage loop
|
|
8
|
+
- Scoring rubric
|
|
9
|
+
- Comment quality tiers
|
|
10
|
+
- Sources & light tooling (curl recipes)
|
|
11
|
+
- Per-platform notes
|
|
12
|
+
- Common workflows
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Use This
|
|
17
|
+
|
|
18
|
+
Use listening when the goal is **commenting and relationships**, not posting. Typical asks:
|
|
19
|
+
- "Give me the top 10 posts I should comment on today"
|
|
20
|
+
- "Who's complaining about [competitor] right now?"
|
|
21
|
+
- "Find people asking for a tool like mine"
|
|
22
|
+
- "Surface posts from my 20 target accounts in the last 24h"
|
|
23
|
+
- "What's the conversation around [topic] this week?"
|
|
24
|
+
|
|
25
|
+
If the user wants to **create** content, use the rest of the social skill. Listening feeds creation (it surfaces angles, language, objections), but the output is different.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## The Daily Triage Loop
|
|
30
|
+
|
|
31
|
+
A repeatable 20-minute loop the user (or you, on their behalf) can run each morning.
|
|
32
|
+
|
|
33
|
+
1. **Pull** — fetch new posts from defined sources (target accounts, keywords, subreddits, hashtags). See [tooling](#sources--light-tooling-curl-recipes).
|
|
34
|
+
2. **Filter** — drop anything older than 24h, low signal, or off-topic.
|
|
35
|
+
3. **Score** — apply the [rubric](#scoring-rubric). Keep top 10.
|
|
36
|
+
4. **Draft** — for each, draft a comment matched to the post's tier.
|
|
37
|
+
5. **Post** — user reviews, edits, posts. Mark which actually went live.
|
|
38
|
+
6. **Log** — track what you commented on and what got replies. This is your engagement loop dataset.
|
|
39
|
+
|
|
40
|
+
Output format Claude should produce:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
TOP 10 POSTS — 2026-06-05
|
|
44
|
+
|
|
45
|
+
1. [Score 9/10] @author — LinkedIn — 2h ago
|
|
46
|
+
"We just rolled out X and the team is loving it…"
|
|
47
|
+
Why: ICP fit (B2B SaaS, 50–200 employees), buying-intent signal
|
|
48
|
+
Suggested comment: [draft]
|
|
49
|
+
Link: https://…
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Scoring Rubric
|
|
55
|
+
|
|
56
|
+
Score each post 1–10 across five dimensions, then sum and rank.
|
|
57
|
+
|
|
58
|
+
| Dimension | What it measures | Weight |
|
|
59
|
+
|-----------|------------------|--------|
|
|
60
|
+
| **ICP fit** | Is the author your target customer / influencer? | 2x |
|
|
61
|
+
| **Intent signal** | Are they expressing a problem, asking, or shopping? | 2x |
|
|
62
|
+
| **Reach potential** | Is the post getting traction (likes/comments rising)? | 1x |
|
|
63
|
+
| **Comment opportunity** | Can you say something genuinely useful, not generic? | 2x |
|
|
64
|
+
| **Recency** | Posted in last 1–4h (early comments win, especially on LinkedIn) | 1x |
|
|
65
|
+
|
|
66
|
+
**Intent signal examples (high-value):**
|
|
67
|
+
- "Looking for a tool that does X"
|
|
68
|
+
- "Why is [category] so painful?"
|
|
69
|
+
- "We just switched from [competitor] because…"
|
|
70
|
+
- "Anyone use [competitor] — is it worth it?"
|
|
71
|
+
- A complaint about a known competitor
|
|
72
|
+
|
|
73
|
+
**Drop if any of these are true:**
|
|
74
|
+
- Author isn't ICP and isn't an influencer
|
|
75
|
+
- Post is >24h old and already has 50+ comments (your comment buries)
|
|
76
|
+
- Generic motivational/AI-slop post
|
|
77
|
+
- Self-promotion thread where comments don't get reach
|
|
78
|
+
- You can't add anything beyond "Great post!"
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Comment Quality Tiers
|
|
83
|
+
|
|
84
|
+
Match the comment to the post. Don't waste a tier-1 draft on a tier-3 opportunity.
|
|
85
|
+
|
|
86
|
+
**Tier 1 — Relationship builder (target accounts, ICP, high intent)**
|
|
87
|
+
- Add a specific insight or counter-example
|
|
88
|
+
- Reference your own experience with specifics (numbers, names, outcomes)
|
|
89
|
+
- Ask a thoughtful follow-up that invites a reply
|
|
90
|
+
- Length: 2–4 sentences, no link
|
|
91
|
+
|
|
92
|
+
**Tier 2 — Visibility play (high-reach post, adjacent topic)**
|
|
93
|
+
- Add one sharp insight in one sentence
|
|
94
|
+
- Pattern: "Agreed — and the part most miss is [X]"
|
|
95
|
+
- Length: 1–2 sentences
|
|
96
|
+
|
|
97
|
+
**Tier 3 — Light touch (relationship maintenance)**
|
|
98
|
+
- Specific reaction, not "Love this"
|
|
99
|
+
- Quote a specific line and react to it
|
|
100
|
+
- Length: 1 sentence
|
|
101
|
+
|
|
102
|
+
**Never:** "Great post!", emoji-only, "+1", LinkedIn-isms like "This is gold 🔥"
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Sources & Light Tooling (curl recipes)
|
|
107
|
+
|
|
108
|
+
These are public JSON endpoints — no auth needed. Run them from bash, pipe to `jq`, and Claude can parse the output to score and draft comments.
|
|
109
|
+
|
|
110
|
+
**Requires:** `jq` (most recipes) and `xmllint` (RSS only). Install once:
|
|
111
|
+
```bash
|
|
112
|
+
# macOS
|
|
113
|
+
brew install jq
|
|
114
|
+
# xmllint ships with macOS; on Linux: apt install libxml2-utils
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Reddit (free, scriptable)
|
|
118
|
+
|
|
119
|
+
**New posts in a subreddit:**
|
|
120
|
+
```bash
|
|
121
|
+
curl -s -A "listening/1.0" \
|
|
122
|
+
"https://www.reddit.com/r/SaaS/new.json?limit=25" \
|
|
123
|
+
| jq '.data.children[].data | {title, author, url: ("https://reddit.com"+.permalink), score, num_comments, created_utc, selftext: (.selftext | .[0:300])}'
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Search across Reddit by keyword (last day, sorted new):**
|
|
127
|
+
```bash
|
|
128
|
+
curl -s -A "listening/1.0" \
|
|
129
|
+
"https://www.reddit.com/search.json?q=KEYWORD&sort=new&t=day&limit=25" \
|
|
130
|
+
| jq '.data.children[].data | {subreddit, title, url: ("https://reddit.com"+.permalink), author, score, created_utc}'
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Swap `KEYWORD` for things like `"alternative to notion"`, `"recommend a crm"`, your competitor names, or your own brand for mentions. Use quotes around multi-word phrases.
|
|
134
|
+
|
|
135
|
+
### Hacker News (Algolia search)
|
|
136
|
+
|
|
137
|
+
**Recent stories mentioning a keyword (last 24h):**
|
|
138
|
+
```bash
|
|
139
|
+
SINCE=$(($(date +%s) - 86400))
|
|
140
|
+
curl -s "https://hn.algolia.com/api/v1/search_by_date?query=KEYWORD&tags=story&numericFilters=created_at_i>${SINCE}" \
|
|
141
|
+
| jq '.hits[] | {title, url, author, points, num_comments, created_at, story_id: .objectID, hn_url: ("https://news.ycombinator.com/item?id="+.objectID)}'
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Recent comments mentioning a keyword:**
|
|
145
|
+
```bash
|
|
146
|
+
curl -s "https://hn.algolia.com/api/v1/search_by_date?query=KEYWORD&tags=comment&numericFilters=created_at_i>${SINCE}" \
|
|
147
|
+
| jq '.hits[] | {author, comment_text, story_title, hn_url: ("https://news.ycombinator.com/item?id="+.objectID)}'
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Bluesky (free, public API)
|
|
151
|
+
|
|
152
|
+
**Search posts by keyword:**
|
|
153
|
+
```bash
|
|
154
|
+
curl -s "https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=KEYWORD&limit=25&sort=latest" \
|
|
155
|
+
| jq '.posts[] | {author: .author.handle, text: .record.text, likes: .likeCount, replies: .replyCount, url: ("https://bsky.app/profile/"+.author.handle+"/post/"+(.uri | split("/") | last))}'
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### RSS for blogs, podcasts, YouTube channels
|
|
159
|
+
|
|
160
|
+
For target accounts that publish to RSS (most blogs, all YouTube channels):
|
|
161
|
+
```bash
|
|
162
|
+
# YouTube channel feed (replace CHANNEL_ID)
|
|
163
|
+
curl -s "https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID"
|
|
164
|
+
|
|
165
|
+
# Generic blog feed
|
|
166
|
+
curl -s "https://example.com/feed/" | xmllint --xpath "//item[position()<6]" - 2>/dev/null
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### LinkedIn & X — use the browser
|
|
170
|
+
|
|
171
|
+
LinkedIn and X don't expose useful public APIs, but you can drive a real browser session. **dev-browser** (MCP, already in the global setup) and **Playwright** both maintain persistent state — log in once, the session stays alive, Claude can navigate the authenticated feed.
|
|
172
|
+
|
|
173
|
+
**dev-browser workflow (preferred — already wired up):**
|
|
174
|
+
1. User logs into LinkedIn / X once in the dev-browser session
|
|
175
|
+
2. Claude navigates to a target URL (feed, profile, saved search, hashtag)
|
|
176
|
+
3. Claude reads the accessibility tree / page text, extracts posts
|
|
177
|
+
4. Claude scores using the [rubric](#scoring-rubric) and drafts comments
|
|
178
|
+
5. User reviews and posts manually (don't auto-post — high-stakes, bot detection risk)
|
|
179
|
+
|
|
180
|
+
**Useful URLs to feed dev-browser:**
|
|
181
|
+
|
|
182
|
+
| URL pattern | What it shows |
|
|
183
|
+
|-------------|---------------|
|
|
184
|
+
| `linkedin.com/in/HANDLE/recent-activity/all/` | A target account's recent posts |
|
|
185
|
+
| `linkedin.com/feed/hashtag/TOPIC/` | Hashtag feed |
|
|
186
|
+
| `linkedin.com/feed/` | Your main feed (algorithmic — less useful for triage) |
|
|
187
|
+
| `x.com/HANDLE` | A target account's profile |
|
|
188
|
+
| `x.com/search?q=QUERY&f=live` | Real-time search (use `f=live` for chronological) |
|
|
189
|
+
| `x.com/i/lists/LIST_ID` | A curated list — best for target accounts |
|
|
190
|
+
|
|
191
|
+
**Tips:**
|
|
192
|
+
- On X, build a private list of target accounts and use the list URL. Far cleaner than the algorithmic feed.
|
|
193
|
+
- LinkedIn's `/recent-activity/all/` URL is the cleanest way to see one person's posts without the algorithm.
|
|
194
|
+
- For both platforms, scroll programmatically (dev-browser supports it) to load more posts before extracting.
|
|
195
|
+
|
|
196
|
+
**Paid alternatives if you don't want to drive a browser:**
|
|
197
|
+
|
|
198
|
+
| Platform | Tools |
|
|
199
|
+
|----------|-------|
|
|
200
|
+
| LinkedIn | Sales Navigator (saved searches), Taplio (engagement) |
|
|
201
|
+
| X | TweetDeck/X Pro (saved columns), Typefully, Taplio, Tweet Hunter |
|
|
202
|
+
|
|
203
|
+
**Still closed (no good path):**
|
|
204
|
+
- Instagram & TikTok — closed APIs, browser automation is detectable and risky. Use native saved searches / hashtag follows.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Per-Platform Notes
|
|
209
|
+
|
|
210
|
+
### LinkedIn
|
|
211
|
+
- **Browser-driven** (dev-browser with persistent session) — see [LinkedIn & X — use the browser](#linkedin--x--use-the-browser)
|
|
212
|
+
- **First-hour comments matter most** — algorithm weights early engagement heavily. Prioritize posts <2h old from target accounts.
|
|
213
|
+
- Comments with 5+ words get more reach than reactions
|
|
214
|
+
- Replying to other commenters can put you in front of their network
|
|
215
|
+
- Tag the author in your reply only if it adds context
|
|
216
|
+
|
|
217
|
+
### Twitter/X
|
|
218
|
+
- **Browser-driven** (dev-browser) — build a private list of target accounts and point dev-browser at the list URL
|
|
219
|
+
- Reply within first 30 min for max reach on big accounts
|
|
220
|
+
- Quote-tweet > reply when adding substantial value
|
|
221
|
+
- Threading your reply (multi-tweet) signals effort
|
|
222
|
+
- Don't pile on dunks — relationships > clout
|
|
223
|
+
|
|
224
|
+
### Reddit
|
|
225
|
+
- Read the subreddit rules before commenting (some ban self-promotion outright)
|
|
226
|
+
- Earn karma in the sub before linking to anything you own
|
|
227
|
+
- Long, specific answers win. AMAs and "help me decide" threads are gold
|
|
228
|
+
- Never lead with your product — answer the question first
|
|
229
|
+
|
|
230
|
+
### Hacker News
|
|
231
|
+
- Comment quality bar is high; low-effort gets downvoted fast
|
|
232
|
+
- Founders commenting on threads about their product is welcomed if you're transparent
|
|
233
|
+
- Search for past discussions of your category — they're often dormant gold mines
|
|
234
|
+
|
|
235
|
+
### Bluesky
|
|
236
|
+
- Smaller volume but high engagement-to-follower ratio
|
|
237
|
+
- Tech and indie-hacker communities are active
|
|
238
|
+
- Custom feeds (like Bluesky's "Following" + topic feeds) replace algorithmic search
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Common Workflows
|
|
243
|
+
|
|
244
|
+
### "Give me my top 10 posts to comment on today"
|
|
245
|
+
1. Pull from: target account RSS/saved searches + Reddit (relevant subs) + HN (last 24h)
|
|
246
|
+
2. Score with the [rubric](#scoring-rubric)
|
|
247
|
+
3. Output top 10 with suggested comments
|
|
248
|
+
|
|
249
|
+
### "Find people complaining about [competitor]"
|
|
250
|
+
1. Reddit search: `"competitor name" -site:competitor.com` sorted by new
|
|
251
|
+
2. HN comment search for competitor name
|
|
252
|
+
3. Bluesky search for competitor handle/name
|
|
253
|
+
4. Score by intent signal (high if switching language: "moving from", "alternatives to", "frustrated with")
|
|
254
|
+
|
|
255
|
+
### "Surface brand mentions from the last week"
|
|
256
|
+
1. Reddit search for brand name
|
|
257
|
+
2. HN search (stories + comments) for brand name
|
|
258
|
+
3. Bluesky search for brand name + handle
|
|
259
|
+
4. Output as: reply needed (yes/no), tone (positive/negative/neutral), suggested response
|
|
260
|
+
|
|
261
|
+
### "Find target-account posts I missed"
|
|
262
|
+
1. Maintain a list of target accounts with their RSS / Reddit usernames / Bluesky handles
|
|
263
|
+
2. Fetch each source's recent posts
|
|
264
|
+
3. Filter to last 24h, output sorted by score
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Setting Up the Source List
|
|
269
|
+
|
|
270
|
+
The user should maintain a list of sources somewhere persistent at `.agents/listening-sources.md` (or `.claude/listening-sources.md`). Claude reads it when running the daily loop.
|
|
271
|
+
|
|
272
|
+
**A ready-to-fill template lives at [listening-sources-template.md](listening-sources-template.md).** Copy it into the project and edit. The source path depends on how the skill was installed:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
# Plugin / marketplace install (most common):
|
|
276
|
+
cp .agents/skills/social/references/listening-sources-template.md .agents/listening-sources.md
|
|
277
|
+
# .claude/ install:
|
|
278
|
+
cp .claude/skills/social/references/listening-sources-template.md .agents/listening-sources.md
|
|
279
|
+
# Working inside the marketingskills repo:
|
|
280
|
+
cp skills/social/references/listening-sources-template.md .agents/listening-sources.md
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
The template covers: brand/category, ICP (for scoring), target accounts per platform, intent keywords, subreddits, saved-search URLs, and a do-not-engage list.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Platform Limits Reference
|
|
2
|
+
|
|
3
|
+
Quick reference for hashtag limits, character counts, and visible text thresholds on each major social platform.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Instagram
|
|
8
|
+
|
|
9
|
+
| Element | Limit |
|
|
10
|
+
|---------|-------|
|
|
11
|
+
| Max hashtags | 5 (official limit) |
|
|
12
|
+
| Recommended hashtags | 3 – 5 |
|
|
13
|
+
| Max caption chars | 2,200 |
|
|
14
|
+
| Visible before "more" | ~125 chars |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Facebook
|
|
19
|
+
|
|
20
|
+
| Element | Limit |
|
|
21
|
+
|---------|-------|
|
|
22
|
+
| Max hashtags | No official limit |
|
|
23
|
+
| Recommended hashtags | 1 – 2 |
|
|
24
|
+
| Max post chars | 63,206 |
|
|
25
|
+
| Ideal for engagement | 40 – 80 chars |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## TikTok
|
|
30
|
+
|
|
31
|
+
| Element | Limit |
|
|
32
|
+
|---------|-------|
|
|
33
|
+
| Max hashtags | 5 (since August 2025) |
|
|
34
|
+
| Recommended hashtags | 3 – 5 |
|
|
35
|
+
| Max caption chars | 4,000 |
|
|
36
|
+
| Visible before "more" | ~150 chars |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## LinkedIn
|
|
41
|
+
|
|
42
|
+
| Element | Limit |
|
|
43
|
+
|---------|-------|
|
|
44
|
+
| Max hashtags | No official limit |
|
|
45
|
+
| Recommended hashtags | 3 – 5 |
|
|
46
|
+
| Max post chars | 3,000 |
|
|
47
|
+
| Visible before "more" | ~210 chars |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Twitter/X
|
|
52
|
+
|
|
53
|
+
| Element | Limit |
|
|
54
|
+
|---------|-------|
|
|
55
|
+
| Max hashtags | No official limit |
|
|
56
|
+
| Recommended hashtags | 1 – 2 |
|
|
57
|
+
| Max tweet chars | 280 (standard) / 25,000 (Premium+) |
|
|
58
|
+
| Visible before "more" | Full tweet (280 standard) |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## YouTube
|
|
63
|
+
|
|
64
|
+
| Element | Limit |
|
|
65
|
+
|---------|-------|
|
|
66
|
+
| Max hashtags | 15 (exceeding this causes YouTube to ignore ALL hashtags) |
|
|
67
|
+
| Recommended hashtags | 3 – 5 |
|
|
68
|
+
| Max title chars | 100 (visible before truncation: ~70) |
|
|
69
|
+
| Max description chars | 5,000 |
|
|
70
|
+
| Visible before "Show more" | ~100 chars |
|
|
71
|
+
|
|
72
|
+
> The first 3 hashtags in the description automatically appear above the title as clickable links. For Shorts, use 1 – 5 hashtags.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Pinterest
|
|
77
|
+
|
|
78
|
+
| Element | Limit |
|
|
79
|
+
|---------|-------|
|
|
80
|
+
| Max hashtags | 20 per pin |
|
|
81
|
+
| Recommended hashtags | 2 – 5 |
|
|
82
|
+
| Max pin title chars | 100 |
|
|
83
|
+
| Max description chars | 500 |
|
|
84
|
+
| Visible before "More" | ~50 chars (desktop) |
|
|
85
|
+
|
|
86
|
+
> Pinterest has deprioritized hashtags. Focus on keywords as natural sentences within the description for better SEO instead of relying on hashtags.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Threads (Meta)
|
|
91
|
+
|
|
92
|
+
| Element | Limit |
|
|
93
|
+
|---------|-------|
|
|
94
|
+
| Max hashtags | 1 per post (topic tag) |
|
|
95
|
+
| Recommended hashtags | 1 |
|
|
96
|
+
| Max post chars | 500 |
|
|
97
|
+
| Max with text attachment | 10,500 (500 + 10,000 expandable) |
|
|
98
|
+
| Visible without expanding | First ~1 – 2 lines |
|
|
99
|
+
|
|
100
|
+
> Threads limits topic tags to one per post. The platform is not hashtag-driven — the algorithm prioritizes content from followed accounts mixed with recommendations.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Usage Tips
|
|
105
|
+
|
|
106
|
+
- **Hashtags count against character limits** on all platforms
|
|
107
|
+
- **Front-load your message** before the "more" truncation point
|
|
108
|
+
- On Instagram and TikTok, fewer hashtags now outperform hashtag-stuffing
|
|
109
|
+
- On LinkedIn, hashtags at the end of the post perform better than inline
|
|
110
|
+
- On Facebook, hashtags have minimal impact on reach — use sparingly
|