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,160 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# verify.sh — static linter for a `linkedin-carousels` slide-by-slide spec.
|
|
4
|
+
#
|
|
5
|
+
# WHAT IT DOES (read-only; never edits a file)
|
|
6
|
+
# Network-free static checks over a produced carousel spec (markdown/text):
|
|
7
|
+
# 1. HARD no cover slide is labeled (cover / slide 1 marker).
|
|
8
|
+
# 2. HARD no CTA closer with an explicit ask verb (follow/comment/save/share/visit/subscribe).
|
|
9
|
+
# 3. HARD no portrait/square canvas named (1080x1350 or 1080x1080).
|
|
10
|
+
# 4. HARD no type floor named (28 or larger) AND/OR no "PDF" export target.
|
|
11
|
+
# 5. HARD slide count outside 5-15.
|
|
12
|
+
# 6. SOFT slide count outside the 6-12 band (warn).
|
|
13
|
+
# 7. SOFT an interior slide block lists 3+ bullet points (crammed; one-idea-per-slide).
|
|
14
|
+
#
|
|
15
|
+
# Hard violations exit 1. Soft violations warn and exit 0 (spec is judgement).
|
|
16
|
+
# An empty or clean target is a clean pass (exit 0) — no false failure.
|
|
17
|
+
#
|
|
18
|
+
# HOW TO RUN (point it at YOUR spec, not the skills repo)
|
|
19
|
+
# ./verify.sh path/to/carousel-spec.md # check one file
|
|
20
|
+
# ./verify.sh # scan ./ for *.{md,mdx,txt}
|
|
21
|
+
# ./verify.sh --path specs # scan a subdirectory
|
|
22
|
+
# ./verify.sh --strict # treat soft warnings as failure (exit 1)
|
|
23
|
+
#
|
|
24
|
+
# EXIT CODES
|
|
25
|
+
# 0 clean, empty target, or warnings-only without --strict
|
|
26
|
+
# 1 a hard violation, or --strict with any warning
|
|
27
|
+
# 2 bad usage
|
|
28
|
+
#
|
|
29
|
+
# POSIX sh, no external deps beyond grep/wc/sort. Runs on stock macOS /bin/sh.
|
|
30
|
+
|
|
31
|
+
set -eu
|
|
32
|
+
|
|
33
|
+
if [ -t 1 ]; then
|
|
34
|
+
RED=$(printf '\033[31m'); GRN=$(printf '\033[32m'); YEL=$(printf '\033[33m'); NC=$(printf '\033[0m')
|
|
35
|
+
else
|
|
36
|
+
RED=''; GRN=''; YEL=''; NC=''
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
warn_count=0
|
|
40
|
+
fail_count=0
|
|
41
|
+
|
|
42
|
+
ok() { printf '%s[ ok ]%s %s\n' "$GRN" "$NC" "$*"; }
|
|
43
|
+
warn() { printf '%s[warn]%s %s\n' "$YEL" "$NC" "$*"; warn_count=$((warn_count + 1)); }
|
|
44
|
+
fail() { printf '%s[fail]%s %s\n' "$RED" "$NC" "$*"; fail_count=$((fail_count + 1)); }
|
|
45
|
+
|
|
46
|
+
usage() { sed -n '2,33p' "$0" | sed 's/^#\{0,1\} \{0,1\}//'; }
|
|
47
|
+
|
|
48
|
+
TARGET=""
|
|
49
|
+
STRICT=0
|
|
50
|
+
while [ $# -gt 0 ]; do
|
|
51
|
+
case "$1" in
|
|
52
|
+
--strict) STRICT=1 ;;
|
|
53
|
+
--path) shift; TARGET="${1:-}" ;;
|
|
54
|
+
-h|--help) usage; exit 0 ;;
|
|
55
|
+
-*) printf 'unknown option: %s\n' "$1" >&2; usage >&2; exit 2 ;;
|
|
56
|
+
*) TARGET="$1" ;;
|
|
57
|
+
esac
|
|
58
|
+
shift
|
|
59
|
+
done
|
|
60
|
+
[ -n "$TARGET" ] || TARGET="."
|
|
61
|
+
|
|
62
|
+
# --- collect files ----------------------------------------------------------
|
|
63
|
+
FILES=""
|
|
64
|
+
if [ -f "$TARGET" ]; then
|
|
65
|
+
FILES="$TARGET"
|
|
66
|
+
elif [ -d "$TARGET" ]; then
|
|
67
|
+
FILES=$(find "$TARGET" -type f \
|
|
68
|
+
\( -name '*.md' -o -name '*.mdx' -o -name '*.txt' \) 2>/dev/null \
|
|
69
|
+
| grep -v '/node_modules/' || true)
|
|
70
|
+
else
|
|
71
|
+
printf 'no such file or directory: %s\n' "$TARGET" >&2
|
|
72
|
+
exit 2
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
if [ -z "$FILES" ]; then
|
|
76
|
+
ok "no spec files found under '$TARGET' — nothing to check"
|
|
77
|
+
exit 0
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# explicit-ask verbs that mark a real CTA (case-insensitive)
|
|
81
|
+
ASK_VERBS='follow|comment|save|share|repost|visit|subscribe|download|sign up|book|grab'
|
|
82
|
+
|
|
83
|
+
checked=0
|
|
84
|
+
for f in $FILES; do
|
|
85
|
+
[ -f "$f" ] || continue
|
|
86
|
+
[ -s "$f" ] || continue
|
|
87
|
+
checked=$((checked + 1))
|
|
88
|
+
|
|
89
|
+
# 1. HARD: a labeled cover slide.
|
|
90
|
+
if grep -Eiq '(^|[^a-z])cover([^a-z]|$)|slide *0*1 *[—:-]' "$f"; then
|
|
91
|
+
:
|
|
92
|
+
else
|
|
93
|
+
fail "$f: no cover slide labeled — the cover wins or loses the swipe to slide 2"
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
# 2. HARD: a CTA closer with an explicit ask verb.
|
|
97
|
+
if grep -Eiq 'cta' "$f" && grep -Eiq "$ASK_VERBS" "$f"; then
|
|
98
|
+
:
|
|
99
|
+
elif grep -Eiq "$ASK_VERBS" "$f"; then
|
|
100
|
+
warn "$f: an ask verb is present but no 'CTA' closer slide is labeled — label the closer"
|
|
101
|
+
else
|
|
102
|
+
fail "$f: no CTA closer with an explicit ask (follow/comment/save/share/visit) — every deck needs one ask"
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
# 3. HARD: a portrait/square canvas.
|
|
106
|
+
if grep -Eiq '1080 *[x×] *1350|1080 *[x×] *1080' "$f"; then
|
|
107
|
+
:
|
|
108
|
+
else
|
|
109
|
+
fail "$f: no portrait/square canvas named (expected 1080x1350 or 1080x1080) — no landscape for the feed"
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
# 4. HARD: a type floor (>=28) and PDF export target.
|
|
113
|
+
if grep -Eiq '(2[89]|[3-9][0-9]|[1-9][0-9][0-9]) *px' "$f"; then
|
|
114
|
+
:
|
|
115
|
+
else
|
|
116
|
+
fail "$f: no type floor >= 28 px stated — body is read on a phone, anything smaller is a stop"
|
|
117
|
+
fi
|
|
118
|
+
if grep -Eiq '(^|[^a-z])pdf([^a-z]|$)' "$f"; then
|
|
119
|
+
:
|
|
120
|
+
else
|
|
121
|
+
fail "$f: no PDF export target named — PDF is the only format that renders consistently"
|
|
122
|
+
fi
|
|
123
|
+
|
|
124
|
+
# 5/6. slide count. Count distinct 'slide N' markers (case-insensitive).
|
|
125
|
+
count=$(grep -Eio 'slide *0*[0-9]+' "$f" 2>/dev/null \
|
|
126
|
+
| grep -Eo '[0-9]+' | sort -un | wc -l | tr -d ' ')
|
|
127
|
+
if [ "${count:-0}" -gt 0 ]; then
|
|
128
|
+
if [ "$count" -lt 5 ] || [ "$count" -gt 15 ]; then
|
|
129
|
+
fail "$f: ${count} slides — outside the 5-15 hard range (< 5 underdelivers, > 15 loses people)"
|
|
130
|
+
elif [ "$count" -lt 6 ] || [ "$count" -gt 12 ]; then
|
|
131
|
+
warn "$f: ${count} slides — outside the 6-12 sweet band (~8 is the target)"
|
|
132
|
+
fi
|
|
133
|
+
fi
|
|
134
|
+
|
|
135
|
+
# 7. SOFT: a crammed interior slide — 3+ bullet lines within ~12 lines of a slide marker.
|
|
136
|
+
# Heuristic: if the file has any run of 3+ consecutive bullet lines, warn once.
|
|
137
|
+
bullets=$(grep -Ec '^[[:space:]]*([-*•]|[0-9]+\.) ' "$f" 2>/dev/null || true)
|
|
138
|
+
if [ "${bullets:-0}" -ge 3 ]; then
|
|
139
|
+
max_run=$(awk '
|
|
140
|
+
/^[[:space:]]*([-*•]|[0-9]+\.) /{run++; if(run>max)max=run; next}
|
|
141
|
+
{run=0}
|
|
142
|
+
END{print max+0}' "$f")
|
|
143
|
+
if [ "${max_run:-0}" -ge 3 ]; then
|
|
144
|
+
warn "$f: a slide block lists ${max_run}+ consecutive bullets — keep one idea per slide, split the rest"
|
|
145
|
+
fi
|
|
146
|
+
fi
|
|
147
|
+
done
|
|
148
|
+
|
|
149
|
+
printf '\n'
|
|
150
|
+
if [ "$fail_count" -gt 0 ]; then
|
|
151
|
+
fail "$fail_count hard violation(s), $warn_count warning(s) across $checked file(s)"
|
|
152
|
+
exit 1
|
|
153
|
+
fi
|
|
154
|
+
if [ "$warn_count" -gt 0 ]; then
|
|
155
|
+
warn "$warn_count warning(s) across $checked file(s)"
|
|
156
|
+
[ "$STRICT" -eq 1 ] && { printf '%s--strict: treating warnings as failure%s\n' "$RED" "$NC"; exit 1; }
|
|
157
|
+
exit 0
|
|
158
|
+
fi
|
|
159
|
+
ok "clean — $checked file(s) checked, no violations"
|
|
160
|
+
exit 0
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkedin-content
|
|
3
|
+
description: "Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story, or asset into ready-to-paste copy that earns dwell time and comments: a text post, a document/carousel cover + slide copy + caption, or a 30–90s native-video script + caption. Use to fix a weak hook so people tap 'see more', reformat a wall of text for the mobile feed, or get a CTA that provokes a real comment (not 'thoughts?'). Triggers: 'write me a LinkedIn post about X', 'my hook is weak, rewrite the first three lines so people click see more', 'give me a CTA that gets comments not thoughts?', 'should the link go in the post or the first comment?', 'escríbeme un post de LinkedIn que enganche', 'fes-me un post de LinkedIn amb ganxo sobre el llançament'. NOT planning what/when to post or cadence (that is linkedin-strategy), NOT designing the carousel slides/layout/PDF export (that is linkedin-carousels), NOT DM/connection sequences (that is linkedin-outreach), NOT programmatic publish (that is linkedin-api)."
|
|
4
|
+
tags: [linkedin, social-copywriting, hooks, content-writing, dwell-time, ctas, document-posts]
|
|
5
|
+
recommends: [linkedin-strategy, linkedin-carousels, linkedin-outreach, linkedin-api, brand-voice, video-shorts]
|
|
6
|
+
origin: risco
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# LinkedIn Content — The Words a Human Pastes Into the Feed
|
|
10
|
+
|
|
11
|
+
*You write the copy of one LinkedIn post.* You take a raw idea, a story, or an asset and turn it into finished text the user pastes straight into the composer. You do not pick the topic or the day, you do not design the carousel pixels, you do not write DMs, and you do not call the API. You hand over words.
|
|
12
|
+
|
|
13
|
+
**The one rule that governs every line: the 2026 algorithm pays for dwell time and comments, not likes or clicks.** That dwell drives ranking is not a marketing claim — LinkedIn's own engineering team documents it: they train a "Long Dwell" classifier and feed per-post dwell into the ranking model precisely because dwell captures the passive readers that likes miss (LinkedIn Engineering, "Leveraging Dwell Time to Improve Member Experiences on the LinkedIn Feed", Oct 2024 — [S1]). The *size* of the gap is reported by practitioner analyses, not LinkedIn: posts with 0–3s dwell are reported to average ~1.2% engagement vs. ~15.6% at 61+s, a ~13x gap ([S2], corroborated by [S3]). Treat the mechanism as solid and the multiplier as directional. A 30-second read beats 50 quick likes. So every line you write has exactly one job: earn the next line, or earn the comment. If a sentence does neither, cut it. *Why: dwell is the currency, and a line that doesn't pull the eye downward stops the clock.*
|
|
14
|
+
|
|
15
|
+
## Sources — what backs the numbers (and how hard)
|
|
16
|
+
|
|
17
|
+
Every figure below is keyed inline as `[S#]`. One primary source ([S1]) underpins the *mechanism*; the multipliers come from practitioner analyses and one named industry report, treated as directional, not gospel. All accessed 2026-06-02.
|
|
18
|
+
|
|
19
|
+
- **[S1] — primary, authoritative.** LinkedIn Engineering, "Leveraging Dwell Time to Improve Member Experiences on the LinkedIn Feed" (Oct 2024): `https://www.linkedin.com/blog/engineering/feed/leveraging-dwell-time-to-improve-member-experiences-on-the-linkedin-feed`. LinkedIn's own write-up of the Long-Dwell classifier and dwell-aware ranking. Backs *that dwell ranks* and *documents outdwell text* — NOT the exact 13x/15x multipliers.
|
|
20
|
+
- **[S2] — practitioner analysis.** dataslayer.ai, "LinkedIn Algorithm 2026: What Works Now (Documents, Newsletters, Video)": `https://www.dataslayer.ai/blog/linkedin-algorithm-february-2026-whats-working-now`. Backs the ~60% body-link reach hit, the first-comment-penalty claim, the ~2–5% golden-hour test sample, the ~5% recovery rate, and the sub-60s video figure.
|
|
21
|
+
- **[S3] — practitioner analysis, second source.** meet-lea.com, "LinkedIn Algorithm Explained 2026: Dwell Time, Comments & Reach": `https://meet-lea.com/en/blog/linkedin-algorithm-explained`. Independently states the 1.2% vs. 15.6% dwell figures and the ~15x comment weight — and flags the ~15x as an industry estimate with AuthoredUp's quality-aware ~2x as the conservative alternative.
|
|
22
|
+
- **[S4] — named industry research report.** Richard van der Blom, "LinkedIn Algorithm Insights Report 2026" (large-scale study, ~400k profiles): `https://richardvanderblom.com/`. Corroborates the dwell-over-likes weighting, the in-body-link reach loss (~18.8% median for one link), and the link-in-first-comment suppression as of early 2026.
|
|
23
|
+
|
|
24
|
+
When a fact rests on [S2] alone for a time-stamped algorithm behavior (notably the first-comment penalty), the body hedges it as *reported*, not confirmed — see the link rule below.
|
|
25
|
+
|
|
26
|
+
## Boundary — what is yours and what is the sibling's
|
|
27
|
+
|
|
28
|
+
The nearest miss is **strategy vs. words**. Deciding *whether to post, on what topic, at what cadence* is `../linkedin-strategy/SKILL.md`. Writing *the actual words of this one post* is you. "Plan my month of LinkedIn" routes away; "write this post" stays.
|
|
29
|
+
|
|
30
|
+
The second is **words vs. pixels**. For a document/carousel post, `../linkedin-carousels/SKILL.md` designs the slides — layout, visual system, PDF export. You write the document post's *text*: the cover-slide line, the per-slide copy, and the feed caption that frames it. Words here, pixels there.
|
|
31
|
+
|
|
32
|
+
Also route out: connection notes and DM sequences → `../linkedin-outreach/SKILL.md`; programmatic schedule/publish → `../linkedin-api/SKILL.md`; the durable brand tone the copy must obey → `../brand-voice/SKILL.md`; a cross-platform short-form video idea → `../video-shorts/SKILL.md`.
|
|
33
|
+
|
|
34
|
+
## Step 0 — pick the format first
|
|
35
|
+
|
|
36
|
+
Each format has a different engagement ceiling and a different structure, so choose before you write a word. This branches, so use the table.
|
|
37
|
+
|
|
38
|
+
| Format | 2026 avg engagement | Pick it when | Structure you write |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| Document / PDF (carousel) | ~6.6–7.0% (+14% YoY) — highest | The idea is a list, a framework, a teardown, or a before→after that wants pages | Cover line + 3–10 slides of copy + 100–200-word caption |
|
|
41
|
+
| Native video | ~5.6% (+36% YoY, growing 2x faster; ~3x a text post) | A face, a demo, a story that lands better spoken | 30–90s script beats + caption |
|
|
42
|
+
| Text only | Lowest of the three | A sharp story or insight that needs no asset; fastest to ship | One 1,300–1,900-char post |
|
|
43
|
+
|
|
44
|
+
Per-format engagement rates from [S3] and the named research report [S4]; the document-format edge is corroborated by LinkedIn Engineering's own finding that document/carousel updates generate longer dwell than text or image updates ([S1]). Format choice is a real lever, not a coin flip — a document post can clear ~6x a text-only one on the same idea.
|
|
45
|
+
|
|
46
|
+
## The hook — the first ~150 characters
|
|
47
|
+
|
|
48
|
+
The mobile feed truncates after ~150–210 characters (the first ~3 lines) before *see more* ([S2] / [S3]). If those lines don't earn the tap, dwell never starts and the rest of your post is invisible. The hook is the whole game.
|
|
49
|
+
|
|
50
|
+
Rules, each with its why:
|
|
51
|
+
|
|
52
|
+
- **Lead with specificity, a number, or tension — not context.** *Why: the reader is scrolling; an abstraction reads as skippable, a concrete claim reads as a promise.*
|
|
53
|
+
- **Front-load the most surprising true thing.** *Why: you have ~150 chars before the cut; spend them on the payoff-seed, not the setup.*
|
|
54
|
+
- **Never open with a greeting or "excited to share / thrilled to announce".** *Why: those words signal an ad, and the eye has learned to skip ads.*
|
|
55
|
+
- **One idea in the first line. The second line escalates it.** *Why: a line break in the visible zone earns its own micro-decision to keep reading.*
|
|
56
|
+
|
|
57
|
+
| Bad hook | Good hook |
|
|
58
|
+
|---|---|
|
|
59
|
+
| "Excited to share that we hit a new milestone this quarter! 🎉" | "We almost shut the product down in March. Then one churned customer told us why." |
|
|
60
|
+
| "I've been thinking a lot about leadership lately." | "I fired my best engineer. Revenue went up. Here's what that taught me about teams." |
|
|
61
|
+
| "Some thoughts on remote work and productivity." | "We went fully remote and our output dropped 30%. The fix wasn't more meetings." |
|
|
62
|
+
| "Happy to announce our new feature is live!" | "It took 4 rewrites and a near-mutiny to ship one button. Worth it." |
|
|
63
|
+
|
|
64
|
+
For the full 8–10 pattern library (number-lead, false-start, contrarian, open-loop, named-stakes), see `references/hooks-and-formats.md`.
|
|
65
|
+
|
|
66
|
+
## The story arc and the character budget
|
|
67
|
+
|
|
68
|
+
A text post runs **hook → turn → payoff → CTA**. The length sweet spot is **1,300–1,900 characters** — reported as ~47% higher engagement than short posts because it sustains dwell while staying consumable; the hard max is 3,000 ([S3] / [S4]). Budget it:
|
|
69
|
+
|
|
70
|
+
| Section | Budget | Job |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| Hook | ~150 chars (first ~3 lines) | Earn the *see more* tap |
|
|
73
|
+
| Turn | ~300–400 chars | The pivot — the thing that wasn't obvious |
|
|
74
|
+
| Payoff | ~600–900 chars | The lesson/story/proof the hook promised |
|
|
75
|
+
| CTA | ~100–200 chars | Provoke a comment only the reader can give |
|
|
76
|
+
|
|
77
|
+
Don't pad to hit the range; if the idea is genuinely a 700-char post, ship 700. The range is where most stories *should* land, not a quota.
|
|
78
|
+
|
|
79
|
+
## Line-break formatting — write for the thumb
|
|
80
|
+
|
|
81
|
+
Short 1–2 sentence paragraphs with line breaks are reported to sustain ~40% longer dwell than a wall of text ([S2] / [S3]). The composer has **no native bold or italic**, so Unicode is the only in-feed emphasis — use it on one or two phrases at most, never a whole line.
|
|
82
|
+
|
|
83
|
+
Rules: one idea per line; a blank line between thought-blocks; emoji as occasional bullets (▸, →, or a single 📌), never confetti.
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
Bad (wall):
|
|
87
|
+
We tried three onboarding flows over six months and the first two failed because they front-loaded configuration before value, which meant users churned before they ever saw the product work, so we rebuilt it around a single first action and activation jumped from 19% to 54% in two weeks which taught us that time-to-value beats feature-completeness every time.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
Good (broken for the thumb):
|
|
92
|
+
We tried three onboarding flows in six months.
|
|
93
|
+
|
|
94
|
+
The first two failed for the same reason:
|
|
95
|
+
they made users configure before they saw value.
|
|
96
|
+
|
|
97
|
+
So we cut everything but one first action.
|
|
98
|
+
|
|
99
|
+
Activation went 19% → 54% in two weeks.
|
|
100
|
+
|
|
101
|
+
The lesson: time-to-value beats feature-completeness. Every time.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## The CTA that earns comments
|
|
105
|
+
|
|
106
|
+
Comments are widely reported as ~15x the weight of likes ([S2] / [S3]) — though that exact multiplier is an industry estimate, and AuthoredUp's quality-aware analysis puts it closer to ~2x ([S3]). Either way the direction holds: a comment outweighs a like, and a meaningful comment more still. So the CTA's only job is to provoke a comment the reader is *uniquely* able to give. *Why: a generic ask gets a generic like; a specific question gets a sentence, and a sentence is a comment.*
|
|
107
|
+
|
|
108
|
+
Ask for the reader's own experience, number, or disagreement — something they can answer without you. Banlist of dead CTAs that get scrolled past: "thoughts?", "agree?", "let me know below", "what do you think?", "drop a comment".
|
|
109
|
+
|
|
110
|
+
| Dead CTA | Live CTA |
|
|
111
|
+
|---|---|
|
|
112
|
+
| "Thoughts?" | "What's the one onboarding step you'd kill if you could?" |
|
|
113
|
+
| "Agree?" | "If you've shipped fully remote — did output go up or down for you? Curious where I'm wrong." |
|
|
114
|
+
| "Let me know below." | "What metric finally made *you* trust an activation number?" |
|
|
115
|
+
|
|
116
|
+
## Format-specific bodies
|
|
117
|
+
|
|
118
|
+
**Document / PDF post** — write three things, never the slide design:
|
|
119
|
+
1. **Cover line** — the hook, sized to be readable as a thumbnail; it does the *see more* job here too.
|
|
120
|
+
2. **Per-slide copy** — one idea per slide, **3–10 slides** (the high-performing range; [S2] / [S4]); each slide ends pulling the swipe.
|
|
121
|
+
3. **Caption** — ~100–200 words that frame the deck and carry the comment-CTA.
|
|
122
|
+
|
|
123
|
+
Hand the slide *text* to `../linkedin-carousels/SKILL.md` for layout and export.
|
|
124
|
+
|
|
125
|
+
**Native video** — best at **30–90 seconds**, and sub-60s short-form is reported to get ~53% more engagement than longer ([S2]). Write:
|
|
126
|
+
1. **Script beats** — hook in the first 3 seconds (the visual hook, since most watch muted), then turn → payoff → spoken CTA.
|
|
127
|
+
2. **Caption** — the text-post arc in miniature, ending on the comment-CTA.
|
|
128
|
+
|
|
129
|
+
Full templates with char budgets for all three formats live in `references/hooks-and-formats.md`.
|
|
130
|
+
|
|
131
|
+
## The link rule and the golden hour
|
|
132
|
+
|
|
133
|
+
**Put no link in the post body.** A body link is reported to cost ~60% of reach ([S2], with [S4] measuring one in-body link at ~18.8% median reach loss — both agree the hit is large; the exact figure varies by sample). The riskier, time-stamped claim is that the old "link in the first comment" workaround is *also* penalized as of early 2026 — reported by both [S2] and the named research report [S4], which describes external-link comments being suppressed. It is not confirmed by LinkedIn, so treat it as a strong reported signal, not a law: the safe default is to assume the escape hatch is at least partly closed. If a link is non-negotiable, accept the reach hit knowingly; otherwise put the URL nowhere and tell people to DM/comment for it. *Why: LinkedIn suppresses anything that pulls users off-platform, and the comment trick is widely reported as detected.*
|
|
134
|
+
|
|
135
|
+
**Work the golden hour.** LinkedIn first tests a post on only ~2–5% of your network in the first hour; only ~5% of posts that underperform in that window are reported to ever recover broader reach ([S2]). The first-hour-test mechanism is consistent with LinkedIn Engineering's described pipeline of scoring early engagement on an initial sample before expanding distribution ([S1]). So after posting: reply to every comment fast, and seed the thread with a real follow-up question. The post you abandon for an hour is the post the algorithm abandons.
|
|
136
|
+
|
|
137
|
+
## Learn from 02-DOCS
|
|
138
|
+
|
|
139
|
+
If the project has an `02-DOCS/` post log, read it before drafting: pull prior posts and their measured outcomes (impressions, dwell, comments, saves) and bias the new draft toward the hook patterns, formats, and CTA types that actually performed *for this account* — not generic best practice. Then log the new post back with its hook, format, and CTA type so the next draft is sharper. The front-matter schema (date, format, hook, cta_type, impressions, dwell_s, comments, saves) is in `references/hooks-and-formats.md`.
|
|
140
|
+
|
|
141
|
+
## Anti-patterns
|
|
142
|
+
|
|
143
|
+
| Anti-pattern | Why it kills the post | Fix |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| Link in the body (or "link in first comment") | ~60% reach hit; comment trick reported penalized too ([S2]/[S4]) | URL nowhere; offer it via DM/comment, or accept the hit knowingly |
|
|
146
|
+
| Greeting / "excited to share" hook | Reads as an ad; eye skips before *see more* | Open on the most surprising true thing, ≤150 chars |
|
|
147
|
+
| Wall of text | Tanks dwell ~40% vs. broken copy | 1–2 sentence paragraphs, blank line between blocks |
|
|
148
|
+
| "Thoughts?" CTA | Gets a like, not a comment; comments weigh ~15x | Ask what only the reader can answer |
|
|
149
|
+
| Post then ghost the golden hour | Underperforms the first-hour test → ~5% recover | Reply fast, seed a real question for 60–90 min |
|
|
150
|
+
| Chasing likes over comments | Likes are the weakest signal | Write the arc toward a comment, not applause |
|
|
151
|
+
| Padding to hit 1,900 chars | Padding lowers dwell, doesn't raise it | Ship the true length; the range is a target, not a quota |
|
|
152
|
+
| Picking text by default | Text is the lowest-ceiling format | Choose format from the idea (Step 0) — document/video often win |
|
|
153
|
+
|
|
154
|
+
## Before you hand over the draft
|
|
155
|
+
|
|
156
|
+
Run the mechanical lint on the drafted file — it catches reach-killers, not judgment:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
scripts/verify.sh path/to/draft.md
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
It flags an over-long hook line, an http(s) link in the body, banned dead CTAs, and wall-of-text blocks. It is read-only and exits 0 on a clean or empty file. Judgment (does the hook actually pull? is the CTA answerable?) stays with you and the capability eval.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Evals — linkedin-content
|
|
2
|
+
|
|
3
|
+
These cases are read by the catalog's routing harness (or by hand); there is no
|
|
4
|
+
bundled automated scorer. `should_trigger` asserts the SKILL.md description and body
|
|
5
|
+
are specific enough that each listed prompt would load `linkedin-content`;
|
|
6
|
+
`should_not_trigger` asserts a near-miss prompt routes to the named real sibling
|
|
7
|
+
instead (every `route_to` id must exist in the catalog); and `capability` is a
|
|
8
|
+
rubric — feed the scenario to an agent with this skill loaded and grade the generated
|
|
9
|
+
post against every `must_include` bullet as pass/fail. To sanity-check a *generated*
|
|
10
|
+
draft against the mechanical rules separately, run `../scripts/verify.sh path/to/draft.md`
|
|
11
|
+
— it is read-only and flags an over-long hook line, an http(s) body link, banned dead
|
|
12
|
+
CTAs, and wall-of-text blocks. Judgment (does the hook pull? is the CTA answerable?)
|
|
13
|
+
stays with the capability rubric; verify.sh only catches mechanical reach-killers.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
skill: linkedin-content
|
|
2
|
+
|
|
3
|
+
# Prompts that MUST load `linkedin-content`. The skill owns THE WORDS of one
|
|
4
|
+
# LinkedIn feed post — text, document/carousel copy (cover + slides + caption),
|
|
5
|
+
# or a native-video script + caption — written to earn dwell and comments. It
|
|
6
|
+
# does NOT plan what/when to post (linkedin-strategy), design the carousel
|
|
7
|
+
# pixels (linkedin-carousels), write DMs/connection notes (linkedin-outreach),
|
|
8
|
+
# or publish via API (linkedin-api).
|
|
9
|
+
should_trigger:
|
|
10
|
+
- prompt: "Write a LinkedIn post about how we cut onboarding from 3 weeks to 3 days."
|
|
11
|
+
why: "Core job — turn a raw before→after story into a finished text post with hook, arc, and comment-CTA."
|
|
12
|
+
|
|
13
|
+
- prompt: "My hook is weak — rewrite the first three lines so people actually click 'see more'."
|
|
14
|
+
why: "Non-obvious: the user names the symptom (first three lines / see more), not the skill. The ~150-char hook rule and the Bad→Good hook table answer it directly."
|
|
15
|
+
|
|
16
|
+
- prompt: "Turn this into a LinkedIn document/carousel — give me the cover line and the slide copy."
|
|
17
|
+
why: "Document-post TEXT (cover + per-slide copy + caption) is owned here; only the slide layout/export belongs to linkedin-carousels."
|
|
18
|
+
|
|
19
|
+
- prompt: "Write a 45-second native-video script and the caption that goes with it."
|
|
20
|
+
why: "Native-video format (30–90s beats + caption) is one of the three formats this skill writes."
|
|
21
|
+
|
|
22
|
+
- prompt: "Give me a CTA that gets comments, not 'thoughts?'."
|
|
23
|
+
why: "Non-obvious phrasing — the comment-earning CTA + the dead-CTA banlist exist for exactly this; comments weigh ~15x likes."
|
|
24
|
+
|
|
25
|
+
- prompt: "fes-me un post de LinkedIn amb ganxo sobre el llançament"
|
|
26
|
+
why: "Catalan trigger — same skill regardless of language; the hook rules and arc apply."
|
|
27
|
+
|
|
28
|
+
- prompt: "Should the link go in the post or in the first comment?"
|
|
29
|
+
why: "Non-obvious: the body-link ~60% reach hit AND the now-dead first-comment workaround are a load-bearing fact this skill owns."
|
|
30
|
+
|
|
31
|
+
should_not_trigger:
|
|
32
|
+
- prompt: "Plan my LinkedIn content calendar and pillars for next month."
|
|
33
|
+
route_to: linkedin-strategy
|
|
34
|
+
why: "What/when/cadence is strategy; this skill only writes the words of one post inside that plan."
|
|
35
|
+
|
|
36
|
+
- prompt: "Design the actual carousel slides — layout and visuals — and export the PDF."
|
|
37
|
+
route_to: linkedin-carousels
|
|
38
|
+
why: "Pixels, not copy. linkedin-content writes the slide TEXT; the visual deck and export are linkedin-carousels."
|
|
39
|
+
|
|
40
|
+
- prompt: "Write connection requests and a DM follow-up sequence for these prospects."
|
|
41
|
+
route_to: linkedin-outreach
|
|
42
|
+
why: "Outbound 1:1 messages, not a public feed post — different playbook entirely."
|
|
43
|
+
|
|
44
|
+
- prompt: "Programmatically schedule and publish this post via the LinkedIn API."
|
|
45
|
+
route_to: linkedin-api
|
|
46
|
+
why: "Shipping/automation, not writing; the API integration is linkedin-api."
|
|
47
|
+
|
|
48
|
+
- prompt: "Define our durable LinkedIn brand tone and the words we never use."
|
|
49
|
+
route_to: brand-voice
|
|
50
|
+
why: "The reusable voice the copy must obey is brand-voice; this skill consumes that voice to write one post, it doesn't define it."
|
|
51
|
+
|
|
52
|
+
capability:
|
|
53
|
+
- scenario: "Given a rough story — 'we lost our biggest client and here's what I learned about retention' — produce a finished, ready-to-paste LinkedIn text post."
|
|
54
|
+
must_include:
|
|
55
|
+
- "A hook in the first ~150 characters with specificity or tension and NO greeting / no 'excited to share'."
|
|
56
|
+
- "The hook's first line reads complete on its own (won't truncate mid-clause on mobile)."
|
|
57
|
+
- "A clear hook → turn → payoff → CTA arc."
|
|
58
|
+
- "Total length lands ~1,300–1,900 characters (or a justified shorter length, not padded)."
|
|
59
|
+
- "Mobile line breaks: 1–2 sentence paragraphs with blank lines between blocks — no wall of text."
|
|
60
|
+
- "A comment-earning CTA that asks what only the reader can answer — never 'thoughts?' / 'agree?'."
|
|
61
|
+
- "No link in the body, and no 'link in first comment' suggestion."
|
|
62
|
+
- "A note about working the golden hour (reply fast, seed a question in the first 60–90 min)."
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Hooks, format templates, and the 02-DOCS post log
|
|
2
|
+
|
|
3
|
+
Depth offloaded from `SKILL.md`. Use this when you need the full hook library, a
|
|
4
|
+
fill-in template for any of the three formats, or the schema for logging posts and
|
|
5
|
+
reading outcomes back. Every char budget and engagement figure traces to the keyed
|
|
6
|
+
sources `[S1]`–`[S4]` listed in `SKILL.md` ("Sources" section, all accessed
|
|
7
|
+
2026-06-02); the multipliers there are flagged as directional, not confirmed.
|
|
8
|
+
|
|
9
|
+
## Hook pattern library
|
|
10
|
+
|
|
11
|
+
The hook lives in the first ~150 characters — the visible zone before *see more*.
|
|
12
|
+
Pick the pattern that fits the idea; each one front-loads tension or specificity so
|
|
13
|
+
the eye keeps moving.
|
|
14
|
+
|
|
15
|
+
| # | Pattern | Shape | Bad | Good |
|
|
16
|
+
|---|---|---|---|---|
|
|
17
|
+
| 1 | Number-lead | A surprising metric first | "We grew a lot last year." | "We added $1.2M ARR with zero paid ads. Here's the only channel that worked." |
|
|
18
|
+
| 2 | False-start | Admit the thing people won't | "Some lessons on hiring." | "I hired for culture fit for 5 years. It was the most expensive mistake I made." |
|
|
19
|
+
| 3 | Contrarian | Reject the consensus | "Networking is important." | "Networking events are a waste of time. I closed our biggest deal in a DM." |
|
|
20
|
+
| 4 | Open-loop | Promise an answer, withhold it | "Here's how we handle churn." | "One churned customer's exit interview changed our whole roadmap. I almost deleted the email." |
|
|
21
|
+
| 5 | Named-stakes | Put a real cost on the line | "Thoughts on pricing." | "We raised prices 40% expecting churn. We lost 2 customers and gained $300k." |
|
|
22
|
+
| 6 | Before→after | Two states, sharp delta | "Onboarding improved." | "Onboarding took 3 weeks. Now it takes 3 days. The change was one deleted step." |
|
|
23
|
+
| 7 | Confession | A mistake you own | "Mistakes were made." | "I ghosted a candidate for 6 weeks. He's now a competitor's VP. Here's what I'd do differently." |
|
|
24
|
+
| 8 | Pattern-callout | Name a thing everyone does | "Meetings can be inefficient." | "Every 'quick sync' on your calendar is a decision someone was afraid to make alone." |
|
|
25
|
+
| 9 | Question-trap | A question the reader can't not answer | "Do you struggle with focus?" | "When did 'busy' become the answer to 'how are you?' I want to opt out." |
|
|
26
|
+
| 10 | Receipt | Lead with proof | "Our product helps teams." | "47 support tickets in one week, all the same complaint. We rebuilt the feature in a sprint." |
|
|
27
|
+
|
|
28
|
+
Rule across all ten: the first line must be readable and complete on its own line on
|
|
29
|
+
mobile — do not let a thought run past the truncation point mid-clause.
|
|
30
|
+
|
|
31
|
+
## Text post template (1,300–1,900 chars)
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
[HOOK — ~150 chars, one of the 10 patterns. First line readable alone.]
|
|
35
|
+
[Second line escalates the hook.]
|
|
36
|
+
|
|
37
|
+
[TURN — ~300–400 chars. The pivot: the non-obvious thing.
|
|
38
|
+
1–2 sentence paragraphs, blank line between blocks.]
|
|
39
|
+
|
|
40
|
+
[PAYOFF — ~600–900 chars. The story/lesson/proof the hook promised.
|
|
41
|
+
One idea per line. Use → or ▸ as occasional bullets, not confetti.
|
|
42
|
+
Unicode emphasis on at most one or two phrases.]
|
|
43
|
+
|
|
44
|
+
[CTA — ~100–200 chars. A question only the reader can answer.
|
|
45
|
+
Never "thoughts?".]
|
|
46
|
+
|
|
47
|
+
[No link. No "link in comments". If a link is unavoidable, decide knowingly.]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Document / PDF post template (3–10 slides)
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
COVER (slide 1):
|
|
54
|
+
[Hook line, large, thumbnail-readable — does the see-more job here too.]
|
|
55
|
+
|
|
56
|
+
SLIDES 2–N (3–10 total):
|
|
57
|
+
Slide 2: [One idea. Ends pulling the swipe.]
|
|
58
|
+
Slide 3: [One idea.]
|
|
59
|
+
...
|
|
60
|
+
Slide N: [Payoff + the single takeaway.]
|
|
61
|
+
|
|
62
|
+
CAPTION (100–200 words):
|
|
63
|
+
[Frame the deck in the text-post arc, miniaturized.]
|
|
64
|
+
[End on a comment-earning CTA.]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Hand the slide *text* to `../linkedin-carousels/SKILL.md` for layout, visual system,
|
|
68
|
+
and PDF export. You write words; that skill renders pixels.
|
|
69
|
+
|
|
70
|
+
## Native-video template (30–90s)
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
SCRIPT BEATS:
|
|
74
|
+
0–3s HOOK (visual + spoken; most viewers are muted, so the on-screen
|
|
75
|
+
text must carry it alone).
|
|
76
|
+
3–15s TURN — the non-obvious pivot.
|
|
77
|
+
15–75s PAYOFF — story/proof, escalating.
|
|
78
|
+
last SPOKEN CTA — one answerable question.
|
|
79
|
+
|
|
80
|
+
CAPTION (text-post arc in miniature):
|
|
81
|
+
[Hook line + 2–4 short lines + comment-CTA. No body link.]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Sub-60s short-form gets ~53% more engagement than longer; 30–90s is the band. For a
|
|
85
|
+
cross-platform vertical short (Reels/TikTok/Shorts), route to `../video-shorts/SKILL.md`.
|
|
86
|
+
|
|
87
|
+
## The 02-DOCS post log
|
|
88
|
+
|
|
89
|
+
Log every published post so the next draft can learn. One markdown file per post (or
|
|
90
|
+
a single appended log), front-matter first:
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
---
|
|
94
|
+
date: 2026-06-02 # publish date
|
|
95
|
+
format: text # text | document | video
|
|
96
|
+
hook: "We almost shut the product down in March."
|
|
97
|
+
hook_pattern: confession # one of the 10 patterns above
|
|
98
|
+
cta_type: experience-ask # experience-ask | disagreement-ask | number-ask
|
|
99
|
+
char_count: 1640
|
|
100
|
+
# --- filled in later, once metrics land ---
|
|
101
|
+
impressions: 0
|
|
102
|
+
dwell_s: 0 # avg dwell in seconds (the currency)
|
|
103
|
+
comments: 0
|
|
104
|
+
saves: 0
|
|
105
|
+
---
|
|
106
|
+
[the full post body, for reference]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Reading it back to bias drafts:** before writing, scan the log and sort by
|
|
110
|
+
`dwell_s` and `comments` (the weighted signals), not impressions. Note which
|
|
111
|
+
`hook_pattern`, `format`, and `cta_type` recur among the top performers *for this
|
|
112
|
+
account*, and lean the new draft toward them. A pattern that wins generically but
|
|
113
|
+
flops for this audience loses to one that wins here. After publishing, append the new
|
|
114
|
+
row; fill metrics in when they stabilize (~48–72h).
|