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,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: save-money
|
|
3
|
+
description: >-
|
|
4
|
+
Auto-detect task complexity for Claude models (Haiku + Sonnet). Route simple
|
|
5
|
+
tasks to Haiku, escalate complex ones to Sonnet. Save 50%+ on API costs. |
|
|
6
|
+
適用 Claude 模型(Haiku + Sonnet),自動偵測任務難度,簡單用 Haiku,複雜升級
|
|
7
|
+
Sonnet,輕鬆省下 50% 以上的費用。— RULES: Before responding, classify the task.
|
|
8
|
+
If it matches an escalation trigger, call sessions_spawn with the full task
|
|
9
|
+
and model anthropic/claude-sonnet-4-20250514 IMMEDIATELY. Do NOT answer
|
|
10
|
+
complex tasks yourself. ESCALATE: analysis, comparisons, planning, strategy,
|
|
11
|
+
code >10 lines, reports, proposals, multi-step reasoning, tables, outlines,
|
|
12
|
+
charts, long writing >3 paragraphs, summarization, long translation. NEVER
|
|
13
|
+
on Haiku: comparison tables, code >10 lines, multi-step analysis, reports,
|
|
14
|
+
complex reasoning. STAY on Haiku: factual Q&A, definitions, greetings,
|
|
15
|
+
reminders, short lookups, casual chat, 1-2 sentence tasks. When in doubt,
|
|
16
|
+
escalate. Keep Haiku replies concise.
|
|
17
|
+
triggers:
|
|
18
|
+
- "save money on API costs"
|
|
19
|
+
- "reduce my Claude spending"
|
|
20
|
+
- "route to cheaper model"
|
|
21
|
+
- "use Haiku for simple tasks"
|
|
22
|
+
negative_triggers:
|
|
23
|
+
- "optimize my agent setup"
|
|
24
|
+
- "which model is best for this task"
|
|
25
|
+
- "compare Claude models"
|
|
26
|
+
author: "小安 Ann Agent — Taiwan 台灣"
|
|
27
|
+
homepage: https://github.com/peterann/save-money
|
|
28
|
+
metadata:
|
|
29
|
+
clawdbot:
|
|
30
|
+
emoji: "🧠"
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# Save Money
|
|
34
|
+
|
|
35
|
+
Run on **Haiku** by default. Only spawn **Sonnet** when the task actually needs it. Save **50%+** on API costs.
|
|
36
|
+
|
|
37
|
+
## CRITICAL: Classify First, Then Act
|
|
38
|
+
|
|
39
|
+
Before generating ANY response, you MUST:
|
|
40
|
+
|
|
41
|
+
1. Check: does this task match ANY escalation trigger below?
|
|
42
|
+
2. If YES → call `sessions_spawn()` IMMEDIATELY. Do NOT attempt to answer yourself.
|
|
43
|
+
3. If NO → respond directly on the current model.
|
|
44
|
+
|
|
45
|
+
When in doubt, escalate. A wrong escalation only costs a few cents. A bad answer on Haiku wastes the user's time.
|
|
46
|
+
|
|
47
|
+
## Rule of Thumb
|
|
48
|
+
|
|
49
|
+
> If a human would need more than 30 seconds of focused thinking, escalate.
|
|
50
|
+
>
|
|
51
|
+
> 如果一個人需要超過 30 秒的專注思考才能完成,就升級模型。
|
|
52
|
+
|
|
53
|
+
## When to Escalate → MUST call sessions_spawn
|
|
54
|
+
|
|
55
|
+
If the task matches ANY of the following, do NOT answer yourself.
|
|
56
|
+
Instead, IMMEDIATELY call:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
sessions_spawn(
|
|
60
|
+
message: "<the full task description>",
|
|
61
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
62
|
+
label: "<short task label>"
|
|
63
|
+
)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Escalation triggers
|
|
67
|
+
|
|
68
|
+
- **Analysis & evaluation** — compare options, assess trade-offs, review documents
|
|
69
|
+
- **Planning & strategy** — project plans, roadmaps, business models, architecture
|
|
70
|
+
- **Long-form writing** — reports, proposals, articles, presentations, emails > 3 paragraphs
|
|
71
|
+
- **Code generation** — write functions, build features, refactor, debug complex issues
|
|
72
|
+
- **Multi-step reasoning** — anything with "first... then... finally" or numbered steps
|
|
73
|
+
- **Summarize large content** — long documents, full articles, meeting transcripts
|
|
74
|
+
- **Long translation** — paragraphs or full documents (not single sentences)
|
|
75
|
+
- **Creative writing** — copywriting, ad scripts, naming with brand constraints
|
|
76
|
+
- **Structured output** — tables, outlines, formatted documents, comparison charts
|
|
77
|
+
|
|
78
|
+
### By how people actually ask
|
|
79
|
+
|
|
80
|
+
| Language | Escalate — real examples |
|
|
81
|
+
|----------|--------------------------|
|
|
82
|
+
| English | "Can you analyze this for me?", "Write me a report on...", "Help me plan...", "What are the pros and cons?", "Build a script that...", "Compare A vs B", "Step by step, how do I...", "Draft a proposal for..." |
|
|
83
|
+
| 繁體中文 | "欸幫我看一下這個報告", "幫我想一下怎麼回客戶", "這兩個方案哪個比較好", "寫一封信給老闆", "幫我整理一下這份資料", "我該怎麼處理這個問題", "可以幫我寫一個程式嗎", "幫我規劃一下行程", "有什麼辦法可以改善", "這個東西要怎麼設計比較好" |
|
|
84
|
+
| 日本語 | "これを分析してもらえますか", "レポートを書いてください", "計画を立ててほしい", "AとBを比較して", "コードを書いてほしい", "この資料をまとめて", "提案書を作って", "どうすればいいか考えて" |
|
|
85
|
+
| 한국어 | "이거 분석해줘", "보고서 작성해줘", "계획 세워줘", "A랑 B 비교해줘", "코드 짜줘", "이 자료 정리해줘", "제안서 만들어줘", "어떻게 하면 좋을까?" |
|
|
86
|
+
| Deutsch | "Kannst du das analysieren?", "Schreib mir einen Bericht", "Hilf mir das zu planen", "Vergleich A mit B", "Schreib ein Skript für...", "Fass das zusammen", "Wie soll ich das lösen?", "Erstell einen Entwurf" |
|
|
87
|
+
|
|
88
|
+
### By complexity signals
|
|
89
|
+
|
|
90
|
+
- Prompt is longer than 200 characters with specific requirements
|
|
91
|
+
- Contains multiple conditions or constraints
|
|
92
|
+
- Asks for structured output (tables, outlines, formatted documents)
|
|
93
|
+
- Professional context: proposal, presentation, resume, contract
|
|
94
|
+
|
|
95
|
+
## NEVER do this on Haiku
|
|
96
|
+
|
|
97
|
+
- NEVER write a comparison table yourself — escalate
|
|
98
|
+
- NEVER write code longer than 10 lines yourself — escalate
|
|
99
|
+
- NEVER write more than 3 paragraphs yourself — escalate
|
|
100
|
+
- NEVER do multi-step analysis yourself — escalate
|
|
101
|
+
- NEVER write a report or proposal yourself — escalate
|
|
102
|
+
- NEVER attempt complex reasoning chains yourself — escalate
|
|
103
|
+
|
|
104
|
+
If you catch yourself writing a long response for a complex task, STOP and call `sessions_spawn` instead.
|
|
105
|
+
|
|
106
|
+
## When to Stay on Haiku
|
|
107
|
+
|
|
108
|
+
- **Factual Q&A** — "what is X", "who is Y", "when did Z happen"
|
|
109
|
+
- **Quick lookups** — definitions, short translations (single sentences), unit conversions
|
|
110
|
+
- **Memory & reminders** — "remember this", "remind me to..."
|
|
111
|
+
- **Casual conversation** — greetings, small talk, jokes
|
|
112
|
+
- **Status checks** — "what's on my calendar", simple file reads
|
|
113
|
+
- **One-liner tasks** — anything answerable in 1-2 sentences
|
|
114
|
+
|
|
115
|
+
| Language | Stay — real examples |
|
|
116
|
+
|----------|----------------------|
|
|
117
|
+
| English | "What's the weather?", "Remind me at 3pm", "What does OKR mean?", "Translate: thank you", "Hey what's up" |
|
|
118
|
+
| 繁體中文 | "今天天氣怎樣", "幫我記一下明天要開會", "這個字什麼意思", "現在幾點", "嗨", "謝謝", "OK", "查一下匯率", "翻譯一下 thank you" |
|
|
119
|
+
| 日本語 | "天気は?", "意味を教えて", "これ何?", "おはよう", "リマインドして", "ありがとう" |
|
|
120
|
+
| 한국어 | "날씨 어때?", "뜻이 뭐야?", "이게 뭐야?", "안녕", "알림 설정해줘", "고마워" |
|
|
121
|
+
| Deutsch | "Wie ist das Wetter?", "Was bedeutet das?", "Was ist das?", "Hallo", "Erinner mich um 3", "Danke" |
|
|
122
|
+
|
|
123
|
+
## Save even more: keep responses short
|
|
124
|
+
|
|
125
|
+
When on Haiku, keep replies concise. Fewer output tokens = lower cost.
|
|
126
|
+
|
|
127
|
+
- Simple question → 1-2 sentence answer, don't over-explain
|
|
128
|
+
- Lookup → give the answer, skip the preamble
|
|
129
|
+
- Greeting → short and warm, no essays
|
|
130
|
+
|
|
131
|
+
## Save even more: de-escalate
|
|
132
|
+
|
|
133
|
+
If a conversation was escalated to Sonnet but the follow-up is simple, **switch back to Haiku**.
|
|
134
|
+
|
|
135
|
+
- User: "幫我分析這份報告" → Sonnet ✓
|
|
136
|
+
- User: "好,那就用第一個方案" → back to Haiku ✓
|
|
137
|
+
- User: "幫我記住這個結論" → Haiku ✓
|
|
138
|
+
|
|
139
|
+
Don't stay on the expensive model just because the conversation started there.
|
|
140
|
+
|
|
141
|
+
Return the result directly. Do NOT mention the model switch unless the user asks.
|
|
142
|
+
|
|
143
|
+
## Other providers
|
|
144
|
+
|
|
145
|
+
This skill is written for Claude (Haiku + Sonnet). Swap model names for other providers:
|
|
146
|
+
|
|
147
|
+
| Role | Claude | OpenAI | Google |
|
|
148
|
+
|------|--------|--------|--------|
|
|
149
|
+
| Cheap (default) | `claude-3-5-haiku` | `gpt-4o-mini` | `gemini-flash` |
|
|
150
|
+
| Strong (escalate) | `claude-sonnet-4` | `gpt-4o` | `gemini-pro` |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Why the description field is so long
|
|
155
|
+
|
|
156
|
+
The Clawdbot skill system only injects the frontmatter `description` field
|
|
157
|
+
into the system prompt — the body of SKILL.md is **not** automatically
|
|
158
|
+
included. The model may optionally `read` the full file, but it is not
|
|
159
|
+
guaranteed. Because this is a **behavioral skill** (changing how the model
|
|
160
|
+
routes every message) rather than a tool skill (teaching CLI commands), the
|
|
161
|
+
core routing logic must live in the description so the model always sees it.
|
|
162
|
+
|
|
163
|
+
The body above serves as extended documentation: detailed trigger lists,
|
|
164
|
+
multilingual examples, and usage tips that the model can reference if it
|
|
165
|
+
reads the file.
|
|
166
|
+
|
|
167
|
+
**TL;DR:** `description` = what the model always sees. `body` = reference docs.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
*小安 Ann Agent — Taiwan 台灣*
|
|
172
|
+
*Building skills and local MCP services for all AI agents, everywhere.*
|
|
173
|
+
*為所有 AI Agent 打造技能與在地 MCP 服務,不限平台。*
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
5
|
+
ROOT="${OPENCLAW_WORKSPACE:-$(dirname "$(dirname "$SCRIPT_DIR")")}/skills"
|
|
6
|
+
DIST="$ROOT/dist"
|
|
7
|
+
|
|
8
|
+
echo "== Golden Skills v3 Check =="
|
|
9
|
+
|
|
10
|
+
echo "[1/4] Check packaged .skill files"
|
|
11
|
+
for f in \
|
|
12
|
+
"$DIST/arcane-dev-ops.skill" \
|
|
13
|
+
"$DIST/discord-telegram-triage.skill" \
|
|
14
|
+
"$DIST/founder-brief-summarizer.skill"; do
|
|
15
|
+
[[ -f "$f" ]] || { echo "Missing: $f"; exit 1; }
|
|
16
|
+
echo "OK: $f"
|
|
17
|
+
done
|
|
18
|
+
|
|
19
|
+
echo "[2/4] Run arcane prepush_check script"
|
|
20
|
+
WORKSPACE="${OPENCLAW_WORKSPACE:-$(dirname "$(dirname "$SCRIPT_DIR")")}"
|
|
21
|
+
"$ROOT/arcane-dev-ops/scripts/prepush_check.sh" "$WORKSPACE/projects/arcane" "npx hardhat test" >/tmp/arcane_prepush_check.out
|
|
22
|
+
head -n 8 /tmp/arcane_prepush_check.out
|
|
23
|
+
|
|
24
|
+
echo "[3/4] Run channel triage snapshot script (quick)"
|
|
25
|
+
"$ROOT/discord-telegram-triage/scripts/triage_snapshot.sh" >/tmp/channel_triage_snapshot.out
|
|
26
|
+
head -n 12 /tmp/channel_triage_snapshot.out
|
|
27
|
+
|
|
28
|
+
echo "[4/4] Run founder brief template script"
|
|
29
|
+
"$ROOT/founder-brief-summarizer/scripts/brief_template.sh" "golden-test-topic" >/tmp/founder_brief_template.out
|
|
30
|
+
head -n 12 /tmp/founder_brief_template.out
|
|
31
|
+
|
|
32
|
+
echo "All golden checks passed."
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-search
|
|
3
|
+
description: Search the web for real-time information. Use when the user needs current data, news, prices, docs, or anything beyond the model's training cutoff.
|
|
4
|
+
triggers:
|
|
5
|
+
- "search the web for"
|
|
6
|
+
- "look up the latest"
|
|
7
|
+
- "what's the current price of"
|
|
8
|
+
- "find information about"
|
|
9
|
+
negative_triggers:
|
|
10
|
+
- "search my files"
|
|
11
|
+
- "grep the codebase"
|
|
12
|
+
- "query the knowledge graph"
|
|
13
|
+
---
|
|
14
|
+
# web-search
|
|
15
|
+
|
|
16
|
+
@command(web_search)
|
|
17
|
+
Usage: web_search --query <query>
|
|
18
|
+
Run: curl -s "https://ddg-api.herokuapp.com/search?q={{query}}"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name": "web-search", "version": "1.0.0", "type": "skill"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: second-brain
|
|
3
|
+
description: Personal knowledge base powered by Ensue for capturing and retrieving understanding. Use when user wants to save knowledge, recall what they know, manage their toolbox, or build on past learnings. Triggers on "save this", "remember", "what do I know about", "add to toolbox", "my notes on", "store this concept".
|
|
4
|
+
triggers:
|
|
5
|
+
- "save this to my second brain"
|
|
6
|
+
- "what do I know about"
|
|
7
|
+
- "add this to my toolbox"
|
|
8
|
+
- "store this concept"
|
|
9
|
+
- "show my notes on"
|
|
10
|
+
negative_triggers:
|
|
11
|
+
- "link X to Y in the graph"
|
|
12
|
+
- "create an entity"
|
|
13
|
+
- "log this as a learning"
|
|
14
|
+
- "search the web for"
|
|
15
|
+
metadata: {"clawdbot":{"emoji":"🧠","requires":{"env":["ENSUE_API_KEY"]},"primaryEnv":"ENSUE_API_KEY","homepage":"https://ensue-network.ai?utm_source=clawdbot&utm_medium=workflow"}}
|
|
16
|
+
---
|
|
17
|
+
* Requires API Key: Request one at https://ensue-network.ai?utm_source=clawdbot *
|
|
18
|
+
|
|
19
|
+
# Second Brain
|
|
20
|
+
|
|
21
|
+
A personal knowledge base for **building understanding that compounds over time**. Not a note dump - a structured system for capturing knowledge you can actually retrieve and use.
|
|
22
|
+
|
|
23
|
+
## Philosophy
|
|
24
|
+
|
|
25
|
+
Your second brain should:
|
|
26
|
+
- **Capture understanding, not just facts** - Write for your future self who forgot the context
|
|
27
|
+
- **Be retrievable** - Structured so you can find things when you need them
|
|
28
|
+
- **Stay evergreen** - No private details, credentials, or time-sensitive data
|
|
29
|
+
- **Reflect real experience** - Only save what you've actually learned or used
|
|
30
|
+
|
|
31
|
+
Before saving: *Will future-me thank me for this?*
|
|
32
|
+
|
|
33
|
+
## Namespace Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
public/ --> Shareable knowledge
|
|
37
|
+
concepts/ --> How things work
|
|
38
|
+
[domain]/ --> Organize by topic
|
|
39
|
+
[concept-name] --> Individual concepts
|
|
40
|
+
toolbox/ --> Tools and technologies
|
|
41
|
+
_index --> Master index of tools
|
|
42
|
+
[category]/ --> Group by type
|
|
43
|
+
[tool-name] --> Individual tools
|
|
44
|
+
patterns/ --> Reusable solutions
|
|
45
|
+
[domain]/ --> Design patterns, workflows
|
|
46
|
+
references/ --> Quick-reference material
|
|
47
|
+
[topic]/ --> Cheatsheets, syntax, APIs
|
|
48
|
+
|
|
49
|
+
private/ --> Personal only
|
|
50
|
+
notes/ --> Scratchpad, drafts
|
|
51
|
+
journal/ --> Dated reflections
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Example domains:** `programming`, `devops`, `design`, `business`, `data`, `security`, `productivity`
|
|
55
|
+
|
|
56
|
+
## Content Formats
|
|
57
|
+
|
|
58
|
+
### Concepts
|
|
59
|
+
|
|
60
|
+
For understanding how something works:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
CONCEPT NAME
|
|
64
|
+
============
|
|
65
|
+
|
|
66
|
+
What it is:
|
|
67
|
+
[One-line definition]
|
|
68
|
+
|
|
69
|
+
Why it matters:
|
|
70
|
+
[What problem it solves, when you'd need it]
|
|
71
|
+
|
|
72
|
+
How it works:
|
|
73
|
+
[Explanation with examples]
|
|
74
|
+
[ASCII diagrams for architecture/flows where helpful]
|
|
75
|
+
|
|
76
|
+
+----------+ +----------+
|
|
77
|
+
| Client | ---> | Server |
|
|
78
|
+
+----------+ +----------+
|
|
79
|
+
|
|
80
|
+
Key insight:
|
|
81
|
+
[The "aha" moment - what makes this click]
|
|
82
|
+
|
|
83
|
+
Related: [links to related concepts]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Toolbox Entries
|
|
87
|
+
|
|
88
|
+
For tools and technologies you've actually used:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
TOOL NAME
|
|
92
|
+
|
|
93
|
+
Category: [category]
|
|
94
|
+
Website: [url]
|
|
95
|
+
Cost: [free/paid/freemium]
|
|
96
|
+
|
|
97
|
+
What it does:
|
|
98
|
+
[Brief description]
|
|
99
|
+
|
|
100
|
+
Why I use it:
|
|
101
|
+
[Personal experience - what problem it solved for you]
|
|
102
|
+
|
|
103
|
+
When to reach for it:
|
|
104
|
+
[Scenarios where this is the right choice]
|
|
105
|
+
|
|
106
|
+
Quick start:
|
|
107
|
+
[Minimal setup/usage to get going]
|
|
108
|
+
|
|
109
|
+
Gotchas:
|
|
110
|
+
[Things that tripped you up]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Patterns
|
|
114
|
+
|
|
115
|
+
For reusable solutions:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
PATTERN NAME
|
|
119
|
+
|
|
120
|
+
Problem:
|
|
121
|
+
[What situation triggers this pattern]
|
|
122
|
+
|
|
123
|
+
Solution:
|
|
124
|
+
[The approach, with code/pseudocode if relevant]
|
|
125
|
+
|
|
126
|
+
Trade-offs:
|
|
127
|
+
[Pros and cons, when NOT to use it]
|
|
128
|
+
|
|
129
|
+
Example:
|
|
130
|
+
[Concrete implementation]
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### References
|
|
134
|
+
|
|
135
|
+
For quick-lookup material:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
REFERENCE: [TOPIC]
|
|
139
|
+
|
|
140
|
+
[Organized, scannable content]
|
|
141
|
+
[Tables, lists, code snippets]
|
|
142
|
+
[Minimal prose, maximum signal]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Interaction Rules
|
|
146
|
+
|
|
147
|
+
### Saving Knowledge
|
|
148
|
+
|
|
149
|
+
Always confirm before saving:
|
|
150
|
+
1. "Want me to save this to your second brain?"
|
|
151
|
+
2. Show draft of what will be saved
|
|
152
|
+
3. Save after confirmation
|
|
153
|
+
4. Confirm what was saved and where
|
|
154
|
+
|
|
155
|
+
### Retrieving Knowledge
|
|
156
|
+
|
|
157
|
+
When relevant topics come up:
|
|
158
|
+
- Search for existing knowledge
|
|
159
|
+
- Surface related concepts
|
|
160
|
+
- Connect new learning to existing understanding
|
|
161
|
+
|
|
162
|
+
### Maintaining Quality
|
|
163
|
+
|
|
164
|
+
Before saving, verify:
|
|
165
|
+
- Written for future self who forgot context
|
|
166
|
+
- Includes the WHY, not just the WHAT
|
|
167
|
+
- Has concrete examples
|
|
168
|
+
- No credentials, API keys, or private paths
|
|
169
|
+
- Structured for retrieval
|
|
170
|
+
|
|
171
|
+
## Anti-Patterns
|
|
172
|
+
|
|
173
|
+
1. **Don't auto-save** - Always ask first
|
|
174
|
+
2. **Don't save unused tools** - Only tools actually used
|
|
175
|
+
3. **Don't save half-understood concepts** - Learn first, save after
|
|
176
|
+
4. **Don't include secrets** - No API keys, passwords, tokens
|
|
177
|
+
5. **Don't create shallow entries** - If you can't explain it well, don't save it
|
|
178
|
+
6. **Don't duplicate** - Check if it exists first, update if needed
|
|
179
|
+
|
|
180
|
+
## API Usage
|
|
181
|
+
|
|
182
|
+
Use the wrapper script:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
{baseDir}/scripts/ensue-api.sh <method> '<json_args>'
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Operations
|
|
189
|
+
|
|
190
|
+
**Search knowledge:**
|
|
191
|
+
```bash
|
|
192
|
+
{baseDir}/scripts/ensue-api.sh discover_memories '{"query": "how does X work", "limit": 5}'
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**List by namespace:**
|
|
196
|
+
```bash
|
|
197
|
+
{baseDir}/scripts/ensue-api.sh list_keys '{"prefix": "public/concepts/", "limit": 20}'
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Get specific entries:**
|
|
201
|
+
```bash
|
|
202
|
+
{baseDir}/scripts/ensue-api.sh get_memory '{"key_names": ["public/concepts/programming/recursion"]}'
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Create entry:**
|
|
206
|
+
```bash
|
|
207
|
+
{baseDir}/scripts/ensue-api.sh create_memory '{"items":[
|
|
208
|
+
{"key_name":"public/concepts/domain/name","description":"Short description","value":"Full content","embed":true}
|
|
209
|
+
]}'
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Update entry:**
|
|
213
|
+
```bash
|
|
214
|
+
{baseDir}/scripts/ensue-api.sh update_memory '{"key_name": "public/toolbox/_index", "value": "Updated content"}'
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Delete entry:**
|
|
218
|
+
```bash
|
|
219
|
+
{baseDir}/scripts/ensue-api.sh delete_memory '{"key_name": "public/notes/old-draft"}'
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Toolbox Index
|
|
223
|
+
|
|
224
|
+
Maintain `public/toolbox/_index` as master reference:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
TOOLBOX INDEX
|
|
228
|
+
=============
|
|
229
|
+
|
|
230
|
+
Categories:
|
|
231
|
+
languages/ Programming languages
|
|
232
|
+
frameworks/ Libraries and frameworks
|
|
233
|
+
devtools/ Development utilities
|
|
234
|
+
infrastructure/ Deployment, hosting, CI/CD
|
|
235
|
+
productivity/ Workflow and productivity tools
|
|
236
|
+
data/ Databases, analytics, data tools
|
|
237
|
+
|
|
238
|
+
Recent additions:
|
|
239
|
+
[tool] - [one-line description]
|
|
240
|
+
|
|
241
|
+
Browse: "show my toolbox" or "what tools do I have for [category]"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Intent Mapping
|
|
245
|
+
|
|
246
|
+
| User says | Action |
|
|
247
|
+
|-----------|--------|
|
|
248
|
+
| "save this", "remember this" | Draft entry, confirm, save |
|
|
249
|
+
| "what do I know about X" | Search and retrieve relevant entries |
|
|
250
|
+
| "add [tool] to toolbox" | Create toolbox entry |
|
|
251
|
+
| "list my [domain] concepts" | list_keys for that namespace |
|
|
252
|
+
| "show my toolbox" | Show toolbox index |
|
|
253
|
+
| "update [entry]" | Fetch, show diff, update |
|
|
254
|
+
| "delete [entry]" | Confirm, delete |
|
|
255
|
+
| "search for [topic]" | Semantic search across all knowledge |
|
|
256
|
+
|
|
257
|
+
## Setup
|
|
258
|
+
|
|
259
|
+
Requires `ENSUE_API_KEY` environment variable.
|
|
260
|
+
|
|
261
|
+
Get your key at: https://www.ensue-network.ai?utm_source=clawdbot&utm_medium=workflow
|
|
262
|
+
|
|
263
|
+
Configure in clawdbot.json:
|
|
264
|
+
```json
|
|
265
|
+
"skills": {
|
|
266
|
+
"entries": {
|
|
267
|
+
"second-brain": {
|
|
268
|
+
"apiKey": "your-ensue-api-key"
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Security
|
|
275
|
+
|
|
276
|
+
- **NEVER** log or display the API key
|
|
277
|
+
- **NEVER** store credentials, tokens, or secrets in entries
|
|
278
|
+
- **NEVER** include personal file paths or system details
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Ensue API wrapper for Second Brain skill
|
|
3
|
+
# Usage: ./scripts/ensue-api.sh <method> '<json_args>'
|
|
4
|
+
#
|
|
5
|
+
# Methods:
|
|
6
|
+
# list_keys - List keys by prefix
|
|
7
|
+
# get_memory - Get specific entries
|
|
8
|
+
# create_memory - Create new entries
|
|
9
|
+
# update_memory - Update existing entry
|
|
10
|
+
# delete_memory - Delete an entry
|
|
11
|
+
# discover_memories - Semantic search
|
|
12
|
+
#
|
|
13
|
+
# Examples:
|
|
14
|
+
# ./scripts/ensue-api.sh list_keys '{"prefix": "public/concepts/", "limit": 10}'
|
|
15
|
+
# ./scripts/ensue-api.sh discover_memories '{"query": "how does caching work", "limit": 5}'
|
|
16
|
+
|
|
17
|
+
METHOD="$1"
|
|
18
|
+
ARGS="$2"
|
|
19
|
+
|
|
20
|
+
if [ -z "$ENSUE_API_KEY" ]; then
|
|
21
|
+
echo '{"error":"ENSUE_API_KEY not set. Configure in clawdbot.json under skills.entries.second-brain.apiKey or get a key at https://ensue-network.ai/dashboard"}'
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
if [ -z "$METHOD" ]; then
|
|
26
|
+
echo '{"error":"No method specified. Available: list_keys, get_memory, create_memory, update_memory, delete_memory, discover_memories"}'
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
# Default empty args
|
|
31
|
+
[ -z "$ARGS" ] && ARGS='{}'
|
|
32
|
+
|
|
33
|
+
curl -s -X POST https://api.ensue-network.ai/ \
|
|
34
|
+
-H "Authorization: Bearer $ENSUE_API_KEY" \
|
|
35
|
+
-H "Content-Type: application/json" \
|
|
36
|
+
-d "{\"jsonrpc\":\"2.0\",\"method\":\"tools/call\",\"params\":{\"name\":\"$METHOD\",\"arguments\":$ARGS},\"id\":1}" \
|
|
37
|
+
| sed 's/^data: //'
|