rsc-universal 0.1.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 +279 -0
- package/manifest.json +4761 -0
- package/package.json +59 -0
- package/schema/frontmatter.schema.json +12 -0
- package/scripts/build-manifest.js +72 -0
- package/scripts/consult.js +106 -0
- package/scripts/detect-repo.js +118 -0
- package/scripts/doctor.js +21 -0
- package/scripts/eval-lint.sh +179 -0
- package/scripts/install-apply.js +52 -0
- package/scripts/install-plan.js +13 -0
- package/scripts/lib/behavior-score.js +103 -0
- package/scripts/lib/frontmatter.js +47 -0
- package/scripts/lib/harden-policy.js +41 -0
- package/scripts/lib/manifest.js +18 -0
- package/scripts/lib/recommend.js +36 -0
- package/scripts/lib/registry.js +110 -0
- package/scripts/lib/result-envelope.js +35 -0
- package/scripts/lib/state.js +12 -0
- package/scripts/lib/ui.js +17 -0
- package/scripts/reviewer-guard.sh +67 -0
- package/scripts/rsc.js +108 -0
- package/scripts/skill-behavior-eval.js +33 -0
- package/scripts/skill-behavior-eval.workflow.js +136 -0
- package/scripts/skill-behavior-rubric.md +63 -0
- package/scripts/skill-harden-rubric.md +40 -0
- package/scripts/skill-harden.workflow.js +161 -0
- package/scripts/skill-rubric.md +39 -0
- package/scripts/skill-scoreboard.workflow.js +35 -0
- package/skills/ab-testing/SKILL.md +191 -0
- package/skills/ab-testing/evals/README.md +8 -0
- package/skills/ab-testing/evals/cases.yaml +49 -0
- package/skills/ab-testing/references/pitfalls.md +74 -0
- package/skills/ab-testing/references/sample-size-and-cuped.md +128 -0
- package/skills/ab-testing/scripts/verify.sh +89 -0
- package/skills/accessibility/SKILL.md +218 -0
- package/skills/accessibility/evals/README.md +3 -0
- package/skills/accessibility/evals/cases.yaml +47 -0
- package/skills/accessibility/references/aria-patterns.md +113 -0
- package/skills/accessibility/references/wcag22-checklist.md +83 -0
- package/skills/accessibility/scripts/verify.sh +103 -0
- package/skills/ads/SKILL.md +175 -0
- package/skills/ads/evals/README.md +15 -0
- package/skills/ads/evals/cases.yaml +58 -0
- package/skills/ads/references/platform-specs.md +73 -0
- package/skills/ads/references/roas-model.md +77 -0
- package/skills/ads/scripts/verify.sh +210 -0
- package/skills/agent-eval/SKILL.md +213 -0
- package/skills/agent-eval/evals/README.md +12 -0
- package/skills/agent-eval/evals/cases.yaml +45 -0
- package/skills/agent-eval/references/judge-design.md +118 -0
- package/skills/agent-eval/references/runner-and-gate.md +183 -0
- package/skills/agent-eval/scripts/verify.sh +161 -0
- package/skills/agent-safety/SKILL.md +176 -0
- package/skills/agent-safety/evals/README.md +12 -0
- package/skills/agent-safety/evals/cases.yaml +46 -0
- package/skills/agent-safety/references/threat-model.md +51 -0
- package/skills/ai-media/SKILL.md +196 -0
- package/skills/ai-media/evals/README.md +3 -0
- package/skills/ai-media/evals/cases.yaml +45 -0
- package/skills/ai-media/references/ffmpeg-assembly.md +117 -0
- package/skills/ai-media/references/models-and-params.md +78 -0
- package/skills/ai-media/scripts/verify.sh +103 -0
- package/skills/analytics/SKILL.md +219 -0
- package/skills/analytics/evals/README.md +9 -0
- package/skills/analytics/evals/cases.yaml +53 -0
- package/skills/analytics/references/event-taxonomy.md +75 -0
- package/skills/analytics/references/ga4-setup.md +122 -0
- package/skills/analytics/references/posthog-setup.md +100 -0
- package/skills/analytics/scripts/verify.sh +95 -0
- package/skills/analyze/SKILL.md +136 -0
- package/skills/analyze/evals/README.md +72 -0
- package/skills/analyze/evals/cases.yaml +74 -0
- package/skills/angular/SKILL.md +288 -0
- package/skills/angular/evals/README.md +3 -0
- package/skills/angular/evals/cases.yaml +38 -0
- package/skills/angular/references/migration.md +81 -0
- package/skills/angular/references/signals-rxjs.md +92 -0
- package/skills/angular/scripts/verify.sh +122 -0
- package/skills/api-connector-builder/SKILL.md +285 -0
- package/skills/api-connector-builder/evals/README.md +11 -0
- package/skills/api-connector-builder/evals/cases.yaml +47 -0
- package/skills/api-connector-builder/references/auth-flows.md +132 -0
- package/skills/api-connector-builder/references/pagination.md +144 -0
- package/skills/api-connector-builder/scripts/verify.sh +172 -0
- package/skills/api-design/SKILL.md +189 -0
- package/skills/api-design/evals/README.md +3 -0
- package/skills/api-design/evals/cases.yaml +45 -0
- package/skills/api-design/references/graphql-design.md +70 -0
- package/skills/api-design/references/openapi-contract.md +86 -0
- package/skills/api-design/references/rest-conventions.md +63 -0
- package/skills/api-design/references/versioning-and-evolution.md +49 -0
- package/skills/api-design/scripts/verify.sh +138 -0
- package/skills/article-writing/SKILL.md +175 -0
- package/skills/article-writing/evals/README.md +3 -0
- package/skills/article-writing/evals/cases.yaml +47 -0
- package/skills/article-writing/references/ai-tell-banlist.md +114 -0
- package/skills/article-writing/references/on-page-seo.md +133 -0
- package/skills/article-writing/scripts/verify.sh +165 -0
- package/skills/astro/SKILL.md +275 -0
- package/skills/astro/evals/README.md +3 -0
- package/skills/astro/evals/cases.yaml +41 -0
- package/skills/astro/references/content-layer.md +118 -0
- package/skills/astro/references/deploy-and-integrations.md +163 -0
- package/skills/astro/scripts/verify.sh +137 -0
- package/skills/author-skill/SKILL.md +206 -0
- package/skills/author-skill/evals/README.md +66 -0
- package/skills/author-skill/evals/cases.yaml +75 -0
- package/skills/author-skill/references/description-recipe.md +84 -0
- package/skills/author-skill/references/eval-authoring.md +74 -0
- package/skills/author-skill/references/rsc-conventions.md +91 -0
- package/skills/automation-flows/SKILL.md +132 -0
- package/skills/automation-flows/evals/README.md +5 -0
- package/skills/automation-flows/evals/cases.yaml +44 -0
- package/skills/automation-flows/references/error-handling.md +58 -0
- package/skills/automation-flows/references/n8n-workflow-json.md +63 -0
- package/skills/automation-flows/scripts/verify.sh +78 -0
- package/skills/aws-essentials/SKILL.md +223 -0
- package/skills/aws-essentials/evals/README.md +10 -0
- package/skills/aws-essentials/evals/cases.yaml +44 -0
- package/skills/aws-essentials/references/iam-least-privilege.md +134 -0
- package/skills/aws-essentials/references/rds-cloudfront-recipes.md +127 -0
- package/skills/aws-essentials/scripts/verify.sh +99 -0
- package/skills/backups/SKILL.md +137 -0
- package/skills/backups/evals/README.md +3 -0
- package/skills/backups/evals/cases.yaml +42 -0
- package/skills/backups/references/engine-recipes.md +121 -0
- package/skills/backups/references/restore-runbook.md +65 -0
- package/skills/backups/scripts/verify.sh +80 -0
- package/skills/bash-scripting/SKILL.md +231 -0
- package/skills/bash-scripting/evals/README.md +3 -0
- package/skills/bash-scripting/evals/cases.yaml +45 -0
- package/skills/bash-scripting/references/portability.md +97 -0
- package/skills/bash-scripting/scripts/verify.sh +140 -0
- package/skills/bookkeeping/SKILL.md +184 -0
- package/skills/bookkeeping/evals/README.md +5 -0
- package/skills/bookkeeping/evals/cases.yaml +52 -0
- package/skills/bookkeeping/references/chart-of-accounts.md +87 -0
- package/skills/bookkeeping/references/reconciliation-playbook.md +54 -0
- package/skills/bookkeeping/references/tricky-transactions.md +192 -0
- package/skills/brand-identity/SKILL.md +161 -0
- package/skills/brand-identity/evals/README.md +14 -0
- package/skills/brand-identity/evals/cases.yaml +43 -0
- package/skills/brand-identity/references/color-and-tokens.md +129 -0
- package/skills/brand-identity/references/logo-and-assets.md +117 -0
- package/skills/brand-identity/scripts/verify.sh +224 -0
- package/skills/brand-voice/SKILL.md +183 -0
- package/skills/brand-voice/evals/README.md +3 -0
- package/skills/brand-voice/evals/cases.yaml +57 -0
- package/skills/brand-voice/references/voice-guide-template.md +150 -0
- package/skills/brand-voice/references/word-bank.md +61 -0
- package/skills/brand-voice/scripts/verify.sh +190 -0
- package/skills/building-agents/SKILL.md +469 -0
- package/skills/building-agents/evals/README.md +68 -0
- package/skills/building-agents/evals/cases.yaml +60 -0
- package/skills/building-agents/references/agent-loops-and-harness.md +371 -0
- package/skills/building-agents/references/evals-and-observability.md +420 -0
- package/skills/building-agents/references/mcp-servers.md +294 -0
- package/skills/building-agents/references/provider-abstraction.md +489 -0
- package/skills/building-agents/references/tools-and-rag.md +417 -0
- package/skills/building-agents/scripts/verify.sh +121 -0
- package/skills/business-intelligence/SKILL.md +176 -0
- package/skills/business-intelligence/evals/README.md +3 -0
- package/skills/business-intelligence/evals/cases.yaml +43 -0
- package/skills/business-intelligence/references/authoring-semantic-models.md +120 -0
- package/skills/business-intelligence/references/wiring-agents-and-apis.md +79 -0
- package/skills/business-intelligence/scripts/verify.sh +143 -0
- package/skills/calendar-scheduling/SKILL.md +196 -0
- package/skills/calendar-scheduling/evals/README.md +14 -0
- package/skills/calendar-scheduling/evals/cases.yaml +45 -0
- package/skills/calendar-scheduling/references/google-calendar-sync.md +78 -0
- package/skills/calendar-scheduling/references/provider-matrix.md +71 -0
- package/skills/calendar-scheduling/scripts/verify.sh +117 -0
- package/skills/case-studies/SKILL.md +147 -0
- package/skills/case-studies/evals/README.md +3 -0
- package/skills/case-studies/evals/cases.yaml +63 -0
- package/skills/case-studies/references/case-study-skeleton.md +90 -0
- package/skills/case-studies/references/consent-and-substantiation.md +80 -0
- package/skills/case-studies/scripts/verify.sh +161 -0
- package/skills/chatbot/SKILL.md +168 -0
- package/skills/chatbot/evals/README.md +13 -0
- package/skills/chatbot/evals/cases.yaml +43 -0
- package/skills/chatbot/references/handoff-and-sales.md +71 -0
- package/skills/chatbot/references/system-prompt-and-guardrails.md +78 -0
- package/skills/chatbot/scripts/verify.sh +162 -0
- package/skills/chrome-extension/SKILL.md +169 -0
- package/skills/chrome-extension/evals/README.md +12 -0
- package/skills/chrome-extension/evals/cases.yaml +40 -0
- package/skills/chrome-extension/references/store-and-migration.md +84 -0
- package/skills/chrome-extension/scripts/verify.sh +62 -0
- package/skills/clarify/SKILL.md +159 -0
- package/skills/clarify/evals/README.md +70 -0
- package/skills/clarify/evals/cases.yaml +71 -0
- package/skills/clickhouse-analytics/SKILL.md +165 -0
- package/skills/clickhouse-analytics/evals/README.md +3 -0
- package/skills/clickhouse-analytics/evals/cases.yaml +45 -0
- package/skills/clickhouse-analytics/references/ingestion-and-mvs.md +109 -0
- package/skills/clickhouse-analytics/references/query-optimization.md +76 -0
- package/skills/clickhouse-analytics/references/schema-and-engines.md +63 -0
- package/skills/clickhouse-analytics/scripts/verify.sh +109 -0
- package/skills/client-onboarding/SKILL.md +254 -0
- package/skills/client-onboarding/evals/README.md +14 -0
- package/skills/client-onboarding/evals/cases.yaml +40 -0
- package/skills/client-onboarding/references/onboarding-playbook.md +126 -0
- package/skills/cloudflare/SKILL.md +191 -0
- package/skills/cloudflare/evals/README.md +15 -0
- package/skills/cloudflare/evals/cases.yaml +46 -0
- package/skills/cloudflare/references/storage-primitives.md +104 -0
- package/skills/cloudflare/references/wrangler-config.md +91 -0
- package/skills/cloudflare/scripts/verify.sh +133 -0
- package/skills/code-review/SKILL.md +143 -0
- package/skills/code-review/evals/README.md +3 -0
- package/skills/code-review/evals/cases.yaml +55 -0
- package/skills/code-review/references/pr-workflow.md +67 -0
- package/skills/codebase-onboarding/SKILL.md +133 -0
- package/skills/codebase-onboarding/evals/README.md +3 -0
- package/skills/codebase-onboarding/evals/cases.yaml +69 -0
- package/skills/codebase-onboarding/references/recon-playbook.md +57 -0
- package/skills/codebase-onboarding/scripts/verify.sh +54 -0
- package/skills/cold-outreach/SKILL.md +206 -0
- package/skills/cold-outreach/evals/README.md +3 -0
- package/skills/cold-outreach/evals/cases.yaml +60 -0
- package/skills/cold-outreach/references/compliance-footer.md +50 -0
- package/skills/cold-outreach/references/hook-derivation.md +73 -0
- package/skills/cold-outreach/references/templates.md +88 -0
- package/skills/cold-outreach/scripts/verify.sh +170 -0
- package/skills/community/SKILL.md +225 -0
- package/skills/community/evals/README.md +3 -0
- package/skills/community/evals/cases.yaml +40 -0
- package/skills/community/references/metrics-and-rituals.md +58 -0
- package/skills/community/references/platform-playbooks.md +64 -0
- package/skills/community/scripts/verify.sh +83 -0
- package/skills/competitor-watch/SKILL.md +193 -0
- package/skills/competitor-watch/evals/README.md +19 -0
- package/skills/competitor-watch/evals/cases.yaml +54 -0
- package/skills/competitor-watch/references/monitoring-config.md +124 -0
- package/skills/competitor-watch/references/tracker-schema.md +79 -0
- package/skills/competitor-watch/scripts/verify.sh +253 -0
- package/skills/compliance/SKILL.md +184 -0
- package/skills/compliance/evals/README.md +14 -0
- package/skills/compliance/evals/cases.yaml +46 -0
- package/skills/compliance/references/frameworks.md +108 -0
- package/skills/compliance/references/operating-rhythm.md +79 -0
- package/skills/compliance/scripts/verify.sh +168 -0
- package/skills/compose-multiplatform/SKILL.md +198 -0
- package/skills/compose-multiplatform/evals/README.md +3 -0
- package/skills/compose-multiplatform/evals/cases.yaml +40 -0
- package/skills/compose-multiplatform/references/ios-interop.md +91 -0
- package/skills/compose-multiplatform/references/project-setup.md +96 -0
- package/skills/compose-multiplatform/scripts/verify.sh +123 -0
- package/skills/constitution/SKILL.md +160 -0
- package/skills/constitution/evals/README.md +68 -0
- package/skills/constitution/evals/cases.yaml +72 -0
- package/skills/constitution/references/constitution-template.md +90 -0
- package/skills/content-engine/SKILL.md +164 -0
- package/skills/content-engine/evals/README.md +17 -0
- package/skills/content-engine/evals/cases.yaml +62 -0
- package/skills/content-engine/references/atomization.md +81 -0
- package/skills/content-engine/references/brief-and-pipeline.md +90 -0
- package/skills/content-engine/scripts/verify.sh +146 -0
- package/skills/context-budget/SKILL.md +132 -0
- package/skills/context-budget/evals/README.md +11 -0
- package/skills/context-budget/evals/cases.yaml +40 -0
- package/skills/context-budget/references/handoff-and-compaction.md +96 -0
- package/skills/continuous-learning/SKILL.md +136 -0
- package/skills/continuous-learning/evals/README.md +16 -0
- package/skills/continuous-learning/evals/cases.yaml +39 -0
- package/skills/continuous-learning/references/lesson-routing.md +106 -0
- package/skills/contracts/SKILL.md +124 -0
- package/skills/contracts/evals/README.md +3 -0
- package/skills/contracts/evals/cases.yaml +42 -0
- package/skills/contracts/references/clause-library.md +129 -0
- package/skills/contracts/references/review-playbook.md +49 -0
- package/skills/contracts/scripts/verify.sh +53 -0
- package/skills/coolify/SKILL.md +201 -0
- package/skills/coolify/evals/README.md +21 -0
- package/skills/coolify/evals/cases.yaml +46 -0
- package/skills/coolify/references/databases-and-backups.md +99 -0
- package/skills/coolify/references/deploy-recipes.md +105 -0
- package/skills/coolify/references/install-and-proxy.md +80 -0
- package/skills/coolify/scripts/verify.sh +123 -0
- package/skills/cost-tracking/SKILL.md +183 -0
- package/skills/cost-tracking/evals/README.md +3 -0
- package/skills/cost-tracking/evals/cases.yaml +45 -0
- package/skills/cost-tracking/references/cloud-caps.md +52 -0
- package/skills/cost-tracking/references/pricing-tables.md +51 -0
- package/skills/cost-tracking/scripts/verify.sh +135 -0
- package/skills/course-builder/SKILL.md +186 -0
- package/skills/course-builder/evals/README.md +16 -0
- package/skills/course-builder/evals/cases.yaml +49 -0
- package/skills/course-builder/references/assessment-design.md +74 -0
- package/skills/course-builder/references/grounding-and-scoping.md +69 -0
- package/skills/course-builder/references/outcomes-and-blooms.md +82 -0
- package/skills/course-builder/scripts/verify.sh +247 -0
- package/skills/course-storytelling/SKILL.md +205 -0
- package/skills/course-storytelling/evals/README.md +54 -0
- package/skills/course-storytelling/evals/cases.yaml +50 -0
- package/skills/course-storytelling/references/brunson-frameworks.md +190 -0
- package/skills/course-storytelling/references/concept-landing-recipe.md +136 -0
- package/skills/course-storytelling/references/course-analysis.md +124 -0
- package/skills/course-storytelling/references/learner-grounding.md +183 -0
- package/skills/course-storytelling/references/mental-models.md +115 -0
- package/skills/course-storytelling/scripts/verify.sh +223 -0
- package/skills/cpp/SKILL.md +349 -0
- package/skills/cpp/evals/README.md +14 -0
- package/skills/cpp/evals/cases.yaml +44 -0
- package/skills/cpp/references/cmake.md +167 -0
- package/skills/cpp/references/move-and-templates.md +130 -0
- package/skills/cpp/references/undefined-behavior.md +86 -0
- package/skills/cpp/scripts/verify.sh +165 -0
- package/skills/csharp-dotnet/SKILL.md +291 -0
- package/skills/csharp-dotnet/evals/README.md +3 -0
- package/skills/csharp-dotnet/evals/cases.yaml +48 -0
- package/skills/csharp-dotnet/references/aspnetcore.md +99 -0
- package/skills/csharp-dotnet/references/async.md +82 -0
- package/skills/csharp-dotnet/references/efcore.md +96 -0
- package/skills/csharp-dotnet/scripts/verify.sh +90 -0
- package/skills/customer-support/SKILL.md +193 -0
- package/skills/customer-support/evals/README.md +13 -0
- package/skills/customer-support/evals/cases.yaml +61 -0
- package/skills/customer-support/references/macros-and-sla.md +142 -0
- package/skills/dashboard/SKILL.md +205 -0
- package/skills/dashboard/evals/README.md +3 -0
- package/skills/dashboard/evals/cases.yaml +50 -0
- package/skills/dashboard/references/chart-selection.md +34 -0
- package/skills/dashboard/references/tile-schema.md +164 -0
- package/skills/dashboard/scripts/verify.sh +130 -0
- package/skills/data-cleaning/SKILL.md +285 -0
- package/skills/data-cleaning/evals/README.md +16 -0
- package/skills/data-cleaning/evals/cases.yaml +57 -0
- package/skills/data-cleaning/references/normalization-recipes.md +136 -0
- package/skills/data-cleaning/references/validation-patterns.md +134 -0
- package/skills/data-cleaning/scripts/verify.sh +115 -0
- package/skills/data-policy/SKILL.md +163 -0
- package/skills/data-policy/evals/README.md +15 -0
- package/skills/data-policy/evals/cases.yaml +44 -0
- package/skills/data-policy/references/consent-and-ropa.md +97 -0
- package/skills/data-policy/references/retention-schedule.md +83 -0
- package/skills/data-policy/scripts/verify.sh +143 -0
- package/skills/data-scraper/SKILL.md +134 -0
- package/skills/data-scraper/evals/README.md +3 -0
- package/skills/data-scraper/evals/cases.yaml +46 -0
- package/skills/data-scraper/references/anti-bot.md +85 -0
- package/skills/data-scraper/references/frameworks.md +116 -0
- package/skills/data-scraper/references/legal-compliance.md +59 -0
- package/skills/data-scraper/scripts/verify.sh +166 -0
- package/skills/db-migrations/SKILL.md +254 -0
- package/skills/db-migrations/evals/README.md +10 -0
- package/skills/db-migrations/evals/cases.yaml +46 -0
- package/skills/db-migrations/references/backfill-and-batching.md +105 -0
- package/skills/db-migrations/references/expand-contract-playbook.md +152 -0
- package/skills/db-migrations/references/tools-and-runners.md +88 -0
- package/skills/db-migrations/scripts/verify.sh +112 -0
- package/skills/debug/SKILL.md +227 -0
- package/skills/debug/evals/README.md +88 -0
- package/skills/debug/evals/cases.yaml +74 -0
- package/skills/decision-records/SKILL.md +189 -0
- package/skills/decision-records/evals/README.md +3 -0
- package/skills/decision-records/evals/cases.yaml +43 -0
- package/skills/decision-records/references/templates.md +232 -0
- package/skills/decision-records/scripts/verify.sh +105 -0
- package/skills/deployment/SKILL.md +439 -0
- package/skills/deployment/evals/README.md +50 -0
- package/skills/deployment/evals/cases.yaml +53 -0
- package/skills/deployment/references/coolify.md +216 -0
- package/skills/deployment/references/dockerfiles-by-stack.md +319 -0
- package/skills/deployment/references/github-actions.md +295 -0
- package/skills/deployment/references/hosting-targets.md +272 -0
- package/skills/deployment/scripts/verify.sh +134 -0
- package/skills/design/SKILL.md +399 -0
- package/skills/design/evals/README.md +53 -0
- package/skills/design/evals/cases.yaml +56 -0
- package/skills/design/references/brand-grounding.md +187 -0
- package/skills/design/references/copywriting-frameworks.md +138 -0
- package/skills/design/references/landing-anatomy-and-cro.md +202 -0
- package/skills/design/references/motion-and-interaction.md +182 -0
- package/skills/design/references/research-method.md +147 -0
- package/skills/design/references/signature-and-craft.md +148 -0
- package/skills/design/references/trends-2026.md +80 -0
- package/skills/design/references/visual-system.md +236 -0
- package/skills/design/scripts/verify.sh +248 -0
- package/skills/digitalocean/SKILL.md +251 -0
- package/skills/digitalocean/evals/README.md +10 -0
- package/skills/digitalocean/evals/cases.yaml +37 -0
- package/skills/digitalocean/references/app-spec.md +126 -0
- package/skills/digitalocean/references/droplet-ops.md +95 -0
- package/skills/digitalocean/scripts/verify.sh +102 -0
- package/skills/django/SKILL.md +268 -0
- package/skills/django/evals/README.md +11 -0
- package/skills/django/evals/cases.yaml +47 -0
- package/skills/django/references/drf.md +109 -0
- package/skills/django/references/orm-performance.md +91 -0
- package/skills/django/references/security.md +81 -0
- package/skills/django/references/testing.md +86 -0
- package/skills/django/scripts/verify.sh +115 -0
- package/skills/docker/SKILL.md +283 -0
- package/skills/docker/evals/README.md +10 -0
- package/skills/docker/evals/cases.yaml +44 -0
- package/skills/docker/references/base-images-and-stages.md +104 -0
- package/skills/docker/references/compose-recipes.md +109 -0
- package/skills/docker/scripts/verify.sh +149 -0
- package/skills/document-processing/SKILL.md +214 -0
- package/skills/document-processing/evals/README.md +3 -0
- package/skills/document-processing/evals/cases.yaml +65 -0
- package/skills/document-processing/references/engines.md +67 -0
- package/skills/document-processing/scripts/verify.sh +172 -0
- package/skills/domains-dns/SKILL.md +146 -0
- package/skills/domains-dns/evals/README.md +16 -0
- package/skills/domains-dns/evals/cases.yaml +47 -0
- package/skills/domains-dns/references/record-cookbook.md +94 -0
- package/skills/domains-dns/references/tls-and-acme.md +90 -0
- package/skills/domains-dns/references/verify-and-debug.md +64 -0
- package/skills/domains-dns/scripts/verify.sh +163 -0
- package/skills/drizzle-orm/SKILL.md +234 -0
- package/skills/drizzle-orm/evals/README.md +12 -0
- package/skills/drizzle-orm/evals/cases.yaml +47 -0
- package/skills/drizzle-orm/references/relations-and-drivers.md +118 -0
- package/skills/drizzle-orm/scripts/verify.sh +155 -0
- package/skills/duckdb/SKILL.md +207 -0
- package/skills/duckdb/evals/README.md +31 -0
- package/skills/duckdb/evals/cases.yaml +41 -0
- package/skills/duckdb/references/python-and-interop.md +105 -0
- package/skills/duckdb/references/remote-and-lakehouse.md +101 -0
- package/skills/duckdb/scripts/verify.sh +71 -0
- package/skills/dynamodb/SKILL.md +217 -0
- package/skills/dynamodb/evals/README.md +8 -0
- package/skills/dynamodb/evals/cases.yaml +46 -0
- package/skills/dynamodb/references/access-patterns.md +127 -0
- package/skills/dynamodb/references/capacity-and-limits.md +78 -0
- package/skills/dynamodb/scripts/verify.sh +108 -0
- package/skills/e-signature/SKILL.md +185 -0
- package/skills/e-signature/evals/README.md +3 -0
- package/skills/e-signature/evals/cases.yaml +44 -0
- package/skills/e-signature/references/docusign.md +83 -0
- package/skills/e-signature/references/dropbox-sign.md +73 -0
- package/skills/e-signature/references/legal-tiers.md +37 -0
- package/skills/e-signature/scripts/verify.sh +81 -0
- package/skills/e2e-testing/SKILL.md +243 -0
- package/skills/e2e-testing/evals/README.md +10 -0
- package/skills/e2e-testing/evals/cases.yaml +64 -0
- package/skills/e2e-testing/references/config-and-ci.md +156 -0
- package/skills/e2e-testing/references/flakiness-playbook.md +124 -0
- package/skills/e2e-testing/scripts/verify.sh +117 -0
- package/skills/electron/SKILL.md +221 -0
- package/skills/electron/evals/README.md +13 -0
- package/skills/electron/evals/cases.yaml +38 -0
- package/skills/electron/references/packaging-and-updates.md +122 -0
- package/skills/electron/references/security-and-ipc.md +158 -0
- package/skills/electron/scripts/verify.sh +143 -0
- package/skills/elixir/SKILL.md +217 -0
- package/skills/elixir/evals/README.md +3 -0
- package/skills/elixir/evals/cases.yaml +41 -0
- package/skills/elixir/references/mix-and-releases.md +91 -0
- package/skills/elixir/references/otp-patterns.md +96 -0
- package/skills/elixir/scripts/verify.sh +76 -0
- package/skills/email-connector/SKILL.md +294 -0
- package/skills/email-connector/evals/README.md +19 -0
- package/skills/email-connector/evals/cases.yaml +39 -0
- package/skills/email-connector/references/providers.md +107 -0
- package/skills/email-connector/scripts/verify.sh +72 -0
- package/skills/email-deliverability/SKILL.md +168 -0
- package/skills/email-deliverability/evals/README.md +21 -0
- package/skills/email-deliverability/evals/cases.yaml +45 -0
- package/skills/email-deliverability/scripts/verify.sh +98 -0
- package/skills/embeddings-search/SKILL.md +193 -0
- package/skills/embeddings-search/evals/README.md +10 -0
- package/skills/embeddings-search/evals/cases.yaml +44 -0
- package/skills/embeddings-search/references/evaluation.md +86 -0
- package/skills/embeddings-search/references/models.md +73 -0
- package/skills/embeddings-search/scripts/verify.sh +103 -0
- package/skills/error-handling/SKILL.md +307 -0
- package/skills/error-handling/evals/README.md +12 -0
- package/skills/error-handling/evals/cases.yaml +46 -0
- package/skills/error-handling/references/boundaries-and-messaging.md +120 -0
- package/skills/error-handling/references/retry-and-resilience.md +154 -0
- package/skills/error-handling/scripts/verify.sh +110 -0
- package/skills/expo/SKILL.md +253 -0
- package/skills/expo/evals/README.md +13 -0
- package/skills/expo/evals/cases.yaml +44 -0
- package/skills/expo/references/config-plugins.md +117 -0
- package/skills/expo/references/eas-update.md +118 -0
- package/skills/expo/scripts/verify.sh +132 -0
- package/skills/fal/SKILL.md +210 -0
- package/skills/fal/evals/README.md +3 -0
- package/skills/fal/evals/cases.yaml +42 -0
- package/skills/fal/references/models-and-cost.md +53 -0
- package/skills/fal/references/queue-and-webhooks.md +153 -0
- package/skills/fal/scripts/verify.sh +72 -0
- package/skills/fastapi/SKILL.md +499 -0
- package/skills/fastapi/evals/README.md +50 -0
- package/skills/fastapi/evals/cases.yaml +55 -0
- package/skills/fastapi/references/database.md +347 -0
- package/skills/fastapi/references/production.md +338 -0
- package/skills/fastapi/references/security.md +330 -0
- package/skills/fastapi/references/testing.md +349 -0
- package/skills/fastapi/scripts/verify.sh +116 -0
- package/skills/finance-ops/SKILL.md +149 -0
- package/skills/finance-ops/evals/README.md +3 -0
- package/skills/finance-ops/evals/cases.yaml +39 -0
- package/skills/finance-ops/references/cash-flow-forecast.md +57 -0
- package/skills/finance-ops/references/month-close.md +59 -0
- package/skills/finance-ops/references/reconciliation.md +65 -0
- package/skills/finance-ops/scripts/verify.sh +166 -0
- package/skills/financial-model/SKILL.md +170 -0
- package/skills/financial-model/evals/README.md +3 -0
- package/skills/financial-model/evals/cases.yaml +53 -0
- package/skills/financial-model/references/benchmarks-and-scenarios.md +55 -0
- package/skills/financial-model/references/model-structure.md +67 -0
- package/skills/financial-model/references/revenue-build.md +68 -0
- package/skills/financial-model/scripts/verify.sh +232 -0
- package/skills/firebase/SKILL.md +251 -0
- package/skills/firebase/evals/README.md +12 -0
- package/skills/firebase/evals/cases.yaml +45 -0
- package/skills/firebase/references/cloud-functions.md +102 -0
- package/skills/firebase/references/data-modeling.md +108 -0
- package/skills/firebase/references/security-rules.md +137 -0
- package/skills/firebase/scripts/verify.sh +98 -0
- package/skills/flutter/SKILL.md +448 -0
- package/skills/flutter/evals/README.md +54 -0
- package/skills/flutter/evals/cases.yaml +69 -0
- package/skills/flutter/references/architecture-and-state.md +499 -0
- package/skills/flutter/references/i18n-and-dependencies.md +197 -0
- package/skills/flutter/references/performance.md +299 -0
- package/skills/flutter/references/testing.md +385 -0
- package/skills/flutter/references/ui-and-navigation.md +378 -0
- package/skills/flutter/scripts/verify.sh +104 -0
- package/skills/fly-io/SKILL.md +206 -0
- package/skills/fly-io/evals/README.md +3 -0
- package/skills/fly-io/evals/cases.yaml +42 -0
- package/skills/fly-io/references/fly-toml.md +155 -0
- package/skills/fly-io/references/multi-region.md +66 -0
- package/skills/fly-io/scripts/verify.sh +90 -0
- package/skills/forecasting/SKILL.md +139 -0
- package/skills/forecasting/evals/README.md +13 -0
- package/skills/forecasting/evals/cases.yaml +47 -0
- package/skills/forecasting/references/accuracy-and-backtesting.md +104 -0
- package/skills/forecasting/references/methods-cheatsheet.md +94 -0
- package/skills/forecasting/scripts/verify.sh +99 -0
- package/skills/fundraising/SKILL.md +162 -0
- package/skills/fundraising/evals/README.md +18 -0
- package/skills/fundraising/evals/cases.yaml +76 -0
- package/skills/fundraising/references/funnel-math.md +90 -0
- package/skills/fundraising/references/process-playbook.md +97 -0
- package/skills/gcp-essentials/SKILL.md +327 -0
- package/skills/gcp-essentials/evals/README.md +12 -0
- package/skills/gcp-essentials/evals/cases.yaml +38 -0
- package/skills/gcp-essentials/references/deploy-recipes.md +81 -0
- package/skills/gcp-essentials/references/iam-and-auth.md +94 -0
- package/skills/gcp-essentials/references/networking-and-sql.md +74 -0
- package/skills/gcp-essentials/scripts/verify.sh +158 -0
- package/skills/gdpr-privacy/SKILL.md +167 -0
- package/skills/gdpr-privacy/evals/README.md +3 -0
- package/skills/gdpr-privacy/evals/cases.yaml +47 -0
- package/skills/gdpr-privacy/references/dpa-and-transfers.md +63 -0
- package/skills/gdpr-privacy/references/dsar-and-consent.md +83 -0
- package/skills/gdpr-privacy/references/privacy-policy-blueprint.md +99 -0
- package/skills/gdpr-privacy/scripts/verify.sh +84 -0
- package/skills/git-workflow/SKILL.md +190 -0
- package/skills/git-workflow/evals/README.md +10 -0
- package/skills/git-workflow/evals/cases.yaml +47 -0
- package/skills/git-workflow/references/interactive-rebase.md +89 -0
- package/skills/github-actions/SKILL.md +256 -0
- package/skills/github-actions/evals/README.md +3 -0
- package/skills/github-actions/evals/cases.yaml +45 -0
- package/skills/github-actions/references/caching-and-matrix.md +92 -0
- package/skills/github-actions/references/oidc-deploys.md +130 -0
- package/skills/github-actions/scripts/verify.sh +105 -0
- package/skills/go/SKILL.md +438 -0
- package/skills/go/evals/README.md +56 -0
- package/skills/go/evals/cases.yaml +55 -0
- package/skills/go/references/concurrency.md +557 -0
- package/skills/go/references/http-services.md +529 -0
- package/skills/go/references/testing.md +338 -0
- package/skills/go/scripts/verify.sh +109 -0
- package/skills/google-workspace/SKILL.md +287 -0
- package/skills/google-workspace/evals/README.md +16 -0
- package/skills/google-workspace/evals/cases.yaml +44 -0
- package/skills/google-workspace/references/api-recipes.md +148 -0
- package/skills/google-workspace/references/auth-setup.md +100 -0
- package/skills/google-workspace/scripts/verify.sh +128 -0
- package/skills/grants/SKILL.md +171 -0
- package/skills/grants/evals/README.md +3 -0
- package/skills/grants/evals/cases.yaml +69 -0
- package/skills/grants/references/budget-justification.md +71 -0
- package/skills/grants/references/jurisdictions.md +35 -0
- package/skills/grants/references/logic-model.md +66 -0
- package/skills/grants/scripts/verify.sh +193 -0
- package/skills/harness/SKILL.md +329 -0
- package/skills/harness/assets/_TEMPLATE/.env.example +8 -0
- package/skills/harness/assets/_TEMPLATE/CREDENTIALS.md +25 -0
- package/skills/harness/assets/_TEMPLATE/README.md +25 -0
- package/skills/harness/assets/_TEMPLATE/test_connection.sh +30 -0
- package/skills/harness/evals/README.md +54 -0
- package/skills/harness/evals/cases.yaml +72 -0
- package/skills/harness/examples/audit-example.md +120 -0
- package/skills/harness/references/agents-md-template.md +41 -0
- package/skills/harness/references/audit-report-template.html +140 -0
- package/skills/harness/references/audit-report-template.md +116 -0
- package/skills/harness/references/claude-md-template.md +98 -0
- package/skills/harness/references/inbox-readme-template.md +51 -0
- package/skills/harness/references/ingest-formats.md +185 -0
- package/skills/harness/references/providers.yaml +3410 -0
- package/skills/harness/references/tools-readme-template.md +88 -0
- package/skills/harness/references/wiki-archive-template.html +81 -0
- package/skills/harness/references/wiki-article-template.md +20 -0
- package/skills/harness/references/wiki-dashboard-template.html +136 -0
- package/skills/harness/references/wiki-deep-improve-report-template.html +126 -0
- package/skills/harness/references/wiki-gaps-template.md +18 -0
- package/skills/harness/references/wiki-index-template.md +23 -0
- package/skills/harness/references/wiki-protocol.md +699 -0
- package/skills/harness/references/wiki-raw-template.md +7 -0
- package/skills/hetzner/SKILL.md +221 -0
- package/skills/hetzner/evals/README.md +35 -0
- package/skills/hetzner/evals/cases.yaml +46 -0
- package/skills/hetzner/references/cloud-init.md +120 -0
- package/skills/hetzner/references/plans-and-locations.md +56 -0
- package/skills/hetzner/scripts/verify.sh +122 -0
- package/skills/hiring/SKILL.md +248 -0
- package/skills/hiring/evals/README.md +13 -0
- package/skills/hiring/evals/cases.yaml +41 -0
- package/skills/hiring/references/templates.md +118 -0
- package/skills/htmx/SKILL.md +261 -0
- package/skills/htmx/evals/README.md +3 -0
- package/skills/htmx/evals/cases.yaml +38 -0
- package/skills/htmx/references/patterns.md +113 -0
- package/skills/htmx/references/server-contract.md +91 -0
- package/skills/htmx/scripts/verify.sh +93 -0
- package/skills/huggingface/SKILL.md +190 -0
- package/skills/huggingface/evals/README.md +11 -0
- package/skills/huggingface/evals/cases.yaml +41 -0
- package/skills/huggingface/references/endpoints-and-spaces.md +99 -0
- package/skills/huggingface/references/hub-and-cli.md +85 -0
- package/skills/huggingface/references/inference-providers.md +115 -0
- package/skills/huggingface/scripts/verify.sh +123 -0
- package/skills/implement/SKILL.md +283 -0
- package/skills/implement/evals/README.md +56 -0
- package/skills/implement/evals/cases.yaml +43 -0
- package/skills/init/SKILL.md +184 -0
- package/skills/init/evals/README.md +49 -0
- package/skills/init/evals/cases.yaml +74 -0
- package/skills/init/references/accompaniment-and-profile.md +140 -0
- package/skills/init/references/discovery.md +90 -0
- package/skills/init/references/recommend-skills.md +115 -0
- package/skills/init/scripts/verify.sh +122 -0
- package/skills/instagram-api/SKILL.md +241 -0
- package/skills/instagram-api/evals/README.md +3 -0
- package/skills/instagram-api/evals/cases.yaml +43 -0
- package/skills/instagram-api/references/insights-metrics.md +88 -0
- package/skills/instagram-api/references/publish-reel.md +98 -0
- package/skills/instagram-api/scripts/verify.sh +137 -0
- package/skills/inventory/SKILL.md +131 -0
- package/skills/inventory/evals/README.md +3 -0
- package/skills/inventory/evals/cases.yaml +43 -0
- package/skills/inventory/references/abc-xyz.md +52 -0
- package/skills/inventory/references/ddmrp.md +32 -0
- package/skills/inventory/references/reorder-policies.md +85 -0
- package/skills/inventory/references/safety-stock.md +63 -0
- package/skills/inventory/scripts/verify.sh +155 -0
- package/skills/investor-materials/SKILL.md +175 -0
- package/skills/investor-materials/evals/README.md +15 -0
- package/skills/investor-materials/evals/cases.yaml +60 -0
- package/skills/investor-materials/references/dataroom-checklist.md +134 -0
- package/skills/investor-materials/references/update-and-onepager-templates.md +152 -0
- package/skills/investor-materials/scripts/verify.sh +148 -0
- package/skills/invoicing/SKILL.md +154 -0
- package/skills/invoicing/evals/README.md +5 -0
- package/skills/invoicing/evals/cases.yaml +49 -0
- package/skills/invoicing/references/dunning-ladder.md +53 -0
- package/skills/invoicing/references/e-invoicing-mandates.md +43 -0
- package/skills/invoicing/scripts/fixtures/broken-invoice.json +13 -0
- package/skills/invoicing/scripts/fixtures/valid-invoice.json +15 -0
- package/skills/invoicing/scripts/verify.sh +133 -0
- package/skills/ip-trademark/SKILL.md +186 -0
- package/skills/ip-trademark/evals/README.md +10 -0
- package/skills/ip-trademark/evals/cases.yaml +47 -0
- package/skills/ip-trademark/references/jurisdictions.md +63 -0
- package/skills/ip-trademark/references/ownership-and-licensing.md +90 -0
- package/skills/java/SKILL.md +341 -0
- package/skills/java/evals/README.md +23 -0
- package/skills/java/evals/cases.yaml +43 -0
- package/skills/java/references/builds.md +133 -0
- package/skills/java/references/concurrency.md +108 -0
- package/skills/java/references/streams.md +102 -0
- package/skills/java/scripts/verify.sh +107 -0
- package/skills/knowledge-ops/SKILL.md +125 -0
- package/skills/knowledge-ops/evals/README.md +16 -0
- package/skills/knowledge-ops/evals/cases.yaml +50 -0
- package/skills/knowledge-ops/references/gardening-playbook.md +116 -0
- package/skills/kotlin-android/SKILL.md +245 -0
- package/skills/kotlin-android/evals/README.md +13 -0
- package/skills/kotlin-android/evals/cases.yaml +56 -0
- package/skills/kotlin-android/references/architecture.md +200 -0
- package/skills/kotlin-android/references/gradle-setup.md +125 -0
- package/skills/kotlin-android/scripts/verify.sh +109 -0
- package/skills/kpi-framework/SKILL.md +199 -0
- package/skills/kpi-framework/evals/README.md +11 -0
- package/skills/kpi-framework/evals/cases.yaml +42 -0
- package/skills/kpi-framework/references/definition-and-targets.md +64 -0
- package/skills/kpi-framework/references/metric-catalog.md +84 -0
- package/skills/landing-copy/SKILL.md +153 -0
- package/skills/landing-copy/evals/README.md +18 -0
- package/skills/landing-copy/evals/cases.yaml +63 -0
- package/skills/landing-copy/references/frameworks.md +61 -0
- package/skills/landing-copy/references/page-skeleton.md +92 -0
- package/skills/landing-copy/scripts/verify.sh +164 -0
- package/skills/laravel/SKILL.md +301 -0
- package/skills/laravel/evals/README.md +10 -0
- package/skills/laravel/evals/cases.yaml +45 -0
- package/skills/laravel/references/eloquent-patterns.md +126 -0
- package/skills/laravel/references/queues-and-scheduling.md +153 -0
- package/skills/laravel/scripts/verify.sh +128 -0
- package/skills/lead-gen/SKILL.md +155 -0
- package/skills/lead-gen/evals/README.md +3 -0
- package/skills/lead-gen/evals/cases.yaml +43 -0
- package/skills/lead-gen/references/data-sources.md +87 -0
- package/skills/lead-gen/references/scoring-model.md +93 -0
- package/skills/lead-gen/scripts/verify.sh +179 -0
- package/skills/linkedin-api/SKILL.md +211 -0
- package/skills/linkedin-api/evals/README.md +3 -0
- package/skills/linkedin-api/evals/cases.yaml +41 -0
- package/skills/linkedin-api/references/api-reference.md +168 -0
- package/skills/linkedin-api/scripts/verify.sh +98 -0
- package/skills/linkedin-carousels/SKILL.md +239 -0
- package/skills/linkedin-carousels/evals/README.md +13 -0
- package/skills/linkedin-carousels/evals/cases.yaml +62 -0
- package/skills/linkedin-carousels/references/carousel-patterns.md +200 -0
- package/skills/linkedin-carousels/scripts/verify.sh +160 -0
- package/skills/linkedin-content/SKILL.md +162 -0
- package/skills/linkedin-content/evals/README.md +13 -0
- package/skills/linkedin-content/evals/cases.yaml +62 -0
- package/skills/linkedin-content/references/hooks-and-formats.md +114 -0
- package/skills/linkedin-content/scripts/verify.sh +154 -0
- package/skills/linkedin-outreach/SKILL.md +174 -0
- package/skills/linkedin-outreach/evals/README.md +3 -0
- package/skills/linkedin-outreach/evals/cases.yaml +43 -0
- package/skills/linkedin-outreach/references/ledger-schema.md +48 -0
- package/skills/linkedin-outreach/references/sales-navigator-playbook.md +61 -0
- package/skills/linkedin-outreach/scripts/verify.sh +120 -0
- package/skills/linkedin-strategy/SKILL.md +167 -0
- package/skills/linkedin-strategy/evals/README.md +3 -0
- package/skills/linkedin-strategy/evals/cases.yaml +49 -0
- package/skills/linkedin-strategy/references/ssi-and-pillars.md +59 -0
- package/skills/linkedin-strategy/references/wiki-records.md +62 -0
- package/skills/linkedin-strategy/scripts/verify.sh +120 -0
- package/skills/llm-pipeline/SKILL.md +155 -0
- package/skills/llm-pipeline/evals/README.md +3 -0
- package/skills/llm-pipeline/evals/cases.yaml +44 -0
- package/skills/llm-pipeline/references/caching-layers.md +60 -0
- package/skills/llm-pipeline/references/litellm-router.md +101 -0
- package/skills/llm-pipeline/scripts/verify.sh +169 -0
- package/skills/logistics-ops/SKILL.md +219 -0
- package/skills/logistics-ops/evals/README.md +20 -0
- package/skills/logistics-ops/evals/cases.yaml +48 -0
- package/skills/logistics-ops/references/carriers-and-claims.md +105 -0
- package/skills/market-research/SKILL.md +145 -0
- package/skills/market-research/evals/README.md +3 -0
- package/skills/market-research/evals/cases.yaml +48 -0
- package/skills/market-research/references/demand-signals.md +63 -0
- package/skills/market-research/references/sizing-playbook.md +121 -0
- package/skills/market-research/scripts/verify.sh +215 -0
- package/skills/marketing/SKILL.md +233 -0
- package/skills/marketing/evals/README.md +61 -0
- package/skills/marketing/evals/cases.yaml +84 -0
- package/skills/marketing/references/brand-grounding.md +197 -0
- package/skills/marketing/references/campaigns-and-channels.md +151 -0
- package/skills/marketing/references/copy-frameworks.md +166 -0
- package/skills/marketing/references/landing-copy.md +191 -0
- package/skills/marketing/references/seo-geo.md +391 -0
- package/skills/marketing/scripts/seo_audit.py +166 -0
- package/skills/marketing/scripts/verify.sh +233 -0
- package/skills/medium-publishing/SKILL.md +152 -0
- package/skills/medium-publishing/evals/README.md +3 -0
- package/skills/medium-publishing/evals/cases.yaml +42 -0
- package/skills/medium-publishing/references/cross-post-and-canonical.md +65 -0
- package/skills/medium-publishing/references/legacy-api.md +100 -0
- package/skills/medium-strategy/SKILL.md +161 -0
- package/skills/medium-strategy/evals/README.md +3 -0
- package/skills/medium-strategy/evals/cases.yaml +50 -0
- package/skills/medium-strategy/references/distribution-and-boost.md +65 -0
- package/skills/medium-strategy/references/wiki-records.md +60 -0
- package/skills/medium-strategy/scripts/verify.sh +118 -0
- package/skills/medium-writing/SKILL.md +140 -0
- package/skills/medium-writing/evals/README.md +5 -0
- package/skills/medium-writing/evals/cases.yaml +39 -0
- package/skills/medium-writing/references/title-patterns.md +79 -0
- package/skills/meeting-notes/SKILL.md +168 -0
- package/skills/meeting-notes/evals/README.md +14 -0
- package/skills/meeting-notes/evals/cases.yaml +46 -0
- package/skills/meeting-notes/references/templates.md +140 -0
- package/skills/modal/SKILL.md +307 -0
- package/skills/modal/evals/README.md +29 -0
- package/skills/modal/evals/cases.yaml +50 -0
- package/skills/modal/references/images-gpu-cookbook.md +160 -0
- package/skills/modal/references/web-and-scaling.md +138 -0
- package/skills/modal/scripts/verify.sh +127 -0
- package/skills/mongodb/SKILL.md +342 -0
- package/skills/mongodb/evals/README.md +29 -0
- package/skills/mongodb/evals/cases.yaml +41 -0
- package/skills/mongodb/references/aggregation.md +115 -0
- package/skills/mongodb/references/data-modeling.md +135 -0
- package/skills/mongodb/references/transactions-and-ops.md +128 -0
- package/skills/mongodb/scripts/verify.sh +151 -0
- package/skills/monitoring/SKILL.md +155 -0
- package/skills/monitoring/evals/README.md +3 -0
- package/skills/monitoring/evals/cases.yaml +47 -0
- package/skills/monitoring/references/burn-rate-and-oncall.md +128 -0
- package/skills/monitoring/references/tool-setup.md +154 -0
- package/skills/monitoring/scripts/verify.sh +145 -0
- package/skills/mysql/SKILL.md +249 -0
- package/skills/mysql/evals/README.md +12 -0
- package/skills/mysql/evals/cases.yaml +49 -0
- package/skills/mysql/references/indexing-and-explain.md +161 -0
- package/skills/mysql/references/mysql-vs-mariadb.md +78 -0
- package/skills/mysql/references/online-ddl-and-migrations.md +120 -0
- package/skills/mysql/references/replication-and-ha.md +115 -0
- package/skills/mysql/scripts/verify.sh +141 -0
- package/skills/neon/SKILL.md +218 -0
- package/skills/neon/evals/README.md +11 -0
- package/skills/neon/evals/cases.yaml +45 -0
- package/skills/neon/references/branching-ci.md +86 -0
- package/skills/neon/scripts/verify.sh +78 -0
- package/skills/nestjs/SKILL.md +225 -0
- package/skills/nestjs/evals/README.md +3 -0
- package/skills/nestjs/evals/cases.yaml +38 -0
- package/skills/nestjs/references/cross-cutting.md +135 -0
- package/skills/nestjs/references/testing-recipes.md +105 -0
- package/skills/nestjs/scripts/verify.sh +98 -0
- package/skills/netlify/SKILL.md +208 -0
- package/skills/netlify/evals/README.md +13 -0
- package/skills/netlify/evals/cases.yaml +43 -0
- package/skills/netlify/references/functions.md +97 -0
- package/skills/netlify/references/netlify-toml.md +115 -0
- package/skills/netlify/scripts/verify.sh +95 -0
- package/skills/newsletter/SKILL.md +162 -0
- package/skills/newsletter/evals/README.md +12 -0
- package/skills/newsletter/evals/cases.yaml +42 -0
- package/skills/newsletter/references/growth-loops.md +73 -0
- package/skills/newsletter/references/welcome-sequence.md +62 -0
- package/skills/newsletter/scripts/verify.sh +173 -0
- package/skills/nextjs/SKILL.md +472 -0
- package/skills/nextjs/evals/README.md +59 -0
- package/skills/nextjs/evals/cases.yaml +56 -0
- package/skills/nextjs/references/data-and-caching.md +309 -0
- package/skills/nextjs/references/metadata.md +208 -0
- package/skills/nextjs/references/performance.md +325 -0
- package/skills/nextjs/references/react.md +383 -0
- package/skills/nextjs/references/security.md +239 -0
- package/skills/nextjs/references/testing.md +290 -0
- package/skills/nextjs/scripts/verify.sh +141 -0
- package/skills/no-code-app/SKILL.md +153 -0
- package/skills/no-code-app/evals/README.md +3 -0
- package/skills/no-code-app/evals/cases.yaml +43 -0
- package/skills/no-code-app/references/platform-limits.md +100 -0
- package/skills/nodejs/SKILL.md +242 -0
- package/skills/nodejs/evals/README.md +3 -0
- package/skills/nodejs/evals/cases.yaml +39 -0
- package/skills/nodejs/references/express5-migration.md +53 -0
- package/skills/nodejs/references/graceful-shutdown.md +73 -0
- package/skills/nodejs/scripts/verify.sh +122 -0
- package/skills/notion-connector/SKILL.md +234 -0
- package/skills/notion-connector/evals/README.md +15 -0
- package/skills/notion-connector/evals/cases.yaml +45 -0
- package/skills/notion-connector/references/api-versions.md +63 -0
- package/skills/notion-connector/references/property-shapes.md +110 -0
- package/skills/notion-connector/references/sync-patterns.md +95 -0
- package/skills/notion-connector/scripts/verify.sh +162 -0
- package/skills/observability/SKILL.md +231 -0
- package/skills/observability/evals/README.md +3 -0
- package/skills/observability/evals/cases.yaml +49 -0
- package/skills/observability/references/collector-config.md +98 -0
- package/skills/observability/references/instrumentation-recipes.md +115 -0
- package/skills/observability/scripts/verify.sh +156 -0
- package/skills/ollama/SKILL.md +213 -0
- package/skills/ollama/evals/README.md +9 -0
- package/skills/ollama/evals/cases.yaml +43 -0
- package/skills/ollama/references/api.md +148 -0
- package/skills/ollama/references/hardware-sizing.md +87 -0
- package/skills/ollama/scripts/verify.sh +116 -0
- package/skills/orient/SKILL.md +54 -0
- package/skills/orient/evals/README.md +16 -0
- package/skills/orient/evals/cases.yaml +57 -0
- package/skills/orient/references/orientation-contract.md +34 -0
- package/skills/parallel/SKILL.md +198 -0
- package/skills/parallel/evals/README.md +62 -0
- package/skills/parallel/evals/cases.yaml +44 -0
- package/skills/people-ops/SKILL.md +122 -0
- package/skills/people-ops/evals/README.md +14 -0
- package/skills/people-ops/evals/cases.yaml +43 -0
- package/skills/people-ops/references/templates.md +129 -0
- package/skills/performance/SKILL.md +221 -0
- package/skills/performance/evals/README.md +3 -0
- package/skills/performance/evals/cases.yaml +47 -0
- package/skills/performance/references/profiling-playbook.md +54 -0
- package/skills/performance/scripts/verify.sh +94 -0
- package/skills/phoenix/SKILL.md +169 -0
- package/skills/phoenix/evals/README.md +3 -0
- package/skills/phoenix/evals/cases.yaml +40 -0
- package/skills/phoenix/references/auth-and-scopes.md +82 -0
- package/skills/phoenix/references/ecto-patterns.md +93 -0
- package/skills/phoenix/references/liveview.md +134 -0
- package/skills/phoenix/scripts/verify.sh +73 -0
- package/skills/php/SKILL.md +397 -0
- package/skills/php/evals/README.md +12 -0
- package/skills/php/evals/cases.yaml +45 -0
- package/skills/php/references/tooling.md +170 -0
- package/skills/php/references/type-system.md +220 -0
- package/skills/php/scripts/verify.sh +155 -0
- package/skills/pitch-deck/SKILL.md +209 -0
- package/skills/pitch-deck/evals/README.md +15 -0
- package/skills/pitch-deck/evals/cases.yaml +55 -0
- package/skills/pitch-deck/references/numbers-that-matter.md +78 -0
- package/skills/pitch-deck/references/slide-spine.md +149 -0
- package/skills/pitch-deck/scripts/verify.sh +186 -0
- package/skills/plan/SKILL.md +204 -0
- package/skills/plan/evals/README.md +62 -0
- package/skills/plan/evals/cases.yaml +49 -0
- package/skills/plan/references/plan-template.md +124 -0
- package/skills/planetscale/SKILL.md +223 -0
- package/skills/planetscale/evals/README.md +11 -0
- package/skills/planetscale/evals/cases.yaml +46 -0
- package/skills/planetscale/references/deploy-requests.md +75 -0
- package/skills/planetscale/references/no-foreign-keys.md +88 -0
- package/skills/planetscale/scripts/verify.sh +115 -0
- package/skills/podcast/SKILL.md +166 -0
- package/skills/podcast/evals/README.md +17 -0
- package/skills/podcast/evals/cases.yaml +61 -0
- package/skills/podcast/references/rss-and-namespace.md +136 -0
- package/skills/podcast/scripts/verify.sh +246 -0
- package/skills/postgresdb/SKILL.md +372 -0
- package/skills/postgresdb/evals/README.md +55 -0
- package/skills/postgresdb/evals/cases.yaml +57 -0
- package/skills/postgresdb/references/migrations.md +279 -0
- package/skills/postgresdb/references/operations-and-security.md +267 -0
- package/skills/postgresdb/references/query-optimization.md +374 -0
- package/skills/postgresdb/references/schema-and-indexing.md +379 -0
- package/skills/postgresdb/scripts/verify.sh +191 -0
- package/skills/presentations/SKILL.md +296 -0
- package/skills/presentations/evals/README.md +61 -0
- package/skills/presentations/evals/cases.yaml +56 -0
- package/skills/presentations/references/brand-grounding.md +160 -0
- package/skills/presentations/references/markdown-decks.md +290 -0
- package/skills/presentations/references/pptx-python.md +242 -0
- package/skills/presentations/references/slide-design.md +261 -0
- package/skills/presentations/references/storytelling-and-decks.md +150 -0
- package/skills/presentations/scripts/verify.sh +252 -0
- package/skills/press-kit/SKILL.md +243 -0
- package/skills/press-kit/evals/README.md +15 -0
- package/skills/press-kit/evals/cases.yaml +55 -0
- package/skills/press-kit/references/release-types.md +102 -0
- package/skills/press-kit/references/templates.md +132 -0
- package/skills/press-kit/scripts/verify.sh +161 -0
- package/skills/pricing/SKILL.md +160 -0
- package/skills/pricing/evals/README.md +5 -0
- package/skills/pricing/evals/cases.yaml +44 -0
- package/skills/pricing/references/localization.md +56 -0
- package/skills/pricing/references/pricing-models.md +55 -0
- package/skills/pricing/scripts/verify.sh +91 -0
- package/skills/prisma-orm/SKILL.md +320 -0
- package/skills/prisma-orm/evals/README.md +12 -0
- package/skills/prisma-orm/evals/cases.yaml +56 -0
- package/skills/prisma-orm/references/migrations-and-v7-upgrade.md +197 -0
- package/skills/prisma-orm/references/queries-and-performance.md +169 -0
- package/skills/prisma-orm/scripts/verify.sh +137 -0
- package/skills/procurement/SKILL.md +179 -0
- package/skills/procurement/evals/README.md +20 -0
- package/skills/procurement/evals/cases.yaml +49 -0
- package/skills/procurement/references/scorecard-and-tco.md +100 -0
- package/skills/procurement/references/sourcing-requests.md +116 -0
- package/skills/procurement/scripts/verify.sh +280 -0
- package/skills/project-ops/SKILL.md +130 -0
- package/skills/project-ops/evals/README.md +3 -0
- package/skills/project-ops/evals/cases.yaml +71 -0
- package/skills/project-ops/references/raid-and-rag.md +58 -0
- package/skills/project-ops/references/status-report-template.md +68 -0
- package/skills/project-ops/scripts/verify.sh +257 -0
- package/skills/prompt-engineering/SKILL.md +138 -0
- package/skills/prompt-engineering/evals/README.md +11 -0
- package/skills/prompt-engineering/evals/cases.yaml +46 -0
- package/skills/prompt-engineering/references/eval-templates.md +94 -0
- package/skills/prompt-engineering/references/output-contracts.md +120 -0
- package/skills/prompt-engineering/scripts/verify.sh +84 -0
- package/skills/proposals/SKILL.md +159 -0
- package/skills/proposals/evals/README.md +3 -0
- package/skills/proposals/evals/cases.yaml +53 -0
- package/skills/proposals/references/proposal-skeleton.md +110 -0
- package/skills/proposals/references/sow-skeleton.md +79 -0
- package/skills/proposals/scripts/verify.sh +201 -0
- package/skills/python/SKILL.md +369 -0
- package/skills/python/evals/README.md +19 -0
- package/skills/python/evals/cases.yaml +46 -0
- package/skills/python/references/async.md +136 -0
- package/skills/python/references/stdlib.md +162 -0
- package/skills/python/references/typing.md +160 -0
- package/skills/python/scripts/verify.sh +125 -0
- package/skills/rag/SKILL.md +226 -0
- package/skills/rag/evals/README.md +13 -0
- package/skills/rag/evals/cases.yaml +45 -0
- package/skills/rag/references/evaluation.md +99 -0
- package/skills/rag/references/pipeline.md +151 -0
- package/skills/rag/scripts/verify.sh +99 -0
- package/skills/rails/SKILL.md +264 -0
- package/skills/rails/evals/README.md +12 -0
- package/skills/rails/evals/cases.yaml +47 -0
- package/skills/rails/references/activerecord.md +148 -0
- package/skills/rails/references/hotwire.md +139 -0
- package/skills/rails/references/testing.md +110 -0
- package/skills/rails/scripts/verify.sh +128 -0
- package/skills/railway/SKILL.md +245 -0
- package/skills/railway/evals/README.md +14 -0
- package/skills/railway/evals/cases.yaml +44 -0
- package/skills/railway/references/cli-cookbook.md +137 -0
- package/skills/railway/references/config-as-code.md +120 -0
- package/skills/railway/scripts/verify.sh +162 -0
- package/skills/react/SKILL.md +222 -0
- package/skills/react/evals/README.md +3 -0
- package/skills/react/evals/cases.yaml +43 -0
- package/skills/react/references/data-and-state.md +152 -0
- package/skills/react/references/performance.md +75 -0
- package/skills/react/references/routing.md +99 -0
- package/skills/react/scripts/verify.sh +123 -0
- package/skills/react-native/SKILL.md +220 -0
- package/skills/react-native/evals/README.md +3 -0
- package/skills/react-native/evals/cases.yaml +42 -0
- package/skills/react-native/references/native-modules.md +123 -0
- package/skills/react-native/references/performance-debugging.md +46 -0
- package/skills/react-native/scripts/verify.sh +117 -0
- package/skills/redis/SKILL.md +298 -0
- package/skills/redis/evals/README.md +10 -0
- package/skills/redis/evals/cases.yaml +43 -0
- package/skills/redis/references/caching.md +116 -0
- package/skills/redis/references/locks-and-rate-limiting.md +140 -0
- package/skills/redis/references/queues.md +102 -0
- package/skills/redis/scripts/verify.sh +164 -0
- package/skills/remotion-video/SKILL.md +218 -0
- package/skills/remotion-video/evals/README.md +23 -0
- package/skills/remotion-video/evals/cases.yaml +64 -0
- package/skills/remotion-video/references/captions-pipeline.md +163 -0
- package/skills/remotion-video/references/render-and-pipeline.md +131 -0
- package/skills/remotion-video/scripts/verify.sh +169 -0
- package/skills/render/SKILL.md +256 -0
- package/skills/render/evals/README.md +12 -0
- package/skills/render/evals/cases.yaml +45 -0
- package/skills/render/references/blueprint-reference.md +203 -0
- package/skills/render/scripts/verify.sh +167 -0
- package/skills/replicate/SKILL.md +210 -0
- package/skills/replicate/evals/README.md +9 -0
- package/skills/replicate/evals/cases.yaml +45 -0
- package/skills/replicate/references/cog-packaging.md +89 -0
- package/skills/replicate/references/deployments-api.md +87 -0
- package/skills/replicate/references/webhooks-and-async.md +110 -0
- package/skills/replicate/scripts/verify.sh +162 -0
- package/skills/replicate-images/SKILL.md +241 -0
- package/skills/replicate-images/evals/README.md +13 -0
- package/skills/replicate-images/evals/cases.yaml +41 -0
- package/skills/replicate-images/references/editing-recipes.md +129 -0
- package/skills/replicate-images/references/models.md +131 -0
- package/skills/replicate-images/scripts/verify.sh +178 -0
- package/skills/reporting/SKILL.md +178 -0
- package/skills/reporting/evals/README.md +12 -0
- package/skills/reporting/evals/cases.yaml +46 -0
- package/skills/reporting/references/pipeline.md +213 -0
- package/skills/reporting/scripts/verify.sh +149 -0
- package/skills/research-ops/SKILL.md +200 -0
- package/skills/research-ops/evals/README.md +13 -0
- package/skills/research-ops/evals/cases.yaml +38 -0
- package/skills/research-ops/references/credibility-rubric.md +78 -0
- package/skills/research-ops/references/memo-template.md +63 -0
- package/skills/research-ops/scripts/verify.sh +181 -0
- package/skills/retention/SKILL.md +206 -0
- package/skills/retention/evals/README.md +13 -0
- package/skills/retention/evals/cases.yaml +42 -0
- package/skills/retention/references/health-score-and-metrics.md +97 -0
- package/skills/retention/references/save-and-winback-plays.md +65 -0
- package/skills/review/SKILL.md +222 -0
- package/skills/review/evals/README.md +84 -0
- package/skills/review/evals/cases.yaml +55 -0
- package/skills/review-management/SKILL.md +204 -0
- package/skills/review-management/evals/README.md +13 -0
- package/skills/review-management/evals/cases.yaml +60 -0
- package/skills/review-management/references/platform-apis.md +86 -0
- package/skills/review-management/scripts/verify.sh +128 -0
- package/skills/ruby/SKILL.md +316 -0
- package/skills/ruby/evals/README.md +12 -0
- package/skills/ruby/evals/cases.yaml +41 -0
- package/skills/ruby/references/gems-and-testing.md +208 -0
- package/skills/ruby/references/metaprogramming.md +161 -0
- package/skills/ruby/scripts/verify.sh +83 -0
- package/skills/runpod/SKILL.md +238 -0
- package/skills/runpod/evals/README.md +11 -0
- package/skills/runpod/evals/cases.yaml +47 -0
- package/skills/runpod/references/cost-and-scaling.md +85 -0
- package/skills/runpod/references/serverless-workers.md +101 -0
- package/skills/runpod/scripts/verify.sh +126 -0
- package/skills/rust/SKILL.md +395 -0
- package/skills/rust/evals/README.md +12 -0
- package/skills/rust/evals/cases.yaml +42 -0
- package/skills/rust/references/async-tokio.md +141 -0
- package/skills/rust/references/axum-service.md +132 -0
- package/skills/rust/references/ownership.md +86 -0
- package/skills/rust/references/testing.md +108 -0
- package/skills/rust/scripts/verify.sh +91 -0
- package/skills/sales-pipeline/SKILL.md +162 -0
- package/skills/sales-pipeline/evals/README.md +13 -0
- package/skills/sales-pipeline/evals/cases.yaml +60 -0
- package/skills/sales-pipeline/references/forecasting-math.md +82 -0
- package/skills/sales-pipeline/references/stage-playbook.md +84 -0
- package/skills/sales-pipeline/scripts/verify.sh +210 -0
- package/skills/scaling/SKILL.md +137 -0
- package/skills/scaling/evals/README.md +3 -0
- package/skills/scaling/evals/cases.yaml +42 -0
- package/skills/scaling/references/load-testing-k6.md +127 -0
- package/skills/scaling/scripts/example.load.js +24 -0
- package/skills/scaling/scripts/verify.sh +70 -0
- package/skills/sdd/SKILL.md +203 -0
- package/skills/sdd/evals/README.md +60 -0
- package/skills/sdd/evals/cases.yaml +78 -0
- package/skills/sdd-init/SKILL.md +148 -0
- package/skills/sdd-init/evals/README.md +3 -0
- package/skills/sdd-init/evals/cases.yaml +43 -0
- package/skills/secure-coding/SKILL.md +365 -0
- package/skills/secure-coding/evals/README.md +68 -0
- package/skills/secure-coding/evals/cases.yaml +55 -0
- package/skills/secure-coding/references/authn-authz.md +249 -0
- package/skills/secure-coding/references/owasp-by-stack.md +574 -0
- package/skills/secure-coding/references/secrets-and-supply-chain.md +205 -0
- package/skills/secure-coding/references/threat-modeling.md +213 -0
- package/skills/secure-coding/scripts/verify.sh +208 -0
- package/skills/security-scan/SKILL.md +239 -0
- package/skills/security-scan/evals/README.md +14 -0
- package/skills/security-scan/evals/cases.yaml +50 -0
- package/skills/security-scan/references/tools.md +98 -0
- package/skills/security-scan/references/triage.md +93 -0
- package/skills/security-scan/scripts/verify.sh +108 -0
- package/skills/seo-geo/SKILL.md +192 -0
- package/skills/seo-geo/evals/README.md +14 -0
- package/skills/seo-geo/evals/cases.yaml +45 -0
- package/skills/seo-geo/references/ai-crawler-control.md +104 -0
- package/skills/seo-geo/references/schema-recipes.md +130 -0
- package/skills/seo-geo/scripts/verify.sh +236 -0
- package/skills/ship/SKILL.md +258 -0
- package/skills/ship/evals/README.md +89 -0
- package/skills/ship/evals/cases.yaml +44 -0
- package/skills/shopify/SKILL.md +229 -0
- package/skills/shopify/evals/README.md +14 -0
- package/skills/shopify/evals/cases.yaml +41 -0
- package/skills/shopify/references/apps-graphql.md +103 -0
- package/skills/shopify/references/checkout-extensibility.md +71 -0
- package/skills/shopify/references/liquid-themes.md +89 -0
- package/skills/shopify/scripts/verify.sh +120 -0
- package/skills/shortform-editing/SKILL.md +161 -0
- package/skills/shortform-editing/evals/README.md +16 -0
- package/skills/shortform-editing/evals/cases.yaml +61 -0
- package/skills/shortform-editing/references/captions.md +85 -0
- package/skills/shortform-editing/references/ffmpeg-pipeline.md +126 -0
- package/skills/shortform-editing/scripts/verify.sh +148 -0
- package/skills/shortform-ideation/SKILL.md +153 -0
- package/skills/shortform-ideation/evals/README.md +20 -0
- package/skills/shortform-ideation/evals/cases.yaml +58 -0
- package/skills/shortform-ideation/references/experiment-ledger.md +85 -0
- package/skills/shortform-ideation/references/trend-sources.md +69 -0
- package/skills/shortform-ideation/scripts/verify.sh +172 -0
- package/skills/shortform-packaging/SKILL.md +247 -0
- package/skills/shortform-packaging/evals/README.md +10 -0
- package/skills/shortform-packaging/evals/cases.yaml +48 -0
- package/skills/shortform-packaging/references/package-templates.md +117 -0
- package/skills/shortform-packaging/scripts/verify.sh +210 -0
- package/skills/shortform-strategy/SKILL.md +149 -0
- package/skills/shortform-strategy/evals/README.md +3 -0
- package/skills/shortform-strategy/evals/cases.yaml +52 -0
- package/skills/shortform-strategy/references/learning-loop-template.md +49 -0
- package/skills/shortform-strategy/references/platform-signals-2026.md +46 -0
- package/skills/shortform-strategy/scripts/verify.sh +176 -0
- package/skills/skill-scout/SKILL.md +133 -0
- package/skills/skill-scout/evals/README.md +12 -0
- package/skills/skill-scout/evals/cases.yaml +56 -0
- package/skills/skill-scout/references/install-commands.md +76 -0
- package/skills/skill-scout/scripts/verify.sh +154 -0
- package/skills/social-publisher/SKILL.md +179 -0
- package/skills/social-publisher/evals/README.md +14 -0
- package/skills/social-publisher/evals/cases.yaml +55 -0
- package/skills/social-publisher/references/calendar-schema.md +97 -0
- package/skills/social-publisher/references/platform-limits.md +56 -0
- package/skills/social-publisher/scripts/verify.sh +232 -0
- package/skills/solid-js/SKILL.md +260 -0
- package/skills/solid-js/evals/README.md +3 -0
- package/skills/solid-js/evals/cases.yaml +38 -0
- package/skills/solid-js/references/reactivity-deep-dive.md +89 -0
- package/skills/solid-js/references/router-and-start.md +93 -0
- package/skills/solid-js/scripts/verify.sh +130 -0
- package/skills/sop-builder/SKILL.md +233 -0
- package/skills/sop-builder/evals/README.md +14 -0
- package/skills/sop-builder/evals/cases.yaml +48 -0
- package/skills/sop-builder/references/sop-skeleton.md +170 -0
- package/skills/specify/SKILL.md +214 -0
- package/skills/specify/evals/README.md +73 -0
- package/skills/specify/evals/cases.yaml +80 -0
- package/skills/specify/references/eliciting-requirements.md +77 -0
- package/skills/specify/references/spec-template.md +60 -0
- package/skills/spreadsheet-ops/SKILL.md +180 -0
- package/skills/spreadsheet-ops/evals/README.md +33 -0
- package/skills/spreadsheet-ops/evals/cases.yaml +42 -0
- package/skills/spreadsheet-ops/references/formula-cookbook.md +70 -0
- package/skills/spreadsheet-ops/references/python-excel.md +87 -0
- package/skills/spreadsheet-ops/references/sheets-api-appsscript.md +118 -0
- package/skills/spreadsheet-ops/scripts/verify.sh +152 -0
- package/skills/spring-boot/SKILL.md +375 -0
- package/skills/spring-boot/evals/README.md +11 -0
- package/skills/spring-boot/evals/cases.yaml +49 -0
- package/skills/spring-boot/references/jpa.md +94 -0
- package/skills/spring-boot/references/security.md +92 -0
- package/skills/spring-boot/references/testing.md +95 -0
- package/skills/spring-boot/scripts/verify.sh +115 -0
- package/skills/sql/SKILL.md +286 -0
- package/skills/sql/evals/README.md +9 -0
- package/skills/sql/evals/cases.yaml +49 -0
- package/skills/sql/references/ctes-and-recursion.md +63 -0
- package/skills/sql/references/joins-and-sets.md +71 -0
- package/skills/sql/references/portability.md +38 -0
- package/skills/sql/references/window-functions.md +72 -0
- package/skills/sql/scripts/verify.sh +139 -0
- package/skills/sqlite-turso/SKILL.md +214 -0
- package/skills/sqlite-turso/evals/README.md +24 -0
- package/skills/sqlite-turso/evals/cases.yaml +45 -0
- package/skills/sqlite-turso/references/embedded-replicas.md +96 -0
- package/skills/sqlite-turso/scripts/verify.sh +95 -0
- package/skills/stripe/SKILL.md +269 -0
- package/skills/stripe/evals/README.md +11 -0
- package/skills/stripe/evals/cases.yaml +45 -0
- package/skills/stripe/references/going-live.md +64 -0
- package/skills/stripe/references/webhook-events.md +79 -0
- package/skills/stripe/scripts/verify.sh +130 -0
- package/skills/structured-extraction/SKILL.md +230 -0
- package/skills/structured-extraction/evals/README.md +13 -0
- package/skills/structured-extraction/evals/cases.yaml +70 -0
- package/skills/structured-extraction/references/providers.md +152 -0
- package/skills/structured-extraction/scripts/verify.sh +160 -0
- package/skills/suggest/SKILL.md +30 -0
- package/skills/suggest/evals/README.md +14 -0
- package/skills/suggest/evals/cases.yaml +51 -0
- package/skills/supabase/SKILL.md +268 -0
- package/skills/supabase/evals/README.md +12 -0
- package/skills/supabase/evals/cases.yaml +42 -0
- package/skills/supabase/references/auth-ssr.md +173 -0
- package/skills/supabase/references/rls-cookbook.md +122 -0
- package/skills/supabase/scripts/verify.sh +149 -0
- package/skills/svelte/SKILL.md +238 -0
- package/skills/svelte/evals/README.md +3 -0
- package/skills/svelte/evals/cases.yaml +41 -0
- package/skills/svelte/references/runes.md +97 -0
- package/skills/svelte/references/sveltekit-data.md +156 -0
- package/skills/svelte/scripts/verify.sh +128 -0
- package/skills/swift-ios/SKILL.md +217 -0
- package/skills/swift-ios/evals/README.md +3 -0
- package/skills/swift-ios/evals/cases.yaml +46 -0
- package/skills/swift-ios/references/concurrency.md +132 -0
- package/skills/swift-ios/references/testing.md +112 -0
- package/skills/swift-ios/scripts/verify.sh +98 -0
- package/skills/tasks/SKILL.md +260 -0
- package/skills/tasks/evals/README.md +70 -0
- package/skills/tasks/evals/cases.yaml +75 -0
- package/skills/tauri/SKILL.md +224 -0
- package/skills/tauri/evals/README.md +12 -0
- package/skills/tauri/evals/cases.yaml +46 -0
- package/skills/tauri/references/bundling-distribution.md +129 -0
- package/skills/tauri/references/security.md +143 -0
- package/skills/tauri/scripts/verify.sh +178 -0
- package/skills/technical-writing/SKILL.md +230 -0
- package/skills/technical-writing/evals/README.md +12 -0
- package/skills/technical-writing/evals/cases.yaml +53 -0
- package/skills/technical-writing/references/diataxis-modes.md +131 -0
- package/skills/technical-writing/references/vale-starter.md +90 -0
- package/skills/technical-writing/scripts/verify.sh +83 -0
- package/skills/terms-conditions/SKILL.md +147 -0
- package/skills/terms-conditions/evals/README.md +14 -0
- package/skills/terms-conditions/evals/cases.yaml +48 -0
- package/skills/terms-conditions/references/clause-library.md +158 -0
- package/skills/terms-conditions/references/notices-and-aup.md +125 -0
- package/skills/terms-conditions/scripts/verify.sh +92 -0
- package/skills/testing-go/SKILL.md +246 -0
- package/skills/testing-go/evals/README.md +3 -0
- package/skills/testing-go/evals/cases.yaml +44 -0
- package/skills/testing-go/references/coverage-and-benchmarks.md +85 -0
- package/skills/testing-go/references/mocks-and-fakes.md +140 -0
- package/skills/testing-go/references/synctest-and-concurrency.md +82 -0
- package/skills/testing-go/scripts/verify.sh +72 -0
- package/skills/testing-py/SKILL.md +179 -0
- package/skills/testing-py/evals/README.md +5 -0
- package/skills/testing-py/evals/cases.yaml +44 -0
- package/skills/testing-py/references/mocking.md +141 -0
- package/skills/testing-py/references/property-testing.md +99 -0
- package/skills/testing-py/scripts/verify.sh +117 -0
- package/skills/testing-web/SKILL.md +224 -0
- package/skills/testing-web/evals/README.md +11 -0
- package/skills/testing-web/evals/cases.yaml +52 -0
- package/skills/testing-web/references/jest-setup.md +88 -0
- package/skills/testing-web/references/recipes.md +116 -0
- package/skills/testing-web/scripts/verify.sh +111 -0
- package/skills/tiktok-api/SKILL.md +315 -0
- package/skills/tiktok-api/evals/README.md +17 -0
- package/skills/tiktok-api/evals/cases.yaml +51 -0
- package/skills/tiktok-api/references/metrics-and-publish.md +127 -0
- package/skills/tiktok-api/references/oauth-setup.md +105 -0
- package/skills/tiktok-api/references/wiki-schema.md +85 -0
- package/skills/tiktok-api/scripts/verify.sh +96 -0
- package/skills/together-fireworks/SKILL.md +181 -0
- package/skills/together-fireworks/evals/README.md +3 -0
- package/skills/together-fireworks/evals/cases.yaml +50 -0
- package/skills/together-fireworks/references/batch-and-tuning.md +59 -0
- package/skills/together-fireworks/references/models-and-pricing.md +79 -0
- package/skills/together-fireworks/scripts/verify.sh +165 -0
- package/skills/translation-l10n/SKILL.md +229 -0
- package/skills/translation-l10n/evals/README.md +3 -0
- package/skills/translation-l10n/evals/cases.yaml +39 -0
- package/skills/translation-l10n/references/icu-cookbook.md +82 -0
- package/skills/translation-l10n/references/rtl-and-bidi.md +60 -0
- package/skills/typescript/SKILL.md +258 -0
- package/skills/typescript/evals/README.md +15 -0
- package/skills/typescript/evals/cases.yaml +46 -0
- package/skills/typescript/references/build-and-monorepo.md +141 -0
- package/skills/typescript/references/type-system.md +162 -0
- package/skills/typescript/scripts/verify.sh +52 -0
- package/skills/unit-economics/SKILL.md +180 -0
- package/skills/unit-economics/evals/README.md +5 -0
- package/skills/unit-economics/evals/cases.yaml +43 -0
- package/skills/unit-economics/references/formulas.md +144 -0
- package/skills/unit-economics/scripts/verify.sh +179 -0
- package/skills/vector-db/SKILL.md +189 -0
- package/skills/vector-db/evals/README.md +10 -0
- package/skills/vector-db/evals/cases.yaml +45 -0
- package/skills/vector-db/references/engines.md +175 -0
- package/skills/vector-db/references/tuning.md +62 -0
- package/skills/vector-db/scripts/verify.sh +110 -0
- package/skills/vercel/SKILL.md +242 -0
- package/skills/vercel/evals/README.md +23 -0
- package/skills/vercel/evals/cases.yaml +45 -0
- package/skills/vercel/references/cli-cookbook.md +98 -0
- package/skills/vercel/references/vercel-json.md +120 -0
- package/skills/vercel/scripts/verify.sh +168 -0
- package/skills/verify/SKILL.md +188 -0
- package/skills/verify/evals/README.md +78 -0
- package/skills/verify/evals/cases.yaml +74 -0
- package/skills/video-shorts/SKILL.md +163 -0
- package/skills/video-shorts/evals/README.md +15 -0
- package/skills/video-shorts/evals/cases.yaml +56 -0
- package/skills/video-shorts/references/hook-and-script-patterns.md +95 -0
- package/skills/video-shorts/references/specs-and-safe-zones.md +74 -0
- package/skills/video-shorts/scripts/verify.sh +172 -0
- package/skills/vue-nuxt/SKILL.md +384 -0
- package/skills/vue-nuxt/evals/README.md +11 -0
- package/skills/vue-nuxt/evals/cases.yaml +49 -0
- package/skills/vue-nuxt/references/data-and-state.md +127 -0
- package/skills/vue-nuxt/references/migration-nuxt4.md +79 -0
- package/skills/vue-nuxt/references/nitro-and-rendering.md +117 -0
- package/skills/vue-nuxt/references/reactivity.md +135 -0
- package/skills/vue-nuxt/scripts/verify.sh +148 -0
- package/skills/webhooks/SKILL.md +246 -0
- package/skills/webhooks/evals/README.md +15 -0
- package/skills/webhooks/evals/cases.yaml +46 -0
- package/skills/webhooks/references/framework-raw-body.md +97 -0
- package/skills/webhooks/references/signature-schemes.md +66 -0
- package/skills/webhooks/scripts/verify.sh +142 -0
- package/skills/webinar/SKILL.md +196 -0
- package/skills/webinar/evals/README.md +14 -0
- package/skills/webinar/evals/cases.yaml +44 -0
- package/skills/webinar/references/email-cadence.md +75 -0
- package/skills/webinar/references/run-of-show.md +83 -0
- package/skills/whatsapp-telegram/SKILL.md +235 -0
- package/skills/whatsapp-telegram/evals/README.md +11 -0
- package/skills/whatsapp-telegram/evals/cases.yaml +44 -0
- package/skills/whatsapp-telegram/references/telegram-bot-api.md +91 -0
- package/skills/whatsapp-telegram/references/whatsapp-cloud-api.md +103 -0
- package/skills/whatsapp-telegram/scripts/verify.sh +90 -0
- package/skills/wordpress/SKILL.md +224 -0
- package/skills/wordpress/evals/README.md +3 -0
- package/skills/wordpress/evals/cases.yaml +50 -0
- package/skills/wordpress/references/hardening.md +108 -0
- package/skills/wordpress/references/performance.md +80 -0
- package/skills/wordpress/references/woocommerce.md +65 -0
- package/skills/wordpress/scripts/verify.sh +96 -0
- package/skills/worktrees/SKILL.md +199 -0
- package/skills/worktrees/evals/README.md +78 -0
- package/skills/worktrees/evals/cases.yaml +47 -0
- package/skills/youtube-api/SKILL.md +286 -0
- package/skills/youtube-api/evals/README.md +3 -0
- package/skills/youtube-api/evals/cases.yaml +50 -0
- package/skills/youtube-api/references/analytics-queries.md +89 -0
- package/skills/youtube-api/references/oauth-setup.md +55 -0
- package/skills/youtube-api/references/wiki-schema.md +70 -0
- package/skills/youtube-api/scripts/verify.sh +84 -0
- package/skills/youtube-ideation/SKILL.md +234 -0
- package/skills/youtube-ideation/evals/README.md +14 -0
- package/skills/youtube-ideation/evals/cases.yaml +52 -0
- package/skills/youtube-ideation/references/idea-ledger-and-loop.md +89 -0
- package/skills/youtube-ideation/references/research-and-signals.md +92 -0
- package/skills/youtube-ideation/scripts/verify.sh +237 -0
- package/skills/youtube-packaging/SKILL.md +220 -0
- package/skills/youtube-packaging/evals/README.md +16 -0
- package/skills/youtube-packaging/evals/cases.yaml +48 -0
- package/skills/youtube-packaging/references/description-and-chapters.md +135 -0
- package/skills/youtube-packaging/scripts/verify.sh +250 -0
- package/skills/youtube-strategy/SKILL.md +157 -0
- package/skills/youtube-strategy/evals/README.md +5 -0
- package/skills/youtube-strategy/evals/cases.yaml +61 -0
- package/skills/youtube-strategy/references/channel-architecture.md +46 -0
- package/skills/youtube-strategy/references/wiki-records.md +86 -0
- package/skills/youtube-strategy/scripts/verify.sh +118 -0
- package/skills/youtube-thumbnails/SKILL.md +180 -0
- package/skills/youtube-thumbnails/evals/README.md +11 -0
- package/skills/youtube-thumbnails/evals/cases.yaml +48 -0
- package/skills/youtube-thumbnails/references/composition-and-specs.md +69 -0
- package/skills/youtube-thumbnails/references/experiment-log-format.md +65 -0
- package/skills/youtube-thumbnails/scripts/verify.sh +123 -0
- package/targets/claude.js +23 -0
- package/targets/codex.js +29 -0
- package/targets/cursor.js +20 -0
- package/targets/gemini.js +29 -0
- package/targets/index.js +55 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# verify.sh — static, no-network checker for the linkedin-api feedback log + secret guard.
|
|
3
|
+
# Read-only. Confirms each 02-DOCS/wiki/linkedin/*.md carries the required metric front-matter,
|
|
4
|
+
# and fails if a LinkedIn token / client secret is committed anywhere in the target tree.
|
|
5
|
+
# Exits 0 on a clean or not-yet-run target (no false failure), non-zero on a real issue.
|
|
6
|
+
#
|
|
7
|
+
# Usage: scripts/verify.sh [TARGET_DIR] (default: current directory)
|
|
8
|
+
|
|
9
|
+
set -euo pipefail
|
|
10
|
+
|
|
11
|
+
TARGET="${1:-.}"
|
|
12
|
+
fails=0
|
|
13
|
+
|
|
14
|
+
if [ ! -d "$TARGET" ]; then
|
|
15
|
+
echo "verify.sh: target '$TARGET' is not a directory" >&2
|
|
16
|
+
exit 2
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
fail() { echo "FAIL [$1] $2"; fails=$((fails + 1)); }
|
|
20
|
+
pass() { echo "PASS [$1] $2"; }
|
|
21
|
+
note() { echo "NOTE [$1] $2"; }
|
|
22
|
+
|
|
23
|
+
# ---------------------------------------------------------------------------
|
|
24
|
+
# (1) Feedback-log front-matter check.
|
|
25
|
+
# ---------------------------------------------------------------------------
|
|
26
|
+
WIKI_DIR="$TARGET/02-DOCS/wiki/linkedin"
|
|
27
|
+
REQUIRED_KEYS="post_urn captured_at impressions engagement"
|
|
28
|
+
|
|
29
|
+
if [ ! -d "$WIKI_DIR" ]; then
|
|
30
|
+
note "wiki" "$WIKI_DIR not present — skill not yet run; nothing to check"
|
|
31
|
+
else
|
|
32
|
+
LOG_FILES=()
|
|
33
|
+
while IFS= read -r _f; do
|
|
34
|
+
[ -n "$_f" ] && LOG_FILES+=("$_f")
|
|
35
|
+
done < <(find "$WIKI_DIR" -maxdepth 1 -type f -name '*.md' 2>/dev/null)
|
|
36
|
+
|
|
37
|
+
if [ "${#LOG_FILES[@]}" -eq 0 ]; then
|
|
38
|
+
note "wiki" "$WIKI_DIR exists but holds no *.md feedback files yet"
|
|
39
|
+
else
|
|
40
|
+
for f in "${LOG_FILES[@]}"; do
|
|
41
|
+
missing=""
|
|
42
|
+
for key in $REQUIRED_KEYS; do
|
|
43
|
+
if ! grep -Eq "^${key}:" "$f" 2>/dev/null; then
|
|
44
|
+
missing="$missing $key"
|
|
45
|
+
fi
|
|
46
|
+
done
|
|
47
|
+
if [ -n "$missing" ]; then
|
|
48
|
+
fail "front-matter" "$f missing required key(s):$missing"
|
|
49
|
+
else
|
|
50
|
+
pass "front-matter" "$f has all required metric keys"
|
|
51
|
+
fi
|
|
52
|
+
done
|
|
53
|
+
fi
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
# ---------------------------------------------------------------------------
|
|
57
|
+
# (2) Committed-secret guard. Scans source/config text, skips VCS/vendor dirs.
|
|
58
|
+
# ---------------------------------------------------------------------------
|
|
59
|
+
SCAN_FILES=()
|
|
60
|
+
while IFS= read -r _f; do
|
|
61
|
+
[ -n "$_f" ] && SCAN_FILES+=("$_f")
|
|
62
|
+
done < <(
|
|
63
|
+
find "$TARGET" \
|
|
64
|
+
\( -path '*/.git/*' -o -path '*/node_modules/*' -o -path '*/dist/*' \
|
|
65
|
+
-o -path '*/build/*' -o -path '*/.venv/*' -o -path '*/venv/*' \) -prune -o \
|
|
66
|
+
-type f \( -name '*.py' -o -name '*.js' -o -name '*.ts' -o -name '*.mjs' \
|
|
67
|
+
-o -name '*.json' -o -name '*.env' -o -name '*.yaml' -o -name '*.yml' \
|
|
68
|
+
-o -name '*.md' -o -name '*.sh' \) -print 2>/dev/null
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
secret_hit=0
|
|
72
|
+
for f in ${SCAN_FILES[@]+"${SCAN_FILES[@]}"}; do
|
|
73
|
+
[ -f "$f" ] || continue
|
|
74
|
+
# client_secret assigned a literal (not an env reference or a doc placeholder).
|
|
75
|
+
while IFS= read -r line; do
|
|
76
|
+
case "$line" in
|
|
77
|
+
*process.env*|*os.environ*|*ENV[*|*getenv*) continue ;; # env-injected, fine
|
|
78
|
+
*...*|*Bad:*|*Good:*|*YOUR_*|*example*|*EXAMPLE*) continue ;; # teaching placeholder, not a real secret
|
|
79
|
+
esac
|
|
80
|
+
fail "secret" "$f: $line"
|
|
81
|
+
secret_hit=1
|
|
82
|
+
done < <(grep -nE 'client_secret[[:space:]]*[=:][[:space:]]*["'"'"'][A-Za-z0-9_.-]{6,}' "$f" 2>/dev/null)
|
|
83
|
+
|
|
84
|
+
# AQED-style LinkedIn access-token literal.
|
|
85
|
+
while IFS= read -r line; do
|
|
86
|
+
fail "secret" "$f: $line (LinkedIn access-token literal)"
|
|
87
|
+
secret_hit=1
|
|
88
|
+
done < <(grep -nE 'AQ[ED][A-Za-z0-9_-]{20,}' "$f" 2>/dev/null)
|
|
89
|
+
done
|
|
90
|
+
[ "$secret_hit" -eq 0 ] && pass "secret" "no committed token / client_secret literals found"
|
|
91
|
+
|
|
92
|
+
# ---------------------------------------------------------------------------
|
|
93
|
+
if [ "$fails" -gt 0 ]; then
|
|
94
|
+
echo "verify.sh: $fails issue(s) in '$TARGET'"
|
|
95
|
+
exit 1
|
|
96
|
+
fi
|
|
97
|
+
echo "OK: linkedin-api checks passed for '$TARGET'"
|
|
98
|
+
exit 0
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkedin-carousels
|
|
3
|
+
description: "Use when designing a LinkedIn carousel / document post — the swipeable multi-page PDF that is currently the highest-reach native LinkedIn format — and you need the slide-by-slide build: a scroll-stopping cover hook, a narrative arc that pulls swipe-to-swipe, one focused idea per slide with real visual hierarchy, a payoff + CTA closer, and a PDF export spec. Triggers: 'turn this into a LinkedIn carousel', 'design a swipeable PDF document post', 'my carousel cover gets no swipes fix the hook', 'how many slides and what goes on each', 'restructure one-idea-per-slide', 'what size to export so it isnt cropped on mobile', 'convierte este post en un carrusel de LinkedIn', 'dissenya'm un carrusel de LinkedIn amb portada i CTA'. NOT the account/format plan (that is linkedin-strategy), NOT a text or single-image feed post (that is linkedin-content), NOT a spoken-to talk deck (that is presentations)."
|
|
4
|
+
tags: [linkedin, carousel, document-post, slide-design, visual-hierarchy, hook, b2b, social-content]
|
|
5
|
+
recommends: [linkedin-content, linkedin-strategy, brand-identity, brand-voice, presentations, social-publisher]
|
|
6
|
+
origin: risco
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# LinkedIn carousels
|
|
10
|
+
|
|
11
|
+
Design **one swipeable LinkedIn document post**: the cover hook, the narrative arc, one idea
|
|
12
|
+
per slide, and the PDF export spec. You hand back a slide-by-slide build ready to assemble in
|
|
13
|
+
Canva/Figma/Slides and a one-page design+export checklist.
|
|
14
|
+
|
|
15
|
+
You do not own the account plan (which formats, cadence, niche — that is
|
|
16
|
+
[`../linkedin-strategy/SKILL.md`](../linkedin-strategy/SKILL.md)), the words of a text or
|
|
17
|
+
single-image feed post ([`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md)), the
|
|
18
|
+
programmatic upload ([`../linkedin-api/SKILL.md`](../linkedin-api/SKILL.md)), or a spoken-to
|
|
19
|
+
16:9 talk deck ([`../presentations/SKILL.md`](../presentations/SKILL.md)). Your artifact is the
|
|
20
|
+
*slides of a phone-read PDF* — sequence and visual hierarchy are the product.
|
|
21
|
+
|
|
22
|
+
## What you produce
|
|
23
|
+
|
|
24
|
+
- **A cover slide spec** — the one slide that wins or loses the swipe to slide 2.
|
|
25
|
+
- **Interior slides** — each carrying a single focused idea, large type, a clear hierarchy.
|
|
26
|
+
- **A CTA closer** — the payoff slide plus one explicit ask.
|
|
27
|
+
- **A design + export spec** — canvas, safe area, type floor, PDF checklist (one page).
|
|
28
|
+
- **A one-line caption starter** — the first feed line; full caption tuning routes out.
|
|
29
|
+
|
|
30
|
+
Precondition: you need a topic, an angle, or a source (post/article). If the ask is the
|
|
31
|
+
account plan or a block of feed copy, you are in the wrong skill — see the handoffs table.
|
|
32
|
+
|
|
33
|
+
## Ground first
|
|
34
|
+
|
|
35
|
+
A carousel inherits an identity; it does not invent one. Before you design slides:
|
|
36
|
+
|
|
37
|
+
- **Read the brand kit** if it exists in `02-DOCS/` (colors, type, logo) —
|
|
38
|
+
[`../brand-identity/SKILL.md`](../brand-identity/SKILL.md) owns it. Don't pick arbitrary fonts.
|
|
39
|
+
- **Read the voice** so the headlines sound like the account —
|
|
40
|
+
[`../brand-voice/SKILL.md`](../brand-voice/SKILL.md) owns it.
|
|
41
|
+
- **Pull the angle** from any plan/post already produced by
|
|
42
|
+
[`../linkedin-strategy/SKILL.md`](../linkedin-strategy/SKILL.md) or
|
|
43
|
+
[`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md). Reuse the hook, don't reopen it.
|
|
44
|
+
|
|
45
|
+
If none exist, name your assumptions on slide 0 of the spec and proceed — don't stall.
|
|
46
|
+
|
|
47
|
+
## The swipe economics (why every rule below exists)
|
|
48
|
+
|
|
49
|
+
Document/carousel posts are the **highest-engagement native format on LinkedIn right now** —
|
|
50
|
+
they hit roughly 6.6% average engagement, ahead of every other format, and top-performing
|
|
51
|
+
pages post far more of them than median pages. The reason is **dwell time**: a swipeable deck
|
|
52
|
+
holds the thumb on screen, and dwell — not likes — is the algorithm's main distribution signal.
|
|
53
|
+
|
|
54
|
+
So the whole bet is the **cover slide and the swipe-to-slide-2 bounce**. If the cover doesn't
|
|
55
|
+
earn the first swipe, your slide count, your arc, and your CTA never get seen. Every swipe
|
|
56
|
+
after that extends dwell and signals quality, which is why each slide must *pull to the next*.
|
|
57
|
+
Design backwards from that: stop the thumb, then keep it moving.
|
|
58
|
+
|
|
59
|
+
## The cover slide
|
|
60
|
+
|
|
61
|
+
This slide is the entire campaign. Build it to one job: earn the swipe.
|
|
62
|
+
|
|
63
|
+
- **Lead with a curiosity or benefit headline** — promise a payoff, not a topic label. Why: a
|
|
64
|
+
label ("Onboarding tips") gives no reason to swipe; a stake ("Why 60% of users quit in week
|
|
65
|
+
one") does.
|
|
66
|
+
- **One dominant element** — the headline reads first, before anything else. Why: a cover with
|
|
67
|
+
three competing focal points reads as zero.
|
|
68
|
+
- **Intentional white space** — let the headline breathe. Why: a dense cover looks like work,
|
|
69
|
+
and the thumb keeps scrolling.
|
|
70
|
+
- **An explicit swipe cue** — an arrow, "Swipe →", or a 1/8 counter. Why: tell people the
|
|
71
|
+
format is a deck so they know there's more.
|
|
72
|
+
|
|
73
|
+
The test: **would this stop *my own* thumb mid-scroll on a crowded feed?** If you hesitate,
|
|
74
|
+
the cover is too quiet.
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
Bad (topic label, no stake, no swipe reason)
|
|
78
|
+
┌──────────────────────────┐
|
|
79
|
+
│ Tips for better │
|
|
80
|
+
│ user onboarding │
|
|
81
|
+
│ │
|
|
82
|
+
└──────────────────────────┘
|
|
83
|
+
|
|
84
|
+
Good (stake + payoff + swipe cue, one dominant line)
|
|
85
|
+
┌──────────────────────────┐
|
|
86
|
+
│ 60% of new users quit │ ← largest element, reads first
|
|
87
|
+
│ in week one. │
|
|
88
|
+
│ │
|
|
89
|
+
│ Here's where they fall │ ← supporting line, smaller
|
|
90
|
+
│ off — and the fix. │
|
|
91
|
+
│ Swipe → │ ← explicit cue
|
|
92
|
+
└──────────────────────────┘
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
More cover-hook shapes (number / contrarian / mistake / outcome / question) with Bad→Good
|
|
96
|
+
rewrites are in [`references/carousel-patterns.md`](references/carousel-patterns.md).
|
|
97
|
+
|
|
98
|
+
## The narrative arc
|
|
99
|
+
|
|
100
|
+
A carousel is not a list — it is a sequence engineered so each slide creates a reason to see
|
|
101
|
+
the next. Pick **one** arc and map slides to it. Branch on the angle:
|
|
102
|
+
|
|
103
|
+
| Arc | Use when | Slide shape |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| Problem → tension → reveal → payoff | persuasive / insight post | cover, stakes, the wrong way, the shift, the payoff, CTA |
|
|
106
|
+
| Numbered steps / listicle | how-to, framework | cover, step 1..n, recap, CTA |
|
|
107
|
+
| Myth → truth | contrarian take | cover, the myth, why it's wrong, the truth, proof, CTA |
|
|
108
|
+
| Before → after | transformation / case study | cover, before, turning point, after, how, CTA |
|
|
109
|
+
| Data reveal | stat-led post | cover, setup, the number, why it matters, so-what, CTA |
|
|
110
|
+
|
|
111
|
+
**Momentum rule:** end each interior slide on a small open loop — a cliff line, a "but here's
|
|
112
|
+
the catch", a half-finished list — so the thumb keeps swiping. Why: a slide that fully resolves
|
|
113
|
+
gives permission to stop. Each arc expanded to a full slide map is in
|
|
114
|
+
[`references/carousel-patterns.md`](references/carousel-patterns.md).
|
|
115
|
+
|
|
116
|
+
## One idea per slide + hierarchy
|
|
117
|
+
|
|
118
|
+
The line between a finished deck and one abandoned at slide 3 is **one idea per slide**.
|
|
119
|
+
|
|
120
|
+
- **One point per slide** — if a slide has two ideas, split it. Why: cramming dilutes the
|
|
121
|
+
message and stalls momentum; a single point is swiped through fast and remembered.
|
|
122
|
+
- **Type floor ≥ 28 px** — it is read on a phone, one-handed. Why: body text below ~28 px
|
|
123
|
+
forces a pinch-zoom, which is a stop.
|
|
124
|
+
- **One dominant element per slide** — a headline, a number, or a visual that reads first.
|
|
125
|
+
- **Generous white space + a consistent grid** — same margins, same headline position across
|
|
126
|
+
slides. Why: a stable frame lets the eye land instantly and the deck feels designed.
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
Bad — crammed, four competing points, tiny text
|
|
130
|
+
┌──────────────────────────┐
|
|
131
|
+
│ Onboarding fixes: │
|
|
132
|
+
│ • Shorten the signup form │
|
|
133
|
+
│ • Add a progress bar │
|
|
134
|
+
│ • Send a day-1 email │
|
|
135
|
+
│ • Show a sample dataset │
|
|
136
|
+
└──────────────────────────┘
|
|
137
|
+
|
|
138
|
+
Good — one idea, one dominant element, breathing room
|
|
139
|
+
┌──────────────────────────┐
|
|
140
|
+
│ Step 1 │
|
|
141
|
+
│ │
|
|
142
|
+
│ Cut the signup form to │ ← single point, large
|
|
143
|
+
│ 3 fields. │
|
|
144
|
+
│ │
|
|
145
|
+
│ Every extra field drops │ ← one supporting line
|
|
146
|
+
│ completion ~7%. │
|
|
147
|
+
└──────────────────────────┘
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Slide count
|
|
151
|
+
|
|
152
|
+
Aim for the **6–12 band, ~8 as the sweet spot** (cover + ~6 content + CTA). Reported peaks
|
|
153
|
+
cluster around 7–8 slides; 8–12 is where the highest dwell/save/share rates show up. Fewer
|
|
154
|
+
than 5 underdelivers (not worth the swipe); more than ~15 loses people before the payoff.
|
|
155
|
+
|
|
156
|
+
Treat the band as a guide, not a law: **length follows the arc, not a quota.** If the arc
|
|
157
|
+
resolves in 7 slides, ship 7 — don't pad to hit a number.
|
|
158
|
+
|
|
159
|
+
## The CTA closer
|
|
160
|
+
|
|
161
|
+
The last slide is the payoff landing plus **one explicit ask**.
|
|
162
|
+
|
|
163
|
+
- **State the payoff first**, then ask. Why: people act after value, not before it.
|
|
164
|
+
- **One ask, tied to the payoff** — "Save this for your next onboarding review", "Comment your
|
|
165
|
+
worst week-one drop-off". Why: a bare "Follow for more" is generic and ignorable; an ask
|
|
166
|
+
hooked to what they just read converts.
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
Bad → "Follow me for more content." (generic, no reason)
|
|
170
|
+
Good → "Save this for your next onboarding review.
|
|
171
|
+
Which step are you missing? Comment below." (tied to payoff, one action)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Design + export spec
|
|
175
|
+
|
|
176
|
+
```text
|
|
177
|
+
Canvas: 1080×1350 (4:5 portrait, recommended) or 1080×1080 (1:1 fallback). No landscape.
|
|
178
|
+
Safe area: keep headline + key visual inside ~880×880; ~80 px padding on all sides.
|
|
179
|
+
Type: body ≥ 28 px (it is read on a phone).
|
|
180
|
+
Export: PDF only (1 slide = 1 page). Cap ~100-300 MB / 300 pp depending on source; keep < ~10 MB.
|
|
181
|
+
Gotchas: open the exported PDF and verify fonts — free Canva silently substitutes them;
|
|
182
|
+
disable bleed / crop marks — they add black bars to every slide;
|
|
183
|
+
preview on a PHONE before posting — the desktop view hides mobile crops.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Portrait 4:5 takes the most vertical space in a mobile feed, which raises dwell and the chance
|
|
187
|
+
of a scroll-stop. PDF is the only export that preserves fonts and layout reliably across
|
|
188
|
+
devices — exporting slides as images loses crispness and breaks selectable text. The full
|
|
189
|
+
checklist in prose is in [`references/carousel-patterns.md`](references/carousel-patterns.md).
|
|
190
|
+
|
|
191
|
+
## The feed caption handoff
|
|
192
|
+
|
|
193
|
+
A document post still has a **text caption above it**, and its first 1–2 lines (before the
|
|
194
|
+
"…more" fold) must restate the cover hook — that line is what people read before deciding to
|
|
195
|
+
expand and swipe. Give a one-line starter that echoes the cover, then route full feed-copy
|
|
196
|
+
length/tone tuning to [`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md). You own
|
|
197
|
+
the slides; that sibling owns the caption.
|
|
198
|
+
|
|
199
|
+
## Handoffs
|
|
200
|
+
|
|
201
|
+
| When you actually want… | Go to |
|
|
202
|
+
|---|---|
|
|
203
|
+
| The account/format plan, cadence, niche, who to target | [`../linkedin-strategy/SKILL.md`](../linkedin-strategy/SKILL.md) |
|
|
204
|
+
| A text or single-image feed post (just the copy) | [`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md) |
|
|
205
|
+
| 1:1 DMs / connection-request outreach sequences | `linkedin-outreach` |
|
|
206
|
+
| To publish/schedule the deck via the LinkedIn API | [`../linkedin-api/SKILL.md`](../linkedin-api/SKILL.md) |
|
|
207
|
+
| A spoken-to 16:9 talk deck (speaker support) | [`../presentations/SKILL.md`](../presentations/SKILL.md) |
|
|
208
|
+
| The color / type / logo brand kit the deck is styled in | [`../brand-identity/SKILL.md`](../brand-identity/SKILL.md) |
|
|
209
|
+
| The reusable tone of voice the words are written in | [`../brand-voice/SKILL.md`](../brand-voice/SKILL.md) |
|
|
210
|
+
| A long-form article (the prose, not slides) | [`../article-writing/SKILL.md`](../article-writing/SKILL.md) |
|
|
211
|
+
| To cross-post / schedule the finished asset elsewhere | [`../social-publisher/SKILL.md`](../social-publisher/SKILL.md) |
|
|
212
|
+
|
|
213
|
+
## Anti-patterns
|
|
214
|
+
|
|
215
|
+
| Anti-pattern | Why it fails | Do instead |
|
|
216
|
+
|---|---|---|
|
|
217
|
+
| Cover is a title slide / table of contents | No stake, no swipe reason — the deck dies at slide 1 | Lead with a curiosity/benefit headline that promises a payoff |
|
|
218
|
+
| Multiple ideas crammed on one slide | Dilutes the message, stalls momentum, forces tiny text | One focused idea per slide; split the rest into more slides |
|
|
219
|
+
| Body text under 28 px | Forces a pinch-zoom on mobile — that's a stop | Keep body ≥ 28 px; headlines far larger |
|
|
220
|
+
| Landscape (16:9) canvas | Takes minimal feed space, low dwell, looks like a talk deck | Portrait 1080×1350 (4:5), or 1080×1080 square fallback |
|
|
221
|
+
| A flat list with no arc | Nothing pulls the reader forward; they abandon early | Pick one arc; end each slide on a small open loop |
|
|
222
|
+
| 20+ slides | Loses people before the payoff | Stay in the 6–12 band (~8); let the arc set the length |
|
|
223
|
+
| Bare "Follow me for more" CTA | Generic, no reason to act | One explicit ask tied to the payoff (save/comment) |
|
|
224
|
+
| Exporting slides as images, not a PDF | Loses crispness, breaks the document-post format | Export one PDF, 1 slide = 1 page, < 10 MB |
|
|
225
|
+
| Trusting Canva's PDF fonts | Free Canva silently substitutes custom fonts | Open the exported PDF and verify fonts before upload |
|
|
226
|
+
| Never previewing on a phone | Desktop view hides mobile crops and bleed bars | Open the final PDF on a phone before posting |
|
|
227
|
+
|
|
228
|
+
## Verify
|
|
229
|
+
|
|
230
|
+
If you wrote the spec to a file, lint it before handing off:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
scripts/verify.sh path/to/carousel-spec.md
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
It checks (read-only) for a labeled cover slide, a slide count in 5–15 (warns outside 6–12), a
|
|
237
|
+
CTA slide with an explicit ask, a portrait/square canvas, a ≥28 px type floor, "PDF" as the
|
|
238
|
+
export target, and warns on any crammed (3+ bullet) interior slide. An empty or clean target
|
|
239
|
+
passes. The deeper rigor is the capability eval in `evals/`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Evals — linkedin-carousels
|
|
2
|
+
|
|
3
|
+
`cases.yaml` is a routing + capability spec, not an automated test suite. `should_trigger`
|
|
4
|
+
lists prompts whose description should route to this skill (including a non-obvious
|
|
5
|
+
cover-repair / export-size phrasing and a Spanish/Catalan one); `should_not_trigger` lists
|
|
6
|
+
near-miss prompts that must route to a real sibling (`linkedin-content`, `linkedin-strategy`,
|
|
7
|
+
`presentations`, `linkedin-api`, `brand-identity`) with the reason. `capability` is a rubric a
|
|
8
|
+
grader (human or LLM) applies to an actual produced carousel spec to confirm the skill changes
|
|
9
|
+
the output — not just that it loaded. There is no bundled runner: check routing by inspection
|
|
10
|
+
(does the description's "Use when" / Triggers / NOT boundary cover each prompt?), or feed the
|
|
11
|
+
file to the repo's eval tooling if one is present. To pressure-test capability, run the
|
|
12
|
+
scenario and score the result against `must_include`, then optionally lint the produced spec
|
|
13
|
+
with `../scripts/verify.sh path/to/spec.md`.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
skill: linkedin-carousels
|
|
2
|
+
|
|
3
|
+
# Prompts that MUST load `linkedin-carousels`. The skill owns the SLIDES of a
|
|
4
|
+
# swipeable LinkedIn document post: the cover hook, the narrative arc, one idea
|
|
5
|
+
# per slide with real hierarchy, a CTA closer, and the PDF export spec. It does
|
|
6
|
+
# NOT own the account plan (linkedin-strategy), the text feed post
|
|
7
|
+
# (linkedin-content), the API upload (linkedin-api), or a 16:9 talk deck
|
|
8
|
+
# (presentations).
|
|
9
|
+
should_trigger:
|
|
10
|
+
- prompt: "Turn this blog post into a LinkedIn carousel — I want the slides laid out."
|
|
11
|
+
why: "Core job: transform a source into a slide-by-slide swipeable document post."
|
|
12
|
+
|
|
13
|
+
- prompt: "My carousel cover slide gets no swipes. Fix the hook."
|
|
14
|
+
why: "Non-obvious — a symptom, no word 'design'. Cover-hook repair is the highest-leverage thing the skill owns (the swipe-to-slide-2 bet)."
|
|
15
|
+
|
|
16
|
+
- prompt: "Design a swipeable PDF document post about onboarding: cover + 6 points + CTA."
|
|
17
|
+
why: "Explicit slide build with cover/interior/CTA structure — the exact deliverable."
|
|
18
|
+
|
|
19
|
+
- prompt: "What size should I export my LinkedIn carousel PDF at so it isn't cropped on mobile?"
|
|
20
|
+
why: "Non-obvious — sounds like a tooling question, but canvas/safe-area/PDF export is squarely in this skill's design spec."
|
|
21
|
+
|
|
22
|
+
- prompt: "My slides are crammed with bullets and there's no story — restructure one idea per slide with an arc."
|
|
23
|
+
why: "Structure + hierarchy repair: the one-idea-per-slide rule and narrative arc are core."
|
|
24
|
+
|
|
25
|
+
- prompt: "Convierte este post en un carrusel de LinkedIn amb portada i CTA."
|
|
26
|
+
why: "Spanish/Catalan phrasing for the core job — design a carousel with a cover and CTA."
|
|
27
|
+
|
|
28
|
+
# NEAR-MISS prompts that must NOT load `linkedin-carousels`. Each routes to the
|
|
29
|
+
# real sibling that owns it. The recurring trap: anything that touches LinkedIn
|
|
30
|
+
# but is the account plan, the feed copy, the API, or a spoken-to deck.
|
|
31
|
+
should_not_trigger:
|
|
32
|
+
- prompt: "Write me a LinkedIn text post with a strong hook line about remote work."
|
|
33
|
+
route_to: linkedin-content
|
|
34
|
+
why: "A single block of feed copy with no slides is the text/single-image post — owned by linkedin-content, not a multi-slide document."
|
|
35
|
+
|
|
36
|
+
- prompt: "Plan my LinkedIn content for the quarter — which formats and how often to post."
|
|
37
|
+
route_to: linkedin-strategy
|
|
38
|
+
why: "Account-level format/cadence/niche planning is the strategy, not the design of one deck."
|
|
39
|
+
|
|
40
|
+
- prompt: "Design a 16:9 deck for my conference talk with a speaker track."
|
|
41
|
+
route_to: presentations
|
|
42
|
+
why: "A spoken-to talk deck (landscape, speaker support) is presentations; a carousel is a portrait phone-read document, opposite reading context."
|
|
43
|
+
|
|
44
|
+
- prompt: "Schedule and auto-publish this carousel to LinkedIn via the API."
|
|
45
|
+
route_to: linkedin-api
|
|
46
|
+
why: "Programmatic upload/scheduling is linkedin-api; this skill stops at the designed PDF spec."
|
|
47
|
+
|
|
48
|
+
- prompt: "Define our brand colors and fonts for all our content."
|
|
49
|
+
route_to: brand-identity
|
|
50
|
+
why: "The reusable color/type/logo system is brand-identity; the carousel consumes that kit, it does not author it."
|
|
51
|
+
|
|
52
|
+
# CAPABILITY: prove the skill changes the output, not just routing.
|
|
53
|
+
capability:
|
|
54
|
+
- scenario: "Turn the topic 'why most onboarding flows lose users in week one' into a designed LinkedIn carousel, producing the full slide-by-slide spec plus the export spec."
|
|
55
|
+
must_include:
|
|
56
|
+
- "A cover slide with a curiosity/benefit headline (a stake/payoff, not a topic label), one dominant element, white space, and an explicit swipe cue — engineered to win the swipe-to-slide-2 bounce."
|
|
57
|
+
- "A named narrative arc (e.g. problem -> reveal -> payoff) with each interior slide mapped to it and ending on a small open loop that pulls to the next slide."
|
|
58
|
+
- "One focused idea per interior slide — a single headline line, not a multi-point bullet dump."
|
|
59
|
+
- "Total slide count in the 6-12 band (~8), with the length justified by the arc resolving, not by a quota."
|
|
60
|
+
- "A CTA closer slide that restates the payoff and makes one explicit ask tied to it (save/comment), not a bare 'follow me'."
|
|
61
|
+
- "A design/export spec: portrait 1080x1350 (or 1080x1080 fallback), ~880x880 safe area with ~80 px padding, >=28 px type floor, export to PDF (1 slide = 1 page, < 10 MB), and a phone-preview / font-substitution check."
|
|
62
|
+
- "A one-line feed caption starter whose first line restates the cover hook, with the handoff to linkedin-content for full caption tuning noted."
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Carousel patterns
|
|
2
|
+
|
|
3
|
+
Offloaded depth for `linkedin-carousels`. SKILL.md points here from the cover, narrative-arc,
|
|
4
|
+
and export sections. Everything here is a build aid — the SKILL.md rules still govern.
|
|
5
|
+
|
|
6
|
+
## Slide-by-slide spec template
|
|
7
|
+
|
|
8
|
+
Produce one block per slide. Fill every field; "—" if a field genuinely doesn't apply.
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
SLIDE 0 — CONTEXT (not exported; for the build)
|
|
12
|
+
Topic / angle:
|
|
13
|
+
Source (post/article/idea):
|
|
14
|
+
Brand kit ref (02-DOCS or assumption):
|
|
15
|
+
Voice ref (02-DOCS or assumption):
|
|
16
|
+
Chosen arc:
|
|
17
|
+
Slide count:
|
|
18
|
+
|
|
19
|
+
SLIDE 1 — COVER
|
|
20
|
+
Headline (dominant, reads first):
|
|
21
|
+
Supporting line (smaller):
|
|
22
|
+
Dominant visual / treatment:
|
|
23
|
+
Swipe cue (arrow / "Swipe →" / 1/N counter):
|
|
24
|
+
|
|
25
|
+
SLIDE n — INTERIOR (repeat per slide)
|
|
26
|
+
Single idea (one sentence):
|
|
27
|
+
Headline line (large):
|
|
28
|
+
Supporting line (one, optional):
|
|
29
|
+
Dominant visual / number:
|
|
30
|
+
Open-loop close (cliff line into the next slide):
|
|
31
|
+
|
|
32
|
+
SLIDE N — CTA CLOSER
|
|
33
|
+
Payoff restatement (the satisfying landing):
|
|
34
|
+
One explicit ask (save / comment / share / visit):
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Cover-hook pattern library
|
|
38
|
+
|
|
39
|
+
Each shape, with a Bad (label) → Good (stake/payoff) rewrite. Pick the one that fits the angle.
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
1. NUMBER
|
|
43
|
+
Bad "Things to improve onboarding"
|
|
44
|
+
Good "5 onboarding mistakes that cost you 60% of new users"
|
|
45
|
+
|
|
46
|
+
2. CONTRARIAN
|
|
47
|
+
Bad "Onboarding best practices"
|
|
48
|
+
Good "Your onboarding checklist is why users churn. Delete half of it."
|
|
49
|
+
|
|
50
|
+
3. MISTAKE
|
|
51
|
+
Bad "Onboarding tips"
|
|
52
|
+
Good "The week-one mistake almost every SaaS makes (and how to spot it)"
|
|
53
|
+
|
|
54
|
+
4. OUTCOME
|
|
55
|
+
Bad "How onboarding works"
|
|
56
|
+
Good "How we cut week-one churn from 60% to 18% — the exact flow"
|
|
57
|
+
|
|
58
|
+
5. QUESTION
|
|
59
|
+
Bad "About user retention"
|
|
60
|
+
Good "Why do 60% of your signups never come back? It's not the product."
|
|
61
|
+
|
|
62
|
+
6. NOBODY-TELLS-YOU
|
|
63
|
+
Bad "Onboarding guide"
|
|
64
|
+
Good "Nobody tells you that onboarding fails before the user even logs in"
|
|
65
|
+
|
|
66
|
+
7. STAKES / COST
|
|
67
|
+
Bad "User drop-off"
|
|
68
|
+
Good "Every extra signup field drops completion ~7%. Here's the math."
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Rule across all of them: the headline names a payoff or a stake, one line dominates, and a
|
|
72
|
+
swipe cue tells the reader the format is a deck.
|
|
73
|
+
|
|
74
|
+
## Narrative-arc blueprints
|
|
75
|
+
|
|
76
|
+
Each arc expanded to a full slide map for an ~8-slide deck. Adjust count to fit the content —
|
|
77
|
+
length follows the arc, not a quota.
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
ARC A — PROBLEM → TENSION → REVEAL → PAYOFF (persuasive / insight)
|
|
81
|
+
1 Cover: the stake (curiosity/benefit headline + swipe cue)
|
|
82
|
+
2 The problem: name the pain the reader feels
|
|
83
|
+
3 The tension: why the obvious fix doesn't work
|
|
84
|
+
4 The reveal: the actual cause / the shift in thinking
|
|
85
|
+
5 The mechanism: how the fix works
|
|
86
|
+
6 The proof: a number, result, or example
|
|
87
|
+
7 The payoff: what changes once they apply it
|
|
88
|
+
8 CTA: restate payoff + one ask (save/comment)
|
|
89
|
+
|
|
90
|
+
ARC B — NUMBERED STEPS / LISTICLE (how-to, framework)
|
|
91
|
+
1 Cover: "N steps to <outcome>" + swipe cue
|
|
92
|
+
2..7 One step per slide (one idea, large type, open-loop close)
|
|
93
|
+
8 Recap or the one step that matters most + CTA ask
|
|
94
|
+
|
|
95
|
+
ARC C — MYTH → TRUTH (contrarian)
|
|
96
|
+
1 Cover: the contrarian claim + swipe cue
|
|
97
|
+
2 The myth: what most people believe
|
|
98
|
+
3 Why it's wrong: the flaw in the belief
|
|
99
|
+
4 The truth: the better model
|
|
100
|
+
5 Proof: evidence the truth holds
|
|
101
|
+
6 So-what: what to do differently
|
|
102
|
+
7 CTA: restate the truth + one ask
|
|
103
|
+
|
|
104
|
+
ARC D — BEFORE → AFTER (transformation / case)
|
|
105
|
+
1 Cover: the transformation ("from X to Y") + swipe cue
|
|
106
|
+
2 Before: the starting state and its cost
|
|
107
|
+
3 The turning point: what changed
|
|
108
|
+
4 After: the new state
|
|
109
|
+
5 How: the steps that got there
|
|
110
|
+
6 Lesson: what's transferable
|
|
111
|
+
7 CTA: restate result + one ask
|
|
112
|
+
|
|
113
|
+
ARC E — DATA REVEAL (stat-led)
|
|
114
|
+
1 Cover: tease the number, don't reveal it ("60% of users do THIS")
|
|
115
|
+
2 Setup: why the number matters / how it was measured
|
|
116
|
+
3 The number: reveal it as the dominant element
|
|
117
|
+
4 Why it happens: the cause
|
|
118
|
+
5 So-what: the implication for the reader
|
|
119
|
+
6 Action: what to change
|
|
120
|
+
7 CTA: restate the insight + one ask
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Momentum rule applies to every arc: end each interior slide on a small open loop (a cliff
|
|
124
|
+
line, a "but…", a half-answered question) so the reader swipes to resolve it.
|
|
125
|
+
|
|
126
|
+
## Design + export checklist (in words)
|
|
127
|
+
|
|
128
|
+
- **Canvas.** Use 1080×1350 px (4:5 portrait) — it claims the most vertical feed space, which
|
|
129
|
+
raises dwell and scroll-stop chance. 1080×1080 (1:1 square) is the safe fallback. Never
|
|
130
|
+
landscape for the feed — it reads as a talk deck and takes minimal space.
|
|
131
|
+
- **Safe area.** Keep every headline and key visual inside a central ~880×880 region, ~80 px
|
|
132
|
+
padding on all sides. LinkedIn's in-feed viewer and mobile cropping can shave the edges.
|
|
133
|
+
- **Type floor.** Body text ≥ 28 px; headlines far larger so hierarchy reads at a glance. It
|
|
134
|
+
is consumed one-handed on a phone — anything smaller forces a pinch-zoom, which is a stop.
|
|
135
|
+
- **Export format.** PDF only — it preserves fonts and layout across devices. LinkedIn also
|
|
136
|
+
accepts PPTX/DOCX, but only PDF renders consistently. One slide = one PDF page.
|
|
137
|
+
- **File size.** Reported ceilings range ~100-300 MB / 300 pages depending on source (LinkedIn's
|
|
138
|
+
own Help page states 100 MB / 300 pages); keep it under ~10 MB so it loads fast in-feed.
|
|
139
|
+
Compress images if needed.
|
|
140
|
+
- **Font substitution.** On free Canva, custom fonts can be swapped at PDF export with no
|
|
141
|
+
warning. Open the exported PDF and confirm the fonts before upload.
|
|
142
|
+
- **Bleed / crop marks.** If accidentally enabled, they add black bars around every slide.
|
|
143
|
+
Disable them in export settings.
|
|
144
|
+
- **Phone preview.** Open the final PDF on an actual phone before posting — the desktop preview
|
|
145
|
+
hides crops and bars that only show on mobile.
|
|
146
|
+
|
|
147
|
+
## Worked example — full 8-slide deck (Arc A)
|
|
148
|
+
|
|
149
|
+
Topic: "Why most onboarding flows lose users in week one." Arc A (problem → reveal → payoff).
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
SLIDE 1 — COVER
|
|
153
|
+
Headline: "60% of new users quit in week one."
|
|
154
|
+
Supporting: "It's almost never the product. Here's where they fall off."
|
|
155
|
+
Dominant: the "60%" set large; headline reads first
|
|
156
|
+
Swipe cue: "Swipe →" (1/8)
|
|
157
|
+
|
|
158
|
+
SLIDE 2 — THE PROBLEM
|
|
159
|
+
Idea: users churn before they reach value
|
|
160
|
+
Headline: "They never hit the 'aha' moment."
|
|
161
|
+
Supporting: "Most leave before doing the one thing that makes the product click."
|
|
162
|
+
Open loop: "And the usual fix makes it worse →"
|
|
163
|
+
|
|
164
|
+
SLIDE 3 — THE TENSION
|
|
165
|
+
Idea: adding more onboarding steps backfires
|
|
166
|
+
Headline: "More onboarding ≠ better onboarding."
|
|
167
|
+
Supporting: "Every extra setup screen is another exit."
|
|
168
|
+
Open loop: "So what actually keeps them? →"
|
|
169
|
+
|
|
170
|
+
SLIDE 4 — THE REVEAL
|
|
171
|
+
Idea: time-to-value is the real metric
|
|
172
|
+
Headline: "Cut the time to first value."
|
|
173
|
+
Supporting: "Get them to one real win fast — defer everything else."
|
|
174
|
+
Open loop: "Here's how, step by step →"
|
|
175
|
+
|
|
176
|
+
SLIDE 5 — THE MECHANISM
|
|
177
|
+
Idea: shorten the signup form
|
|
178
|
+
Headline: "Step 1: 3 fields, not 9."
|
|
179
|
+
Supporting: "Every extra field drops completion ~7%."
|
|
180
|
+
Open loop: "Then remove the empty state →"
|
|
181
|
+
|
|
182
|
+
SLIDE 6 — THE MECHANISM (cont.)
|
|
183
|
+
Idea: seed the first win
|
|
184
|
+
Headline: "Step 2: pre-load a sample so they see value in 30 seconds."
|
|
185
|
+
Supporting: "Don't make day one a blank screen."
|
|
186
|
+
Open loop: "The result? →"
|
|
187
|
+
|
|
188
|
+
SLIDE 7 — THE PAYOFF
|
|
189
|
+
Idea: the outcome of the changes
|
|
190
|
+
Headline: "Week-one churn: 60% → 18%."
|
|
191
|
+
Supporting: "Same product. Faster path to the 'aha'."
|
|
192
|
+
Open loop: "Want the checklist? →"
|
|
193
|
+
|
|
194
|
+
SLIDE 8 — CTA CLOSER
|
|
195
|
+
Payoff: "Faster time-to-value is the whole game in week one."
|
|
196
|
+
Ask: "Save this for your next onboarding review. Which step are you missing? Comment below."
|
|
197
|
+
|
|
198
|
+
CAPTION STARTER (hand to linkedin-content for tuning):
|
|
199
|
+
"60% of new users quit in week one — and it's almost never the product. 👇"
|
|
200
|
+
```
|