openclaw-node-harness 2.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 +184 -0
- package/bin/discord-read.js +228 -0
- package/bin/fleet-deploy.js +365 -0
- package/bin/lane-watchdog.js +232 -0
- package/bin/mesh-agent.js +714 -0
- package/bin/mesh-bridge.js +535 -0
- package/bin/mesh-deploy-listener.js +322 -0
- package/bin/mesh-deploy.js +1048 -0
- package/bin/mesh-health-publisher.js +247 -0
- package/bin/mesh-task-daemon.js +451 -0
- package/bin/mesh-tool-discord.js +293 -0
- package/bin/mesh.js +649 -0
- package/boot/manifest.yaml +187 -0
- package/cli.js +35 -0
- package/config/daemon.json.template +16 -0
- package/config/obsidian-sync.json.template +39 -0
- package/config/openclaw.json.template +124 -0
- package/config/transcript-sources.json.template +22 -0
- package/identity/AGENTS.md +201 -0
- package/identity/CLAUDE.md +64 -0
- package/identity/DELEGATION.md +304 -0
- package/identity/HEARTBEAT.md +163 -0
- package/identity/MEMORY_SPEC.md +368 -0
- package/identity/PRINCIPLES.md +81 -0
- package/identity/SOUL.md +48 -0
- package/identity/TOOLS.md +47 -0
- package/install.sh +895 -0
- package/lib/agent-activity.js +390 -0
- package/lib/kanban-io.js +352 -0
- package/lib/mesh-registry.js +194 -0
- package/lib/mesh-roles.js +13 -0
- package/lib/mesh-tasks.js +306 -0
- package/lib/nats-resolve.js +108 -0
- package/mission-control/README.md +36 -0
- package/mission-control/drizzle/0000_simple_silhouette.sql +62 -0
- package/mission-control/drizzle/meta/0000_snapshot.json +413 -0
- package/mission-control/drizzle/meta/_journal.json +13 -0
- package/mission-control/drizzle.config.ts +13 -0
- package/mission-control/eslint.config.mjs +18 -0
- package/mission-control/next.config.ts +7 -0
- package/mission-control/package-lock.json +10518 -0
- package/mission-control/package.json +49 -0
- package/mission-control/postcss.config.mjs +7 -0
- package/mission-control/public/file.svg +1 -0
- package/mission-control/public/globe.svg +1 -0
- package/mission-control/public/next.svg +1 -0
- package/mission-control/public/vercel.svg +1 -0
- package/mission-control/public/window.svg +1 -0
- package/mission-control/scripts/enrich-descriptions.js +193 -0
- package/mission-control/scripts/gen-chronology.js +102 -0
- package/mission-control/scripts/import-pipeline-v2.js +523 -0
- package/mission-control/scripts/import-pipeline.js +295 -0
- package/mission-control/src/app/api/activity/live/route.ts +27 -0
- package/mission-control/src/app/api/activity/route.ts +47 -0
- package/mission-control/src/app/api/burndown/route.ts +112 -0
- package/mission-control/src/app/api/critical-path/route.ts +159 -0
- package/mission-control/src/app/api/dependencies/route.ts +176 -0
- package/mission-control/src/app/api/memory/categories/route.ts +93 -0
- package/mission-control/src/app/api/memory/consolidate/route.ts +107 -0
- package/mission-control/src/app/api/memory/doc/route.ts +89 -0
- package/mission-control/src/app/api/memory/flush/route.ts +129 -0
- package/mission-control/src/app/api/memory/graph/route.ts +105 -0
- package/mission-control/src/app/api/memory/items/route.ts +86 -0
- package/mission-control/src/app/api/memory/list/route.ts +48 -0
- package/mission-control/src/app/api/memory/retrieve/route.ts +51 -0
- package/mission-control/src/app/api/memory/search/route.ts +143 -0
- package/mission-control/src/app/api/memory/sync/route.ts +23 -0
- package/mission-control/src/app/api/memory/wikilinks/route.ts +75 -0
- package/mission-control/src/app/api/mesh/events/route.ts +67 -0
- package/mission-control/src/app/api/mesh/nodes/route.ts +221 -0
- package/mission-control/src/app/api/mesh/tokens/route.ts +133 -0
- package/mission-control/src/app/api/projects/route.ts +102 -0
- package/mission-control/src/app/api/resolve-path/route.ts +92 -0
- package/mission-control/src/app/api/scheduler/tick/route.ts +38 -0
- package/mission-control/src/app/api/scheduler/waves/route.ts +54 -0
- package/mission-control/src/app/api/screenshot/route.ts +127 -0
- package/mission-control/src/app/api/settings/gateway/route.ts +92 -0
- package/mission-control/src/app/api/skills/[id]/health/route.ts +57 -0
- package/mission-control/src/app/api/skills/list/route.ts +41 -0
- package/mission-control/src/app/api/souls/[id]/evolution/route.ts +253 -0
- package/mission-control/src/app/api/souls/[id]/prompt/route.ts +205 -0
- package/mission-control/src/app/api/souls/[id]/propagate/route.ts +146 -0
- package/mission-control/src/app/api/souls/route.ts +174 -0
- package/mission-control/src/app/api/tasks/[id]/handoff/route.ts +115 -0
- package/mission-control/src/app/api/tasks/[id]/route.ts +266 -0
- package/mission-control/src/app/api/tasks/[id]/tree/route.ts +94 -0
- package/mission-control/src/app/api/tasks/route.ts +253 -0
- package/mission-control/src/app/api/tts/route.ts +47 -0
- package/mission-control/src/app/api/workspace/files/route.ts +88 -0
- package/mission-control/src/app/api/workspace/read/route.ts +73 -0
- package/mission-control/src/app/burndown/page.tsx +309 -0
- package/mission-control/src/app/calendar/page.tsx +839 -0
- package/mission-control/src/app/favicon.ico +0 -0
- package/mission-control/src/app/globals.css +67 -0
- package/mission-control/src/app/graph/page.tsx +352 -0
- package/mission-control/src/app/layout.tsx +35 -0
- package/mission-control/src/app/live/page.tsx +232 -0
- package/mission-control/src/app/memory/page.tsx +154 -0
- package/mission-control/src/app/mesh/page.tsx +457 -0
- package/mission-control/src/app/obsidian/page.tsx +252 -0
- package/mission-control/src/app/page.tsx +70 -0
- package/mission-control/src/app/roadmap/page.tsx +1757 -0
- package/mission-control/src/app/settings/page.tsx +260 -0
- package/mission-control/src/app/souls/page.tsx +573 -0
- package/mission-control/src/components/board/activity-timeline.tsx +96 -0
- package/mission-control/src/components/board/daily-board.tsx +373 -0
- package/mission-control/src/components/board/kanban-board.tsx +364 -0
- package/mission-control/src/components/board/kanban-column.tsx +105 -0
- package/mission-control/src/components/board/live-stream.tsx +116 -0
- package/mission-control/src/components/board/skill-health-card.tsx +128 -0
- package/mission-control/src/components/board/status-banner.tsx +124 -0
- package/mission-control/src/components/board/task-card.tsx +454 -0
- package/mission-control/src/components/board/unified-task-dialog.tsx +1043 -0
- package/mission-control/src/components/layout/resizable-layout.tsx +68 -0
- package/mission-control/src/components/layout/sidebar.tsx +90 -0
- package/mission-control/src/components/live/audio-spectrum.tsx +106 -0
- package/mission-control/src/components/live/chat-bubble.tsx +52 -0
- package/mission-control/src/components/live/chat-input.tsx +92 -0
- package/mission-control/src/components/memory/doc-reader.tsx +172 -0
- package/mission-control/src/components/memory/memory-list.tsx +169 -0
- package/mission-control/src/components/memory/search-bar.tsx +67 -0
- package/mission-control/src/components/memory/search-results.tsx +149 -0
- package/mission-control/src/components/obsidian/backlinks-panel.tsx +52 -0
- package/mission-control/src/components/obsidian/file-tree.tsx +186 -0
- package/mission-control/src/components/obsidian/local-graph.tsx +107 -0
- package/mission-control/src/components/obsidian/obsidian-graph.tsx +192 -0
- package/mission-control/src/components/obsidian/obsidian-reader.tsx +246 -0
- package/mission-control/src/lib/activity.ts +29 -0
- package/mission-control/src/lib/config.ts +21 -0
- package/mission-control/src/lib/db/index.ts +429 -0
- package/mission-control/src/lib/db/schema.ts +218 -0
- package/mission-control/src/lib/gateway-notify.ts +113 -0
- package/mission-control/src/lib/hooks.ts +536 -0
- package/mission-control/src/lib/memory/categories.ts +125 -0
- package/mission-control/src/lib/memory/entities.ts +482 -0
- package/mission-control/src/lib/memory/extract.ts +369 -0
- package/mission-control/src/lib/memory/retrieval.ts +281 -0
- package/mission-control/src/lib/memory/wikilinks.ts +147 -0
- package/mission-control/src/lib/nats.ts +126 -0
- package/mission-control/src/lib/parsers/clawvault-doc.ts +98 -0
- package/mission-control/src/lib/parsers/daily-log.ts +73 -0
- package/mission-control/src/lib/parsers/memory-md.ts +81 -0
- package/mission-control/src/lib/parsers/task-markdown.ts +459 -0
- package/mission-control/src/lib/parsers/transcript.ts +209 -0
- package/mission-control/src/lib/scheduler.ts +394 -0
- package/mission-control/src/lib/speech/use-speech-pipeline.ts +176 -0
- package/mission-control/src/lib/sync/memory.ts +224 -0
- package/mission-control/src/lib/sync/tasks.ts +271 -0
- package/mission-control/src/lib/tts/edge.ts +31 -0
- package/mission-control/src/lib/tts/google.ts +78 -0
- package/mission-control/src/lib/tts/index.ts +39 -0
- package/mission-control/src/lib/tts/types.ts +18 -0
- package/mission-control/tsconfig.json +42 -0
- package/obsidian-vault/.obsidian/app.json +10 -0
- package/obsidian-vault/.obsidian/community-plugins.json +8 -0
- package/obsidian-vault/.obsidian/graph.json +40 -0
- package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/main.js +58769 -0
- package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/manifest.json +10 -0
- package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/styles.css +47 -0
- package/obsidian-vault/00-meta/.gitkeep +0 -0
- package/obsidian-vault/01-architecture/.gitkeep +0 -0
- package/obsidian-vault/02-smart-contracts/.gitkeep +0 -0
- package/obsidian-vault/03-backend/.gitkeep +0 -0
- package/obsidian-vault/04-mobile/.gitkeep +0 -0
- package/obsidian-vault/05-ar-mapping/.gitkeep +0 -0
- package/obsidian-vault/06-3d-assets/.gitkeep +0 -0
- package/obsidian-vault/07-sound-music/.gitkeep +0 -0
- package/obsidian-vault/08-lore/.gitkeep +0 -0
- package/obsidian-vault/09-quests-playthrough/.gitkeep +0 -0
- package/obsidian-vault/10-economy/.gitkeep +0 -0
- package/obsidian-vault/11-nft-assets/.gitkeep +0 -0
- package/obsidian-vault/12-nft-mechanics/.gitkeep +0 -0
- package/obsidian-vault/13-dao-guild-social/.gitkeep +0 -0
- package/obsidian-vault/14-game-progression/.gitkeep +0 -0
- package/obsidian-vault/15-analytics/.gitkeep +0 -0
- package/obsidian-vault/16-security/.gitkeep +0 -0
- package/obsidian-vault/17-devops/.gitkeep +0 -0
- package/obsidian-vault/18-marketplace/.gitkeep +0 -0
- package/obsidian-vault/19-decisions/.gitkeep +0 -0
- package/obsidian-vault/20-business-strategy/.gitkeep +0 -0
- package/obsidian-vault/21-legal-regulatory/.gitkeep +0 -0
- package/obsidian-vault/nodes/.gitkeep +0 -0
- package/openclaw.env.example +17 -0
- package/package.json +45 -0
- package/services/launchd/ai.openclaw.gateway.plist +59 -0
- package/services/launchd/ai.openclaw.lane-watchdog.plist +32 -0
- package/services/launchd/ai.openclaw.log-rotate.plist +28 -0
- package/services/launchd/ai.openclaw.memory-daemon.plist +36 -0
- package/services/launchd/ai.openclaw.mesh-agent.plist +38 -0
- package/services/launchd/ai.openclaw.mesh-bridge.plist +36 -0
- package/services/launchd/ai.openclaw.mesh-deploy-listener.plist +33 -0
- package/services/launchd/ai.openclaw.mesh-health-publisher.plist +29 -0
- package/services/launchd/ai.openclaw.mesh-task-daemon.plist +36 -0
- package/services/launchd/ai.openclaw.mesh-tool-discord.plist +36 -0
- package/services/launchd/ai.openclaw.mission-control.plist +41 -0
- package/services/service-manifest.json +13 -0
- package/services/systemd/openclaw-gateway.service +21 -0
- package/services/systemd/openclaw-lane-watchdog.service +21 -0
- package/services/systemd/openclaw-log-rotate.service +13 -0
- package/services/systemd/openclaw-log-rotate.timer +9 -0
- package/services/systemd/openclaw-memory-daemon.service +21 -0
- package/services/systemd/openclaw-mesh-agent.service +19 -0
- package/services/systemd/openclaw-mesh-bridge.service +21 -0
- package/services/systemd/openclaw-mesh-deploy-listener.service +23 -0
- package/services/systemd/openclaw-mesh-health-publisher.service +21 -0
- package/services/systemd/openclaw-mesh-task-daemon.service +21 -0
- package/services/systemd/openclaw-mesh-tool-discord.service +21 -0
- package/services/systemd/openclaw-mission-control.service +22 -0
- package/skills/1password/.clawhub/origin.json +7 -0
- package/skills/1password/SKILL.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/acquisition-channel-advisor/SKILL.md +643 -0
- package/skills/acquisition-channel-advisor/examples/conversation-flow.md +531 -0
- package/skills/agent-browser/.clawhub/origin.json +7 -0
- package/skills/agent-browser/CONTRIBUTING.md +63 -0
- package/skills/agent-browser/SKILL.md +338 -0
- package/skills/agentic-compass/.clawhub/origin.json +7 -0
- package/skills/agentic-compass/README.md +96 -0
- package/skills/agentic-compass/SKILL.md +112 -0
- package/skills/agentic-compass/references/README.md +5 -0
- package/skills/agentic-compass/scripts/agentic-compass.py +196 -0
- package/skills/arcane-dev-ops/SKILL.md +61 -0
- package/skills/arcane-dev-ops/references/checklist.md +22 -0
- package/skills/arcane-dev-ops/references/validation-cases.md +11 -0
- package/skills/arcane-dev-ops/scripts/prepush_check.sh +41 -0
- package/skills/auto-updater/.clawhub/origin.json +7 -0
- package/skills/auto-updater/SKILL.md +158 -0
- package/skills/auto-updater/references/agent-guide.md +152 -0
- package/skills/auto-updater/references/summary-examples.md +109 -0
- package/skills/business-health-diagnostic/SKILL.md +782 -0
- package/skills/byterover/.clawhub/origin.json +7 -0
- package/skills/byterover/SKILL.md +105 -0
- package/skills/byterover/TROUBLESHOOTING.md +50 -0
- package/skills/byterover/WORKFLOWS.md +229 -0
- package/skills/capability-evolver/.clawhub/origin.json +7 -0
- package/skills/capability-evolver/CONTRIBUTING.md +11 -0
- package/skills/capability-evolver/README.md +157 -0
- package/skills/capability-evolver/README.zh-CN.md +112 -0
- package/skills/capability-evolver/SKILL.md +93 -0
- package/skills/capability-evolver/assets/gep/capsules.json +5 -0
- package/skills/capability-evolver/assets/gep/genes.json +104 -0
- package/skills/capability-evolver/index.js +59 -0
- package/skills/capability-evolver/package.json +22 -0
- package/skills/capability-evolver/scripts/analyze_by_skill.js +121 -0
- package/skills/capability-evolver/scripts/build_public.js +350 -0
- package/skills/capability-evolver/scripts/export_history.js +98 -0
- package/skills/capability-evolver/scripts/extract_log.js +85 -0
- package/skills/capability-evolver/scripts/generate_history.js +75 -0
- package/skills/capability-evolver/scripts/human_report.js +147 -0
- package/skills/capability-evolver/scripts/publish_public.js +516 -0
- package/skills/capability-evolver/scripts/suggest_version.js +89 -0
- package/skills/capability-evolver/src/evolve.js +594 -0
- package/skills/capability-evolver/src/gep/assetStore.js +204 -0
- package/skills/capability-evolver/src/gep/candidates.js +134 -0
- package/skills/capability-evolver/src/gep/paths.js +23 -0
- package/skills/capability-evolver/src/gep/prompt.js +254 -0
- package/skills/capability-evolver/src/gep/selector.js +89 -0
- package/skills/capability-evolver/src/gep/signals.js +27 -0
- package/skills/cc-godmode/.clawhub/origin.json +7 -0
- package/skills/cc-godmode/CHANGELOG.md +66 -0
- package/skills/cc-godmode/README.md +293 -0
- package/skills/cc-godmode/SKILL.md +242 -0
- package/skills/cc-godmode/docs/AGENTS.md +332 -0
- package/skills/cc-godmode/docs/MIGRATION.md +206 -0
- package/skills/cc-godmode/docs/TROUBLESHOOTING.md +357 -0
- package/skills/cc-godmode/docs/WORKFLOWS.md +329 -0
- package/skills/cc-godmode/references/agents.md +433 -0
- package/skills/cc-godmode/scripts/build-skill.js +232 -0
- package/skills/clawdbot-filesystem/.clawhub/origin.json +7 -0
- package/skills/clawdbot-filesystem/LICENSE.md +21 -0
- package/skills/clawdbot-filesystem/README.md +322 -0
- package/skills/clawdbot-filesystem/SKILL.md +219 -0
- package/skills/clawdbot-filesystem/config.json +41 -0
- package/skills/clawdbot-filesystem/package.json +69 -0
- package/skills/clawdbot-security-check/.clawhub/origin.json +7 -0
- package/skills/clawdbot-security-check/README.md +168 -0
- package/skills/clawdbot-security-check/SKILL.md +145 -0
- package/skills/clawdbot-security-check/references/audit-checks.md +521 -0
- package/skills/clawdbot-security-check/skill.json +42 -0
- package/skills/clawddocs/.clawhub/origin.json +7 -0
- package/skills/clawddocs/SKILL.md +176 -0
- package/skills/clawddocs/package.json +9 -0
- package/skills/clawddocs/scripts/build-index.sh +17 -0
- package/skills/clawddocs/scripts/cache.sh +13 -0
- package/skills/clawddocs/scripts/fetch-doc.sh +7 -0
- package/skills/clawddocs/scripts/recent.sh +5 -0
- package/skills/clawddocs/scripts/search.sh +8 -0
- package/skills/clawddocs/scripts/sitemap.sh +23 -0
- package/skills/clawddocs/scripts/track-changes.sh +16 -0
- package/skills/clawddocs/snippets/common-configs.md +69 -0
- package/skills/clawguard/.clawhub/origin.json +7 -0
- package/skills/clawguard/SKILL.md +137 -0
- package/skills/company-research/SKILL.md +393 -0
- package/skills/company-research/examples/sample.md +164 -0
- package/skills/company-research/template.md +60 -0
- package/skills/crypto-price/.clawhub/origin.json +7 -0
- package/skills/crypto-price/ARCHITECTURE.md +437 -0
- package/skills/crypto-price/README.md +194 -0
- package/skills/crypto-price/SKILL.md +61 -0
- package/skills/crypto-price/requirements.txt +1 -0
- package/skills/crypto-price/scripts/get_price_chart.py +988 -0
- package/skills/customer-journey-map/SKILL.md +343 -0
- package/skills/customer-journey-map/examples/sample.md +33 -0
- package/skills/customer-journey-map/template.md +28 -0
- package/skills/customer-journey-mapping-workshop/SKILL.md +522 -0
- package/skills/deep-research/.clawhub/origin.json +7 -0
- package/skills/deep-research/SKILL.md +93 -0
- package/skills/deep-research/rules/logic.md +32 -0
- package/skills/discord-telegram-triage/SKILL.md +59 -0
- package/skills/discord-telegram-triage/references/discord-runbook.md +28 -0
- package/skills/discord-telegram-triage/references/validation-cases.md +11 -0
- package/skills/discord-telegram-triage/scripts/triage_snapshot.sh +23 -0
- package/skills/discovery-interview-prep/SKILL.md +408 -0
- package/skills/discovery-process/SKILL.md +503 -0
- package/skills/discovery-process/examples/sample.md +60 -0
- package/skills/discovery-process/template.md +39 -0
- package/skills/dist/arcane-dev-ops.skill +0 -0
- package/skills/dist/discord-telegram-triage.skill +0 -0
- package/skills/dist/founder-brief-summarizer.skill +0 -0
- package/skills/epic-breakdown-advisor/SKILL.md +664 -0
- package/skills/epic-hypothesis/SKILL.md +285 -0
- package/skills/epic-hypothesis/examples/sample.md +104 -0
- package/skills/epic-hypothesis/template.md +30 -0
- package/skills/excel/.clawhub/origin.json +7 -0
- package/skills/excel/SKILL.md +332 -0
- package/skills/excel/scripts/excel.py +1120 -0
- package/skills/fast-browser-use/.clawhub/origin.json +7 -0
- package/skills/fast-browser-use/CODEBUDDY.md +142 -0
- package/skills/fast-browser-use/Cargo.toml +77 -0
- package/skills/fast-browser-use/README.md +62 -0
- package/skills/fast-browser-use/SKILL.md +217 -0
- package/skills/fast-browser-use/package-lock.json +28 -0
- package/skills/fast-browser-use/package.json +8 -0
- package/skills/fast-browser-use/rustfmt.toml +10 -0
- package/skills/fast-browser-use/src/bin/cli.rs +373 -0
- package/skills/fast-browser-use/src/bin/mcp_server.rs +203 -0
- package/skills/fast-browser-use/src/browser/config.rs +136 -0
- package/skills/fast-browser-use/src/browser/debug.rs +16 -0
- package/skills/fast-browser-use/src/browser/mod.rs +61 -0
- package/skills/fast-browser-use/src/browser/session.rs +478 -0
- package/skills/fast-browser-use/src/dom/element.rs +442 -0
- package/skills/fast-browser-use/src/dom/extract_dom.js +849 -0
- package/skills/fast-browser-use/src/dom/mod.rs +14 -0
- package/skills/fast-browser-use/src/dom/tree.rs +296 -0
- package/skills/fast-browser-use/src/dom/yaml.rs +149 -0
- package/skills/fast-browser-use/src/error.rs +115 -0
- package/skills/fast-browser-use/src/lib.rs +17 -0
- package/skills/fast-browser-use/src/mcp/handler.rs +63 -0
- package/skills/fast-browser-use/src/mcp/mod.rs +81 -0
- package/skills/fast-browser-use/src/tools/Readability.min.js +1480 -0
- package/skills/fast-browser-use/src/tools/annotate.rs +165 -0
- package/skills/fast-browser-use/src/tools/click.rs +84 -0
- package/skills/fast-browser-use/src/tools/close.rs +35 -0
- package/skills/fast-browser-use/src/tools/close_tab.rs +45 -0
- package/skills/fast-browser-use/src/tools/convert_to_markdown.js +117 -0
- package/skills/fast-browser-use/src/tools/cookies.rs +58 -0
- package/skills/fast-browser-use/src/tools/debug.rs +44 -0
- package/skills/fast-browser-use/src/tools/evaluate.rs +40 -0
- package/skills/fast-browser-use/src/tools/extract.rs +66 -0
- package/skills/fast-browser-use/src/tools/go_back.rs +35 -0
- package/skills/fast-browser-use/src/tools/go_forward.rs +35 -0
- package/skills/fast-browser-use/src/tools/hover.js +33 -0
- package/skills/fast-browser-use/src/tools/hover.rs +97 -0
- package/skills/fast-browser-use/src/tools/html_to_markdown.rs +99 -0
- package/skills/fast-browser-use/src/tools/input.rs +93 -0
- package/skills/fast-browser-use/src/tools/local_storage.rs +159 -0
- package/skills/fast-browser-use/src/tools/markdown.rs +181 -0
- package/skills/fast-browser-use/src/tools/mod.rs +326 -0
- package/skills/fast-browser-use/src/tools/navigate.rs +55 -0
- package/skills/fast-browser-use/src/tools/new_tab.rs +60 -0
- package/skills/fast-browser-use/src/tools/press_key.rs +78 -0
- package/skills/fast-browser-use/src/tools/read_links.rs +59 -0
- package/skills/fast-browser-use/src/tools/readability_script.rs +8 -0
- package/skills/fast-browser-use/src/tools/screenshot.rs +47 -0
- package/skills/fast-browser-use/src/tools/scroll.js +22 -0
- package/skills/fast-browser-use/src/tools/scroll.rs +95 -0
- package/skills/fast-browser-use/src/tools/select.js +23 -0
- package/skills/fast-browser-use/src/tools/select.rs +129 -0
- package/skills/fast-browser-use/src/tools/sitemap.rs +426 -0
- package/skills/fast-browser-use/src/tools/snapshot.rs +324 -0
- package/skills/fast-browser-use/src/tools/switch_tab.rs +69 -0
- package/skills/fast-browser-use/src/tools/tab_list.rs +76 -0
- package/skills/fast-browser-use/src/tools/utils.rs +92 -0
- package/skills/fast-browser-use/src/tools/wait.rs +53 -0
- package/skills/fast-browser-use/test_auth.json +3 -0
- package/skills/fast-browser-use/test_state.json +6 -0
- package/skills/fast-browser-use/tests/browser_tools_integration.rs +233 -0
- package/skills/fast-browser-use/tests/cli_recipes_integration.rs +112 -0
- package/skills/fast-browser-use/tests/cookies_integration.rs +56 -0
- package/skills/fast-browser-use/tests/debug_integration.rs +83 -0
- package/skills/fast-browser-use/tests/dom_integration.rs +170 -0
- package/skills/fast-browser-use/tests/local_storage_integration.rs +75 -0
- package/skills/fast-browser-use/tests/markdown_integration.rs +448 -0
- package/skills/fast-browser-use/tests/navigation_integration.rs +241 -0
- package/skills/fast-browser-use/tests/sitemap_integration.rs +326 -0
- package/skills/fast-browser-use/tests/tab_management_integration.rs +300 -0
- package/skills/feature-investment-advisor/SKILL.md +639 -0
- package/skills/feature-investment-advisor/examples/conversation-flow.md +538 -0
- package/skills/finance-based-pricing-advisor/SKILL.md +763 -0
- package/skills/finance-metrics-quickref/SKILL.md +309 -0
- package/skills/find-skills/.clawhub/origin.json +7 -0
- package/skills/find-skills/SKILL.md +143 -0
- package/skills/flavor-text-writer/SKILL.md +27 -0
- package/skills/founder-brief-summarizer/SKILL.md +52 -0
- package/skills/founder-brief-summarizer/references/response-templates.md +15 -0
- package/skills/founder-brief-summarizer/references/validation-cases.md +11 -0
- package/skills/founder-brief-summarizer/scripts/brief_template.sh +28 -0
- package/skills/frontend-design/.clawhub/origin.json +7 -0
- package/skills/frontend-design/LICENSE.txt +190 -0
- package/skills/frontend-design/SKILL.md +53 -0
- package/skills/gemini/.clawhub/origin.json +7 -0
- package/skills/gemini/SKILL.md +33 -0
- package/skills/gemini-deep-research/.clawhub/origin.json +7 -0
- package/skills/gemini-deep-research/SKILL.md +78 -0
- package/skills/gemini-deep-research/scripts/deep_research.py +176 -0
- package/skills/git-essentials/.clawhub/origin.json +7 -0
- package/skills/git-essentials/SKILL.md +239 -0
- package/skills/git-essentials/references/advanced.md +211 -0
- package/skills/github/.clawhub/origin.json +7 -0
- package/skills/github/SKILL.md +57 -0
- package/skills/google-drive/.clawhub/origin.json +7 -0
- package/skills/google-drive/LICENSE.txt +21 -0
- package/skills/google-drive/SKILL.md +320 -0
- package/skills/growth-loop/SKILL.md +270 -0
- package/skills/growth-loop/_meta.json +9 -0
- package/skills/growth-loop/references/diagnosis-framework.md +84 -0
- package/skills/growth-loop/references/platform-benchmarks.md +79 -0
- package/skills/growth-loop/scripts/init-campaign.sh +274 -0
- package/skills/humanize-ai-text/.clawhub/origin.json +7 -0
- package/skills/humanize-ai-text/SKILL.md +192 -0
- package/skills/humanize-ai-text/scripts/compare.py +58 -0
- package/skills/humanize-ai-text/scripts/detect.py +160 -0
- package/skills/humanize-ai-text/scripts/patterns.json +191 -0
- package/skills/humanize-ai-text/scripts/transform.py +127 -0
- package/skills/humanizer/.clawhub/origin.json +7 -0
- package/skills/humanizer/README.md +82 -0
- package/skills/humanizer/SKILL.md +443 -0
- package/skills/jobs-to-be-done/SKILL.md +378 -0
- package/skills/jobs-to-be-done/examples/sample.md +80 -0
- package/skills/jobs-to-be-done/template.md +65 -0
- package/skills/lean-ux-canvas/SKILL.md +561 -0
- package/skills/lean-ux-canvas/examples/sample.md +88 -0
- package/skills/lean-ux-canvas/template.md +32 -0
- package/skills/markdown-formatter/.clawhub/origin.json +7 -0
- package/skills/markdown-formatter/README.md +137 -0
- package/skills/markdown-formatter/SKILL.md +369 -0
- package/skills/markdown-formatter/config.json +20 -0
- package/skills/markdown-formatter/index.js +439 -0
- package/skills/markdown-formatter/package.json +23 -0
- package/skills/markdown-formatter/test.js +23 -0
- package/skills/marketing-mode/.clawhub/origin.json +7 -0
- package/skills/marketing-mode/README.md +49 -0
- package/skills/marketing-mode/SKILL.md +703 -0
- package/skills/marketing-mode/mode-prompt.md +39 -0
- package/skills/marketing-mode/skill.json +51 -0
- package/skills/memory-hygiene/.clawhub/origin.json +7 -0
- package/skills/memory-hygiene/SKILL.md +91 -0
- package/skills/memory-setup/.clawhub/origin.json +7 -0
- package/skills/memory-setup/SKILL.md +180 -0
- package/skills/memorylayer/.clawhub/origin.json +7 -0
- package/skills/memorylayer/README.md +197 -0
- package/skills/memorylayer/SKILL.md +227 -0
- package/skills/memorylayer/examples/agent-integration.js +145 -0
- package/skills/memorylayer/examples/basic-usage.js +87 -0
- package/skills/memorylayer/examples/token-savings-demo.js +183 -0
- package/skills/memorylayer/index.js +115 -0
- package/skills/memorylayer/package-lock.json +295 -0
- package/skills/memorylayer/package.json +27 -0
- package/skills/memorylayer/python/memorylayer_skill.py +230 -0
- package/skills/memorylayer/python/requirements.txt +7 -0
- package/skills/mesh/SKILL.md +184 -0
- package/skills/model-usage/.clawhub/origin.json +7 -0
- package/skills/model-usage/SKILL.md +54 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/moltbook-interact/.clawhub/origin.json +7 -0
- package/skills/moltbook-interact/INSTALL.md +139 -0
- package/skills/moltbook-interact/README.md +198 -0
- package/skills/moltbook-interact/SKILL.md +72 -0
- package/skills/moltbook-interact/references/api.md +106 -0
- package/skills/moltbook-interact/scripts/moltbook.sh +142 -0
- package/skills/moltbook-registry/.clawhub/origin.json +7 -0
- package/skills/moltbook-registry/README.md +26 -0
- package/skills/moltbook-registry/SKILL.md +82 -0
- package/skills/moltbook-registry/index.js +180 -0
- package/skills/moltbook-registry/package.json +11 -0
- package/skills/mythril-scanner/SKILL.md +27 -0
- package/skills/n8n/.clawhub/origin.json +7 -0
- package/skills/n8n/SKILL.md +141 -0
- package/skills/n8n/references/api.md +156 -0
- package/skills/n8n/scripts/n8n_api.py +158 -0
- package/skills/n8n-workflow-automation/.clawhub/origin.json +7 -0
- package/skills/n8n-workflow-automation/SKILL.md +103 -0
- package/skills/n8n-workflow-automation/assets/runbook-template.md +32 -0
- package/skills/narrative-designer/SKILL.md +27 -0
- package/skills/ontology/.clawhub/origin.json +7 -0
- package/skills/ontology/SKILL.md +236 -0
- package/skills/ontology/references/queries.md +211 -0
- package/skills/ontology/references/schema.md +322 -0
- package/skills/ontology/scripts/ontology.py +374 -0
- package/skills/openai-image-gen/.clawhub/origin.json +7 -0
- package/skills/openai-image-gen/SKILL.md +45 -0
- package/skills/openai-image-gen/scripts/gen.py +227 -0
- package/skills/openclaw-agent-optimize/.clawhub/origin.json +7 -0
- package/skills/openclaw-agent-optimize/SKILL.md +33 -0
- package/skills/openclaw-agent-optimize/references/agent-orchestration.md +20 -0
- package/skills/openclaw-agent-optimize/references/context-management.md +15 -0
- package/skills/openclaw-agent-optimize/references/continuous-learning.md +14 -0
- package/skills/openclaw-agent-optimize/references/cron-optimization.md +16 -0
- package/skills/openclaw-agent-optimize/references/memory-patterns.md +14 -0
- package/skills/openclaw-agent-optimize/references/model-selection.md +18 -0
- package/skills/openclaw-skill-scanner/.clawhub/origin.json +7 -0
- package/skills/openclaw-skill-scanner/SKILL.md +88 -0
- package/skills/openclaw-skill-scanner/install-hook.sh +294 -0
- package/skills/openclaw-skill-scanner/report-template.md +53 -0
- package/skills/openclaw-skill-scanner/scanner.py +929 -0
- package/skills/openclaw-skill-scanner/whitelist.json +18 -0
- package/skills/opportunity-solution-tree/SKILL.md +428 -0
- package/skills/opportunity-solution-tree/examples/sample.md +104 -0
- package/skills/opportunity-solution-tree/template.md +33 -0
- package/skills/pdf/.clawhub/origin.json +7 -0
- package/skills/pdf/SKILL.md +304 -0
- package/skills/pestel-analysis/SKILL.md +384 -0
- package/skills/pestel-analysis/examples/sample.md +143 -0
- package/skills/pestel-analysis/template.md +53 -0
- package/skills/pol-probe/SKILL.md +217 -0
- package/skills/pol-probe/examples/sample.md +136 -0
- package/skills/pol-probe/template.md +59 -0
- package/skills/pol-probe-advisor/SKILL.md +492 -0
- package/skills/positioning-statement/SKILL.md +229 -0
- package/skills/positioning-statement/examples/sample.md +51 -0
- package/skills/positioning-statement/template.md +25 -0
- package/skills/positioning-workshop/SKILL.md +424 -0
- package/skills/prd-development/SKILL.md +654 -0
- package/skills/prd-development/examples/sample.md +43 -0
- package/skills/prd-development/template.md +55 -0
- package/skills/press-release/SKILL.md +277 -0
- package/skills/press-release/examples/sample.md +73 -0
- package/skills/press-release/template.md +39 -0
- package/skills/prioritization-advisor/SKILL.md +451 -0
- package/skills/proactive-messages/.clawhub/origin.json +7 -0
- package/skills/proactive-messages/SKILL.md +91 -0
- package/skills/problem-framing-canvas/SKILL.md +466 -0
- package/skills/problem-framing-canvas/examples/sample.md +58 -0
- package/skills/problem-framing-canvas/template.md +22 -0
- package/skills/problem-statement/SKILL.md +255 -0
- package/skills/problem-statement/examples/sample.md +82 -0
- package/skills/problem-statement/template.md +37 -0
- package/skills/product-strategy-session/SKILL.md +434 -0
- package/skills/product-strategy-session/examples/sample.md +67 -0
- package/skills/product-strategy-session/template.md +38 -0
- package/skills/prompt-guard/.clawhub/origin.json +7 -0
- package/skills/prompt-guard/ARCHITECTURE.md +364 -0
- package/skills/prompt-guard/CHANGELOG.md +200 -0
- package/skills/prompt-guard/README.md +215 -0
- package/skills/prompt-guard/SECURITY.md +66 -0
- package/skills/prompt-guard/SKILL.md +174 -0
- package/skills/prompt-guard/blog/how-i-secured-my-ai-agent.md +185 -0
- package/skills/prompt-guard/config.example.yaml +56 -0
- package/skills/prompt-guard/references/detection-patterns.md +298 -0
- package/skills/prompt-guard/requirements.txt +1 -0
- package/skills/prompt-guard/scripts/analyze_log.py +224 -0
- package/skills/prompt-guard/scripts/audit.py +344 -0
- package/skills/prompt-guard/scripts/detect.py +1587 -0
- package/skills/prompt-guard/scripts/hivefence.py +345 -0
- package/skills/proto-persona/SKILL.md +336 -0
- package/skills/proto-persona/examples/sample.md +97 -0
- package/skills/proto-persona/template.md +45 -0
- package/skills/recommendation-canvas/SKILL.md +382 -0
- package/skills/recommendation-canvas/examples/sample.md +94 -0
- package/skills/recommendation-canvas/template.md +86 -0
- package/skills/refactor-suggest/.clawhub/origin.json +7 -0
- package/skills/refactor-suggest/SKILL.md +94 -0
- package/skills/roadmap-planning/SKILL.md +506 -0
- package/skills/roadmap-planning/examples/sample.md +62 -0
- package/skills/roadmap-planning/template.md +30 -0
- package/skills/saas-economics-efficiency-metrics/SKILL.md +694 -0
- package/skills/saas-economics-efficiency-metrics/examples/cash-trap.md +365 -0
- package/skills/saas-economics-efficiency-metrics/examples/healthy-unit-economics.md +279 -0
- package/skills/saas-economics-efficiency-metrics/template.md +263 -0
- package/skills/saas-revenue-growth-metrics/SKILL.md +629 -0
- package/skills/saas-revenue-growth-metrics/examples/healthy-saas.md +131 -0
- package/skills/saas-revenue-growth-metrics/examples/warning-signs.md +229 -0
- package/skills/saas-revenue-growth-metrics/template.md +192 -0
- package/skills/save-money/.clawhub/origin.json +7 -0
- package/skills/save-money/SKILL.md +173 -0
- package/skills/scripts/golden_skills_v3.sh +32 -0
- package/skills/search/.clawhub/origin.json +7 -0
- package/skills/search/SKILL.md +18 -0
- package/skills/search/skill.json +1 -0
- package/skills/second-brain/.clawhub/origin.json +7 -0
- package/skills/second-brain/SKILL.md +278 -0
- package/skills/second-brain/scripts/ensue-api.sh +37 -0
- package/skills/self-improving-agent/.clawhub/origin.json +7 -0
- package/skills/self-improving-agent/.learnings/ERRORS.md +5 -0
- package/skills/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
- package/skills/self-improving-agent/.learnings/LEARNINGS.md +5 -0
- package/skills/self-improving-agent/SKILL.md +130 -0
- package/skills/self-improving-agent/assets/LEARNINGS.md +45 -0
- package/skills/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
- package/skills/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
- package/skills/self-improving-agent/hooks/openclaw/handler.js +56 -0
- package/skills/self-improving-agent/hooks/openclaw/handler.ts +62 -0
- package/skills/self-improving-agent/references/examples.md +374 -0
- package/skills/self-improving-agent/references/hooks-setup.md +223 -0
- package/skills/self-improving-agent/references/openclaw-integration.md +248 -0
- package/skills/self-improving-agent/references/templates.md +480 -0
- package/skills/self-improving-agent/scripts/activator.sh +20 -0
- package/skills/self-improving-agent/scripts/error-detector.sh +55 -0
- package/skills/self-improving-agent/scripts/extract-skill.sh +203 -0
- package/skills/self-improving-agent-1-0-2/.clawhub/origin.json +7 -0
- package/skills/self-improving-agent-1-0-2/SKILL.md +562 -0
- package/skills/self-improving-agent-1-0-2/assets/LEARNINGS.md +45 -0
- package/skills/self-improving-agent-1-0-2/assets/SKILL-TEMPLATE.md +182 -0
- package/skills/self-improving-agent-1-0-2/references/clawdbot-integration.md +311 -0
- package/skills/self-improving-agent-1-0-2/references/examples.md +374 -0
- package/skills/self-improving-agent-1-0-2/references/hooks-setup.md +223 -0
- package/skills/self-improving-agent-1-0-2/scripts/activator.sh +20 -0
- package/skills/self-improving-agent-1-0-2/scripts/error-detector.sh +55 -0
- package/skills/self-improving-agent-1-0-2/scripts/extract-skill.sh +203 -0
- package/skills/self-love-confidence/.clawhub/origin.json +7 -0
- package/skills/self-love-confidence/SKILL.md +79 -0
- package/skills/self-reflection/.clawhub/origin.json +7 -0
- package/skills/self-reflection/README.md +292 -0
- package/skills/self-reflection/SKILL.md +110 -0
- package/skills/self-reflection/self-reflection.example.json +6 -0
- package/skills/slither-analyzer/SKILL.md +27 -0
- package/skills/solidity-audit/SKILL.md +27 -0
- package/skills/soulcraft/.clawhub/origin.json +7 -0
- package/skills/soulcraft/README.md +123 -0
- package/skills/soulcraft/SKILL.md +340 -0
- package/skills/soulcraft/references/question-bank.md +154 -0
- package/skills/soulcraft/references/soul-examples.md +207 -0
- package/skills/soulcraft/research/RESEARCH_REPORT.md +317 -0
- package/skills/spotify-player/.clawhub/origin.json +7 -0
- package/skills/spotify-player/SKILL.md +44 -0
- package/skills/storyboard/SKILL.md +259 -0
- package/skills/storyboard/examples/sample.md +71 -0
- package/skills/storyboard/template.md +41 -0
- package/skills/summarize/.clawhub/origin.json +7 -0
- package/skills/summarize/SKILL.md +59 -0
- package/skills/superdesign/.clawhub/origin.json +7 -0
- package/skills/superdesign/SKILL.md +224 -0
- package/skills/tam-sam-som-calculator/SKILL.md +399 -0
- package/skills/tam-sam-som-calculator/examples/sample.md +142 -0
- package/skills/tam-sam-som-calculator/scripts/market-sizing.py +95 -0
- package/skills/tam-sam-som-calculator/template.md +35 -0
- package/skills/tavily-search/.clawhub/origin.json +7 -0
- package/skills/tavily-search/SKILL.md +49 -0
- package/skills/tavily-search/scripts/extract.mjs +59 -0
- package/skills/tavily-search/scripts/search.mjs +101 -0
- package/skills/twitter/SKILL.md +74 -0
- package/skills/twitter/_meta.json +9 -0
- package/skills/twitter/references/validation-cases.md +53 -0
- package/skills/twitter/scripts/twitter.sh +421 -0
- package/skills/ui-ux-pro-max/.clawhub/origin.json +7 -0
- package/skills/ui-ux-pro-max/SKILL.md +54 -0
- package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
- package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
- package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
- package/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
- package/skills/ui-ux-pro-max/scripts/search.py +111 -0
- package/skills/user-story/SKILL.md +272 -0
- package/skills/user-story/examples/sample.md +110 -0
- package/skills/user-story/scripts/user-story-template.py +65 -0
- package/skills/user-story/template.md +32 -0
- package/skills/user-story-mapping/SKILL.md +296 -0
- package/skills/user-story-mapping/examples/sample.md +77 -0
- package/skills/user-story-mapping/template.md +41 -0
- package/skills/user-story-mapping-workshop/SKILL.md +485 -0
- package/skills/user-story-mapping-workshop/template.md +28 -0
- package/skills/user-story-splitting/SKILL.md +313 -0
- package/skills/user-story-splitting/examples/sample.md +147 -0
- package/skills/user-story-splitting/template.md +37 -0
- package/skills/wacli/.clawhub/origin.json +7 -0
- package/skills/wacli/SKILL.md +53 -0
- package/skills/web-search/.clawhub/origin.json +7 -0
- package/skills/web-search/SKILL.md +151 -0
- package/skills/web-search/references/api-details.md +207 -0
- package/skills/web-search/scripts/search.py +576 -0
- package/skills/workshop-facilitation/SKILL.md +88 -0
- package/skills/world-builder/SKILL.md +27 -0
- package/souls/blockchain-auditor/PRINCIPLES.md +75 -0
- package/souls/blockchain-auditor/SOUL.md +56 -0
- package/souls/blockchain-auditor/capabilities.json +33 -0
- package/souls/blockchain-auditor/evolution/capsules.json +4 -0
- package/souls/blockchain-auditor/evolution/events.jsonl +1 -0
- package/souls/blockchain-auditor/evolution/genes.json +62 -0
- package/souls/daedalus/PRINCIPLES.md +78 -0
- package/souls/daedalus/SOUL.md +48 -0
- package/souls/daedalus/capabilities.json +46 -0
- package/souls/identity-architect/PRINCIPLES.md +83 -0
- package/souls/identity-architect/SOUL.md +66 -0
- package/souls/identity-architect/capabilities.json +38 -0
- package/souls/identity-architect/evolution/capsules.json +4 -0
- package/souls/identity-architect/evolution/events.jsonl +0 -0
- package/souls/identity-architect/evolution/genes.json +4 -0
- package/souls/infra-ops/PRINCIPLES.md +77 -0
- package/souls/infra-ops/SOUL.md +56 -0
- package/souls/infra-ops/capabilities.json +33 -0
- package/souls/infra-ops/evolution/capsules.json +4 -0
- package/souls/infra-ops/evolution/events.jsonl +0 -0
- package/souls/infra-ops/evolution/genes.json +4 -0
- package/souls/lore-writer/PRINCIPLES.md +74 -0
- package/souls/lore-writer/SOUL.md +54 -0
- package/souls/lore-writer/capabilities.json +37 -0
- package/souls/lore-writer/evolution/capsules.json +4 -0
- package/souls/lore-writer/evolution/events.jsonl +0 -0
- package/souls/lore-writer/evolution/genes.json +4 -0
- package/souls/qa-evidence/PRINCIPLES.md +97 -0
- package/souls/qa-evidence/SOUL.md +66 -0
- package/souls/qa-evidence/capabilities.json +32 -0
- package/souls/qa-evidence/evolution/capsules.json +4 -0
- package/souls/qa-evidence/evolution/events.jsonl +0 -0
- package/souls/qa-evidence/evolution/genes.json +4 -0
- package/souls/registry.json +211 -0
- package/souls/sync-registry.js +65 -0
- package/uninstall.sh +102 -0
- package/workspace-bin/auto-checkpoint +60 -0
- package/workspace-bin/clawvault-access-control +65 -0
- package/workspace-bin/clawvault-local +28 -0
- package/workspace-bin/compile-boot +494 -0
- package/workspace-bin/daily-log-writer.mjs +251 -0
- package/workspace-bin/evolve +540 -0
- package/workspace-bin/fitness_score.py +395 -0
- package/workspace-bin/hooks/pre-commit +80 -0
- package/workspace-bin/install-daemon +299 -0
- package/workspace-bin/lane-watchdog.js +232 -0
- package/workspace-bin/lib/__init__.py +0 -0
- package/workspace-bin/lib/frontmatter.py +114 -0
- package/workspace-bin/memory-daemon.mjs +879 -0
- package/workspace-bin/memory-maintenance.mjs +531 -0
- package/workspace-bin/mesh-bridge.mjs +154 -0
- package/workspace-bin/multi-review +130 -0
- package/workspace-bin/obsidian +125 -0
- package/workspace-bin/obsidian-sync.mjs +888 -0
- package/workspace-bin/openclaw-register-source +102 -0
- package/workspace-bin/proactive-scan +147 -0
- package/workspace-bin/quality-gate +175 -0
- package/workspace-bin/screenshot +96 -0
- package/workspace-bin/session-recap +453 -0
- package/workspace-bin/skill-audit +494 -0
- package/workspace-bin/skill-quality-check +134 -0
- package/workspace-bin/skill-routing-eval +599 -0
- package/workspace-bin/soul-prompt +251 -0
- package/workspace-bin/subagent-audit.mjs +267 -0
- package/workspace-bin/test-multi-soul-workflow +130 -0
- package/workspace-bin/trust-registry +465 -0
- package/workspace-docs/AGENTS.md +201 -0
- package/workspace-docs/CLAUDE.md +64 -0
- package/workspace-docs/PRINCIPLES.md +81 -0
- package/workspace-docs/SOUL.md +48 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Proto-Persona Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: "Manager Mike" (Good Proto-Persona)
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
### Name
|
|
7
|
+
- Manager Mike
|
|
8
|
+
|
|
9
|
+
### Bio & Demographics
|
|
10
|
+
- 35-42 years old, lives in urban/suburban areas (Chicago, Seattle, Austin)
|
|
11
|
+
- Director of Product at mid-sized B2B SaaS companies (100-500 employees)
|
|
12
|
+
- Married with 2 kids, commutes 30 min by car, values work-life balance
|
|
13
|
+
- Active on LinkedIn and ProductHunt, attends 1-2 PM conferences per year
|
|
14
|
+
- Reads PM blogs/newsletters (Lenny's, Stratechery), listens to podcasts
|
|
15
|
+
- Plays rec basketball on weekends
|
|
16
|
+
|
|
17
|
+
### Quotes
|
|
18
|
+
- "I spend more time in status meetings than actually building product."
|
|
19
|
+
- "My CEO asks me for data I don't have, and it takes 3 days to get it from engineering."
|
|
20
|
+
- "Every tool promises to save time, but they all require a week of onboarding."
|
|
21
|
+
|
|
22
|
+
### Pains
|
|
23
|
+
- Spends 10+ hours/week in status meetings and writing updates
|
|
24
|
+
- No single source of truth for product metrics—data is scattered across tools
|
|
25
|
+
- Pressure to ship faster, but team is stretched thin
|
|
26
|
+
|
|
27
|
+
### What is This Person Trying to Accomplish?
|
|
28
|
+
- Deliver roadmap milestones on time without burning out the team
|
|
29
|
+
- Make data-driven prioritization decisions in real-time
|
|
30
|
+
- Communicate progress to execs without manual reporting overhead
|
|
31
|
+
|
|
32
|
+
### Goals
|
|
33
|
+
- Be seen as a strategic thinker, not just a feature factory manager
|
|
34
|
+
- Get promoted to VP of Product within 2 years
|
|
35
|
+
- Spend more time with family (leave work by 6pm)
|
|
36
|
+
|
|
37
|
+
### Attitudes & Influences
|
|
38
|
+
- **Decision-Making Authority:** Can approve tools up to $15k/year; needs VP/CFO approval above that
|
|
39
|
+
- **Decision Influencers:** Peer PMs in Slack communities, former colleagues, analyst reports (Gartner)
|
|
40
|
+
- **Beliefs & Attitudes:**
|
|
41
|
+
- Skeptical of tools that require developer setup
|
|
42
|
+
- Values ease of use over feature depth
|
|
43
|
+
- Prefers tools that integrate with existing stack (Jira, Slack, Figma)
|
|
44
|
+
- Willing to pay more for great UX and support
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Why this works:**
|
|
48
|
+
- Specific demographics tied to behavior (not just "35-42")
|
|
49
|
+
- Quotes reveal real frustrations (not generic platitudes)
|
|
50
|
+
- Pains are measurable and specific
|
|
51
|
+
- Goals include professional and personal motivations
|
|
52
|
+
- Decision-making context is clear
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Example 2: Bad Proto-Persona (Too Generic)
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
### Name
|
|
60
|
+
- John
|
|
61
|
+
|
|
62
|
+
### Bio & Demographics
|
|
63
|
+
- 30-50 years old
|
|
64
|
+
- Lives somewhere
|
|
65
|
+
- Works in tech
|
|
66
|
+
|
|
67
|
+
### Quotes
|
|
68
|
+
- "I want better tools."
|
|
69
|
+
|
|
70
|
+
### Pains
|
|
71
|
+
- Tools are bad
|
|
72
|
+
|
|
73
|
+
### What is This Person Trying to Accomplish?
|
|
74
|
+
- Use good software
|
|
75
|
+
|
|
76
|
+
### Goals
|
|
77
|
+
- Be productive
|
|
78
|
+
|
|
79
|
+
### Attitudes & Influences
|
|
80
|
+
- **Decision-Making Authority:** Maybe
|
|
81
|
+
- **Decision Influencers:** People
|
|
82
|
+
- **Beliefs & Attitudes:** Likes good things
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Why this fails:**
|
|
86
|
+
- Age range is too broad (20-year span)
|
|
87
|
+
- No behavioral context ("works in tech" = meaningless)
|
|
88
|
+
- Quotes are generic ("better tools" = every persona ever)
|
|
89
|
+
- Pains are vague ("tools are bad" = not actionable)
|
|
90
|
+
- No specific goals or influences
|
|
91
|
+
|
|
92
|
+
**How to fix it:**
|
|
93
|
+
- Narrow demographics: "35-45, Director-level, B2B SaaS"
|
|
94
|
+
- Add behavioral details: "Remote-first, active in PM communities"
|
|
95
|
+
- Use real quotes: "I spend 5 hours/week chasing down status updates"
|
|
96
|
+
- Specify pains: "No visibility into what engineering is building"
|
|
97
|
+
- Define goals: "Get promoted to VP within 2 years"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Proto-Persona Template
|
|
2
|
+
|
|
3
|
+
Use this template to capture a hypothesis-driven persona profile.
|
|
4
|
+
|
|
5
|
+
## Provenance
|
|
6
|
+
Adapted from `prompts/proto-persona-profile.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
|
|
7
|
+
|
|
8
|
+
## Template
|
|
9
|
+
```markdown
|
|
10
|
+
### Name
|
|
11
|
+
- [Alliterative name]
|
|
12
|
+
|
|
13
|
+
### Bio & Demographics
|
|
14
|
+
- [Age range]
|
|
15
|
+
- [Geographic location]
|
|
16
|
+
- [Social status]
|
|
17
|
+
- [Online presence]
|
|
18
|
+
- [Leisure activities]
|
|
19
|
+
- [Career status]
|
|
20
|
+
|
|
21
|
+
### Quotes
|
|
22
|
+
- "[Quote 1]"
|
|
23
|
+
- "[Quote 2]"
|
|
24
|
+
- "[Quote 3]"
|
|
25
|
+
|
|
26
|
+
### Pains
|
|
27
|
+
- [Pain point 1]
|
|
28
|
+
- [Pain point 2]
|
|
29
|
+
- [Pain point 3]
|
|
30
|
+
|
|
31
|
+
### What is This Person Trying to Accomplish?
|
|
32
|
+
- [Behavior or outcome 1]
|
|
33
|
+
- [Behavior or outcome 2]
|
|
34
|
+
- [Behavior or outcome 3]
|
|
35
|
+
|
|
36
|
+
### Goals
|
|
37
|
+
- [Goal 1]
|
|
38
|
+
- [Goal 2]
|
|
39
|
+
- [Goal 3]
|
|
40
|
+
|
|
41
|
+
### Attitudes & Influences
|
|
42
|
+
- **Decision-Making Authority:** [Yes/No + context]
|
|
43
|
+
- **Decision Influencers:** [Who influences this person]
|
|
44
|
+
- **Beliefs & Attitudes:** [Beliefs/attitudes that impact decisions]
|
|
45
|
+
```
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recommendation-canvas
|
|
3
|
+
description: "Use this to build a structured recommendation canvas for AI product proposals, covering business outcomes, customer outcomes, problem framing, solution hypotheses, positioning, risks, and value justification."
|
|
4
|
+
type: component
|
|
5
|
+
triggers:
|
|
6
|
+
- "create a recommendation canvas"
|
|
7
|
+
- "build a product recommendation for stakeholders"
|
|
8
|
+
- "help me propose an AI solution with a canvas"
|
|
9
|
+
- "I need to pitch an AI feature to execs"
|
|
10
|
+
negative_triggers:
|
|
11
|
+
- "write a PRD"
|
|
12
|
+
- "create a business case spreadsheet"
|
|
13
|
+
- "build a feature spec"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Purpose
|
|
18
|
+
Evaluate and propose AI product solutions using a structured canvas that assesses business outcomes, customer outcomes, problem framing, solution hypotheses, positioning, risks, and value justification. Use this to build a comprehensive, defensible recommendation for stakeholders and decision-makers—especially when proposing AI-powered features or products that carry higher uncertainty and risk.
|
|
19
|
+
|
|
20
|
+
This is not a feature spec—it's a strategic proposal that articulates *why* this AI solution is worth building, *what* assumptions need validating, and *how* you'll measure success.
|
|
21
|
+
|
|
22
|
+
## Key Concepts
|
|
23
|
+
|
|
24
|
+
### The Recommendation Canvas Framework
|
|
25
|
+
Created for Dean Peters' Productside "AI Innovation for Product Managers" class, the canvas synthesizes multiple PM frameworks into one strategic view:
|
|
26
|
+
|
|
27
|
+
**Core Components:**
|
|
28
|
+
1. **Business Outcome:** What's in it for the business?
|
|
29
|
+
2. **Product Outcome:** What's in it for the customer?
|
|
30
|
+
3. **Problem Statement:** Persona-centric problem framing
|
|
31
|
+
4. **Solution Hypothesis:** If/then hypothesis with experiments
|
|
32
|
+
5. **Positioning Statement:** Value prop and differentiation
|
|
33
|
+
6. **Assumptions & Unknowns:** What could invalidate this?
|
|
34
|
+
7. **PESTEL Risks:** Political, Economic, Social, Technological, Environmental, Legal
|
|
35
|
+
8. **Value Justification:** Why this is worth doing
|
|
36
|
+
9. **Success Metrics:** SMART metrics to measure impact
|
|
37
|
+
10. **What's Next:** Strategic next steps
|
|
38
|
+
|
|
39
|
+
### Why This Works
|
|
40
|
+
- **Outcome-driven:** Forces clarity on business AND customer value
|
|
41
|
+
- **Hypothesis-centric:** Treats solution as a bet to validate, not a commitment
|
|
42
|
+
- **Risk-explicit:** Makes assumptions and risks visible upfront
|
|
43
|
+
- **Executive-friendly:** Comprehensive but structured for C-level review
|
|
44
|
+
- **AI-appropriate:** Especially useful for AI features with high uncertainty
|
|
45
|
+
|
|
46
|
+
### Anti-Patterns (What This Is NOT)
|
|
47
|
+
- **Not a PRD:** This is strategic framing, not detailed requirements
|
|
48
|
+
- **Not a business case (yet):** It informs the business case but needs validation first
|
|
49
|
+
- **Not a feature list:** Focus on outcomes, not capabilities
|
|
50
|
+
|
|
51
|
+
### When to Use This
|
|
52
|
+
- Proposing a new AI-powered product or feature
|
|
53
|
+
- Pitching to execs or securing budget/sponsorship
|
|
54
|
+
- Evaluating whether an AI solution is worth pursuing
|
|
55
|
+
- Aligning cross-functional stakeholders (product, engineering, data science, business)
|
|
56
|
+
- After completing initial discovery (you need context to fill this out)
|
|
57
|
+
|
|
58
|
+
### When NOT to Use This
|
|
59
|
+
- For trivial features (don't over-engineer small tweaks)
|
|
60
|
+
- Before any discovery work (you need user research and problem validation first)
|
|
61
|
+
- As a replacement for experimentation (canvas informs experiments, not vice versa)
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Application
|
|
66
|
+
|
|
67
|
+
Use `template.md` for the full fill-in structure.
|
|
68
|
+
|
|
69
|
+
### Step 1: Gather Context
|
|
70
|
+
Before filling out the canvas, ensure you have:
|
|
71
|
+
- **Problem understanding:** User research, pain points (reference `skills/problem-statement/SKILL.md`)
|
|
72
|
+
- **Persona clarity:** Who experiences the problem? (reference `skills/proto-persona/SKILL.md`)
|
|
73
|
+
- **Market context:** Competitive landscape, category positioning
|
|
74
|
+
- **Business constraints:** Budget, timelines, strategic priorities
|
|
75
|
+
|
|
76
|
+
**If missing context:** Run discovery work first. This canvas synthesizes insights—it doesn't create them.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### Step 2: Define Outcomes
|
|
81
|
+
|
|
82
|
+
#### Business Outcome
|
|
83
|
+
What's in it for the business? Use this format:
|
|
84
|
+
- [Direction] [Metric] [Outcome] [Context] [Acceptance Criteria]
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
## Business Outcome
|
|
88
|
+
- [e.g., "Reduce by 25% the churn of existing customers using our existing product"]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Example:**
|
|
92
|
+
- "Increase by 15% the monthly recurring revenue from enterprise customers within 12 months"
|
|
93
|
+
|
|
94
|
+
**Quality checks:**
|
|
95
|
+
- **Measurable:** Can you track this metric?
|
|
96
|
+
- **Time-bound:** Within what timeframe?
|
|
97
|
+
- **Ambitious but realistic:** Not "10x revenue in 1 month"
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
#### Product Outcome
|
|
102
|
+
What's in it for the customer? Use this format:
|
|
103
|
+
- [Direction] [Metric] [Outcome] [Context from persona's POV] [Acceptance Criteria]
|
|
104
|
+
|
|
105
|
+
```markdown
|
|
106
|
+
## Product Outcome
|
|
107
|
+
- [e.g., "Increase the speed of finding patients when I know the inclusion and exclusion criteria"]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Example:**
|
|
111
|
+
- "Reduce by 60% the time spent manually processing invoices for small business owners"
|
|
112
|
+
|
|
113
|
+
**Quality checks:**
|
|
114
|
+
- **Customer-centric:** Written from user perspective ("I," not "we")
|
|
115
|
+
- **Outcome, not feature:** "Reduce time spent" not "Use AI automation"
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### Step 3: Frame the Problem
|
|
120
|
+
Use the problem framing narrative from `skills/problem-statement/SKILL.md`:
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
## The Problem Statement
|
|
124
|
+
|
|
125
|
+
### Problem Statement Narrative
|
|
126
|
+
- [Persona description: 2-3 sentences telling the persona's story from their POV]
|
|
127
|
+
- [Example: "Sarah is a freelance designer managing 10 clients. She spends 8 hours/month manually tracking invoices and chasing late payments. By the time she follows up, some clients have already moved to other designers, costing her revenue and damaging relationships."]
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Quality checks:**
|
|
131
|
+
- **Empathetic:** Does this sound like the user's voice?
|
|
132
|
+
- **Specific:** Not "users want better tools" but "Sarah spends 8 hours/month..."
|
|
133
|
+
- **Validated:** Based on real user research, not assumptions
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### Step 4: Define the Solution Hypothesis
|
|
138
|
+
|
|
139
|
+
#### Hypothesis Statement
|
|
140
|
+
Use the epic hypothesis format from `skills/epic-hypothesis/SKILL.md`:
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+
## Solution Hypothesis
|
|
144
|
+
|
|
145
|
+
### Hypothesis Statement
|
|
146
|
+
**If we** [action or solution on behalf of target persona]
|
|
147
|
+
**for** [target persona]
|
|
148
|
+
**Then we will** [attain or achieve desirable outcome]
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Example:**
|
|
152
|
+
- "If we provide AI-powered invoice reminders that auto-send at optimal times for freelance designers, then we will reduce time spent on payment follow-ups by 70%"
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
#### Tiny Acts of Discovery
|
|
157
|
+
Define lightweight experiments to validate the hypothesis:
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
### Tiny Acts of Discovery
|
|
161
|
+
**We will test our assumption by:**
|
|
162
|
+
- [Experiment 1: Prototype AI reminder system and test with 5 freelancers]
|
|
163
|
+
- [Experiment 2: A/B test manual vs. AI-timed reminders for 20 users]
|
|
164
|
+
- [Experiment 3: Survey users on perceived value after 2 weeks]
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Quality checks:**
|
|
168
|
+
- **Fast:** Days/weeks, not months
|
|
169
|
+
- **Cheap:** Prototypes, concierge tests, not full builds
|
|
170
|
+
- **Falsifiable:** Could prove you wrong
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
#### Proof-of-Life
|
|
175
|
+
Define validation measures:
|
|
176
|
+
|
|
177
|
+
```markdown
|
|
178
|
+
### Proof-of-Life
|
|
179
|
+
**We know our hypothesis is valid if within** [timeframe]
|
|
180
|
+
**we observe:**
|
|
181
|
+
- [Quantitative outcome: e.g., "80% of users send reminders via the AI system"]
|
|
182
|
+
- [Qualitative outcome: e.g., "8 out of 10 users report saving 5+ hours/month"]
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### Step 5: Define Positioning
|
|
188
|
+
Use the positioning statement format from `skills/positioning-statement/SKILL.md`:
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
## Positioning Statement
|
|
192
|
+
|
|
193
|
+
### Value Proposition
|
|
194
|
+
**For** [target customer/user persona]
|
|
195
|
+
**that need** [statement of underserved need]
|
|
196
|
+
[product name]
|
|
197
|
+
**is a** [product category]
|
|
198
|
+
**that** [statement of benefit, focusing on outcomes]
|
|
199
|
+
|
|
200
|
+
### Differentiation Statement
|
|
201
|
+
**Unlike** [primary competitor or competitive arena]
|
|
202
|
+
[product name]
|
|
203
|
+
**provides** [unique differentiation, focusing on outcomes]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### Step 6: Document Assumptions & Unknowns
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
## Assumptions & Unknowns
|
|
212
|
+
- **[Assumption 1]** - [Description, e.g., "We assume users will trust AI-generated reminders"]
|
|
213
|
+
- **[Assumption 2]** - [Description, e.g., "We assume payment timing optimization increases response rates"]
|
|
214
|
+
- **[Unknown 1]** - [Description, e.g., "We don't know if users prefer email or SMS reminders"]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Quality checks:**
|
|
218
|
+
- **Explicit:** Make hidden assumptions visible
|
|
219
|
+
- **Testable:** Each assumption can be validated via experiments
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### Step 7: Identify PESTEL Risks
|
|
224
|
+
|
|
225
|
+
#### Risks to Investigate (High Priority)
|
|
226
|
+
```markdown
|
|
227
|
+
## Issues/Risks to Investigate
|
|
228
|
+
- **Political:** [e.g., "Regulatory changes to AI-generated communications"]
|
|
229
|
+
- **Economic:** [e.g., "Economic downturn reduces willingness to pay for premium features"]
|
|
230
|
+
- **Social:** [e.g., "Users may perceive AI reminders as impersonal or pushy"]
|
|
231
|
+
- **Technological:** [e.g., "AI model accuracy may degrade over time without retraining"]
|
|
232
|
+
- **Environmental:** [e.g., "Energy costs of AI processing"]
|
|
233
|
+
- **Legal:** [e.g., "GDPR compliance for storing customer email patterns"]
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
#### Risks to Monitor (Lower Priority)
|
|
239
|
+
```markdown
|
|
240
|
+
## Issues/Risks to Monitor
|
|
241
|
+
- **Political:** [e.g., "Potential AI regulation in EU markets"]
|
|
242
|
+
- **Economic:** [e.g., "Exchange rate fluctuations affecting international customers"]
|
|
243
|
+
- **Social:** [e.g., "Changing norms around automated communication"]
|
|
244
|
+
- **Technological:** [e.g., "Emerging AI competitors with better models"]
|
|
245
|
+
- **Environmental:** [e.g., "Carbon footprint concerns from stakeholders"]
|
|
246
|
+
- **Legal:** [e.g., "Future data privacy laws"]
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
### Step 8: Justify the Value
|
|
252
|
+
|
|
253
|
+
```markdown
|
|
254
|
+
## Value Justification
|
|
255
|
+
|
|
256
|
+
### Is this Valuable?
|
|
257
|
+
- [Absolutely yes / Yes with caveats / No with suggested alternatives / Absolutely NO!]
|
|
258
|
+
|
|
259
|
+
### Solution Justification
|
|
260
|
+
<!-- Write these to convince C-level executives -->
|
|
261
|
+
We think this is a valuable idea. Here's why:
|
|
262
|
+
1. **[Justification 1]** - [Description, e.g., "Addresses the #1 pain point for our target segment"]
|
|
263
|
+
2. **[Justification 2]** - [Description, e.g., "Differentiates us from competitors who only offer manual reminders"]
|
|
264
|
+
3. **[Justification 3]** - [Description, e.g., "Low technical risk—leverages existing AI infrastructure"]
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
### Step 9: Define Success Metrics
|
|
270
|
+
Use SMART metrics (Specific, Measurable, Attainable, Relevant, Time-Bound):
|
|
271
|
+
|
|
272
|
+
```markdown
|
|
273
|
+
## Success Metrics
|
|
274
|
+
1. **[Metric 1]** - [e.g., "80% of active users adopt AI reminders within 3 months"]
|
|
275
|
+
2. **[Metric 2]** - [e.g., "Average time spent on payment follow-ups decreases by 50% within 6 months"]
|
|
276
|
+
3. **[Metric 3]** - [e.g., "Net Promoter Score for invoicing feature increases from 6 to 8 within 6 months"]
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### Step 10: Define Next Steps
|
|
282
|
+
|
|
283
|
+
```markdown
|
|
284
|
+
## What's Next
|
|
285
|
+
1. **[Next step 1]** - [e.g., "Run 2-week prototype test with 10 beta users"]
|
|
286
|
+
2. **[Next step 2]** - [e.g., "Build lightweight AI model for reminder timing optimization"]
|
|
287
|
+
3. **[Next step 3]** - [e.g., "Conduct legal review of GDPR implications"]
|
|
288
|
+
4. **[Next step 4]** - [e.g., "Present findings to exec team for go/no-go decision"]
|
|
289
|
+
5. **[Next step 5]** - [e.g., "If validated, add to Q2 roadmap"]
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Examples
|
|
295
|
+
|
|
296
|
+
See `examples/sample.md` for a full recommendation canvas example.
|
|
297
|
+
|
|
298
|
+
Mini example excerpt:
|
|
299
|
+
|
|
300
|
+
```markdown
|
|
301
|
+
### Business Outcome
|
|
302
|
+
- Increase by 20% MRR from freelance users within 12 months
|
|
303
|
+
|
|
304
|
+
### Solution Hypothesis
|
|
305
|
+
**If we** provide AI-powered invoice reminders
|
|
306
|
+
**for** freelance designers
|
|
307
|
+
**Then we will** reduce time spent on follow-ups by 70%
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## Common Pitfalls
|
|
311
|
+
|
|
312
|
+
### Pitfall 1: Vague Outcomes
|
|
313
|
+
**Symptom:** "Business outcome: increase revenue. Product outcome: improve UX."
|
|
314
|
+
|
|
315
|
+
**Consequence:** No measurability or accountability.
|
|
316
|
+
|
|
317
|
+
**Fix:** Use the outcome formula: [Direction] [Metric] [Outcome] [Context] [Acceptance Criteria]. Be specific.
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
### Pitfall 2: Solution-First Thinking
|
|
322
|
+
**Symptom:** Problem statement is "We need AI-powered X"
|
|
323
|
+
|
|
324
|
+
**Consequence:** You've jumped to solution without validating the problem.
|
|
325
|
+
|
|
326
|
+
**Fix:** Frame problem from user perspective. Let the solution hypothesis emerge from validated pain points.
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
### Pitfall 3: Skipping Tiny Acts of Discovery
|
|
331
|
+
**Symptom:** Hypothesis → straight to roadmap, no experiments
|
|
332
|
+
|
|
333
|
+
**Consequence:** High risk of building the wrong thing.
|
|
334
|
+
|
|
335
|
+
**Fix:** Define 2-3 lightweight experiments. Test before committing engineering resources.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
### Pitfall 4: Generic PESTEL Risks
|
|
340
|
+
**Symptom:** "Political: regulations might change"
|
|
341
|
+
|
|
342
|
+
**Consequence:** Risk analysis is theater, not actionable.
|
|
343
|
+
|
|
344
|
+
**Fix:** Be specific: "GDPR compliance for storing client email timing data requires legal review."
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
### Pitfall 5: Weak Value Justification
|
|
349
|
+
**Symptom:** "This is valuable because customers will like it"
|
|
350
|
+
|
|
351
|
+
**Consequence:** Not convincing to execs.
|
|
352
|
+
|
|
353
|
+
**Fix:** Use data: "Addresses #1 pain point per user research. 20% churn reduction = $500k ARR. Low tech risk."
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## References
|
|
358
|
+
|
|
359
|
+
### Related Skills
|
|
360
|
+
- `skills/problem-statement/SKILL.md` — Informs the problem narrative
|
|
361
|
+
- `skills/epic-hypothesis/SKILL.md` — Informs the solution hypothesis structure
|
|
362
|
+
- `skills/positioning-statement/SKILL.md` — Informs positioning section
|
|
363
|
+
- `skills/proto-persona/SKILL.md` — Defines target persona
|
|
364
|
+
- `skills/jobs-to-be-done/SKILL.md` — Informs customer outcomes
|
|
365
|
+
|
|
366
|
+
### External Frameworks
|
|
367
|
+
- Osterwalder's Value Proposition Canvas — Influences problem/solution framing
|
|
368
|
+
- PESTEL Analysis — Risk assessment framework
|
|
369
|
+
- SMART Goals — Success metrics structure
|
|
370
|
+
|
|
371
|
+
### Dean's Work
|
|
372
|
+
- AI Recommendation Canvas Template (created for Productside "AI Innovation for Product Managers" class)
|
|
373
|
+
|
|
374
|
+
### Provenance
|
|
375
|
+
- Adapted from `prompts/recommendation-canvas-template.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
**Skill type:** Component
|
|
380
|
+
**Suggested filename:** `recommendation-canvas.md`
|
|
381
|
+
**Suggested placement:** `/skills/components/`
|
|
382
|
+
**Dependencies:** References `skills/problem-statement/SKILL.md`, `skills/epic-hypothesis/SKILL.md`, `skills/positioning-statement/SKILL.md`, `skills/proto-persona/SKILL.md`, `skills/jobs-to-be-done/SKILL.md`
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Recommendation Canvas Example
|
|
2
|
+
|
|
3
|
+
## Example: AI-Powered Invoice Reminder System (Good Canvas)
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
## AI Invoice Reminder Canvas
|
|
7
|
+
|
|
8
|
+
### Product Name
|
|
9
|
+
- SmartReminders
|
|
10
|
+
|
|
11
|
+
### Business Outcome
|
|
12
|
+
- Increase by 20% the monthly recurring revenue from freelance users within 12 months by reducing churn caused by payment frustration
|
|
13
|
+
|
|
14
|
+
### Product Outcome
|
|
15
|
+
- Reduce by 70% the time freelancers spend chasing late payments when using our invoicing platform
|
|
16
|
+
|
|
17
|
+
### The Problem Statement
|
|
18
|
+
Sarah is a freelance designer managing 10 clients at once. She spends 5+ hours per month manually tracking overdue invoices and sending follow-up emails. By the time she follows up, some clients have already forgotten or moved on, costing her revenue and damaging relationships. She feels anxious and frustrated, wishing she could focus on design instead of admin.
|
|
19
|
+
|
|
20
|
+
### Solution Hypothesis
|
|
21
|
+
|
|
22
|
+
**If we** provide AI-powered invoice reminders that auto-send at optimal times
|
|
23
|
+
**for** freelance designers using our invoicing platform
|
|
24
|
+
**Then we will** reduce time spent on payment follow-ups by 70% and increase on-time payment rates by 30%
|
|
25
|
+
|
|
26
|
+
**Tiny Acts of Discovery:**
|
|
27
|
+
- Prototype AI reminder system and test with 5 freelancers for 2 weeks
|
|
28
|
+
- A/B test manual vs. AI-timed reminders with 20 users
|
|
29
|
+
- Survey users on perceived value and trust in AI-generated messages
|
|
30
|
+
|
|
31
|
+
**Proof-of-Life:**
|
|
32
|
+
Within 4 weeks, we observe:
|
|
33
|
+
- 80% of test users adopt AI reminders (quantitative)
|
|
34
|
+
- 8 out of 10 users report saving 3+ hours/month (qualitative)
|
|
35
|
+
- On-time payment rate increases by 20% (quantitative)
|
|
36
|
+
|
|
37
|
+
### Positioning Statement
|
|
38
|
+
|
|
39
|
+
**For** freelance creative professionals
|
|
40
|
+
**that need** to reduce time spent chasing late payments without damaging client relationships
|
|
41
|
+
SmartReminders
|
|
42
|
+
**is an** AI-powered invoicing automation feature
|
|
43
|
+
**that** automatically sends payment reminders at optimal times, increasing on-time payments by 30%
|
|
44
|
+
|
|
45
|
+
**Unlike** manual reminder systems or generic email schedulers
|
|
46
|
+
SmartReminders
|
|
47
|
+
**provides** AI-optimized timing based on client behavior patterns, maximizing response rates without appearing pushy
|
|
48
|
+
|
|
49
|
+
### Assumptions & Unknowns
|
|
50
|
+
- **Assumption 1:** Users will trust AI to send messages on their behalf
|
|
51
|
+
- **Assumption 2:** Optimal reminder timing improves payment rates
|
|
52
|
+
- **Unknown 1:** Whether users prefer email, SMS, or in-app reminders
|
|
53
|
+
- **Unknown 2:** How to handle clients who never respond to reminders
|
|
54
|
+
|
|
55
|
+
### Issues/Risks to Investigate
|
|
56
|
+
- **Political:** N/A (low risk)
|
|
57
|
+
- **Economic:** Recession may reduce willingness to pay for premium features
|
|
58
|
+
- **Social:** Users may perceive AI reminders as impersonal or spammy
|
|
59
|
+
- **Technological:** AI model accuracy may degrade without retraining
|
|
60
|
+
- **Environmental:** Minimal (low energy costs)
|
|
61
|
+
- **Legal:** GDPR compliance for storing client email patterns and timing data
|
|
62
|
+
|
|
63
|
+
### Issues/Risks to Monitor
|
|
64
|
+
- **Political:** Future AI regulation
|
|
65
|
+
- **Economic:** Currency fluctuations for international users
|
|
66
|
+
- **Social:** Changing norms around automated business communication
|
|
67
|
+
- **Technological:** Competitor AI models
|
|
68
|
+
- **Environmental:** Carbon footprint concerns
|
|
69
|
+
- **Legal:** Evolving data privacy laws
|
|
70
|
+
|
|
71
|
+
### Value Justification
|
|
72
|
+
|
|
73
|
+
**Is this Valuable?**
|
|
74
|
+
- Absolutely yes
|
|
75
|
+
|
|
76
|
+
**Solution Justification:**
|
|
77
|
+
1. **Addresses top pain point:** Payment follow-ups are the #1 complaint from freelance users (per user research)
|
|
78
|
+
2. **Differentiates from competitors:** Competitors offer manual reminders; we offer AI-optimized timing
|
|
79
|
+
3. **Low technical risk:** Leverages existing AI infrastructure and user behavior data
|
|
80
|
+
4. **High business impact:** Reducing churn by 20% = $500k ARR
|
|
81
|
+
|
|
82
|
+
### Success Metrics
|
|
83
|
+
1. **Adoption:** 75% of active invoicing users enable AI reminders within 3 months
|
|
84
|
+
2. **Time savings:** Average time spent on payment follow-ups decreases by 60% within 6 months
|
|
85
|
+
3. **Payment rates:** On-time payment rate increases from 50% to 65% within 6 months
|
|
86
|
+
4. **NPS:** Net Promoter Score for invoicing feature increases from 6 to 8
|
|
87
|
+
|
|
88
|
+
### What's Next
|
|
89
|
+
1. **Run prototype test:** 2-week test with 10 beta users
|
|
90
|
+
2. **Build lightweight AI model:** Optimize reminder timing based on client response patterns
|
|
91
|
+
3. **Legal review:** GDPR compliance check
|
|
92
|
+
4. **Present to execs:** Go/no-go decision by end of Q1
|
|
93
|
+
5. **If validated:** Add to Q2 roadmap as high-priority feature
|
|
94
|
+
```
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Recommendation Canvas Template
|
|
2
|
+
|
|
3
|
+
Use this template to produce a complete AI recommendation canvas.
|
|
4
|
+
|
|
5
|
+
## Provenance
|
|
6
|
+
Adapted from `prompts/recommendation-canvas-template.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
|
|
7
|
+
|
|
8
|
+
## Template
|
|
9
|
+
```markdown
|
|
10
|
+
## AI Recommendation Canvas
|
|
11
|
+
|
|
12
|
+
### Product Name
|
|
13
|
+
- [Name of the AI product or service]
|
|
14
|
+
|
|
15
|
+
### Business Outcome
|
|
16
|
+
- [Direction][Metric][Outcome][Context][Acceptance criteria]
|
|
17
|
+
|
|
18
|
+
### Product Outcome
|
|
19
|
+
- [Direction][Metric][Outcome][Context][Acceptance criteria]
|
|
20
|
+
|
|
21
|
+
### The Problem Statement
|
|
22
|
+
- [2-3 sentence narrative from the persona's POV]
|
|
23
|
+
|
|
24
|
+
### Solution Hypothesis
|
|
25
|
+
**If we** [action or solution]
|
|
26
|
+
**for** [target persona]
|
|
27
|
+
**Then we will** [desirable outcome]
|
|
28
|
+
|
|
29
|
+
**Tiny Acts of Discovery:**
|
|
30
|
+
- [Experiment 1]
|
|
31
|
+
- [Experiment 2]
|
|
32
|
+
- [Add more as needed]
|
|
33
|
+
|
|
34
|
+
**Proof-of-Life:**
|
|
35
|
+
Within [timeframe], we observe:
|
|
36
|
+
- [Quantitative outcome]
|
|
37
|
+
- [Qualitative outcome]
|
|
38
|
+
|
|
39
|
+
### Positioning Statement
|
|
40
|
+
**For** [target customer/persona]
|
|
41
|
+
**that need** [underserved need]
|
|
42
|
+
[product name]
|
|
43
|
+
**is a** [product category]
|
|
44
|
+
**that** [benefit statement]
|
|
45
|
+
|
|
46
|
+
**Unlike** [primary competitor or alternative]
|
|
47
|
+
[product name]
|
|
48
|
+
**provides** [unique differentiation]
|
|
49
|
+
|
|
50
|
+
### Assumptions & Unknowns
|
|
51
|
+
- **[Assumption/Unknown 1]** - [Description]
|
|
52
|
+
- **[Assumption/Unknown 2]** - [Description]
|
|
53
|
+
|
|
54
|
+
### Issues/Risks to Investigate (PESTEL)
|
|
55
|
+
- **Political:** [Risk]
|
|
56
|
+
- **Economic:** [Risk]
|
|
57
|
+
- **Social:** [Risk]
|
|
58
|
+
- **Technological:** [Risk]
|
|
59
|
+
- **Environmental:** [Risk]
|
|
60
|
+
- **Legal:** [Risk]
|
|
61
|
+
|
|
62
|
+
### Issues/Risks to Monitor (PESTEL)
|
|
63
|
+
- **Political:** [Risk]
|
|
64
|
+
- **Economic:** [Risk]
|
|
65
|
+
- **Social:** [Risk]
|
|
66
|
+
- **Technological:** [Risk]
|
|
67
|
+
- **Environmental:** [Risk]
|
|
68
|
+
- **Legal:** [Risk]
|
|
69
|
+
|
|
70
|
+
### Value Justification
|
|
71
|
+
**Is this Valuable?** [Absolutely yes / Yes with caveats / No]
|
|
72
|
+
|
|
73
|
+
**Solution Justification:**
|
|
74
|
+
1. **[Justification 1]** - [Description]
|
|
75
|
+
2. **[Justification 2]** - [Description]
|
|
76
|
+
|
|
77
|
+
### Success Metrics
|
|
78
|
+
1. **[Metric 1]** - [Description]
|
|
79
|
+
2. **[Metric 2]** - [Description]
|
|
80
|
+
3. **[Metric 3]** - [Description]
|
|
81
|
+
|
|
82
|
+
### What's Next
|
|
83
|
+
1. **[Next step 1]** - [Description]
|
|
84
|
+
2. **[Next step 2]** - [Description]
|
|
85
|
+
3. **[Next step 3]** - [Description]
|
|
86
|
+
```
|