jfl 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +313 -0
- package/clawdbot-skill/README.md +328 -0
- package/clawdbot-skill/SKILL.md +362 -0
- package/clawdbot-skill/index.ts +486 -0
- package/clawdbot-skill/package.json +28 -0
- package/clawdbot-skill/skill.json +28 -0
- package/dist/commands/agents.d.ts +5 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +399 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/context-hub.d.ts +12 -0
- package/dist/commands/context-hub.d.ts.map +1 -0
- package/dist/commands/context-hub.js +642 -0
- package/dist/commands/context-hub.js.map +1 -0
- package/dist/commands/deploy.d.ts +5 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +370 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/feedback.d.ts +2 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +178 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/hud.d.ts +4 -0
- package/dist/commands/hud.d.ts.map +1 -0
- package/dist/commands/hud.js +262 -0
- package/dist/commands/hud.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +553 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +23 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +818 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/ralph.d.ts +9 -0
- package/dist/commands/ralph.d.ts.map +1 -0
- package/dist/commands/ralph.js +67 -0
- package/dist/commands/ralph.js.map +1 -0
- package/dist/commands/repair.d.ts +7 -0
- package/dist/commands/repair.d.ts.map +1 -0
- package/dist/commands/repair.js +283 -0
- package/dist/commands/repair.js.map +1 -0
- package/dist/commands/session-mgmt.d.ts +33 -0
- package/dist/commands/session-mgmt.d.ts.map +1 -0
- package/dist/commands/session-mgmt.js +404 -0
- package/dist/commands/session-mgmt.js.map +1 -0
- package/dist/commands/session.d.ts +2 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +639 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/skills.d.ts +31 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +314 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +127 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/synopsis.d.ts +10 -0
- package/dist/commands/synopsis.d.ts.map +1 -0
- package/dist/commands/synopsis.js +277 -0
- package/dist/commands/synopsis.js.map +1 -0
- package/dist/commands/update.d.ts +10 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +165 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/voice.d.ts +410 -0
- package/dist/commands/voice.d.ts.map +1 -0
- package/dist/commands/voice.js +4763 -0
- package/dist/commands/voice.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +512 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/context-hub-mcp.d.ts +11 -0
- package/dist/mcp/context-hub-mcp.d.ts.map +1 -0
- package/dist/mcp/context-hub-mcp.js +548 -0
- package/dist/mcp/context-hub-mcp.js.map +1 -0
- package/dist/telegram/voice.d.ts +146 -0
- package/dist/telegram/voice.d.ts.map +1 -0
- package/dist/telegram/voice.js +351 -0
- package/dist/telegram/voice.js.map +1 -0
- package/dist/types/skills.d.ts +44 -0
- package/dist/types/skills.d.ts.map +1 -0
- package/dist/types/skills.js +5 -0
- package/dist/types/skills.js.map +1 -0
- package/dist/ui/banner.d.ts +18 -0
- package/dist/ui/banner.d.ts.map +1 -0
- package/dist/ui/banner.js +323 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/index.d.ts +8 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/prompts.d.ts +52 -0
- package/dist/ui/prompts.d.ts.map +1 -0
- package/dist/ui/prompts.js +72 -0
- package/dist/ui/prompts.js.map +1 -0
- package/dist/ui/theme.d.ts +82 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +142 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/utils/auth-guard.d.ts +66 -0
- package/dist/utils/auth-guard.d.ts.map +1 -0
- package/dist/utils/auth-guard.js +348 -0
- package/dist/utils/auth-guard.js.map +1 -0
- package/dist/utils/ensure-project.d.ts +11 -0
- package/dist/utils/ensure-project.d.ts.map +1 -0
- package/dist/utils/ensure-project.js +70 -0
- package/dist/utils/ensure-project.js.map +1 -0
- package/dist/utils/git.d.ts +73 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +219 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/github-auth.d.ts +54 -0
- package/dist/utils/github-auth.d.ts.map +1 -0
- package/dist/utils/github-auth.js +375 -0
- package/dist/utils/github-auth.js.map +1 -0
- package/dist/utils/github-repo.d.ts +30 -0
- package/dist/utils/github-repo.d.ts.map +1 -0
- package/dist/utils/github-repo.js +219 -0
- package/dist/utils/github-repo.js.map +1 -0
- package/dist/utils/platform-auth.d.ts +81 -0
- package/dist/utils/platform-auth.d.ts.map +1 -0
- package/dist/utils/platform-auth.js +191 -0
- package/dist/utils/platform-auth.js.map +1 -0
- package/dist/utils/project-config.d.ts +43 -0
- package/dist/utils/project-config.d.ts.map +1 -0
- package/dist/utils/project-config.js +97 -0
- package/dist/utils/project-config.js.map +1 -0
- package/dist/utils/skill-registry.d.ts +49 -0
- package/dist/utils/skill-registry.d.ts.map +1 -0
- package/dist/utils/skill-registry.js +192 -0
- package/dist/utils/skill-registry.js.map +1 -0
- package/dist/utils/wallet.d.ts +62 -0
- package/dist/utils/wallet.d.ts.map +1 -0
- package/dist/utils/wallet.js +252 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/utils/x402-client.d.ts +86 -0
- package/dist/utils/x402-client.d.ts.map +1 -0
- package/dist/utils/x402-client.js +265 -0
- package/dist/utils/x402-client.js.map +1 -0
- package/package.json +76 -0
- package/scripts/postinstall.js +116 -0
- package/scripts/test-onboarding.sh +121 -0
- package/scripts/voice-start.sh +128 -0
- package/scripts/voice-stop.sh +33 -0
- package/template/.claude/settings.json +92 -0
- package/template/.claude/skills/agent-browser/SKILL.md +116 -0
- package/template/.claude/skills/brand-architect/SKILL.md +240 -0
- package/template/.claude/skills/brand-architect/config.yaml +137 -0
- package/template/.claude/skills/campaign-hud/config.yaml +112 -0
- package/template/.claude/skills/content-creator/SKILL.md +294 -0
- package/template/.claude/skills/debug/MULTI_AGENT.md +360 -0
- package/template/.claude/skills/debug/SKILL.md +549 -0
- package/template/.claude/skills/fly-deploy/SKILL.md +676 -0
- package/template/.claude/skills/founder-video/SKILL.md +467 -0
- package/template/.claude/skills/hud/SKILL.md +157 -0
- package/template/.claude/skills/ralph-tui/SKILL.md +210 -0
- package/template/.claude/skills/react-best-practices/AGENTS.md +2249 -0
- package/template/.claude/skills/react-best-practices/README.md +123 -0
- package/template/.claude/skills/react-best-practices/SKILL.md +125 -0
- package/template/.claude/skills/react-best-practices/metadata.json +15 -0
- package/template/.claude/skills/react-best-practices/rules/_sections.md +46 -0
- package/template/.claude/skills/react-best-practices/rules/_template.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/.claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/template/.claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/template/.claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/template/.claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/template/.claude/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/template/.claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/.claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/.claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/template/.claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/.claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/.claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/.claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/template/.claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/.claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/template/.claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/.claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/.claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/.claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/.claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/.claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/.claude/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/template/.claude/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/template/.claude/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/template/.claude/skills/remotion-best-practices/SKILL.md +43 -0
- package/template/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
- package/template/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
- package/template/.claude/skills/remotion-best-practices/rules/audio.md +172 -0
- package/template/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/template/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/template/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
- package/template/.claude/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/template/.claude/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/template/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/template/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/template/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/template/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/template/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/template/.claude/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/template/.claude/skills/remotion-best-practices/rules/images.md +130 -0
- package/template/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/template/.claude/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/template/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/template/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/template/.claude/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/template/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/template/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/template/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
- package/template/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/template/.claude/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/template/.claude/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/template/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
- package/template/.claude/skills/search/SKILL.md +220 -0
- package/template/.claude/skills/spec/SKILL.md +377 -0
- package/template/.claude/skills/startup/SKILL.md +310 -0
- package/template/.claude/skills/web-architect/SKILL.md +309 -0
- package/template/.claude/skills/x-algorithm/SKILL.md +305 -0
- package/template/.jfl/config.json +8 -0
- package/template/.mcp.json +11 -0
- package/template/CLAUDE.md +960 -0
- package/template/content/.gitkeep +0 -0
- package/template/context-hub +3 -0
- package/template/knowledge/BRAND_BRIEF.md +124 -0
- package/template/knowledge/BRAND_DECISIONS.md +168 -0
- package/template/knowledge/NARRATIVE.md +114 -0
- package/template/knowledge/ROADMAP.md +128 -0
- package/template/knowledge/THESIS.md +108 -0
- package/template/knowledge/VISION.md +74 -0
- package/template/knowledge/VOICE_AND_TONE.md +146 -0
- package/template/previews/.gitkeep +0 -0
- package/template/scripts/session/auto-commit.sh +245 -0
- package/template/scripts/session/auto-merge.sh +325 -0
- package/template/scripts/session/jfl-doctor.sh +587 -0
- package/template/scripts/session/session-end.sh +194 -0
- package/template/scripts/session/session-init.sh +163 -0
- package/template/scripts/session/session-sync.sh +167 -0
- package/template/scripts/session/test-context-preservation.sh +160 -0
- package/template/skills/agent-browser/SKILL.md +116 -0
- package/template/skills/brand-architect/SKILL.md +240 -0
- package/template/skills/brand-architect/config.yaml +137 -0
- package/template/skills/campaign-hud/config.yaml +112 -0
- package/template/skills/content-creator/SKILL.md +294 -0
- package/template/skills/debug/MULTI_AGENT.md +360 -0
- package/template/skills/debug/SKILL.md +549 -0
- package/template/skills/fly-deploy/SKILL.md +676 -0
- package/template/skills/founder-video/SKILL.md +467 -0
- package/template/skills/hud/SKILL.md +204 -0
- package/template/skills/ralph-tui/SKILL.md +210 -0
- package/template/skills/react-best-practices/AGENTS.md +2249 -0
- package/template/skills/react-best-practices/README.md +123 -0
- package/template/skills/react-best-practices/SKILL.md +125 -0
- package/template/skills/react-best-practices/metadata.json +15 -0
- package/template/skills/react-best-practices/rules/_sections.md +46 -0
- package/template/skills/react-best-practices/rules/_template.md +28 -0
- package/template/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/template/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/template/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/template/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/template/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/template/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/template/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/template/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/template/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/template/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/template/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/template/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/template/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/template/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/template/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/template/skills/remotion-best-practices/SKILL.md +43 -0
- package/template/skills/remotion-best-practices/rules/3d.md +86 -0
- package/template/skills/remotion-best-practices/rules/animations.md +29 -0
- package/template/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/template/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/template/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/template/skills/remotion-best-practices/rules/assets.md +78 -0
- package/template/skills/remotion-best-practices/rules/audio.md +172 -0
- package/template/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/template/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/template/skills/remotion-best-practices/rules/charts.md +58 -0
- package/template/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/template/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/template/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/template/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/template/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/template/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/template/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/template/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/template/skills/remotion-best-practices/rules/images.md +130 -0
- package/template/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/template/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/template/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/template/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/template/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/template/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/template/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/template/skills/remotion-best-practices/rules/timing.md +179 -0
- package/template/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/template/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/template/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/template/skills/remotion-best-practices/rules/videos.md +171 -0
- package/template/skills/search/SKILL.md +220 -0
- package/template/skills/spec/SKILL.md +377 -0
- package/template/skills/startup/SKILL.md +310 -0
- package/template/skills/web-architect/SKILL.md +309 -0
- package/template/skills/x-algorithm/SKILL.md +305 -0
- package/template/suggestions/.gitkeep +0 -0
- package/template/templates/QUICKSTART_SKILL_TO_PRODUCT.md +242 -0
- package/template/templates/brand/BRAND_BRIEF.md +124 -0
- package/template/templates/brand/BRAND_DECISIONS.md +168 -0
- package/template/templates/brand/BRAND_GUIDELINES.md +251 -0
- package/template/templates/brand/VOICE_AND_TONE.md +146 -0
- package/template/templates/brand/global.css +240 -0
- package/template/templates/collaboration/CONTRIBUTOR.md +74 -0
- package/template/templates/collaboration/CRM.md +97 -0
- package/template/templates/collaboration/TASKS.md +83 -0
- package/template/templates/strategic/NARRATIVE.md +114 -0
- package/template/templates/strategic/ROADMAP.md +128 -0
- package/template/templates/strategic/THESIS.md +108 -0
- package/template/templates/strategic/VISION.md +74 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Brand Decisions
|
|
2
|
+
|
|
3
|
+
> This file gets filled in as you make selections during the brand architect workflow.
|
|
4
|
+
>
|
|
5
|
+
> Last updated: {date}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Quick Reference
|
|
10
|
+
|
|
11
|
+
| Decision | Value |
|
|
12
|
+
|----------|-------|
|
|
13
|
+
| **Primary Mark** | {not selected} |
|
|
14
|
+
| **Default Theme** | {dark / light} |
|
|
15
|
+
| **Primary Accent** | {color} |
|
|
16
|
+
| **Typography** | {font stack} |
|
|
17
|
+
| **Tagline** | "{tagline}" |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## THE MARK
|
|
22
|
+
|
|
23
|
+
### Selected Mark
|
|
24
|
+
- **File:** `{filename}`
|
|
25
|
+
- **Description:** {what it represents}
|
|
26
|
+
- **Why chosen:** {rationale}
|
|
27
|
+
|
|
28
|
+
### Mark Variants
|
|
29
|
+
|
|
30
|
+
| Context | Mark | File | Notes |
|
|
31
|
+
|---------|------|------|-------|
|
|
32
|
+
| Favicon (16-48px) | | | |
|
|
33
|
+
| Icon (80-160px) | | | |
|
|
34
|
+
| PFP (400px) | | | |
|
|
35
|
+
| Banner | | | |
|
|
36
|
+
| Hero | | | |
|
|
37
|
+
|
|
38
|
+
### Mark Files
|
|
39
|
+
|
|
40
|
+
**SVG:**
|
|
41
|
+
| File | Use |
|
|
42
|
+
|------|-----|
|
|
43
|
+
| `mark-{version}-transparent.svg` | Base mark |
|
|
44
|
+
| `mark-{version}-{size}-dark.svg` | Dark mode |
|
|
45
|
+
| `mark-{version}-{size}-light.svg` | Light mode |
|
|
46
|
+
|
|
47
|
+
### Usage Rules
|
|
48
|
+
- {Any rules about when to use what}
|
|
49
|
+
- {Spacing requirements}
|
|
50
|
+
- {What not to do}
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## COLORS
|
|
55
|
+
|
|
56
|
+
### Dark Mode (Default)
|
|
57
|
+
```css
|
|
58
|
+
--brand-bg: #000000;
|
|
59
|
+
--brand-fg: #FFFFFF;
|
|
60
|
+
--brand-accent: {accent};
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Light Mode
|
|
64
|
+
```css
|
|
65
|
+
--brand-bg: #FFFFFF;
|
|
66
|
+
--brand-fg: #000000;
|
|
67
|
+
--brand-accent: {accent-light};
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Full Palette
|
|
71
|
+
| Token | Dark | Light | Use |
|
|
72
|
+
|-------|------|-------|-----|
|
|
73
|
+
| Background | | | Main bg |
|
|
74
|
+
| Foreground | | | Text |
|
|
75
|
+
| Accent | | | CTAs, highlights |
|
|
76
|
+
| Success | | | Positive states |
|
|
77
|
+
| Error | | | Errors |
|
|
78
|
+
| Warning | | | Warnings |
|
|
79
|
+
| Muted | | | Secondary text |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## TYPOGRAPHY
|
|
84
|
+
|
|
85
|
+
### Font Stack
|
|
86
|
+
```css
|
|
87
|
+
font-family: {stack};
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Weights
|
|
91
|
+
- **Body:** {weight}
|
|
92
|
+
- **Headings:** {weight}
|
|
93
|
+
- **Emphasis:** {weight}
|
|
94
|
+
|
|
95
|
+
### Sizes
|
|
96
|
+
| Use | Size |
|
|
97
|
+
|-----|------|
|
|
98
|
+
| Body | |
|
|
99
|
+
| H1 | |
|
|
100
|
+
| H2 | |
|
|
101
|
+
| Small | |
|
|
102
|
+
|
|
103
|
+
### Style Notes
|
|
104
|
+
- {Preferences: lowercase, uppercase, sentence case}
|
|
105
|
+
- {Letter spacing}
|
|
106
|
+
- {Line height}
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## SOCIAL ASSETS
|
|
111
|
+
|
|
112
|
+
### Twitter Banner
|
|
113
|
+
| Size | Dark | Light |
|
|
114
|
+
|------|------|-------|
|
|
115
|
+
| Small | `banner-sm-1500x500-dark.svg` | |
|
|
116
|
+
| Medium | `banner-md-1500x500-dark.svg` | |
|
|
117
|
+
| Large | `banner-lg-1500x500-dark.svg` | |
|
|
118
|
+
| X-Large | `banner-xl-1500x500-dark.svg` | |
|
|
119
|
+
|
|
120
|
+
### OG Images
|
|
121
|
+
| Variant | File | Use |
|
|
122
|
+
|---------|------|-----|
|
|
123
|
+
| Default | `og-default-1200x630-dark.svg` | Homepage |
|
|
124
|
+
| Tagline | `og-tagline-1200x630-dark.svg` | Marketing |
|
|
125
|
+
|
|
126
|
+
### PFP
|
|
127
|
+
| Platform | File |
|
|
128
|
+
|----------|------|
|
|
129
|
+
| Twitter | `pfp-400-dark.svg` |
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## FAVICONS
|
|
134
|
+
|
|
135
|
+
| Size | File | Use |
|
|
136
|
+
|------|------|-----|
|
|
137
|
+
| 16px | `favicon-16.png` | Browser tab |
|
|
138
|
+
| 32px | `favicon-32.png` | Browser tab @2x |
|
|
139
|
+
| 48px | `favicon-48.png` | Windows |
|
|
140
|
+
| 96px | `favicon-96.png` | Android Chrome |
|
|
141
|
+
| 180px | `favicon-180.png` | Apple Touch |
|
|
142
|
+
| 192px | `favicon-192.png` | Android Chrome |
|
|
143
|
+
| 512px | `favicon-512.png` | PWA |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## DO NOT USE
|
|
148
|
+
|
|
149
|
+
- {Deprecated marks}
|
|
150
|
+
- {Retired colors}
|
|
151
|
+
- {Old assets}
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## FOR IMPLEMENTERS
|
|
156
|
+
|
|
157
|
+
When implementing this brand:
|
|
158
|
+
|
|
159
|
+
1. Use marks from `outputs/svg/mark/`
|
|
160
|
+
2. Use social assets from `outputs/svg/social/`
|
|
161
|
+
3. Reference this file for all decisions
|
|
162
|
+
4. Check `outputs/css/global.css` for CSS tokens
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
{mark preview here}
|
|
168
|
+
```
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# Brand Guidelines
|
|
2
|
+
|
|
3
|
+
> Usage rules and application guidance for the brand.
|
|
4
|
+
> Complements BRAND_DECISIONS.md (what we chose) with HOW to use it.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Logo Usage
|
|
9
|
+
|
|
10
|
+
### Clear Space
|
|
11
|
+
|
|
12
|
+
Minimum clear space around the logo equals the height of the mark's "x-height" (or specify in pixels/rem).
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
┌─────────────────────┐
|
|
16
|
+
│ │
|
|
17
|
+
│ ┌─────────────┐ │
|
|
18
|
+
│ │ LOGO │ │ ← Clear space = X on all sides
|
|
19
|
+
│ └─────────────┘ │
|
|
20
|
+
│ │
|
|
21
|
+
└─────────────────────┘
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Minimum Size
|
|
25
|
+
|
|
26
|
+
| Context | Minimum Width |
|
|
27
|
+
|---------|--------------|
|
|
28
|
+
| Digital | 32px |
|
|
29
|
+
| Print | 0.5in / 12mm |
|
|
30
|
+
| Favicon | 16px (simplified mark) |
|
|
31
|
+
|
|
32
|
+
### Logo Don'ts
|
|
33
|
+
|
|
34
|
+
- [ ] Don't stretch or distort
|
|
35
|
+
- [ ] Don't rotate
|
|
36
|
+
- [ ] Don't add effects (shadows, glows, gradients)
|
|
37
|
+
- [ ] Don't place on busy backgrounds without container
|
|
38
|
+
- [ ] Don't change the colors outside approved palette
|
|
39
|
+
- [ ] Don't outline or stroke the logo
|
|
40
|
+
- [ ] Don't recreate in different fonts
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Color Usage
|
|
45
|
+
|
|
46
|
+
### Primary Color
|
|
47
|
+
|
|
48
|
+
**Use for:**
|
|
49
|
+
- Primary CTAs and buttons
|
|
50
|
+
- Key interactive elements
|
|
51
|
+
- Links
|
|
52
|
+
- Selected states
|
|
53
|
+
- Brand moments
|
|
54
|
+
|
|
55
|
+
**Don't use for:**
|
|
56
|
+
- Large background areas (too intense)
|
|
57
|
+
- Body text
|
|
58
|
+
- Disabled states
|
|
59
|
+
|
|
60
|
+
### Secondary Color
|
|
61
|
+
|
|
62
|
+
**Use for:**
|
|
63
|
+
- Secondary buttons
|
|
64
|
+
- Accents and highlights
|
|
65
|
+
- Hover states
|
|
66
|
+
- Supporting graphics
|
|
67
|
+
|
|
68
|
+
### Neutral Colors
|
|
69
|
+
|
|
70
|
+
**Use for:**
|
|
71
|
+
- Body text
|
|
72
|
+
- Backgrounds
|
|
73
|
+
- Borders
|
|
74
|
+
- Disabled states
|
|
75
|
+
- Secondary text
|
|
76
|
+
|
|
77
|
+
### Color Accessibility
|
|
78
|
+
|
|
79
|
+
| Combination | Contrast Ratio | WCAG Level |
|
|
80
|
+
|-------------|----------------|------------|
|
|
81
|
+
| Primary on White | {ratio} | {AA/AAA} |
|
|
82
|
+
| Primary on Dark | {ratio} | {AA/AAA} |
|
|
83
|
+
| Body text on Background | {ratio} | {AA/AAA} |
|
|
84
|
+
|
|
85
|
+
**Minimum requirements:**
|
|
86
|
+
- Normal text: 4.5:1 (AA)
|
|
87
|
+
- Large text (18px+): 3:1 (AA)
|
|
88
|
+
- UI components: 3:1 (AA)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Typography
|
|
93
|
+
|
|
94
|
+
### Hierarchy
|
|
95
|
+
|
|
96
|
+
| Level | Size | Weight | Line Height | Use For |
|
|
97
|
+
|-------|------|--------|-------------|---------|
|
|
98
|
+
| Display | 48-72px | Bold | 1.1 | Hero headlines |
|
|
99
|
+
| H1 | 36-48px | Bold | 1.2 | Page titles |
|
|
100
|
+
| H2 | 28-36px | Semibold | 1.25 | Section headers |
|
|
101
|
+
| H3 | 20-24px | Semibold | 1.3 | Subsections |
|
|
102
|
+
| Body | 16-18px | Regular | 1.5-1.6 | Paragraphs |
|
|
103
|
+
| Small | 14px | Regular | 1.4 | Captions, meta |
|
|
104
|
+
| Micro | 12px | Medium | 1.3 | Labels, tags |
|
|
105
|
+
|
|
106
|
+
### Font Weights
|
|
107
|
+
|
|
108
|
+
| Weight | Value | Use For |
|
|
109
|
+
|--------|-------|---------|
|
|
110
|
+
| Regular | 400 | Body text |
|
|
111
|
+
| Medium | 500 | Emphasis, labels |
|
|
112
|
+
| Semibold | 600 | Subheadings |
|
|
113
|
+
| Bold | 700 | Headlines, CTAs |
|
|
114
|
+
|
|
115
|
+
### Typography Don'ts
|
|
116
|
+
|
|
117
|
+
- [ ] Don't use more than 2 font families
|
|
118
|
+
- [ ] Don't use light weights under 16px
|
|
119
|
+
- [ ] Don't center-align long paragraphs
|
|
120
|
+
- [ ] Don't use all-caps for body text
|
|
121
|
+
- [ ] Don't exceed 75 characters per line
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Spacing
|
|
126
|
+
|
|
127
|
+
### Base Unit
|
|
128
|
+
|
|
129
|
+
All spacing derives from a base unit: **4px** (0.25rem)
|
|
130
|
+
|
|
131
|
+
### Scale
|
|
132
|
+
|
|
133
|
+
| Token | Value | Use For |
|
|
134
|
+
|-------|-------|---------|
|
|
135
|
+
| xs | 4px | Tight gaps, icon padding |
|
|
136
|
+
| sm | 8px | Inline elements, small gaps |
|
|
137
|
+
| md | 16px | Default spacing |
|
|
138
|
+
| lg | 24px | Section padding |
|
|
139
|
+
| xl | 32px | Large gaps |
|
|
140
|
+
| 2xl | 48px | Section margins |
|
|
141
|
+
| 3xl | 64px | Major sections |
|
|
142
|
+
|
|
143
|
+
### Component Spacing
|
|
144
|
+
|
|
145
|
+
| Component | Internal Padding | External Margin |
|
|
146
|
+
|-----------|-----------------|-----------------|
|
|
147
|
+
| Button | 8px 16px | - |
|
|
148
|
+
| Card | 16px-24px | 16px |
|
|
149
|
+
| Input | 12px 16px | 8px (between inputs) |
|
|
150
|
+
| Section | 48px-64px | 0 |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Voice & Tone
|
|
155
|
+
|
|
156
|
+
### Brand Voice
|
|
157
|
+
|
|
158
|
+
**We are:**
|
|
159
|
+
- {adjective 1} - {what this means}
|
|
160
|
+
- {adjective 2} - {what this means}
|
|
161
|
+
- {adjective 3} - {what this means}
|
|
162
|
+
|
|
163
|
+
**We are NOT:**
|
|
164
|
+
- {anti-adjective 1} - {what to avoid}
|
|
165
|
+
- {anti-adjective 2} - {what to avoid}
|
|
166
|
+
|
|
167
|
+
### Tone by Context
|
|
168
|
+
|
|
169
|
+
| Context | Tone | Example |
|
|
170
|
+
|---------|------|---------|
|
|
171
|
+
| Errors | Helpful, not blaming | "Couldn't save. Check your connection." |
|
|
172
|
+
| Success | Brief, celebratory | "Done!" or "Saved" |
|
|
173
|
+
| Empty states | Encouraging | "No items yet. Create your first one." |
|
|
174
|
+
| Loading | Honest | "Loading..." (not "Just a moment...") |
|
|
175
|
+
| CTAs | Direct, active | "Start building" not "Click here to begin" |
|
|
176
|
+
|
|
177
|
+
### Writing Style
|
|
178
|
+
|
|
179
|
+
- Use sentence case for headings
|
|
180
|
+
- Use active voice
|
|
181
|
+
- Keep sentences short (under 20 words)
|
|
182
|
+
- Avoid jargon unless audience expects it
|
|
183
|
+
- Use "you" not "the user"
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Imagery
|
|
188
|
+
|
|
189
|
+
### Photography Style
|
|
190
|
+
|
|
191
|
+
- {describe style: candid vs posed, saturated vs muted, etc.}
|
|
192
|
+
- {describe subjects: people, objects, abstract}
|
|
193
|
+
- {describe mood: professional, playful, serious}
|
|
194
|
+
|
|
195
|
+
### Illustration Style
|
|
196
|
+
|
|
197
|
+
- {describe style: line art, filled, 3D, flat}
|
|
198
|
+
- {describe colors: brand colors only? accent allowed?}
|
|
199
|
+
- {describe complexity: minimal, detailed}
|
|
200
|
+
|
|
201
|
+
### Icon Style
|
|
202
|
+
|
|
203
|
+
- {describe: outlined, filled, rounded, sharp}
|
|
204
|
+
- {describe: stroke width}
|
|
205
|
+
- {describe: size increments}
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Motion
|
|
210
|
+
|
|
211
|
+
### Principles
|
|
212
|
+
|
|
213
|
+
1. **Purposeful** - Animation serves function, not decoration
|
|
214
|
+
2. **Quick** - Fast enough to not delay user
|
|
215
|
+
3. **Natural** - Physics-based easing, not linear
|
|
216
|
+
|
|
217
|
+
### Timing
|
|
218
|
+
|
|
219
|
+
| Type | Duration | Easing |
|
|
220
|
+
|------|----------|--------|
|
|
221
|
+
| Micro (hover, press) | 100-150ms | ease-out |
|
|
222
|
+
| Small (tooltips, dropdowns) | 150-200ms | ease-out |
|
|
223
|
+
| Medium (modals, panels) | 200-300ms | ease-in-out |
|
|
224
|
+
| Large (page transitions) | 300-400ms | ease-in-out |
|
|
225
|
+
|
|
226
|
+
### Don'ts
|
|
227
|
+
|
|
228
|
+
- [ ] Don't animate for more than 400ms
|
|
229
|
+
- [ ] Don't use bounce/elastic for functional UI
|
|
230
|
+
- [ ] Don't animate multiple things simultaneously
|
|
231
|
+
- [ ] Don't block interaction during animation
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Accessibility
|
|
236
|
+
|
|
237
|
+
### Requirements
|
|
238
|
+
|
|
239
|
+
- WCAG 2.1 AA compliance minimum
|
|
240
|
+
- Keyboard navigation for all interactive elements
|
|
241
|
+
- Screen reader support
|
|
242
|
+
- Reduced motion support
|
|
243
|
+
|
|
244
|
+
### Checklist
|
|
245
|
+
|
|
246
|
+
- [ ] All images have alt text
|
|
247
|
+
- [ ] Form inputs have labels
|
|
248
|
+
- [ ] Focus states are visible
|
|
249
|
+
- [ ] Color is not the only indicator
|
|
250
|
+
- [ ] Touch targets are 44x44px minimum
|
|
251
|
+
- [ ] Content is readable at 200% zoom
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Voice and Tone Guide
|
|
2
|
+
|
|
3
|
+
> How your brand speaks. Copy to `knowledge/VOICE_AND_TONE.md` and customize.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Voice (Consistent)
|
|
8
|
+
|
|
9
|
+
Your voice is WHO you are. It stays consistent across all contexts.
|
|
10
|
+
|
|
11
|
+
### Voice Attributes
|
|
12
|
+
|
|
13
|
+
**We are:**
|
|
14
|
+
- {attribute 1} - {what this means in practice}
|
|
15
|
+
- {attribute 2} - {what this means in practice}
|
|
16
|
+
- {attribute 3} - {what this means in practice}
|
|
17
|
+
|
|
18
|
+
**We are NOT:**
|
|
19
|
+
- {anti-attribute 1}
|
|
20
|
+
- {anti-attribute 2}
|
|
21
|
+
- {anti-attribute 3}
|
|
22
|
+
|
|
23
|
+
### Voice Examples
|
|
24
|
+
|
|
25
|
+
| Instead of | We say |
|
|
26
|
+
|------------|--------|
|
|
27
|
+
| "Leverage synergies" | {plain language version} |
|
|
28
|
+
| "Click here" | {more engaging version} |
|
|
29
|
+
| "Dear valued customer" | {your version} |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Tone (Flexible)
|
|
34
|
+
|
|
35
|
+
Tone is HOW you express your voice in different contexts. It shifts based on situation.
|
|
36
|
+
|
|
37
|
+
### Tone Spectrum
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Serious ←────────────────────────────→ Playful
|
|
41
|
+
Where do you sit by default?
|
|
42
|
+
|
|
43
|
+
Formal ←────────────────────────────→ Casual
|
|
44
|
+
Where do you sit by default?
|
|
45
|
+
|
|
46
|
+
Reserved ←────────────────────────────→ Enthusiastic
|
|
47
|
+
Where do you sit by default?
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Tone by Context
|
|
51
|
+
|
|
52
|
+
| Context | Tone Adjustment |
|
|
53
|
+
|---------|-----------------|
|
|
54
|
+
| Error messages | More empathetic, helpful |
|
|
55
|
+
| Success messages | More celebratory |
|
|
56
|
+
| Documentation | More neutral, clear |
|
|
57
|
+
| Marketing | More energetic |
|
|
58
|
+
| Support | More patient, detailed |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Copy Patterns
|
|
63
|
+
|
|
64
|
+
### Headlines
|
|
65
|
+
- {Pattern: question / statement / command}
|
|
66
|
+
- {Case: lowercase / Title Case / UPPERCASE}
|
|
67
|
+
- {Length: short punchy / descriptive}
|
|
68
|
+
|
|
69
|
+
**Examples:**
|
|
70
|
+
- Good: "{example}"
|
|
71
|
+
- Avoid: "{anti-example}"
|
|
72
|
+
|
|
73
|
+
### Body Copy
|
|
74
|
+
- {Sentence length preference}
|
|
75
|
+
- {Paragraph length}
|
|
76
|
+
- {Use of contractions: yes/no}
|
|
77
|
+
|
|
78
|
+
### CTAs (Calls to Action)
|
|
79
|
+
- {Action verbs you prefer}
|
|
80
|
+
- {Length: short / descriptive}
|
|
81
|
+
|
|
82
|
+
**Examples:**
|
|
83
|
+
- Good: "{example}"
|
|
84
|
+
- Avoid: "{anti-example}"
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Formatting Conventions
|
|
89
|
+
|
|
90
|
+
### Punctuation
|
|
91
|
+
- **Periods in headlines:** {yes/no}
|
|
92
|
+
- **Oxford comma:** {yes/no}
|
|
93
|
+
- **Exclamation points:** {rarely/sometimes/often}
|
|
94
|
+
|
|
95
|
+
### Capitalization
|
|
96
|
+
- **Headings:** {lowercase / Title Case / Sentence case}
|
|
97
|
+
- **Buttons:** {lowercase / Title Case / UPPERCASE}
|
|
98
|
+
- **Product names:** {how to capitalize your product name}
|
|
99
|
+
|
|
100
|
+
### Special Characters
|
|
101
|
+
- **Emoji:** {never / sparingly / freely}
|
|
102
|
+
- **Terminal characters:** {>, //, $, etc.}
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Word List
|
|
107
|
+
|
|
108
|
+
### Words We Use
|
|
109
|
+
| Word | Instead of | Why |
|
|
110
|
+
|------|------------|-----|
|
|
111
|
+
| {your word} | {common alternative} | {reason} |
|
|
112
|
+
|
|
113
|
+
### Words We Avoid
|
|
114
|
+
| Avoid | Because |
|
|
115
|
+
|-------|---------|
|
|
116
|
+
| {word} | {reason} |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Sample Copy
|
|
121
|
+
|
|
122
|
+
### Tagline
|
|
123
|
+
> "{your tagline}"
|
|
124
|
+
|
|
125
|
+
### Elevator Pitch (1 sentence)
|
|
126
|
+
> "{one sentence description}"
|
|
127
|
+
|
|
128
|
+
### Boilerplate (1 paragraph)
|
|
129
|
+
> "{standard description paragraph}"
|
|
130
|
+
|
|
131
|
+
### Error Message Example
|
|
132
|
+
> "{example error in your voice}"
|
|
133
|
+
|
|
134
|
+
### Success Message Example
|
|
135
|
+
> "{example success in your voice}"
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Voice Checklist
|
|
140
|
+
|
|
141
|
+
Before publishing, ask:
|
|
142
|
+
- [ ] Does this sound like us?
|
|
143
|
+
- [ ] Would we say this out loud?
|
|
144
|
+
- [ ] Is it clear to our audience?
|
|
145
|
+
- [ ] Does it match the context's tone?
|
|
146
|
+
- [ ] Are we avoiding our "don't" words?
|