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,294 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: content-creator
|
|
3
|
+
description: Generate social content with brand voice - threads, posts, articles, announcements
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Content Creator Skill
|
|
7
|
+
|
|
8
|
+
Generate on-brand content for social media and marketing.
|
|
9
|
+
|
|
10
|
+
## Capabilities
|
|
11
|
+
|
|
12
|
+
- Twitter threads with preview
|
|
13
|
+
- Single posts/tweets
|
|
14
|
+
- Launch announcements
|
|
15
|
+
- Article drafts
|
|
16
|
+
- One-pagers and briefs
|
|
17
|
+
- Deck content
|
|
18
|
+
- Print-ready exports (PDF)
|
|
19
|
+
|
|
20
|
+
## Input Requirements
|
|
21
|
+
|
|
22
|
+
Requires:
|
|
23
|
+
- `knowledge/BRAND_BRIEF.md` - Brand identity
|
|
24
|
+
- `knowledge/VOICE_AND_TONE.md` - How to speak (optional)
|
|
25
|
+
- `knowledge/BRAND_DECISIONS.md` - Visual identity (for previews)
|
|
26
|
+
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/content thread [topic] # Generate Twitter thread
|
|
31
|
+
/content post [topic] # Generate single post
|
|
32
|
+
/content announce [what] # Launch announcement
|
|
33
|
+
/content article [topic] # Article draft
|
|
34
|
+
/content one-pager [topic] # One-page summary
|
|
35
|
+
/content deck [topic] # Presentation content
|
|
36
|
+
/content preview # Preview in context
|
|
37
|
+
/content export pdf # Export to PDF
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Workflows
|
|
41
|
+
|
|
42
|
+
### Twitter Thread
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
/content thread [topic]
|
|
46
|
+
|
|
47
|
+
Generating thread on: {topic}
|
|
48
|
+
|
|
49
|
+
THREAD DRAFT (6 tweets):
|
|
50
|
+
|
|
51
|
+
1/ {hook tweet - stops the scroll}
|
|
52
|
+
|
|
53
|
+
2/ {context/problem}
|
|
54
|
+
|
|
55
|
+
3/ {insight/solution}
|
|
56
|
+
|
|
57
|
+
4/ {proof/example}
|
|
58
|
+
|
|
59
|
+
5/ {implication/future}
|
|
60
|
+
|
|
61
|
+
6/ {CTA}
|
|
62
|
+
{link}
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
Preview? (yes/no)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
If yes, update `previews/content/twitter-thread.html` and open.
|
|
70
|
+
|
|
71
|
+
### Launch Announcement
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
/content announce [product/feature]
|
|
75
|
+
|
|
76
|
+
ANNOUNCEMENT DRAFT:
|
|
77
|
+
|
|
78
|
+
SHORT (Twitter):
|
|
79
|
+
"{short version - fits in one tweet}"
|
|
80
|
+
|
|
81
|
+
MEDIUM (Newsletter):
|
|
82
|
+
"{2-3 paragraph version}"
|
|
83
|
+
|
|
84
|
+
LONG (Blog):
|
|
85
|
+
"{full announcement with context}"
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
Which format to preview?
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### One-Pager
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
/content one-pager [topic]
|
|
96
|
+
|
|
97
|
+
ONE-PAGER: {topic}
|
|
98
|
+
|
|
99
|
+
HEADLINE:
|
|
100
|
+
{main headline}
|
|
101
|
+
|
|
102
|
+
SUBHEAD:
|
|
103
|
+
{supporting line}
|
|
104
|
+
|
|
105
|
+
THE PROBLEM:
|
|
106
|
+
{1-2 sentences}
|
|
107
|
+
|
|
108
|
+
THE SOLUTION:
|
|
109
|
+
{1-2 sentences}
|
|
110
|
+
|
|
111
|
+
KEY BENEFITS:
|
|
112
|
+
• {benefit 1}
|
|
113
|
+
• {benefit 2}
|
|
114
|
+
• {benefit 3}
|
|
115
|
+
|
|
116
|
+
PROOF POINTS:
|
|
117
|
+
• {proof 1}
|
|
118
|
+
• {proof 2}
|
|
119
|
+
|
|
120
|
+
CTA:
|
|
121
|
+
{call to action}
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
Export to PDF? (yes/no)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Article Draft
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
/content article [topic]
|
|
132
|
+
|
|
133
|
+
ARTICLE DRAFT: {topic}
|
|
134
|
+
|
|
135
|
+
HEADLINE OPTIONS:
|
|
136
|
+
1. {option 1}
|
|
137
|
+
2. {option 2}
|
|
138
|
+
3. {option 3}
|
|
139
|
+
|
|
140
|
+
SUBHEAD:
|
|
141
|
+
{supporting line}
|
|
142
|
+
|
|
143
|
+
INTRO (1 paragraph):
|
|
144
|
+
{hook + thesis}
|
|
145
|
+
|
|
146
|
+
SECTIONS:
|
|
147
|
+
1. {section title}
|
|
148
|
+
{key points}
|
|
149
|
+
|
|
150
|
+
2. {section title}
|
|
151
|
+
{key points}
|
|
152
|
+
|
|
153
|
+
3. {section title}
|
|
154
|
+
{key points}
|
|
155
|
+
|
|
156
|
+
CONCLUSION:
|
|
157
|
+
{summary + CTA}
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
Expand which section?
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Preview System
|
|
165
|
+
|
|
166
|
+
### Twitter Thread Preview
|
|
167
|
+
`previews/content/twitter-thread.html`
|
|
168
|
+
|
|
169
|
+
Shows thread in Twitter UI context:
|
|
170
|
+
- Dark/light mode
|
|
171
|
+
- Engagement metrics (mock)
|
|
172
|
+
- Your profile info
|
|
173
|
+
- Reply chains
|
|
174
|
+
|
|
175
|
+
### Article Preview
|
|
176
|
+
`previews/content/article-preview.html`
|
|
177
|
+
|
|
178
|
+
Shows article in blog context:
|
|
179
|
+
- Your brand styling
|
|
180
|
+
- OG image preview
|
|
181
|
+
- Reading time
|
|
182
|
+
- Share buttons
|
|
183
|
+
|
|
184
|
+
### One-Pager Preview
|
|
185
|
+
`previews/content/one-pager.html`
|
|
186
|
+
|
|
187
|
+
Shows formatted one-pager:
|
|
188
|
+
- Print-ready layout
|
|
189
|
+
- Brand colors/typography
|
|
190
|
+
- Export to PDF button
|
|
191
|
+
|
|
192
|
+
## Voice Application
|
|
193
|
+
|
|
194
|
+
Read `knowledge/VOICE_AND_TONE.md` and apply:
|
|
195
|
+
|
|
196
|
+
### Before Writing, Check:
|
|
197
|
+
- Voice attributes (are we being {attribute}?)
|
|
198
|
+
- Words to use / avoid
|
|
199
|
+
- Formatting conventions
|
|
200
|
+
- Tone for this context
|
|
201
|
+
|
|
202
|
+
### During Writing:
|
|
203
|
+
- Match established patterns
|
|
204
|
+
- Use brand vocabulary
|
|
205
|
+
- Maintain consistent tone
|
|
206
|
+
- Follow punctuation rules
|
|
207
|
+
|
|
208
|
+
### After Writing, Verify:
|
|
209
|
+
- Does this sound like us?
|
|
210
|
+
- Would we say this out loud?
|
|
211
|
+
- Is it clear to our audience?
|
|
212
|
+
|
|
213
|
+
## PDF Export
|
|
214
|
+
|
|
215
|
+
For one-pagers and decks, generate print-ready PDF:
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
/content export pdf
|
|
219
|
+
|
|
220
|
+
Exporting to PDF...
|
|
221
|
+
|
|
222
|
+
Options:
|
|
223
|
+
├─ Size: Letter / A4
|
|
224
|
+
├─ Orientation: Portrait / Landscape
|
|
225
|
+
├─ Include: Header / Footer
|
|
226
|
+
└─ Brand: Apply brand colors
|
|
227
|
+
|
|
228
|
+
Output: outputs/pdf/{filename}.pdf
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Uses browser print-to-PDF or headless Chrome.
|
|
232
|
+
|
|
233
|
+
## Output Files
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
outputs/
|
|
237
|
+
├── content/
|
|
238
|
+
│ ├── threads/
|
|
239
|
+
│ │ └── thread-{date}-{topic}.md
|
|
240
|
+
│ ├── posts/
|
|
241
|
+
│ │ └── post-{date}-{topic}.md
|
|
242
|
+
│ ├── articles/
|
|
243
|
+
│ │ └── article-{date}-{topic}.md
|
|
244
|
+
│ └── one-pagers/
|
|
245
|
+
│ └── one-pager-{topic}.md
|
|
246
|
+
└── pdf/
|
|
247
|
+
└── one-pager-{topic}.pdf
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Content Patterns
|
|
251
|
+
|
|
252
|
+
### Thread Structures
|
|
253
|
+
|
|
254
|
+
**The Hook-Proof-CTA:**
|
|
255
|
+
1. Hook (stop scroll)
|
|
256
|
+
2. Problem
|
|
257
|
+
3. Solution
|
|
258
|
+
4. Proof
|
|
259
|
+
5. Implication
|
|
260
|
+
6. CTA
|
|
261
|
+
|
|
262
|
+
**The List Thread:**
|
|
263
|
+
1. "X things about Y:"
|
|
264
|
+
2-N. List items
|
|
265
|
+
Last. Summary + CTA
|
|
266
|
+
|
|
267
|
+
**The Story Thread:**
|
|
268
|
+
1. Opening scene
|
|
269
|
+
2-5. Story progression
|
|
270
|
+
6. Lesson/insight
|
|
271
|
+
7. CTA
|
|
272
|
+
|
|
273
|
+
### Post Formulas
|
|
274
|
+
|
|
275
|
+
**Problem-Solution:**
|
|
276
|
+
"{Problem statement}
|
|
277
|
+
|
|
278
|
+
{Solution in your words}
|
|
279
|
+
|
|
280
|
+
{CTA}"
|
|
281
|
+
|
|
282
|
+
**Contrarian:**
|
|
283
|
+
"Unpopular opinion: {take}
|
|
284
|
+
|
|
285
|
+
Here's why: {reasoning}
|
|
286
|
+
|
|
287
|
+
{CTA if relevant}"
|
|
288
|
+
|
|
289
|
+
**Announcement:**
|
|
290
|
+
"{What's new}
|
|
291
|
+
|
|
292
|
+
{Why it matters}
|
|
293
|
+
|
|
294
|
+
{Link/CTA}"
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
# Multi-Agent Debug Workflow
|
|
2
|
+
|
|
3
|
+
Coordinate multiple agents to debug complex binaries with cross-verification.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Architecture
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
11
|
+
│ Orchestrator │
|
|
12
|
+
│ Coordinates agents, merges findings, resolves conflicts │
|
|
13
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
14
|
+
│ │ │ │
|
|
15
|
+
▼ ▼ ▼ ▼
|
|
16
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
17
|
+
│ Static │ │ Dynamic │ │ Verifier │ │ Solver │
|
|
18
|
+
│ Analyst │ │ Tracer │ │ │ │ │
|
|
19
|
+
│ │ │ │ │ │ │ │
|
|
20
|
+
│ Ghidra │ │ Frida │ │ Compare │ │ Exploit │
|
|
21
|
+
│ Binja │ │ WinDbg │ │ Validate │ │ Fix │
|
|
22
|
+
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Agent Definitions
|
|
28
|
+
|
|
29
|
+
### Static Analyst
|
|
30
|
+
**Tools:** Ghidra, Binary Ninja
|
|
31
|
+
**Role:** Map program structure without execution
|
|
32
|
+
|
|
33
|
+
**Tasks:**
|
|
34
|
+
1. Identify binary type and architecture
|
|
35
|
+
2. Find entry point and main functions
|
|
36
|
+
3. Map call graph
|
|
37
|
+
4. Identify interesting functions (crypto, auth, network)
|
|
38
|
+
5. Document string references
|
|
39
|
+
6. Note anti-analysis techniques
|
|
40
|
+
|
|
41
|
+
**Output format:**
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"target": "binary_name",
|
|
45
|
+
"type": "ELF64/PE32+/Mach-O",
|
|
46
|
+
"arch": "x86_64/ARM64",
|
|
47
|
+
"functions": [
|
|
48
|
+
{
|
|
49
|
+
"name": "check_license",
|
|
50
|
+
"address": "0x401234",
|
|
51
|
+
"args": ["char* key"],
|
|
52
|
+
"returns": "int",
|
|
53
|
+
"calls": ["strcmp", "decrypt"],
|
|
54
|
+
"called_by": ["main"],
|
|
55
|
+
"notes": "Checks license key against hardcoded value"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"strings": [
|
|
59
|
+
{"address": "0x402000", "value": "Invalid license", "xrefs": ["0x401250"]}
|
|
60
|
+
],
|
|
61
|
+
"imports": ["strcmp", "malloc", "free"],
|
|
62
|
+
"suspicious": ["anti-debug detected at 0x401000"]
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Dynamic Tracer
|
|
69
|
+
**Tools:** Frida, WinDbg, GDB
|
|
70
|
+
**Role:** Observe runtime behavior
|
|
71
|
+
|
|
72
|
+
**Tasks:**
|
|
73
|
+
1. Hook functions identified by Static Analyst
|
|
74
|
+
2. Trace argument values
|
|
75
|
+
3. Capture return values
|
|
76
|
+
4. Monitor memory operations
|
|
77
|
+
5. Track control flow
|
|
78
|
+
6. Identify runtime-decrypted values
|
|
79
|
+
|
|
80
|
+
**Output format:**
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"target": "binary_name",
|
|
84
|
+
"traces": [
|
|
85
|
+
{
|
|
86
|
+
"function": "check_license",
|
|
87
|
+
"address": "0x401234",
|
|
88
|
+
"calls": [
|
|
89
|
+
{
|
|
90
|
+
"timestamp": "00:00:01.234",
|
|
91
|
+
"args": ["AAAA-BBBB-CCCC"],
|
|
92
|
+
"return": 0,
|
|
93
|
+
"notes": "Returns 0 for invalid key"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"timestamp": "00:00:02.567",
|
|
97
|
+
"args": ["VALID-LICENSE-KEY"],
|
|
98
|
+
"return": 1,
|
|
99
|
+
"notes": "Returns 1 for this specific key"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"memory": [
|
|
105
|
+
{"address": "0x603000", "before": "encrypted", "after": "decrypted config"}
|
|
106
|
+
],
|
|
107
|
+
"network": [
|
|
108
|
+
{"timestamp": "00:00:03.000", "type": "DNS", "query": "license.example.com"}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### Verifier
|
|
116
|
+
**Role:** Cross-check findings, resolve conflicts
|
|
117
|
+
|
|
118
|
+
**Tasks:**
|
|
119
|
+
1. Compare static vs dynamic analysis
|
|
120
|
+
2. Identify discrepancies
|
|
121
|
+
3. Request clarification from other agents
|
|
122
|
+
4. Validate hypotheses
|
|
123
|
+
5. Build confidence scores
|
|
124
|
+
|
|
125
|
+
**Verification checks:**
|
|
126
|
+
```markdown
|
|
127
|
+
## Verification Report
|
|
128
|
+
|
|
129
|
+
### Function: check_license (0x401234)
|
|
130
|
+
|
|
131
|
+
| Property | Static | Dynamic | Match | Confidence |
|
|
132
|
+
|----------|--------|---------|-------|------------|
|
|
133
|
+
| Arg count | 1 | 1 | ✓ | 100% |
|
|
134
|
+
| Return type | int | int | ✓ | 100% |
|
|
135
|
+
| Calls strcmp | yes | yes | ✓ | 100% |
|
|
136
|
+
| Key format | unknown | XXXX-XXXX-XXXX | partial | 80% |
|
|
137
|
+
| Validation logic | XOR + compare | confirmed | ✓ | 95% |
|
|
138
|
+
|
|
139
|
+
### Discrepancies
|
|
140
|
+
- Static showed 2 code paths, dynamic only triggered 1
|
|
141
|
+
- ACTION: Tracer to test edge case with empty input
|
|
142
|
+
|
|
143
|
+
### Confidence: 92%
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### Solver
|
|
149
|
+
**Role:** Develop solution based on verified findings
|
|
150
|
+
|
|
151
|
+
**Tasks:**
|
|
152
|
+
1. Use verified findings to develop exploit/patch/keygen
|
|
153
|
+
2. Test solution
|
|
154
|
+
3. Document approach
|
|
155
|
+
4. Handle edge cases
|
|
156
|
+
|
|
157
|
+
**Output:**
|
|
158
|
+
```markdown
|
|
159
|
+
## Solution: check_license bypass
|
|
160
|
+
|
|
161
|
+
### Approach
|
|
162
|
+
Based on verified analysis:
|
|
163
|
+
- Function at 0x401234 compares input against XOR-decoded key
|
|
164
|
+
- Key stored at 0x402000, XOR key is 0x42
|
|
165
|
+
- Valid key: "DECODED-LICENSE-KEY"
|
|
166
|
+
|
|
167
|
+
### Implementation
|
|
168
|
+
[Frida hook / patch / keygen code]
|
|
169
|
+
|
|
170
|
+
### Testing
|
|
171
|
+
- Test case 1: ✓ Passes with decoded key
|
|
172
|
+
- Test case 2: ✓ Bypass hook works
|
|
173
|
+
- Edge case: ✓ Empty input handled
|
|
174
|
+
|
|
175
|
+
### Confidence: 95%
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Orchestration Protocol
|
|
181
|
+
|
|
182
|
+
### Phase 1: Initial Analysis
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
Orchestrator → Static Analyst:
|
|
186
|
+
"Analyze target binary. Identify:
|
|
187
|
+
- Entry point and main flow
|
|
188
|
+
- Authentication/validation functions
|
|
189
|
+
- Interesting strings
|
|
190
|
+
- Anti-analysis techniques"
|
|
191
|
+
|
|
192
|
+
Static Analyst → Orchestrator:
|
|
193
|
+
[Static analysis output]
|
|
194
|
+
|
|
195
|
+
Orchestrator → Dynamic Tracer:
|
|
196
|
+
"Here are functions from static analysis.
|
|
197
|
+
Hook and trace:
|
|
198
|
+
- check_license at 0x401234
|
|
199
|
+
- decrypt_config at 0x401500
|
|
200
|
+
Capture args, returns, and any decrypted values."
|
|
201
|
+
|
|
202
|
+
Dynamic Tracer → Orchestrator:
|
|
203
|
+
[Dynamic trace output]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Phase 2: Cross-Verification
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
Orchestrator → Verifier:
|
|
210
|
+
"Compare these findings:
|
|
211
|
+
- Static: [summary]
|
|
212
|
+
- Dynamic: [summary]
|
|
213
|
+
Identify discrepancies and confidence level."
|
|
214
|
+
|
|
215
|
+
Verifier → Orchestrator:
|
|
216
|
+
[Verification report]
|
|
217
|
+
|
|
218
|
+
If discrepancies:
|
|
219
|
+
Orchestrator → [appropriate agent]:
|
|
220
|
+
"Clarify: [specific question]"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Phase 3: Solution Development
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
Orchestrator → Solver:
|
|
227
|
+
"Based on verified findings:
|
|
228
|
+
- Function does X
|
|
229
|
+
- Key is Y
|
|
230
|
+
- Validation is Z
|
|
231
|
+
Develop solution."
|
|
232
|
+
|
|
233
|
+
Solver → Orchestrator:
|
|
234
|
+
[Solution + test results]
|
|
235
|
+
|
|
236
|
+
Orchestrator → Verifier:
|
|
237
|
+
"Validate solution works as expected."
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Conflict Resolution
|
|
243
|
+
|
|
244
|
+
When agents disagree:
|
|
245
|
+
|
|
246
|
+
1. **Data conflict**: Re-run analysis with more detail
|
|
247
|
+
2. **Interpretation conflict**: Request both to explain reasoning
|
|
248
|
+
3. **Tool limitation**: Try different tool
|
|
249
|
+
4. **Anti-analysis**: Note as finding, work around
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
Example:
|
|
253
|
+
Static: "Function has 2 branches"
|
|
254
|
+
Dynamic: "Only saw 1 branch execute"
|
|
255
|
+
|
|
256
|
+
Resolution:
|
|
257
|
+
1. Ask Dynamic to test condition that triggers branch 2
|
|
258
|
+
2. If unreachable, note as dead code
|
|
259
|
+
3. If anti-debug, note as evasion technique
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Communication Format
|
|
265
|
+
|
|
266
|
+
All agents communicate via structured messages:
|
|
267
|
+
|
|
268
|
+
```json
|
|
269
|
+
{
|
|
270
|
+
"from": "static_analyst",
|
|
271
|
+
"to": "orchestrator",
|
|
272
|
+
"type": "finding|question|answer|error",
|
|
273
|
+
"confidence": 0.95,
|
|
274
|
+
"content": {
|
|
275
|
+
"summary": "Brief description",
|
|
276
|
+
"details": { ... },
|
|
277
|
+
"evidence": ["screenshot", "code", "trace"],
|
|
278
|
+
"questions": ["Any open questions"],
|
|
279
|
+
"next_steps": ["Suggested follow-ups"]
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Example Session
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
USER: Debug this crackme binary
|
|
290
|
+
|
|
291
|
+
ORCHESTRATOR: Starting multi-agent debug session.
|
|
292
|
+
|
|
293
|
+
[Spawns Static Analyst]
|
|
294
|
+
STATIC: Analyzing... Found check_serial at 0x401234.
|
|
295
|
+
Takes 1 arg (serial), returns int.
|
|
296
|
+
Calls custom decrypt function, then strcmp.
|
|
297
|
+
Confidence: 85%
|
|
298
|
+
|
|
299
|
+
[Spawns Dynamic Tracer]
|
|
300
|
+
DYNAMIC: Hooking check_serial...
|
|
301
|
+
Input "TEST" → return 0
|
|
302
|
+
Input "AAAA" → return 0
|
|
303
|
+
Captured decrypted string: "CRACKME-2024"
|
|
304
|
+
Confidence: 95%
|
|
305
|
+
|
|
306
|
+
[Spawns Verifier]
|
|
307
|
+
VERIFIER: Cross-checking...
|
|
308
|
+
✓ Function signature matches
|
|
309
|
+
✓ Decryption confirmed
|
|
310
|
+
✓ Valid serial identified
|
|
311
|
+
Confidence: 93%
|
|
312
|
+
|
|
313
|
+
[Spawns Solver]
|
|
314
|
+
SOLVER: Serial is "CRACKME-2024"
|
|
315
|
+
Verified: ✓
|
|
316
|
+
Keygen possible: Yes (XOR with 0x42)
|
|
317
|
+
|
|
318
|
+
ORCHESTRATOR: Debug complete.
|
|
319
|
+
Valid serial: CRACKME-2024
|
|
320
|
+
Confidence: 93%
|
|
321
|
+
Full report in outputs/debug/findings/
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Parallel Execution
|
|
327
|
+
|
|
328
|
+
For speed, run compatible analyses in parallel:
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
Phase 1 (parallel):
|
|
332
|
+
├── Static Analyst: Ghidra analysis
|
|
333
|
+
├── Static Analyst: Binary Ninja analysis (cross-check)
|
|
334
|
+
└── Dynamic Tracer: Initial trace (known functions)
|
|
335
|
+
|
|
336
|
+
Phase 2 (after Phase 1):
|
|
337
|
+
├── Verifier: Cross-check all findings
|
|
338
|
+
└── Dynamic Tracer: Additional hooks (newly identified)
|
|
339
|
+
|
|
340
|
+
Phase 3 (after Phase 2):
|
|
341
|
+
└── Solver: Develop solution
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Anti-Pattern Detection
|
|
347
|
+
|
|
348
|
+
Agents should flag suspicious patterns:
|
|
349
|
+
|
|
350
|
+
| Pattern | Indicator | Response |
|
|
351
|
+
|---------|-----------|----------|
|
|
352
|
+
| Anti-debug | IsDebuggerPresent, ptrace | Bypass before continuing |
|
|
353
|
+
| VM detection | CPUID checks, registry | Note, may need bare metal |
|
|
354
|
+
| Timing checks | rdtsc, GetTickCount | Freeze time in hooks |
|
|
355
|
+
| Integrity checks | CRC, hash validation | Patch or emulate |
|
|
356
|
+
| Obfuscation | Control flow flat, opaque predicates | Note, may need deobfuscation |
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
*"Multiple perspectives reveal the truth."*
|