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,310 @@
|
|
|
1
|
+
# Startup Skill
|
|
2
|
+
|
|
3
|
+
The startup journey from idea to scale, informed by Paul Graham + Garry Tan wisdom.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Philosophy
|
|
8
|
+
|
|
9
|
+
**Vision is emergent.** You don't know what you're building at first. The skill adapts to where you are.
|
|
10
|
+
|
|
11
|
+
**Do things that don't scale.** Early stage is about learning, not efficiency.
|
|
12
|
+
|
|
13
|
+
**Talk to users.** Every week. The answers are in conversations, not spreadsheets.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/startup # Where am I? What's next?
|
|
21
|
+
/startup stage # Assess current stage from docs
|
|
22
|
+
/startup next # The one thing to do this week
|
|
23
|
+
/startup validate [idea] # PG-style idea critique
|
|
24
|
+
/startup mvp [idea] # Scope to 2-week MVP
|
|
25
|
+
/startup customers # How to find your first 10
|
|
26
|
+
/startup launch # Launch playbook
|
|
27
|
+
/startup fundraise [stage] # Fundraising by stage
|
|
28
|
+
/startup diagnose [problem] # What's actually wrong
|
|
29
|
+
/startup pg [topic] # What would PG say?
|
|
30
|
+
/startup garry [topic] # What would Garry say?
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## THE STAGES
|
|
36
|
+
|
|
37
|
+
### Stage 0: Idea
|
|
38
|
+
|
|
39
|
+
**Goal:** Validate that real people have this problem and will pay to solve it.
|
|
40
|
+
|
|
41
|
+
**Key questions:**
|
|
42
|
+
- Who has this problem? (Be specific—names, not personas)
|
|
43
|
+
- How are they solving it now?
|
|
44
|
+
- Why will they switch to you?
|
|
45
|
+
- What's the insight that makes this work?
|
|
46
|
+
|
|
47
|
+
**PG frameworks:**
|
|
48
|
+
- "How to Get Startup Ideas" - Live in the future, build what's missing
|
|
49
|
+
- "Schlep Blindness" - The best ideas look like work
|
|
50
|
+
- "Organic Startup Ideas" - Build what you need yourself
|
|
51
|
+
- "Frighteningly Ambitious Startup Ideas" - Think bigger
|
|
52
|
+
|
|
53
|
+
**Actions:**
|
|
54
|
+
1. Talk to 10 potential users this week
|
|
55
|
+
2. Document their exact words (not your interpretation)
|
|
56
|
+
3. Find the hair-on-fire problem
|
|
57
|
+
|
|
58
|
+
**Anti-patterns:**
|
|
59
|
+
- Building before talking
|
|
60
|
+
- Asking "would you use this?" (ask about their current behavior)
|
|
61
|
+
- Targeting everyone (niche down)
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Stage 1: MVP
|
|
66
|
+
|
|
67
|
+
**Goal:** Build the smallest thing that delivers value to one person.
|
|
68
|
+
|
|
69
|
+
**Key questions:**
|
|
70
|
+
- What's the one thing it needs to do?
|
|
71
|
+
- Can you build it in 2 weeks?
|
|
72
|
+
- Can you describe it in one sentence?
|
|
73
|
+
|
|
74
|
+
**PG frameworks:**
|
|
75
|
+
- "Do Things That Don't Scale" - Manual before automated
|
|
76
|
+
- "The Airbnbs" - Professional photos changed everything
|
|
77
|
+
- "Ramen Profitable" - Survive while you figure it out
|
|
78
|
+
- "Default Alive or Default Dead" - Know which you are
|
|
79
|
+
|
|
80
|
+
**Actions:**
|
|
81
|
+
1. Cut scope until it hurts
|
|
82
|
+
2. Ship something this week
|
|
83
|
+
3. Get it in front of one real user
|
|
84
|
+
|
|
85
|
+
**Anti-patterns:**
|
|
86
|
+
- Building for 6 months before launching
|
|
87
|
+
- Adding features before anyone uses it
|
|
88
|
+
- Waiting until it's "ready"
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### Stage 2: First Customers
|
|
93
|
+
|
|
94
|
+
**Goal:** Get 5-10 paying customers manually.
|
|
95
|
+
|
|
96
|
+
**Key questions:**
|
|
97
|
+
- Who are the first 10 people who will pay?
|
|
98
|
+
- Can you name them?
|
|
99
|
+
- How will you reach them?
|
|
100
|
+
|
|
101
|
+
**PG frameworks:**
|
|
102
|
+
- "Do Things That Don't Scale" - Recruit users manually
|
|
103
|
+
- "Relentlessly Resourceful" - Find a way or make one
|
|
104
|
+
- "Be Good" - Make something people want
|
|
105
|
+
- "Mean People Fail" - Nice founders win
|
|
106
|
+
|
|
107
|
+
**Garry frameworks:**
|
|
108
|
+
- "Default alive matters" - Grow profitably if you can't raise
|
|
109
|
+
- "Six skills for startup success" - What to develop early
|
|
110
|
+
|
|
111
|
+
**Actions:**
|
|
112
|
+
1. Make a list of 20 potential customers (names, not categories)
|
|
113
|
+
2. Reach out to 5 today
|
|
114
|
+
3. Offer to do it for them manually
|
|
115
|
+
|
|
116
|
+
**Anti-patterns:**
|
|
117
|
+
- Waiting for inbound
|
|
118
|
+
- Mass marketing before product-market fit
|
|
119
|
+
- Discounting instead of learning
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### Stage 3: Launch
|
|
124
|
+
|
|
125
|
+
**Goal:** Create a moment that gets attention and establishes your position.
|
|
126
|
+
|
|
127
|
+
**Key questions:**
|
|
128
|
+
- What's the story?
|
|
129
|
+
- Who will amplify it?
|
|
130
|
+
- What's the one thing people should remember?
|
|
131
|
+
|
|
132
|
+
**PG frameworks:**
|
|
133
|
+
- "Startup = Growth" - Launch is just the beginning of the curve
|
|
134
|
+
- "How to Convince Investors" - Same principles apply to users
|
|
135
|
+
- "The Submarine" - PR is a game
|
|
136
|
+
|
|
137
|
+
**Actions:**
|
|
138
|
+
1. Line up 5 people who will share on launch day
|
|
139
|
+
2. Have a specific, concrete demo
|
|
140
|
+
3. Ship, don't wait for perfect
|
|
141
|
+
|
|
142
|
+
**Anti-patterns:**
|
|
143
|
+
- Launch as a one-time event (it's a process)
|
|
144
|
+
- Waiting for the "right moment"
|
|
145
|
+
- Announcing without showing
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Stage 4: Growth
|
|
150
|
+
|
|
151
|
+
**Goal:** Find repeatable acquisition and scale what works.
|
|
152
|
+
|
|
153
|
+
**Key questions:**
|
|
154
|
+
- What's your growth rate?
|
|
155
|
+
- What's the one channel that's working?
|
|
156
|
+
- Are you default alive?
|
|
157
|
+
|
|
158
|
+
**PG frameworks:**
|
|
159
|
+
- "Startup = Growth" - If you're not growing, you're dying
|
|
160
|
+
- "The Fatal Pinch" - When growth and runway cross
|
|
161
|
+
- "How to Raise Money" - Raise when you don't need it
|
|
162
|
+
- "Founder Mode" - Stay hands-on longer than feels right
|
|
163
|
+
|
|
164
|
+
**Garry frameworks:**
|
|
165
|
+
- "Why startups are growing 5x faster" - AI enables smaller teams
|
|
166
|
+
- "Micromanagement is toxic" - Delegate as you scale
|
|
167
|
+
|
|
168
|
+
**Actions:**
|
|
169
|
+
1. Measure weekly growth rate
|
|
170
|
+
2. Double down on what's working
|
|
171
|
+
3. Kill what isn't
|
|
172
|
+
|
|
173
|
+
**Anti-patterns:**
|
|
174
|
+
- Premature scaling
|
|
175
|
+
- Hiring before product-market fit
|
|
176
|
+
- Multiple channels before one works
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## DIAGNOSIS FRAMEWORK
|
|
181
|
+
|
|
182
|
+
When something's wrong, find the root cause:
|
|
183
|
+
|
|
184
|
+
| Symptom | Likely Cause | Prescription |
|
|
185
|
+
|---------|--------------|--------------|
|
|
186
|
+
| No users signing up | Distribution problem or wrong audience | Talk to 10 more people, find where they are |
|
|
187
|
+
| Users sign up but don't use | Onboarding or value prop problem | Watch 5 users try it, fix the friction |
|
|
188
|
+
| Users use but don't pay | Pricing or value problem | Ask them what they'd pay for |
|
|
189
|
+
| Users churn | Not solving real problem | Talk to churned users, find why |
|
|
190
|
+
| Can't raise money | Traction or story problem | Focus on customers, not investors |
|
|
191
|
+
| Growing but unprofitable | Unit economics problem | Fix before you scale |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## INTEGRATION WITH DOCS
|
|
196
|
+
|
|
197
|
+
The skill reads your docs to understand where you are:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
knowledge/VISION.md → EMERGENT = still figuring it out
|
|
201
|
+
→ DECLARED = you know what you're building
|
|
202
|
+
|
|
203
|
+
knowledge/CRM.md → Who you're talking to, what's resonating
|
|
204
|
+
|
|
205
|
+
content/articles/ → How you explain it to the world
|
|
206
|
+
|
|
207
|
+
drafts/ → Active outreach, what's working
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## KNOWLEDGE BASE
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
knowledge/startup/
|
|
216
|
+
├── 0-idea/
|
|
217
|
+
│ ├── HOW_TO_GET_STARTUP_IDEAS.md
|
|
218
|
+
│ ├── SCHLEP_BLINDNESS.md
|
|
219
|
+
│ ├── ORGANIC_STARTUP_IDEAS.md
|
|
220
|
+
│ └── VALIDATION.md
|
|
221
|
+
├── 1-mvp/
|
|
222
|
+
│ ├── DO_THINGS_THAT_DONT_SCALE.md
|
|
223
|
+
│ ├── RAMEN_PROFITABLE.md
|
|
224
|
+
│ └── SCOPE.md
|
|
225
|
+
├── 2-customers/
|
|
226
|
+
│ ├── FIRST_10.md
|
|
227
|
+
│ ├── RELENTLESSLY_RESOURCEFUL.md
|
|
228
|
+
│ └── BE_GOOD.md
|
|
229
|
+
├── 3-launch/
|
|
230
|
+
│ ├── LAUNCH_PLAYBOOK.md
|
|
231
|
+
│ └── STARTUP_EQUALS_GROWTH.md
|
|
232
|
+
├── 4-growth/
|
|
233
|
+
│ ├── THE_FATAL_PINCH.md
|
|
234
|
+
│ ├── HOW_TO_RAISE_MONEY.md
|
|
235
|
+
│ └── FOUNDER_MODE.md
|
|
236
|
+
└── raw/
|
|
237
|
+
├── pg/ # All PG essays
|
|
238
|
+
└── garry/ # All Garry content
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## QUICK REFERENCE
|
|
244
|
+
|
|
245
|
+
### The PG Stack
|
|
246
|
+
|
|
247
|
+
1. **Make something people want** (the only thing that matters)
|
|
248
|
+
2. **Do things that don't scale** (early stage superpower)
|
|
249
|
+
3. **Talk to users** (the answers are there)
|
|
250
|
+
4. **Launch fast** (embarrassingly early)
|
|
251
|
+
5. **Grow or die** (weekly growth is the metric)
|
|
252
|
+
|
|
253
|
+
### The Garry Stack
|
|
254
|
+
|
|
255
|
+
1. **Default alive > default dead**
|
|
256
|
+
2. **AI enables smaller teams**
|
|
257
|
+
3. **Delegation > micromanagement**
|
|
258
|
+
4. **Learn or earn at every job**
|
|
259
|
+
5. **The best time to start is now**
|
|
260
|
+
|
|
261
|
+
### Anti-patterns (from "18 Mistakes That Kill Startups")
|
|
262
|
+
|
|
263
|
+
1. Single founder
|
|
264
|
+
2. Bad location
|
|
265
|
+
3. Marginal niche
|
|
266
|
+
4. Derivative idea
|
|
267
|
+
5. Obstinacy
|
|
268
|
+
6. Hiring bad programmers
|
|
269
|
+
7. Choosing the wrong platform
|
|
270
|
+
8. Slowness in launching
|
|
271
|
+
9. Launching too early
|
|
272
|
+
10. Having no specific user in mind
|
|
273
|
+
11. Raising too little money
|
|
274
|
+
12. Spending too much
|
|
275
|
+
13. Raising too much money
|
|
276
|
+
14. Poor investor management
|
|
277
|
+
15. Sacrificing users to (supposed) profit
|
|
278
|
+
16. Not wanting to get your hands dirty
|
|
279
|
+
17. Fights between founders
|
|
280
|
+
18. A half-hearted effort
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## OUTPUT FILES
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
outputs/startup/
|
|
288
|
+
├── assessments/
|
|
289
|
+
│ └── stage-assessment-{date}.md
|
|
290
|
+
├── ideas/
|
|
291
|
+
│ └── validation-{idea}.md
|
|
292
|
+
├── mvp/
|
|
293
|
+
│ └── scope-{idea}.md
|
|
294
|
+
└── fundraising/
|
|
295
|
+
└── prep-{stage}.md
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## SOURCES
|
|
301
|
+
|
|
302
|
+
- Paul Graham essays: paulgraham.com (200+ essays)
|
|
303
|
+
- Garry Tan: blog.garrytan.com, YC blog, YouTube
|
|
304
|
+
- Y Combinator library: ycombinator.com/library
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
*"Make something people want."* — Paul Graham
|
|
309
|
+
|
|
310
|
+
*"At every job you should either learn or earn. Either is fine. Both is best. But if it's neither, quit."* — Garry Tan
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-architect
|
|
3
|
+
description: Generate brand assets and audit web code against best practices - CSS, favicons, social images, exports, React/Next.js performance
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Web Architect Skill
|
|
7
|
+
|
|
8
|
+
Implements the brand system by generating all required assets. Also audits web code against best practices.
|
|
9
|
+
|
|
10
|
+
## Related Skills
|
|
11
|
+
|
|
12
|
+
- **react-best-practices** - React/Next.js performance optimization. Use when building or auditing React sites.
|
|
13
|
+
|
|
14
|
+
## Capabilities
|
|
15
|
+
|
|
16
|
+
- Generate favicon package (all sizes)
|
|
17
|
+
- Create social assets (OG images, banners, PFP)
|
|
18
|
+
- Build CSS with brand tokens
|
|
19
|
+
- Export SVGs to PNGs
|
|
20
|
+
- Audit asset completeness
|
|
21
|
+
- Update preview files with final assets
|
|
22
|
+
|
|
23
|
+
## Input Requirements
|
|
24
|
+
|
|
25
|
+
Requires `knowledge/BRAND_DECISIONS.md` with:
|
|
26
|
+
- Selected mark
|
|
27
|
+
- Color palette
|
|
28
|
+
- Typography choices
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
/web-architect # Show status
|
|
34
|
+
/web-architect audit # Check what's missing
|
|
35
|
+
/web-architect implement all # Generate everything
|
|
36
|
+
/web-architect implement css # Generate CSS only
|
|
37
|
+
/web-architect implement favicons # Generate favicon package
|
|
38
|
+
/web-architect implement social # Generate social assets
|
|
39
|
+
/web-architect implement marks # Generate mark size variants
|
|
40
|
+
/web-architect export png # Export all SVGs to PNG
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Workflow
|
|
44
|
+
|
|
45
|
+
### Audit
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
/web-architect audit
|
|
49
|
+
|
|
50
|
+
Checking brand assets...
|
|
51
|
+
|
|
52
|
+
MARKS:
|
|
53
|
+
├─ [✓] Primary mark selected
|
|
54
|
+
├─ [✓] Transparent version
|
|
55
|
+
├─ [ ] Size variants (80, 160, 400)
|
|
56
|
+
└─ [ ] Dark/light variants
|
|
57
|
+
|
|
58
|
+
FAVICONS:
|
|
59
|
+
├─ [ ] 16px
|
|
60
|
+
├─ [ ] 32px
|
|
61
|
+
├─ [ ] 48px
|
|
62
|
+
├─ [ ] 96px
|
|
63
|
+
├─ [ ] 180px (Apple Touch)
|
|
64
|
+
├─ [ ] 192px (Android)
|
|
65
|
+
└─ [ ] 512px (PWA)
|
|
66
|
+
|
|
67
|
+
SOCIAL:
|
|
68
|
+
├─ [ ] Twitter banner (1500x500)
|
|
69
|
+
├─ [ ] OG image (1200x630)
|
|
70
|
+
├─ [ ] Twitter PFP (400x400)
|
|
71
|
+
└─ [ ] Banner size variants
|
|
72
|
+
|
|
73
|
+
CSS:
|
|
74
|
+
├─ [ ] Color tokens
|
|
75
|
+
├─ [ ] Typography tokens
|
|
76
|
+
└─ [ ] global.css generated
|
|
77
|
+
|
|
78
|
+
Missing: 18 assets
|
|
79
|
+
Run /web-architect implement all to generate.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Implement All
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
/web-architect implement all
|
|
86
|
+
|
|
87
|
+
Generating brand assets...
|
|
88
|
+
|
|
89
|
+
MARKS:
|
|
90
|
+
├─ [✓] mark-v3-80-dark.svg
|
|
91
|
+
├─ [✓] mark-v3-80-light.svg
|
|
92
|
+
├─ [✓] mark-v3-160-dark.svg
|
|
93
|
+
├─ [✓] mark-v3-400-dark.svg
|
|
94
|
+
└─ Saved to outputs/svg/mark/
|
|
95
|
+
|
|
96
|
+
FAVICONS:
|
|
97
|
+
├─ [✓] favicon-16-dark.svg
|
|
98
|
+
├─ [✓] favicon-32-dark.svg
|
|
99
|
+
├─ [✓] favicon-48-dark.svg
|
|
100
|
+
├─ [✓] favicon-96-dark.svg
|
|
101
|
+
├─ [✓] favicon-180-dark.svg
|
|
102
|
+
├─ [✓] favicon-192-dark.svg
|
|
103
|
+
├─ [✓] favicon-512-dark.svg
|
|
104
|
+
└─ Saved to outputs/svg/favicon/
|
|
105
|
+
|
|
106
|
+
SOCIAL:
|
|
107
|
+
├─ [✓] twitter-banner-sm-1500x500-dark.svg
|
|
108
|
+
├─ [✓] twitter-banner-md-1500x500-dark.svg
|
|
109
|
+
├─ [✓] twitter-banner-lg-1500x500-dark.svg
|
|
110
|
+
├─ [✓] twitter-banner-xl-1500x500-dark.svg
|
|
111
|
+
├─ [✓] og-default-1200x630-dark.svg
|
|
112
|
+
├─ [✓] pfp-400-dark.svg
|
|
113
|
+
└─ Saved to outputs/svg/social/
|
|
114
|
+
|
|
115
|
+
CSS:
|
|
116
|
+
├─ [✓] outputs/css/global.css
|
|
117
|
+
└─ Tokens from BRAND_DECISIONS.md
|
|
118
|
+
|
|
119
|
+
PNG EXPORT:
|
|
120
|
+
├─ [✓] All SVGs exported to PNG
|
|
121
|
+
└─ Saved to outputs/png/
|
|
122
|
+
|
|
123
|
+
Complete! 24 assets generated.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Asset Generation
|
|
127
|
+
|
|
128
|
+
### Favicons
|
|
129
|
+
|
|
130
|
+
Generate all standard favicon sizes:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Sizes needed
|
|
134
|
+
16 - Browser tab
|
|
135
|
+
32 - Browser tab @2x
|
|
136
|
+
48 - Windows
|
|
137
|
+
96 - Android Chrome
|
|
138
|
+
180 - Apple Touch Icon
|
|
139
|
+
192 - Android Chrome @2x
|
|
140
|
+
512 - PWA splash
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
SVG structure:
|
|
144
|
+
```xml
|
|
145
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
146
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {size} {size}">
|
|
147
|
+
<rect width="100%" height="100%" fill="{bg-color}"/>
|
|
148
|
+
<!-- Mark scaled to fit with padding -->
|
|
149
|
+
</svg>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Social Assets
|
|
153
|
+
|
|
154
|
+
#### Twitter Banner (1500x500)
|
|
155
|
+
- Box with mark inside
|
|
156
|
+
- Left-aligned with padding
|
|
157
|
+
- Size variants: sm, md, lg, xl
|
|
158
|
+
|
|
159
|
+
#### OG Image (1200x630)
|
|
160
|
+
- Mark centered in box
|
|
161
|
+
- Optional: tagline variant
|
|
162
|
+
|
|
163
|
+
#### PFP (400x400)
|
|
164
|
+
- Square crop
|
|
165
|
+
- Mark centered
|
|
166
|
+
- High contrast
|
|
167
|
+
|
|
168
|
+
### CSS Generation
|
|
169
|
+
|
|
170
|
+
Read from BRAND_DECISIONS.md and generate:
|
|
171
|
+
|
|
172
|
+
```css
|
|
173
|
+
:root {
|
|
174
|
+
/* Colors from decisions */
|
|
175
|
+
--brand-bg: {bg};
|
|
176
|
+
--brand-fg: {fg};
|
|
177
|
+
--brand-accent: {accent};
|
|
178
|
+
|
|
179
|
+
/* Typography from decisions */
|
|
180
|
+
--brand-font: {font-stack};
|
|
181
|
+
--brand-font-weight: {weight};
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### PNG Export
|
|
186
|
+
|
|
187
|
+
Use rsvg-convert for all SVG → PNG conversions:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Single file
|
|
191
|
+
rsvg-convert -w {width} -h {height} input.svg -o output.png
|
|
192
|
+
|
|
193
|
+
# Batch export script
|
|
194
|
+
./scripts/export-pngs.sh
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## File Structure
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
outputs/
|
|
201
|
+
├── svg/
|
|
202
|
+
│ ├── mark/
|
|
203
|
+
│ │ ├── mark-v3-transparent.svg
|
|
204
|
+
│ │ ├── mark-v3-80-dark.svg
|
|
205
|
+
│ │ ├── mark-v3-80-light.svg
|
|
206
|
+
│ │ ├── mark-v3-160-dark.svg
|
|
207
|
+
│ │ ├── mark-v3-400-dark.svg
|
|
208
|
+
│ │ └── ...
|
|
209
|
+
│ ├── social/
|
|
210
|
+
│ │ ├── twitter-banner-sm-1500x500-dark.svg
|
|
211
|
+
│ │ ├── twitter-banner-md-1500x500-dark.svg
|
|
212
|
+
│ │ ├── twitter-banner-lg-1500x500-dark.svg
|
|
213
|
+
│ │ ├── twitter-banner-xl-1500x500-dark.svg
|
|
214
|
+
│ │ ├── og-default-1200x630-dark.svg
|
|
215
|
+
│ │ ├── pfp-400-dark.svg
|
|
216
|
+
│ │ └── (light variants)
|
|
217
|
+
│ └── favicon/
|
|
218
|
+
│ ├── favicon-16-dark.svg
|
|
219
|
+
│ ├── favicon-32-dark.svg
|
|
220
|
+
│ └── ...
|
|
221
|
+
├── png/
|
|
222
|
+
│ ├── mark/
|
|
223
|
+
│ ├── social/
|
|
224
|
+
│ └── favicon/
|
|
225
|
+
└── css/
|
|
226
|
+
└── global.css
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Naming Conventions
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
{type}-{variant}-{size}-{theme}.{ext}
|
|
233
|
+
|
|
234
|
+
Examples:
|
|
235
|
+
mark-v3-80-dark.svg
|
|
236
|
+
twitter-banner-xl-1500x500-dark.svg
|
|
237
|
+
og-tagline-1200x630-dark.svg
|
|
238
|
+
favicon-32-dark.png
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## Error Handling
|
|
242
|
+
|
|
243
|
+
### No Decisions Found
|
|
244
|
+
```
|
|
245
|
+
No brand decisions found.
|
|
246
|
+
|
|
247
|
+
Run /brand-architect first to:
|
|
248
|
+
1. Generate mark options
|
|
249
|
+
2. Select colors and typography
|
|
250
|
+
3. Record decisions
|
|
251
|
+
|
|
252
|
+
Then run /web-architect implement all.
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Missing Dependencies
|
|
256
|
+
```
|
|
257
|
+
rsvg-convert not found.
|
|
258
|
+
|
|
259
|
+
PNG export requires librsvg. Install with:
|
|
260
|
+
brew install librsvg # macOS
|
|
261
|
+
apt install librsvg2-bin # Ubuntu
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Incomplete Decisions
|
|
265
|
+
```
|
|
266
|
+
Brand decisions incomplete.
|
|
267
|
+
|
|
268
|
+
Missing:
|
|
269
|
+
- Primary mark selection
|
|
270
|
+
- Color palette
|
|
271
|
+
|
|
272
|
+
Update knowledge/BRAND_DECISIONS.md or run /brand-architect decide.
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Code Auditing
|
|
278
|
+
|
|
279
|
+
### React/Next.js Projects
|
|
280
|
+
|
|
281
|
+
For React or Next.js sites, use the **react-best-practices** skill:
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
/web-architect audit react
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
This runs the Vercel React Best Practices audit covering:
|
|
288
|
+
- Eliminating waterfalls (CRITICAL)
|
|
289
|
+
- Bundle size optimization (CRITICAL)
|
|
290
|
+
- Server-side performance (HIGH)
|
|
291
|
+
- Client-side data fetching (MEDIUM-HIGH)
|
|
292
|
+
- Re-render optimization (MEDIUM)
|
|
293
|
+
- Rendering performance (MEDIUM)
|
|
294
|
+
- JavaScript performance (LOW-MEDIUM)
|
|
295
|
+
|
|
296
|
+
See `skills/react-best-practices/SKILL.md` for full rule reference.
|
|
297
|
+
|
|
298
|
+
### Static Sites
|
|
299
|
+
|
|
300
|
+
For static HTML sites:
|
|
301
|
+
```
|
|
302
|
+
/web-architect audit static
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
Checks:
|
|
306
|
+
- Asset optimization (images, SVGs)
|
|
307
|
+
- CSS best practices
|
|
308
|
+
- Accessibility basics
|
|
309
|
+
- Performance hints
|