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,79 @@
|
|
|
1
|
+
# Platform Benchmarks
|
|
2
|
+
|
|
3
|
+
Baseline "what good looks like" by channel. These are starting reference points — replace with your own data after 2-3 cycles.
|
|
4
|
+
|
|
5
|
+
## Twitter / X
|
|
6
|
+
|
|
7
|
+
| Metric | Median | Good | Great |
|
|
8
|
+
|--------|--------|------|-------|
|
|
9
|
+
| Impressions per tweet | 200-500 | 1K-5K | 10K+ |
|
|
10
|
+
| Engagement rate | 1-2% | 3-5% | 8%+ |
|
|
11
|
+
| Link CTR | 0.5-1% | 1-3% | 5%+ |
|
|
12
|
+
| Profile visits per tweet | 1-3 | 5-15 | 25+ |
|
|
13
|
+
| Follower conversion (visit → follow) | 2-5% | 5-15% | 20%+ |
|
|
14
|
+
|
|
15
|
+
Notes: Threads outperform singles for engagement. Media tweets outperform text-only for impressions. Link tweets get suppressed in feed.
|
|
16
|
+
|
|
17
|
+
## Blog / SEO
|
|
18
|
+
|
|
19
|
+
| Metric | Median | Good | Great |
|
|
20
|
+
|--------|--------|------|-------|
|
|
21
|
+
| Organic CTR (position 1-3) | 3-5% | 5-10% | 15%+ |
|
|
22
|
+
| Avg time on page | 30-60s | 1-3 min | 5+ min |
|
|
23
|
+
| Bounce rate | 70-80% | 50-70% | <50% |
|
|
24
|
+
| Conversion rate (visitor → action) | 1-2% | 2-5% | 5%+ |
|
|
25
|
+
| Pages per session | 1.2-1.5 | 1.5-2.5 | 3+ |
|
|
26
|
+
|
|
27
|
+
Notes: Long-tail keywords have lower volume but higher intent. First-page ranking typically takes 3-6 months for new domains. Content freshness signals matter for competitive queries.
|
|
28
|
+
|
|
29
|
+
## Email
|
|
30
|
+
|
|
31
|
+
| Metric | Median | Good | Great |
|
|
32
|
+
|--------|--------|------|-------|
|
|
33
|
+
| Open rate | 15-20% | 20-30% | 35%+ |
|
|
34
|
+
| Click rate | 1-3% | 3-5% | 7%+ |
|
|
35
|
+
| Click-to-open rate | 8-12% | 12-18% | 20%+ |
|
|
36
|
+
| Unsubscribe rate (per send) | 0.1-0.3% | <0.1% | <0.05% |
|
|
37
|
+
| Conversion rate | 0.5-1% | 1-3% | 5%+ |
|
|
38
|
+
|
|
39
|
+
Notes: Segmented sends outperform blasts by 2-3x. Plain text often beats designed HTML for B2B. Subject line is ~80% of open rate. Best send times are audience-specific (test, don't assume).
|
|
40
|
+
|
|
41
|
+
## Outreach (Cold Email / DM)
|
|
42
|
+
|
|
43
|
+
| Metric | Median | Good | Great |
|
|
44
|
+
|--------|--------|------|-------|
|
|
45
|
+
| Open rate | 30-40% | 50-60% | 70%+ |
|
|
46
|
+
| Reply rate | 1-3% | 5-10% | 15%+ |
|
|
47
|
+
| Positive reply rate | 0.5-1% | 2-5% | 8%+ |
|
|
48
|
+
| Meeting book rate | 0.2-0.5% | 1-3% | 5%+ |
|
|
49
|
+
| Bounce rate (bad emails) | 5-10% | <5% | <2% |
|
|
50
|
+
|
|
51
|
+
Notes: Personalization is the single biggest lever. Follow-ups generate 50%+ of replies. 3-5 touch sequence is standard. After 4 follow-ups, returns diminish sharply.
|
|
52
|
+
|
|
53
|
+
## Product Listings (E-commerce / Marketplace)
|
|
54
|
+
|
|
55
|
+
| Metric | Median | Good | Great |
|
|
56
|
+
|--------|--------|------|-------|
|
|
57
|
+
| Search CTR | 1-3% | 3-7% | 10%+ |
|
|
58
|
+
| Listing conversion rate | 2-5% | 5-10% | 15%+ |
|
|
59
|
+
| Add-to-cart rate | 5-10% | 10-20% | 25%+ |
|
|
60
|
+
| Cart abandonment | 60-80% | 50-60% | <50% |
|
|
61
|
+
| Return rate | 10-20% | 5-10% | <5% |
|
|
62
|
+
|
|
63
|
+
Notes: Main image drives CTR. Price and reviews drive conversion. A/B test titles before images (titles affect search ranking).
|
|
64
|
+
|
|
65
|
+
## GitHub / Dev Marketing
|
|
66
|
+
|
|
67
|
+
| Metric | Median | Good | Great |
|
|
68
|
+
|--------|--------|------|-------|
|
|
69
|
+
| README → star rate (visitors) | 1-3% | 5-10% | 15%+ |
|
|
70
|
+
| Star → clone rate | 5-10% | 10-20% | 25%+ |
|
|
71
|
+
| Clone → active user rate | 1-5% | 5-15% | 20%+ |
|
|
72
|
+
| Issue response time | days | <24h | <4h |
|
|
73
|
+
| Contributor conversion | <1% | 1-3% | 5%+ |
|
|
74
|
+
|
|
75
|
+
Notes: First 30 seconds of README determines star. GIF/screenshot in first fold is near-mandatory. "Getting started in <5 min" is table stakes. Launch on HN/Reddit for initial spike, then SEO sustains.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
These benchmarks decay fast. Update with your own data after each measurement cycle. Your audience, niche, and offer will make these numbers vary significantly.
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# init-campaign.sh — Scaffold a new growth loop campaign
|
|
3
|
+
# Usage: init-campaign.sh <campaign-name> <platform>
|
|
4
|
+
# Platforms: twitter|blog|email|marketplace|github|outreach|custom
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
CAMPAIGN_NAME="${1:-}"
|
|
9
|
+
PLATFORM="${2:-custom}"
|
|
10
|
+
|
|
11
|
+
if [ -z "$CAMPAIGN_NAME" ]; then
|
|
12
|
+
echo "Usage: init-campaign.sh <campaign-name> <platform>"
|
|
13
|
+
echo "Platforms: twitter|blog|email|marketplace|github|outreach|custom"
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
CAMPAIGN_DIR="$(pwd)/campaigns/${CAMPAIGN_NAME}"
|
|
18
|
+
|
|
19
|
+
if [ -d "$CAMPAIGN_DIR" ]; then
|
|
20
|
+
echo "Error: Campaign directory already exists: $CAMPAIGN_DIR"
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
mkdir -p "$CAMPAIGN_DIR/drafts" "$CAMPAIGN_DIR/archive"
|
|
25
|
+
|
|
26
|
+
NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
27
|
+
|
|
28
|
+
# config.json
|
|
29
|
+
cat > "$CAMPAIGN_DIR/config.json" <<CONF
|
|
30
|
+
{
|
|
31
|
+
"name": "${CAMPAIGN_NAME}",
|
|
32
|
+
"platform": "${PLATFORM}",
|
|
33
|
+
"objective": "TODO: what success looks like in one sentence",
|
|
34
|
+
"audience": "TODO: who we are reaching",
|
|
35
|
+
"kpi": "TODO: primary metric we optimize for",
|
|
36
|
+
"secondary_kpis": [],
|
|
37
|
+
"constraints": {
|
|
38
|
+
"budget": "0",
|
|
39
|
+
"frequency": "TODO: pieces per period",
|
|
40
|
+
"tone": "TODO: brand voice notes",
|
|
41
|
+
"human_approval": true
|
|
42
|
+
},
|
|
43
|
+
"measurement_window": "7d",
|
|
44
|
+
"created_at": "${NOW}",
|
|
45
|
+
"status": "research"
|
|
46
|
+
}
|
|
47
|
+
CONF
|
|
48
|
+
|
|
49
|
+
# gen-rules.md — platform-specific starter
|
|
50
|
+
case "$PLATFORM" in
|
|
51
|
+
twitter)
|
|
52
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
53
|
+
# Generation Rules — Twitter/X
|
|
54
|
+
|
|
55
|
+
## Format
|
|
56
|
+
- Max 280 chars (or thread if deeper content)
|
|
57
|
+
- Hook in first line — stop the scroll
|
|
58
|
+
- One idea per tweet
|
|
59
|
+
- No external links in standalone tweets (kills reach) — use threads or quote-tweets
|
|
60
|
+
|
|
61
|
+
## Tone
|
|
62
|
+
- TODO: define voice
|
|
63
|
+
|
|
64
|
+
## Posting
|
|
65
|
+
- Frequency: 1-3x/day (test and adjust)
|
|
66
|
+
- Best times: test mornings, lunch, evening — let data decide
|
|
67
|
+
|
|
68
|
+
## Variations to Test
|
|
69
|
+
- Question hooks vs statement hooks
|
|
70
|
+
- Thread vs single tweet for same content
|
|
71
|
+
- With media vs text-only
|
|
72
|
+
|
|
73
|
+
## Rules Updated
|
|
74
|
+
- (append changes from iteration phase here)
|
|
75
|
+
RULES
|
|
76
|
+
;;
|
|
77
|
+
blog)
|
|
78
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
79
|
+
# Generation Rules — Blog/SEO
|
|
80
|
+
|
|
81
|
+
## Format
|
|
82
|
+
- 1200-2500 words per piece
|
|
83
|
+
- Structure: hook → problem → solution → proof → CTA
|
|
84
|
+
- One target keyword per post (long-tail preferred)
|
|
85
|
+
- H2/H3 structure for scanability
|
|
86
|
+
|
|
87
|
+
## SEO
|
|
88
|
+
- Keyword in title, first paragraph, one H2, meta description
|
|
89
|
+
- Internal links to conversion pages (min 2 per post)
|
|
90
|
+
- External links to authoritative sources (1-3 per post)
|
|
91
|
+
|
|
92
|
+
## Tone
|
|
93
|
+
- TODO: define voice
|
|
94
|
+
|
|
95
|
+
## Frequency
|
|
96
|
+
- TODO: posts per week
|
|
97
|
+
|
|
98
|
+
## Rules Updated
|
|
99
|
+
- (append changes from iteration phase here)
|
|
100
|
+
RULES
|
|
101
|
+
;;
|
|
102
|
+
email)
|
|
103
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
104
|
+
# Generation Rules — Email
|
|
105
|
+
|
|
106
|
+
## Subject Lines
|
|
107
|
+
- Test 3 variants minimum per send
|
|
108
|
+
- Under 50 chars preferred
|
|
109
|
+
- Personalization token in subject when possible
|
|
110
|
+
|
|
111
|
+
## Body
|
|
112
|
+
- One CTA per email (single focus)
|
|
113
|
+
- Mobile-first (short paragraphs, no wide tables)
|
|
114
|
+
- P.S. line for secondary hook
|
|
115
|
+
|
|
116
|
+
## Sequence Logic
|
|
117
|
+
- trigger → value → value → soft ask → hard ask → break
|
|
118
|
+
- Spacing: day 0, day 2, day 5, day 8, day 14
|
|
119
|
+
|
|
120
|
+
## Tone
|
|
121
|
+
- TODO: define voice
|
|
122
|
+
|
|
123
|
+
## Rules Updated
|
|
124
|
+
- (append changes from iteration phase here)
|
|
125
|
+
RULES
|
|
126
|
+
;;
|
|
127
|
+
outreach)
|
|
128
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
129
|
+
# Generation Rules — Outreach
|
|
130
|
+
|
|
131
|
+
## Structure
|
|
132
|
+
- Line 1: Personalization (prove you know them)
|
|
133
|
+
- Line 2: Value prop (what's in it for them)
|
|
134
|
+
- Line 3: Social proof or credibility (optional, keep short)
|
|
135
|
+
- Line 4: CTA (low friction — reply, not signup)
|
|
136
|
+
|
|
137
|
+
## Follow-up Cadence
|
|
138
|
+
- Day 0: Initial
|
|
139
|
+
- Day 3: Follow-up 1 (add new angle, don't just bump)
|
|
140
|
+
- Day 7: Follow-up 2 (different value prop or proof point)
|
|
141
|
+
- Day 14: Break-up email (last chance, no guilt)
|
|
142
|
+
|
|
143
|
+
## Personalization
|
|
144
|
+
- Reference their recent work, post, or company news
|
|
145
|
+
- Never fake familiarity
|
|
146
|
+
|
|
147
|
+
## Tone
|
|
148
|
+
- TODO: define voice
|
|
149
|
+
|
|
150
|
+
## Rules Updated
|
|
151
|
+
- (append changes from iteration phase here)
|
|
152
|
+
RULES
|
|
153
|
+
;;
|
|
154
|
+
marketplace)
|
|
155
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
156
|
+
# Generation Rules — Product Listings
|
|
157
|
+
|
|
158
|
+
## Title
|
|
159
|
+
- Primary keyword + differentiator
|
|
160
|
+
- Under 80 chars
|
|
161
|
+
|
|
162
|
+
## Images
|
|
163
|
+
- Hero shot (product in context)
|
|
164
|
+
- Feature callouts (annotated)
|
|
165
|
+
- Social proof (reviews, awards)
|
|
166
|
+
- Size/scale reference
|
|
167
|
+
|
|
168
|
+
## Description
|
|
169
|
+
- Benefit-led first paragraph
|
|
170
|
+
- Scannable bullet points for features
|
|
171
|
+
- Keyword-rich but readable
|
|
172
|
+
- Social proof embedded
|
|
173
|
+
|
|
174
|
+
## Pricing
|
|
175
|
+
- TODO: strategy notes
|
|
176
|
+
|
|
177
|
+
## Rules Updated
|
|
178
|
+
- (append changes from iteration phase here)
|
|
179
|
+
RULES
|
|
180
|
+
;;
|
|
181
|
+
github)
|
|
182
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
183
|
+
# Generation Rules — Dev Marketing
|
|
184
|
+
|
|
185
|
+
## README
|
|
186
|
+
- README = landing page
|
|
187
|
+
- Structure: problem → solution → quickstart (< 5 min) → proof → badges
|
|
188
|
+
- GIF/screenshot in first viewport
|
|
189
|
+
- Copy-pasteable install command
|
|
190
|
+
|
|
191
|
+
## Examples
|
|
192
|
+
- Example projects > documentation
|
|
193
|
+
- Start with the 3 most common use cases
|
|
194
|
+
- Each example: problem → solution → code → output
|
|
195
|
+
|
|
196
|
+
## Community
|
|
197
|
+
- Respond to issues within 24h
|
|
198
|
+
- Ship what people ask for (track feature requests)
|
|
199
|
+
- Changelog for every release
|
|
200
|
+
|
|
201
|
+
## Tone
|
|
202
|
+
- TODO: define voice
|
|
203
|
+
|
|
204
|
+
## Rules Updated
|
|
205
|
+
- (append changes from iteration phase here)
|
|
206
|
+
RULES
|
|
207
|
+
;;
|
|
208
|
+
*)
|
|
209
|
+
cat > "$CAMPAIGN_DIR/gen-rules.md" <<'RULES'
|
|
210
|
+
# Generation Rules
|
|
211
|
+
|
|
212
|
+
## Format
|
|
213
|
+
- TODO: define content format
|
|
214
|
+
|
|
215
|
+
## Tone
|
|
216
|
+
- TODO: define voice
|
|
217
|
+
|
|
218
|
+
## Frequency
|
|
219
|
+
- TODO: define cadence
|
|
220
|
+
|
|
221
|
+
## Variations to Test
|
|
222
|
+
- TODO: define what to vary
|
|
223
|
+
|
|
224
|
+
## Rules Updated
|
|
225
|
+
- (append changes from iteration phase here)
|
|
226
|
+
RULES
|
|
227
|
+
;;
|
|
228
|
+
esac
|
|
229
|
+
|
|
230
|
+
# research.md
|
|
231
|
+
cat > "$CAMPAIGN_DIR/research.md" <<'RESEARCH'
|
|
232
|
+
# Research
|
|
233
|
+
|
|
234
|
+
## Top Performers
|
|
235
|
+
- TODO: 5-10 reference points in this space
|
|
236
|
+
|
|
237
|
+
## What Works
|
|
238
|
+
- TODO: formats, hooks, tones, frequency
|
|
239
|
+
|
|
240
|
+
## Engagement Patterns
|
|
241
|
+
- TODO: what gets signal vs noise
|
|
242
|
+
|
|
243
|
+
## Gaps / Opportunities
|
|
244
|
+
- TODO: what's underserved
|
|
245
|
+
|
|
246
|
+
## Initial Hypotheses
|
|
247
|
+
- TODO: what we think will work and why
|
|
248
|
+
RESEARCH
|
|
249
|
+
|
|
250
|
+
# Empty log files
|
|
251
|
+
touch "$CAMPAIGN_DIR/distribution-log.jsonl"
|
|
252
|
+
touch "$CAMPAIGN_DIR/metrics.jsonl"
|
|
253
|
+
|
|
254
|
+
# diagnosis.md
|
|
255
|
+
cat > "$CAMPAIGN_DIR/diagnosis.md" <<'DIAG'
|
|
256
|
+
# Diagnosis
|
|
257
|
+
|
|
258
|
+
(Populated after first measurement cycle)
|
|
259
|
+
DIAG
|
|
260
|
+
|
|
261
|
+
# iteration-log.md
|
|
262
|
+
cat > "$CAMPAIGN_DIR/iteration-log.md" <<'ITER'
|
|
263
|
+
# Iteration Log
|
|
264
|
+
|
|
265
|
+
(Append entries after each diagnosis → iterate cycle)
|
|
266
|
+
ITER
|
|
267
|
+
|
|
268
|
+
echo "Campaign scaffolded: $CAMPAIGN_DIR"
|
|
269
|
+
echo "Platform: $PLATFORM"
|
|
270
|
+
echo ""
|
|
271
|
+
echo "Next steps:"
|
|
272
|
+
echo " 1. Edit config.json — fill in objective, audience, KPI"
|
|
273
|
+
echo " 2. Edit gen-rules.md — refine for your use case"
|
|
274
|
+
echo " 3. Start Phase 1: Research → fill in research.md"
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: humanize-ai-text
|
|
3
|
+
description: "Detect and transform AI-generated text using Python scripts (detect.py, transform.py, compare.py). Use when you need to scan text for AI patterns, get an AI probability score, or batch-process files through the detection/transformation pipeline."
|
|
4
|
+
triggers:
|
|
5
|
+
- "scan this text for AI patterns"
|
|
6
|
+
- "run the AI detector on this file"
|
|
7
|
+
- "batch process these files for AI detection"
|
|
8
|
+
- "check AI probability score"
|
|
9
|
+
negative_triggers:
|
|
10
|
+
- "rewrite this to sound more human"
|
|
11
|
+
- "humanize this text"
|
|
12
|
+
- "edit this to remove AI patterns"
|
|
13
|
+
allowed-tools:
|
|
14
|
+
- Read
|
|
15
|
+
- Write
|
|
16
|
+
- StrReplace
|
|
17
|
+
- Shell
|
|
18
|
+
- Glob
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Humanize AI Text
|
|
22
|
+
|
|
23
|
+
Comprehensive CLI for detecting and transforming AI-generated text to bypass detectors. Based on [Wikipedia's Signs of AI Writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing).
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Detect AI patterns
|
|
29
|
+
python scripts/detect.py text.txt
|
|
30
|
+
|
|
31
|
+
# Transform to human-like
|
|
32
|
+
python scripts/transform.py text.txt -o clean.txt
|
|
33
|
+
|
|
34
|
+
# Compare before/after
|
|
35
|
+
python scripts/compare.py text.txt -o clean.txt
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Detection Categories
|
|
41
|
+
|
|
42
|
+
The analyzer checks for **16 pattern categories** from Wikipedia's guide:
|
|
43
|
+
|
|
44
|
+
### Critical (Immediate AI Detection)
|
|
45
|
+
| Category | Examples |
|
|
46
|
+
|----------|----------|
|
|
47
|
+
| Citation Bugs | `oaicite`, `turn0search`, `contentReference` |
|
|
48
|
+
| Knowledge Cutoff | "as of my last training", "based on available information" |
|
|
49
|
+
| Chatbot Artifacts | "I hope this helps", "Great question!", "As an AI" |
|
|
50
|
+
| Markdown | `**bold**`, `## headers`, ``` code blocks ``` |
|
|
51
|
+
|
|
52
|
+
### High Signal
|
|
53
|
+
| Category | Examples |
|
|
54
|
+
|----------|----------|
|
|
55
|
+
| AI Vocabulary | delve, tapestry, landscape, pivotal, underscore, foster |
|
|
56
|
+
| Significance Inflation | "serves as a testament", "pivotal moment", "indelible mark" |
|
|
57
|
+
| Promotional Language | vibrant, groundbreaking, nestled, breathtaking |
|
|
58
|
+
| Copula Avoidance | "serves as" instead of "is", "boasts" instead of "has" |
|
|
59
|
+
|
|
60
|
+
### Medium Signal
|
|
61
|
+
| Category | Examples |
|
|
62
|
+
|----------|----------|
|
|
63
|
+
| Superficial -ing | "highlighting the importance", "fostering collaboration" |
|
|
64
|
+
| Filler Phrases | "in order to", "due to the fact that", "Additionally," |
|
|
65
|
+
| Vague Attributions | "experts believe", "industry reports suggest" |
|
|
66
|
+
| Challenges Formula | "Despite these challenges", "Future outlook" |
|
|
67
|
+
|
|
68
|
+
### Style Signal
|
|
69
|
+
| Category | Examples |
|
|
70
|
+
|----------|----------|
|
|
71
|
+
| Curly Quotes | "" instead of "" (ChatGPT signature) |
|
|
72
|
+
| Em Dash Overuse | Excessive use of — for emphasis |
|
|
73
|
+
| Negative Parallelisms | "Not only... but also", "It's not just... it's" |
|
|
74
|
+
| Rule of Three | Forced triplets like "innovation, inspiration, and insight" |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Scripts
|
|
79
|
+
|
|
80
|
+
### detect.py — Scan for AI Patterns
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
python scripts/detect.py essay.txt
|
|
84
|
+
python scripts/detect.py essay.txt -j # JSON output
|
|
85
|
+
python scripts/detect.py essay.txt -s # score only
|
|
86
|
+
echo "text" | python scripts/detect.py
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Output:**
|
|
90
|
+
- Issue count and word count
|
|
91
|
+
- AI probability (low/medium/high/very high)
|
|
92
|
+
- Breakdown by category
|
|
93
|
+
- Auto-fixable patterns marked
|
|
94
|
+
|
|
95
|
+
### transform.py — Rewrite Text
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
python scripts/transform.py essay.txt
|
|
99
|
+
python scripts/transform.py essay.txt -o output.txt
|
|
100
|
+
python scripts/transform.py essay.txt -a # aggressive
|
|
101
|
+
python scripts/transform.py essay.txt -q # quiet
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Auto-fixes:**
|
|
105
|
+
- Citation bugs (oaicite, turn0search)
|
|
106
|
+
- Markdown (**, ##, ```)
|
|
107
|
+
- Chatbot sentences
|
|
108
|
+
- Copula avoidance → "is/has"
|
|
109
|
+
- Filler phrases → simpler forms
|
|
110
|
+
- Curly → straight quotes
|
|
111
|
+
|
|
112
|
+
**Aggressive (-a):**
|
|
113
|
+
- Simplifies -ing clauses
|
|
114
|
+
- Reduces em dashes
|
|
115
|
+
|
|
116
|
+
### compare.py — Before/After Analysis
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python scripts/compare.py essay.txt
|
|
120
|
+
python scripts/compare.py essay.txt -a -o clean.txt
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Shows side-by-side detection scores before and after transformation
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Workflow
|
|
128
|
+
|
|
129
|
+
1. **Scan** for detection risk:
|
|
130
|
+
```bash
|
|
131
|
+
python scripts/detect.py document.txt
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
2. **Transform** with comparison:
|
|
135
|
+
```bash
|
|
136
|
+
python scripts/compare.py document.txt -o document_v2.txt
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
3. **Verify** improvement:
|
|
140
|
+
```bash
|
|
141
|
+
python scripts/detect.py document_v2.txt -s
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
4. **Manual review** for AI vocabulary and promotional language (requires judgment)
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## AI Probability Scoring
|
|
149
|
+
|
|
150
|
+
| Rating | Criteria |
|
|
151
|
+
|--------|----------|
|
|
152
|
+
| Very High | Citation bugs, knowledge cutoff, or chatbot artifacts present |
|
|
153
|
+
| High | >30 issues OR >5% issue density |
|
|
154
|
+
| Medium | >15 issues OR >2% issue density |
|
|
155
|
+
| Low | <15 issues AND <2% density |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Customizing Patterns
|
|
160
|
+
|
|
161
|
+
Edit `scripts/patterns.json` to add/modify:
|
|
162
|
+
- `ai_vocabulary` — words to flag
|
|
163
|
+
- `significance_inflation` — puffery phrases
|
|
164
|
+
- `promotional_language` — marketing speak
|
|
165
|
+
- `copula_avoidance` — phrase → replacement
|
|
166
|
+
- `filler_replacements` — phrase → simpler form
|
|
167
|
+
- `chatbot_artifacts` — phrases triggering sentence removal
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Batch Processing
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Scan all files
|
|
175
|
+
for f in *.txt; do
|
|
176
|
+
echo "=== $f ==="
|
|
177
|
+
python scripts/detect.py "$f" -s
|
|
178
|
+
done
|
|
179
|
+
|
|
180
|
+
# Transform all markdown
|
|
181
|
+
for f in *.md; do
|
|
182
|
+
python scripts/transform.py "$f" -a -o "${f%.md}_clean.md" -q
|
|
183
|
+
done
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Reference
|
|
189
|
+
|
|
190
|
+
Based on Wikipedia's [Signs of AI Writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), maintained by WikiProject AI Cleanup. Patterns documented from thousands of AI-generated text examples.
|
|
191
|
+
|
|
192
|
+
Key insight: "LLMs use statistical algorithms to guess what should come next. The result tends toward the most statistically likely result that applies to the widest variety of cases."
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Compare before/after transformation with side-by-side detection scores."""
|
|
3
|
+
import argparse, sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from detect import detect
|
|
6
|
+
from transform import transform
|
|
7
|
+
|
|
8
|
+
def main():
|
|
9
|
+
parser = argparse.ArgumentParser(description="Compare AI detection before/after transformation")
|
|
10
|
+
parser.add_argument("input", nargs="?", help="Input file (or stdin)")
|
|
11
|
+
parser.add_argument("-a", "--aggressive", action="store_true", help="Use aggressive mode")
|
|
12
|
+
parser.add_argument("-o", "--output", help="Save transformed text to file")
|
|
13
|
+
args = parser.parse_args()
|
|
14
|
+
|
|
15
|
+
text = Path(args.input).read_text() if args.input else sys.stdin.read()
|
|
16
|
+
|
|
17
|
+
before = detect(text)
|
|
18
|
+
transformed, changes = transform(text, aggressive=args.aggressive)
|
|
19
|
+
after = detect(transformed)
|
|
20
|
+
|
|
21
|
+
icons = {"very high": "🔴", "high": "🟠", "medium": "🟡", "low": "🟢"}
|
|
22
|
+
|
|
23
|
+
print(f"\n{'='*60}")
|
|
24
|
+
print("BEFORE → AFTER COMPARISON")
|
|
25
|
+
print(f"{'='*60}\n")
|
|
26
|
+
|
|
27
|
+
print(f"{'Metric':<25} {'Before':<15} {'After':<15} {'Change':<10}")
|
|
28
|
+
print(f"{'-'*60}")
|
|
29
|
+
|
|
30
|
+
issue_diff = after.total_issues - before.total_issues
|
|
31
|
+
issue_sign = "+" if issue_diff > 0 else ""
|
|
32
|
+
print(f"{'Issues':<25} {before.total_issues:<15} {after.total_issues:<15} {issue_sign}{issue_diff}")
|
|
33
|
+
|
|
34
|
+
print(f"{'AI Probability':<25} {icons.get(before.ai_probability,'')} {before.ai_probability:<12} {icons.get(after.ai_probability,'')} {after.ai_probability:<12}")
|
|
35
|
+
print(f"{'Word Count':<25} {before.word_count:<15} {after.word_count:<15} {after.word_count - before.word_count:+}")
|
|
36
|
+
|
|
37
|
+
if changes:
|
|
38
|
+
print(f"\n{'='*60}")
|
|
39
|
+
print(f"TRANSFORMATIONS ({len(changes)})")
|
|
40
|
+
print(f"{'='*60}")
|
|
41
|
+
for c in changes:
|
|
42
|
+
print(f" • {c}")
|
|
43
|
+
|
|
44
|
+
reduction = before.total_issues - after.total_issues
|
|
45
|
+
if reduction > 0:
|
|
46
|
+
pct = (reduction / before.total_issues * 100) if before.total_issues else 0
|
|
47
|
+
print(f"\n✓ Reduced {reduction} issues ({pct:.0f}% improvement)")
|
|
48
|
+
elif reduction < 0:
|
|
49
|
+
print(f"\n⚠ Issues increased by {-reduction}")
|
|
50
|
+
else:
|
|
51
|
+
print(f"\n— No change in issue count")
|
|
52
|
+
|
|
53
|
+
if args.output:
|
|
54
|
+
Path(args.output).write_text(transformed)
|
|
55
|
+
print(f"\n→ Saved to {args.output}")
|
|
56
|
+
|
|
57
|
+
if __name__ == "__main__":
|
|
58
|
+
main()
|