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,172 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# verify.sh — structurally lint emitted shortform-ideation artifacts.
|
|
3
|
+
#
|
|
4
|
+
# Usage:
|
|
5
|
+
# bash scripts/verify.sh 02-DOCS/shortform/ # lint a directory tree
|
|
6
|
+
# bash scripts/verify.sh 02-DOCS/shortform/backlog.md # lint one file
|
|
7
|
+
# bash scripts/verify.sh # no target -> exit 0
|
|
8
|
+
#
|
|
9
|
+
# It checks STRUCTURE and LEGALITY, never idea quality (that is the capability eval):
|
|
10
|
+
#
|
|
11
|
+
# Backlog files (a markdown table mentioning the required header columns):
|
|
12
|
+
# - the header row names: id, idea, hook, trend, score, status
|
|
13
|
+
# - at least one data row exists under it
|
|
14
|
+
# Experiment files (under an experiments/ path, or any .md with a Hypothesis):
|
|
15
|
+
# - a "Hypothesis" line/heading is present
|
|
16
|
+
# - a dated trend signal is present (a YYYY-MM-DD date)
|
|
17
|
+
# - result fields are present (a "result:" / "## Result" marker)
|
|
18
|
+
# ALL artifacts:
|
|
19
|
+
# - no baked-in scraping command targeting creativecenter / ads.tiktok.com
|
|
20
|
+
# (curl|wget|fetch|scrape|headless against those hosts) — a ToS violation.
|
|
21
|
+
#
|
|
22
|
+
# Read-only: never writes, installs, or touches the network. Pure text parsing.
|
|
23
|
+
# Exits 0 on clean artifacts AND on an empty/clean target (no false failure):
|
|
24
|
+
# - no argument -> "nothing to check", exit 0
|
|
25
|
+
# - directory with no relevant .md -> "nothing to check", exit 0
|
|
26
|
+
# - a .md that is neither a backlog nor an experiment -> skipped, not failed
|
|
27
|
+
# Exits non-zero only when a real, recognizable artifact breaks a rule.
|
|
28
|
+
#
|
|
29
|
+
# Portability: stock macOS bash 3.2. No mapfile, no associative arrays. set -u on,
|
|
30
|
+
# set -e intentionally off (each check owns its exit handling).
|
|
31
|
+
|
|
32
|
+
set -u
|
|
33
|
+
|
|
34
|
+
if [ -t 1 ] && command -v tput >/dev/null 2>&1; then
|
|
35
|
+
RED="$(tput setaf 1)"; GREEN="$(tput setaf 2)"; YELLOW="$(tput setaf 3)"; RESET="$(tput sgr0)"
|
|
36
|
+
else
|
|
37
|
+
RED=""; GREEN=""; YELLOW=""; RESET=""
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
fail() { printf '%s\n' "${RED}FAIL: $1${RESET}"; failures=$((failures + 1)); }
|
|
41
|
+
warn() { printf '%s\n' "${YELLOW}WARN: $1${RESET}"; }
|
|
42
|
+
ok() { printf '%s\n' "${GREEN}OK: $1${RESET}"; }
|
|
43
|
+
|
|
44
|
+
# --- collect targets -------------------------------------------------------
|
|
45
|
+
if [ "$#" -eq 0 ]; then
|
|
46
|
+
printf '%s\n' "${YELLOW}Nothing to check (no path given). Pass a backlog/experiment .md or the 02-DOCS/shortform/ dir.${RESET}"
|
|
47
|
+
exit 0
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
targets=""
|
|
51
|
+
add_target() { targets="${targets}${targets:+
|
|
52
|
+
}$1"; }
|
|
53
|
+
|
|
54
|
+
for arg in "$@"; do
|
|
55
|
+
if [ -d "$arg" ]; then
|
|
56
|
+
# gather .md files recursively without relying on globstar
|
|
57
|
+
while IFS= read -r f; do
|
|
58
|
+
[ -n "$f" ] && add_target "$f"
|
|
59
|
+
done <<EOF
|
|
60
|
+
$(find "$arg" -type f -name '*.md' 2>/dev/null)
|
|
61
|
+
EOF
|
|
62
|
+
elif [ -f "$arg" ]; then
|
|
63
|
+
add_target "$arg"
|
|
64
|
+
else
|
|
65
|
+
warn "Skipping '$arg' (not a file or directory)."
|
|
66
|
+
fi
|
|
67
|
+
done
|
|
68
|
+
|
|
69
|
+
if [ -z "$targets" ]; then
|
|
70
|
+
printf '%s\n' "${YELLOW}No .md files found in the target(s). Nothing to check.${RESET}"
|
|
71
|
+
exit 0
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
failures=0
|
|
75
|
+
recognized=0
|
|
76
|
+
|
|
77
|
+
# A scraping command baked at an off-limits host = a hard fail (ToS violation).
|
|
78
|
+
SCRAPE_HOSTS='creativecenter|ads\.tiktok\.com'
|
|
79
|
+
SCRAPE_VERBS='curl|wget|fetch|scrape|puppeteer|playwright|selenium|headless'
|
|
80
|
+
|
|
81
|
+
for file in $targets; do
|
|
82
|
+
[ -f "$file" ] || continue
|
|
83
|
+
|
|
84
|
+
is_backlog=0
|
|
85
|
+
is_experiment=0
|
|
86
|
+
|
|
87
|
+
# Backlog: a markdown header row naming all the required columns (any order).
|
|
88
|
+
header="$(grep -iE '^\|.*\|' "$file" 2>/dev/null \
|
|
89
|
+
| grep -iE 'id' | grep -iE 'hook' | grep -iE 'trend' \
|
|
90
|
+
| grep -iE 'score' | grep -iE 'status' | grep -iE 'idea' | head -1)"
|
|
91
|
+
[ -n "$header" ] && is_backlog=1
|
|
92
|
+
|
|
93
|
+
# Experiment: lives under experiments/, or carries a Hypothesis marker.
|
|
94
|
+
case "$file" in
|
|
95
|
+
*experiments/*) is_experiment=1 ;;
|
|
96
|
+
esac
|
|
97
|
+
if grep -qiE '(^|[^a-z])hypothesis' "$file" 2>/dev/null; then
|
|
98
|
+
is_experiment=1
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
if [ "$is_backlog" -eq 0 ] && [ "$is_experiment" -eq 0 ]; then
|
|
102
|
+
# Not a recognizable artifact — but still enforce the no-scrape rule on it,
|
|
103
|
+
# because a scraper hidden in a stray .md is still a problem if it's ours.
|
|
104
|
+
if grep -niE "($SCRAPE_VERBS).*($SCRAPE_HOSTS)" "$file" >/dev/null 2>&1; then
|
|
105
|
+
printf '\n%s\n' "Checking: $file"
|
|
106
|
+
fail "$file contains a scraping command against a TikTok surface — that violates ToS. Use manual/assisted capture or a sanctioned API."
|
|
107
|
+
recognized=$((recognized + 1))
|
|
108
|
+
fi
|
|
109
|
+
continue
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
recognized=$((recognized + 1))
|
|
113
|
+
file_fail_start=$failures
|
|
114
|
+
printf '\n%s\n' "Checking: $file"
|
|
115
|
+
|
|
116
|
+
# ---- no-scrape rule (all artifacts) -------------------------------------
|
|
117
|
+
if grep -niE "($SCRAPE_VERBS).*($SCRAPE_HOSTS)" "$file" >/dev/null 2>&1; then
|
|
118
|
+
fail "scraping command against a TikTok surface present — ToS violation; use manual/assisted capture or a sanctioned API."
|
|
119
|
+
else
|
|
120
|
+
ok "no scraping command baked in"
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
if [ "$is_backlog" -eq 1 ]; then
|
|
124
|
+
# data row = a table row after the header that is not the header and not a
|
|
125
|
+
# separator (---). Count rows starting with '|' that contain a digit.
|
|
126
|
+
data_rows="$(grep -E '^\|' "$file" 2>/dev/null \
|
|
127
|
+
| grep -vE '^\|[[:space:]:|-]+\|?[[:space:]]*$' \
|
|
128
|
+
| grep -iE '[0-9]' | grep -ivE '^\|[[:space:]]*id[[:space:]]*\|')"
|
|
129
|
+
if [ -n "$data_rows" ]; then
|
|
130
|
+
ok "backlog table has the required columns (id, idea, hook, trend, score, status) and >=1 data row"
|
|
131
|
+
else
|
|
132
|
+
fail "backlog table has the required header but no data rows — an empty backlog ranks nothing."
|
|
133
|
+
fi
|
|
134
|
+
fi
|
|
135
|
+
|
|
136
|
+
if [ "$is_experiment" -eq 1 ]; then
|
|
137
|
+
if grep -qiE '(^|[^a-z])hypothesis' "$file" 2>/dev/null; then
|
|
138
|
+
ok "hypothesis present"
|
|
139
|
+
else
|
|
140
|
+
fail "experiment file has no Hypothesis — every bet needs one falsifiable sentence."
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
if grep -qE '[0-9]{4}-[0-9]{2}-[0-9]{2}' "$file" 2>/dev/null; then
|
|
144
|
+
ok "dated trend signal present (YYYY-MM-DD)"
|
|
145
|
+
else
|
|
146
|
+
fail "no dated trend signal (YYYY-MM-DD) — an undated signal cannot be scored for freshness."
|
|
147
|
+
fi
|
|
148
|
+
|
|
149
|
+
if grep -qiE '(^|[^a-z])result' "$file" 2>/dev/null; then
|
|
150
|
+
ok "result fields present (even if pending)"
|
|
151
|
+
else
|
|
152
|
+
fail "no result fields — the loop never learns if the outcome is never recorded (use 'result: pending')."
|
|
153
|
+
fi
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
if [ "$failures" -eq "$file_fail_start" ]; then
|
|
157
|
+
ok "$file passed"
|
|
158
|
+
fi
|
|
159
|
+
done
|
|
160
|
+
|
|
161
|
+
if [ "$recognized" -eq 0 ]; then
|
|
162
|
+
printf '\n%s\n' "${YELLOW}No backlog or experiment artifacts among the target(s). Nothing to verify.${RESET}"
|
|
163
|
+
exit 0
|
|
164
|
+
fi
|
|
165
|
+
|
|
166
|
+
printf '\n'
|
|
167
|
+
if [ "$failures" -gt 0 ]; then
|
|
168
|
+
printf '%s\n' "${RED}$failures check(s) failed.${RESET}"
|
|
169
|
+
exit 1
|
|
170
|
+
fi
|
|
171
|
+
printf '%s\n' "${GREEN}All checks passed.${RESET}"
|
|
172
|
+
exit 0
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shortform-packaging
|
|
3
|
+
description: "Use when a vertical short (TikTok/Reels/YouTube Shorts) is shot or scripted and you need the upload-form copy and cover that win the feed: the hook line, the first-frame on-screen text, the search-led caption, a tight 3-5 hashtag set, and the cover frame; it learns from what performed via the 02-DOCS log. Triggers: 'write the hook and caption for this Reel', 'pick the cover frame and its text', 'what hashtags for this TikTok', the non-obvious 'is 20 hashtags too many' and 'my shorts get views but nobody shares them, fix the packaging', 'rewrite the caption to rank in TikTok search', 'log how the last 5 shorts performed and apply it', plus Spanish/Catalan 'escríbeme el gancho y el pie de foto para este Reel' / 'ningú comparteix els meus vídeos, arregla'm el packaging i dona'm els hashtags'. NOT inventing the idea (that is shortform-ideation), NOT scripting or directing the cuts (that is video-shorts), NOT executing the edit (that is shortform-editing), NOT scheduling the post (that is social-publisher)."
|
|
4
|
+
tags: [shortform, packaging, tiktok, reels, shorts, caption, hashtags, hook, cover, retention, social-copy]
|
|
5
|
+
recommends: [video-shorts, shortform-ideation, shortform-strategy, shortform-editing, social-publisher, brand-voice, tiktok-api, instagram-api]
|
|
6
|
+
profiles: []
|
|
7
|
+
origin: risco
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Short-form packaging
|
|
11
|
+
|
|
12
|
+
You write the words and choose the frame that wrap a finished or scripted vertical
|
|
13
|
+
short so it survives the feed. The clip already exists — your job is the upload-form
|
|
14
|
+
copy and the cover that decide whether a scroller stops, finishes, and sends it to a
|
|
15
|
+
friend. You are not the idea, not the script, not the edit, not the schedule. A great
|
|
16
|
+
clip dies on a weak package; a tested package multiplies a fine clip.
|
|
17
|
+
|
|
18
|
+
You optimize against measured retention and shares pulled from the account's own
|
|
19
|
+
`02-DOCS` log — not a hunch, not the latest "viral hook" thread.
|
|
20
|
+
|
|
21
|
+
## What you produce
|
|
22
|
+
|
|
23
|
+
Five artifacts plus one feedback entry, every single time:
|
|
24
|
+
|
|
25
|
+
1. **A hook line** — the spoken/written opener, 4-7 words, that has to survive second 3.
|
|
26
|
+
2. **A first-frame on-screen text set** — the burned-in line a sound-off scroller reads
|
|
27
|
+
before any audio decision; 2-3 variants to test, each ≤7 words.
|
|
28
|
+
3. **A caption** — search-led, front-loaded, keyword-first sentence.
|
|
29
|
+
4. **A hashtag set** — 3-5 topic-signal tags, never a discovery dump.
|
|
30
|
+
5. **A cover frame + overlay** — which frame becomes the grid/Shorts-shelf billboard,
|
|
31
|
+
plus its 3-6 word overlay.
|
|
32
|
+
6. **A `02-DOCS` feedback entry** — what shipped, the metric that moved, what won.
|
|
33
|
+
|
|
34
|
+
**Precondition (do not skip).** The video must be shot or scripted, and the idea/angle
|
|
35
|
+
must be decided. If there is no script, route to `video-shorts`. If there is no settled
|
|
36
|
+
idea, route to `shortform-ideation`. Do not invent either here — packaging an undecided
|
|
37
|
+
short means guessing the hook, the keyword, and the audience all at once.
|
|
38
|
+
|
|
39
|
+
## Rule zero: package for the seed test and the send
|
|
40
|
+
|
|
41
|
+
Every choice below serves exactly two outcomes. Hold them in mind:
|
|
42
|
+
|
|
43
|
+
- **The seed test is the whole game.** TikTok and Shorts push each upload to a small
|
|
44
|
+
seed audience first; weak intro retention plus high swipe-away kills distribution
|
|
45
|
+
before it spreads. Intro retention (made it past 3s) of **70%+** is the bar, and the
|
|
46
|
+
first ~3 seconds carry most of the swing in whether a clip is finished at all. So hook
|
|
47
|
+
+ first-frame text + cover are the highest-leverage copy on the whole post.
|
|
48
|
+
- **Sends and saves are the currency, weighted above likes.** Instagram's stated Reels
|
|
49
|
+
ranking factors are watch time, likes-per-reach, and **sends-per-reach (DM shares)**;
|
|
50
|
+
Mosseri has repeatedly said sends and saves signal more intent than likes, so treat
|
|
51
|
+
them as outweighing likes. Package for "I have to send this to someone," not for vanity
|
|
52
|
+
likes.
|
|
53
|
+
|
|
54
|
+
## Ground first
|
|
55
|
+
|
|
56
|
+
Before you write a word, read the account. Skipping this produces generic copy in a
|
|
57
|
+
stranger's voice that contradicts what already won.
|
|
58
|
+
|
|
59
|
+
1. Read `02-DOCS/wiki/shortform/` for the **brand voice** and prior packages.
|
|
60
|
+
2. Read the **performance feedback log** — which hooks, covers, and hashtags already
|
|
61
|
+
lifted intro retention and sends. Carry the winner's shape forward.
|
|
62
|
+
3. Pull the decided **idea/angle** from `shortform-ideation` output if it exists.
|
|
63
|
+
4. **No script or no settled angle? Route OUT** (see Handoffs). Never invent here.
|
|
64
|
+
|
|
65
|
+
Persist the package under `02-DOCS/wiki/shortform/` and raw test results under
|
|
66
|
+
`02-DOCS/raw/shortform/`. Pattern depth lives in
|
|
67
|
+
[references/package-templates.md](references/package-templates.md).
|
|
68
|
+
|
|
69
|
+
## The two-second decision
|
|
70
|
+
|
|
71
|
+
A scroller meets your short in one of two states, and you design for both:
|
|
72
|
+
|
|
73
|
+
- **From the feed/FYP:** frame 1 plays muted. ~60% watch sound-off, so the **first-frame
|
|
74
|
+
on-screen text carries the hook** — it is read before any audio decision is made.
|
|
75
|
+
- **From a profile grid or Shorts shelf:** they see the **cover frame** first, cropped
|
|
76
|
+
and silent.
|
|
77
|
+
|
|
78
|
+
So three artifacts must say the *same promise* in the same words: the spoken hook, the
|
|
79
|
+
first-frame on-screen text (its silent twin), and the cover overlay. Co-design them;
|
|
80
|
+
never let them drift apart.
|
|
81
|
+
|
|
82
|
+
## Hook line + on-screen text
|
|
83
|
+
|
|
84
|
+
The 3 seconds that decide distribution. Rules, each with its reason:
|
|
85
|
+
|
|
86
|
+
- **4-7 words.** Longer and the muted scroller swipes before finishing the read.
|
|
87
|
+
- **Lead with the promise or the tension, not the setup.** The payoff or the stakes go
|
|
88
|
+
first; context can wait for the caption.
|
|
89
|
+
- **On-screen text is the silent twin of the spoken hook** — restate the hook as burned-in
|
|
90
|
+
text so the sound-off majority gets it. Keep it inside the safe zones (clear of the
|
|
91
|
+
top status bar and the bottom UI: caption, buttons, profile tap target).
|
|
92
|
+
- **Emit a SET of 2-3 variants, never one.** You ship a hypothesis to measure on the
|
|
93
|
+
seed audience, not a guess to defend.
|
|
94
|
+
|
|
95
|
+
| Bad | Good | Why |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| "Hey guys, so today I wanted to talk about..." | "I deleted my to-do app. Here's why." | Promise up front; survives second 3. |
|
|
98
|
+
| "Watch till the end!" | "The last step is the one nobody does." | Open loop with a concrete stake, not a beg. |
|
|
99
|
+
| On-screen: *(none — relies on audio)* | On-screen: "3 apps that replaced Notion" | Carries the hook for the muted 60%. |
|
|
100
|
+
| Hook says X, on-screen text says Y | Hook and on-screen text say the same 5 words | Twin promise, no drift. |
|
|
101
|
+
|
|
102
|
+
Full pattern library (open loop · number · contrarian · stakes · POV · before/after)
|
|
103
|
+
with Bad→Good rewrites is in
|
|
104
|
+
[references/package-templates.md](references/package-templates.md).
|
|
105
|
+
|
|
106
|
+
## The caption
|
|
107
|
+
|
|
108
|
+
The caption is now a **search-ranking field**, not a throwaway line. Mosseri lists
|
|
109
|
+
captions as a Reels ranking factor; TikTok and Instagram Search read caption language
|
|
110
|
+
like page copy. Rules:
|
|
111
|
+
|
|
112
|
+
- **Lead the first sentence with the actual keyword phrase a viewer would search** —
|
|
113
|
+
not a teaser, not a question. A keyword-led first line is what surfaces the clip in
|
|
114
|
+
in-app search and the "related" rail; a teaser line surfaces nowhere.
|
|
115
|
+
- **Only the first ~100-150 chars show before "more."** Put the keyword, the value, and
|
|
116
|
+
any code/link there. The rest may never be seen.
|
|
117
|
+
- **Sweet spot ~150-300 chars** for context plus engagement; go to 500+ only for a
|
|
118
|
+
deliberately educational/SEO post. Hard limits (TikTok 4,000, Reels 2,200) are
|
|
119
|
+
irrelevant — the first line does the work.
|
|
120
|
+
- **End on a save/send-worthy payoff and one soft CTA.** "Send this to the friend who
|
|
121
|
+
needs it" beats "like and follow."
|
|
122
|
+
|
|
123
|
+
Pick the caption shape from the ask:
|
|
124
|
+
|
|
125
|
+
| If the goal is... | Caption shape |
|
|
126
|
+
|---|---|
|
|
127
|
+
| Rank in in-app search (evergreen, how-to) | Keyword phrase first → value → soft CTA. Lean to 200-400 chars. |
|
|
128
|
+
| Engagement on a timely/entertaining clip | Punchy payoff line + send prompt. Keep ~150 chars. |
|
|
129
|
+
|
|
130
|
+
| Bad | Good |
|
|
131
|
+
|---|---|
|
|
132
|
+
| "wait for it 👀 you won't believe this" | "3 Notion templates that replaced my to-do app (free links below)" |
|
|
133
|
+
| "new video!! check it out 🔥🔥" | "How to batch a week of shorts in one afternoon — the exact workflow" |
|
|
134
|
+
|
|
135
|
+
## Hashtags
|
|
136
|
+
|
|
137
|
+
The rules changed; the old 30-tag dump is now a liability.
|
|
138
|
+
|
|
139
|
+
- **3-5 hashtags. Never more.** Instagram now **hard-caps posts/Reels at 5** (Mosseri,
|
|
140
|
+
rolling into 2026) and states hashtags "categorize content for the algorithm" — they
|
|
141
|
+
do not boost reach. TikTok best practice is also **3-5** (CapCut, ByteDance's own
|
|
142
|
+
editor); 10+ signals spam and gives the algorithm mixed signals.
|
|
143
|
+
- **Topic-signal, not discovery.** Pick specific tags that label what the video *is*,
|
|
144
|
+
not broad reach-bait like `#fyp #viral #foryou`.
|
|
145
|
+
- **Tune per platform.** Same clip, but match each platform's search audience — a tag
|
|
146
|
+
that ranks on TikTok may be noise on Reels.
|
|
147
|
+
|
|
148
|
+
```text
|
|
149
|
+
Bad: #fyp #foryou #viral #trending #productivity #notion #app #tech #life #2026 ... (22 more)
|
|
150
|
+
Good: #notiontemplates #productivitytips #notionsetup
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Cover frame
|
|
154
|
+
|
|
155
|
+
The cover is the grid/search/shelf billboard — it sells the replay and the profile
|
|
156
|
+
visit, and it is **not** what plays in-feed. Choose and spec it:
|
|
157
|
+
|
|
158
|
+
- **Pick a high-motion, high-contrast, or peak-emotion frame** — a face mid-expression
|
|
159
|
+
or the visual payoff. Avoid a flat, mid-sentence frame.
|
|
160
|
+
- **Respect the crops.** A Reels cover shows full 9:16 (1080×1920) in the Reels tab, but
|
|
161
|
+
the **profile grid crops it to 3:4 (1080×1440)** — Instagram removed the top and bottom
|
|
162
|
+
~240px of the 1080×1920 frame when it moved the grid to 3:4 in 2025 (postfa.st "Instagram
|
|
163
|
+
Reels Size", Buffer 2026). The feed crops differently again (4:5, 1080×1350). The one
|
|
164
|
+
region that survives *every* crop is the **1:1 centre square (1080×1080)** — so keep all
|
|
165
|
+
cover text inside that centre square and you are safe on the grid, the feed, and the tab.
|
|
166
|
+
- **Add 3-6 words of overlay** — the **same words as the hook**, high contrast.
|
|
167
|
+
|
|
168
|
+
Cover checklist:
|
|
169
|
+
|
|
170
|
+
- [ ] Frame has motion/contrast/face or shows the payoff (not a flat mid-frame)
|
|
171
|
+
- [ ] Overlay is 3-6 words and matches the hook line
|
|
172
|
+
- [ ] Overlay text sits inside the 1:1 centre square (the only region that survives the 3:4 grid crop, the 4:5 feed crop, and the 9:16 tab)
|
|
173
|
+
- [ ] Text clears the top status bar and bottom UI
|
|
174
|
+
|
|
175
|
+
## The learning loop (02-DOCS)
|
|
176
|
+
|
|
177
|
+
This is the core that makes the skill compound. **Read winners before writing; append a
|
|
178
|
+
result after shipping.** Key the log on the metrics that move distribution — NOT likes:
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
- shipped: "2026-06-02 / faceless productivity TikTok"
|
|
182
|
+
hook: "I deleted my to-do app. Here's why."
|
|
183
|
+
on_screen_text: "3 apps that replaced Notion"
|
|
184
|
+
cover_overlay: "I deleted my to-do app"
|
|
185
|
+
hashtags: ["#notiontemplates", "#productivitytips", "#notionsetup"]
|
|
186
|
+
intro_retention: 0.74 # made it past 3s — bar is 0.70
|
|
187
|
+
sends_per_reach: 0.018 # DM shares, the share-economy currency
|
|
188
|
+
saves: 312 # weighted above likes (intent signal)
|
|
189
|
+
won: "number-led on-screen text beat the question variant on intro retention"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The filled schema and a per-platform tuned example are in
|
|
193
|
+
[references/package-templates.md](references/package-templates.md). When you write the
|
|
194
|
+
next package, open the log first and mirror the shape that won.
|
|
195
|
+
|
|
196
|
+
## Test in sets, ship across the trio
|
|
197
|
+
|
|
198
|
+
Specs are shared — 9:16, 1080×1920, MP4 H.264/AAC — so one package repurposes across
|
|
199
|
+
TikTok, Reels, and Shorts. But tune the caption keywords and hashtags per platform's
|
|
200
|
+
search audience, and treat the 1:1 safe square as most critical on Instagram. Ship 2-3
|
|
201
|
+
hook + on-screen-text + cover variants, read which lifted intro retention and sends, log
|
|
202
|
+
it, repeat.
|
|
203
|
+
|
|
204
|
+
## Handoffs
|
|
205
|
+
|
|
206
|
+
Route out the moment the ask leaves the upload-form copy and cover. The tell: if it is
|
|
207
|
+
one of the five artifacts above, it is here; otherwise it is a sibling.
|
|
208
|
+
|
|
209
|
+
| Request | Route to |
|
|
210
|
+
|---|---|
|
|
211
|
+
| Invent the idea / topic / angle for the short | `shortform-ideation` |
|
|
212
|
+
| Account-level plan: niche, cadence, which platforms, growth | `shortform-strategy` |
|
|
213
|
+
| Write the spoken script / beat sheet, direct the cuts | [video-shorts](../video-shorts/SKILL.md) |
|
|
214
|
+
| Execute the edit — caption burn-in, B-roll, sound sync | `shortform-editing` |
|
|
215
|
+
| Schedule / cross-post the finished short | [social-publisher](../social-publisher/SKILL.md) |
|
|
216
|
+
| Upload programmatically via the platform Graph/API | `tiktok-api` / `instagram-api` |
|
|
217
|
+
| Title/description/tags for a long-form YouTube video | [youtube-packaging](../youtube-packaging/SKILL.md) |
|
|
218
|
+
| Define the durable brand tone reused across all content | [brand-voice](../brand-voice/SKILL.md) |
|
|
219
|
+
|
|
220
|
+
Sharp line vs `video-shorts`: that sibling owns the *internal* on-screen text of every
|
|
221
|
+
beat as part of the narrative. You own the *packaging* layer — the single first-frame
|
|
222
|
+
hook overlay, the caption, the hashtags, and the cover — and you treat the script's
|
|
223
|
+
existence as a precondition.
|
|
224
|
+
|
|
225
|
+
## Anti-patterns
|
|
226
|
+
|
|
227
|
+
| Anti-pattern | Do instead |
|
|
228
|
+
|---|---|
|
|
229
|
+
| Caption opens with a teaser ("wait for it 👀") | Lead the first sentence with the searched keyword phrase. |
|
|
230
|
+
| Shipping one hook instead of a set | Emit 2-3 hook + on-screen-text variants to test on the seed. |
|
|
231
|
+
| Dumping 15-30 hashtags | 3-5 specific topic tags; IG hard-caps at 5, TikTok best is 3-5. |
|
|
232
|
+
| Like-bait CTA ("smash that like") | A save/send payoff — sends and saves outweigh likes. |
|
|
233
|
+
| Cover text outside the 1:1 centre square | Keep overlay inside the centre square — the band that survives the 3:4 grid, 4:5 feed, and 9:16 tab crops — clear of UI. |
|
|
234
|
+
| On-screen text that doesn't match the hook | Make on-screen text the silent twin — same words. |
|
|
235
|
+
| Writing blind, ignoring the 02-DOCS log | Read prior winners first; carry the winning shape forward. |
|
|
236
|
+
| Packaging before a script/idea exists | Route to `video-shorts` / `shortform-ideation` first. |
|
|
237
|
+
| Same caption copy-pasted to every platform | Tune keywords and hashtags per platform's search audience. |
|
|
238
|
+
| Logging likes as the success metric | Log intro retention, sends-per-reach, and saves. |
|
|
239
|
+
|
|
240
|
+
## Verify
|
|
241
|
+
|
|
242
|
+
`scripts/verify.sh <package-file>` is a read-only, network-free lint over one package
|
|
243
|
+
draft: hook set has ≥2 variants; on-screen text exists and is ≤7 words per line; the
|
|
244
|
+
caption's first sentence is ≤~150 chars and does not open with a banned teaser; the
|
|
245
|
+
hashtag count is 3-5; a cover frame + overlay is present; and a `02-DOCS` feedback block
|
|
246
|
+
exists with `intro_retention`, `sends_per_reach`, and `saves`. A clean or empty file
|
|
247
|
+
exits 0 — never a false failure. See `evals/README.md` for how the cases are run.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Evals — shortform-packaging
|
|
2
|
+
|
|
3
|
+
These are routing and capability checks, not an automated harness. Run them by hand:
|
|
4
|
+
read each `should_trigger` prompt and confirm the skill's Use-when/Triggers fire on it
|
|
5
|
+
(including the non-obvious "nobody shares my shorts" and the Spanish/Catalan prompt);
|
|
6
|
+
read each `should_not_trigger` prompt and confirm the description's NOT-boundary sends
|
|
7
|
+
it to the named `route_to` sibling instead. For the `capability` case, draft a real
|
|
8
|
+
package against the scenario and check it hits every `must_include` rubric line — then
|
|
9
|
+
run `scripts/verify.sh` on that draft to confirm the structural lint passes. No network,
|
|
10
|
+
no fixtures.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
skill: shortform-packaging
|
|
2
|
+
|
|
3
|
+
should_trigger:
|
|
4
|
+
- prompt: "Write the hook, caption and hashtags for this finished Reel."
|
|
5
|
+
why: Core ask — three of the five upload-form artifacts for a finished short.
|
|
6
|
+
- prompt: "Pick the cover frame and the text that goes on it for my TikTok."
|
|
7
|
+
why: The cover artifact specifically — frame choice plus overlay, owned here.
|
|
8
|
+
- prompt: "My shorts get views but nobody shares them — fix the packaging."
|
|
9
|
+
why: Non-obvious — a shares complaint with no copy keyword; diagnosis maps to send-bait caption and a sendable hook, not the edit.
|
|
10
|
+
- prompt: "Is 20 hashtags too many for a Reel?"
|
|
11
|
+
why: Non-obvious — tests the Instagram 5-tag hard cap and the 3-5 best-practice rule.
|
|
12
|
+
- prompt: "Log how my last 5 shorts performed and apply it to the next batch."
|
|
13
|
+
why: The learning loop — read the 02-DOCS feedback log on retention/sends and carry winners forward.
|
|
14
|
+
- prompt: "Rewrite this caption so it ranks in TikTok search."
|
|
15
|
+
why: Caption as a search-ranking field — keyword-led first sentence, owned here.
|
|
16
|
+
- prompt: "Escríbeme el gancho i el pie de foto per a aquest Reel i dona'm els hashtags."
|
|
17
|
+
why: Spanish/Catalan — full upload-form copy ask (hook, caption, hashtags).
|
|
18
|
+
|
|
19
|
+
should_not_trigger:
|
|
20
|
+
- prompt: "Come up with an idea for a short about productivity."
|
|
21
|
+
route_to: shortform-ideation
|
|
22
|
+
why: The idea/angle, which packaging consumes but never invents.
|
|
23
|
+
- prompt: "Write the full script and plan the cuts for this 30s TikTok."
|
|
24
|
+
route_to: video-shorts
|
|
25
|
+
why: The spoken script and edit direction (the narrative layer), not the upload copy.
|
|
26
|
+
- prompt: "Burn in the captions and add the B-roll for this clip."
|
|
27
|
+
route_to: shortform-editing
|
|
28
|
+
why: Execution of the edit, not the words and cover that wrap it.
|
|
29
|
+
- prompt: "Schedule this Reel to post Tuesday 6pm across IG and TikTok."
|
|
30
|
+
route_to: social-publisher
|
|
31
|
+
why: When and where to post, not the copy or cover.
|
|
32
|
+
- prompt: "Write the title and description for my long-form YouTube video."
|
|
33
|
+
route_to: youtube-packaging
|
|
34
|
+
why: Long-form metadata, not a vertical short's package.
|
|
35
|
+
|
|
36
|
+
capability:
|
|
37
|
+
- scenario: >
|
|
38
|
+
Given a finished 25s faceless productivity TikTok and a 02-DOCS feedback log whose
|
|
39
|
+
last winner was a number-led on-screen hook, produce the full package.
|
|
40
|
+
must_include:
|
|
41
|
+
- Reads the 02-DOCS feedback log / brand voice BEFORE writing, and carries the number-led winner forward.
|
|
42
|
+
- Emits a SET of >=2 hook + on-screen-text variants, each 4-7 words.
|
|
43
|
+
- On-screen text restates the hook (the silent twin) and stays in the safe zones.
|
|
44
|
+
- Caption first sentence is keyword-led and <=~150 chars, not a teaser like "wait for it".
|
|
45
|
+
- Exactly 3-5 hashtags, topic-signal not a discovery dump.
|
|
46
|
+
- A cover frame plus a <=6-word overlay that sits inside the 1:1 centre square (the band that survives the 3:4 grid, 4:5 feed, and 9:16 tab crops) and matches the hook.
|
|
47
|
+
- A feedback-entry stub keyed on intro_retention / sends_per_reach / saves — not likes.
|
|
48
|
+
- Routes nothing it does not own (no scripting, editing, scheduling, or idea invention).
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Package templates & pattern library
|
|
2
|
+
|
|
3
|
+
Depth offloaded from `SKILL.md`. Use this when you need the full package file format,
|
|
4
|
+
the hook/on-screen-text pattern library, the cover-frame safe-area in pixels, or the
|
|
5
|
+
filled `02-DOCS` feedback-log schema.
|
|
6
|
+
|
|
7
|
+
## The package file format
|
|
8
|
+
|
|
9
|
+
Emit one plain-text/markdown block per short. `scripts/verify.sh` lints exactly these
|
|
10
|
+
labels (English or ES/CA, one per line, content following):
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
Hook:
|
|
14
|
+
- I deleted my to-do app. Here's why.
|
|
15
|
+
- The app that runs my whole week (it's free)
|
|
16
|
+
|
|
17
|
+
On-screen text:
|
|
18
|
+
- 3 apps that replaced Notion
|
|
19
|
+
- I deleted my to-do app
|
|
20
|
+
|
|
21
|
+
Caption:
|
|
22
|
+
3 Notion templates that replaced my to-do app — the full setup, free links below.
|
|
23
|
+
Send this to the friend drowning in tabs.
|
|
24
|
+
|
|
25
|
+
Hashtags:
|
|
26
|
+
#notiontemplates #productivitytips #notionsetup
|
|
27
|
+
|
|
28
|
+
Cover:
|
|
29
|
+
frame: 00:07 (peak — laptop closing, face mid-grin)
|
|
30
|
+
overlay: I deleted my to-do app
|
|
31
|
+
|
|
32
|
+
Feedback:
|
|
33
|
+
intro_retention: 0.74
|
|
34
|
+
sends_per_reach: 0.018
|
|
35
|
+
saves: 312
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### TikTok (search-led) vs Reels (send-led) — same clip, tuned
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
# TikTok — lean into in-app search
|
|
42
|
+
Caption: How to batch a week of shorts in one afternoon — exact workflow inside.
|
|
43
|
+
Hashtags: #contentbatching #shortformvideo #creatorworkflow
|
|
44
|
+
|
|
45
|
+
# Reels — lean into the DM send
|
|
46
|
+
Caption: This is how I never run out of shorts. Send it to your co-founder.
|
|
47
|
+
Hashtags: #reelstips #contentcreator #solopreneur
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Caption keywords and hashtags differ per platform's search audience; the hook,
|
|
51
|
+
on-screen text, and cover frame stay identical (shared 9:16 / 1080×1920 spec).
|
|
52
|
+
|
|
53
|
+
## Hook + on-screen-text pattern library
|
|
54
|
+
|
|
55
|
+
Each is 4-7 words, promise/tension first, and the on-screen text is the silent twin.
|
|
56
|
+
|
|
57
|
+
| Pattern | Bad | Good |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| Open loop | "Let me explain something" | "Nobody does step 3 — and it's the one that matters" |
|
|
60
|
+
| Number | "Some tips for you" | "5 shorts in one afternoon" |
|
|
61
|
+
| Contrarian | "Posting daily is good" | "Stop posting daily. Do this instead." |
|
|
62
|
+
| Stakes | "A mistake to avoid" | "This caption mistake kills your reach" |
|
|
63
|
+
| POV | "Here is my routine" | "POV: you finally batched a week of content" |
|
|
64
|
+
| Before/after | "It got better over time" | "0 to 10k saves with one caption change" |
|
|
65
|
+
|
|
66
|
+
Rule: whichever you pick, the **on-screen first-frame text restates it in the same words**
|
|
67
|
+
for the sound-off ~60%, inside the safe zones (clear of top status bar and bottom UI).
|
|
68
|
+
|
|
69
|
+
## Cover-frame selection & safe area (in pixels)
|
|
70
|
+
|
|
71
|
+
The cover is the grid/shelf billboard, not the in-feed frame. The same 1080×1920 source
|
|
72
|
+
frame is cropped three different ways depending on where it surfaces:
|
|
73
|
+
|
|
74
|
+
- **Reels tab / Shorts shelf:** shows the full **9:16 frame, 1080×1920** — no crop.
|
|
75
|
+
- **Profile grid:** crops to **3:4, 1080×1440**. Instagram moved the grid from 1:1 to 3:4
|
|
76
|
+
in 2025, lopping the **top ~240px and bottom ~240px** off the 1920-tall frame
|
|
77
|
+
(the surviving band is roughly **y=240 to y=1680**). Sources: postfa.st "Instagram Reels
|
|
78
|
+
Size", Buffer 2026.
|
|
79
|
+
- **Main feed:** crops to **4:5, 1080×1350** (a different, taller centre band again).
|
|
80
|
+
|
|
81
|
+
You cannot author one band that pleases all three crops separately — so author for the
|
|
82
|
+
**intersection**: the **1:1 centre square, 1080×1080** (vertical centre, roughly
|
|
83
|
+
**y=420 to y=1500**) sits inside every one of the three crops above. Keep all overlay
|
|
84
|
+
text in that square and it survives the grid, the feed, and the tab. Then also clear the
|
|
85
|
+
platform UI overlays (bottom ~250px: caption, action buttons, audio tag; top ~120px:
|
|
86
|
+
status bar). Practical safe band for overlay text: centred, between y≈600 and y≈1350.
|
|
87
|
+
|
|
88
|
+
Checklist:
|
|
89
|
+
|
|
90
|
+
- [ ] Frame shows motion / high contrast / a face mid-expression / the payoff
|
|
91
|
+
- [ ] Overlay is 3-6 words, same words as the hook line
|
|
92
|
+
- [ ] Overlay sits inside the 1:1 centre square (the intersection that survives the 3:4 grid, 4:5 feed, and 9:16 tab crops)
|
|
93
|
+
- [ ] Text clears top ~120px and bottom ~250px UI bands
|
|
94
|
+
|
|
95
|
+
## 02-DOCS feedback-log schema
|
|
96
|
+
|
|
97
|
+
Append one entry per shipped short under `02-DOCS/raw/shortform/`. Key on distribution
|
|
98
|
+
metrics, never likes. Read the log before writing the next package and mirror the
|
|
99
|
+
winning shape.
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
- shipped: "2026-06-02 / faceless productivity TikTok"
|
|
103
|
+
platform: tiktok
|
|
104
|
+
hook: "I deleted my to-do app. Here's why."
|
|
105
|
+
on_screen_text: "3 apps that replaced Notion"
|
|
106
|
+
caption_lede: "3 Notion templates that replaced my to-do app"
|
|
107
|
+
cover_overlay: "I deleted my to-do app"
|
|
108
|
+
hashtags: ["#notiontemplates", "#productivitytips", "#notionsetup"]
|
|
109
|
+
intro_retention: 0.74 # past-3s rate; bar is 0.70
|
|
110
|
+
sends_per_reach: 0.018 # DM shares — the share-economy currency
|
|
111
|
+
saves: 312 # weighted above likes (stronger intent signal)
|
|
112
|
+
variant_tested: "number-led vs question on-screen text"
|
|
113
|
+
won: "number-led lifted intro_retention 0.74 vs 0.61; carry forward"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Fields the next package reads first: `won`, `intro_retention`, `sends_per_reach`. If the
|
|
117
|
+
last winner was a number-led hook, start the next set there and test against it.
|