loudmouth-ai 0.1.0 → 0.2.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/README.md +148 -77
- package/dist/build-info.json +3 -3
- package/extensions/package.json +6 -0
- package/package.json +1 -1
- package/skills/autopilot/SKILL.md +179 -0
- package/skills/goals/SKILL.md +189 -0
- package/skills/wordpress/SKILL.md +232 -0
- package/extensions/bluebubbles/clawdbot.plugin.json +0 -11
- package/extensions/bluebubbles/index.ts +0 -20
- package/extensions/bluebubbles/package.json +0 -33
- package/extensions/bluebubbles/src/accounts.ts +0 -80
- package/extensions/bluebubbles/src/actions.test.ts +0 -651
- package/extensions/bluebubbles/src/actions.ts +0 -403
- package/extensions/bluebubbles/src/attachments.test.ts +0 -346
- package/extensions/bluebubbles/src/attachments.ts +0 -282
- package/extensions/bluebubbles/src/channel.ts +0 -399
- package/extensions/bluebubbles/src/chat.test.ts +0 -462
- package/extensions/bluebubbles/src/chat.ts +0 -354
- package/extensions/bluebubbles/src/config-schema.ts +0 -51
- package/extensions/bluebubbles/src/media-send.ts +0 -168
- package/extensions/bluebubbles/src/monitor.test.ts +0 -2140
- package/extensions/bluebubbles/src/monitor.ts +0 -2101
- package/extensions/bluebubbles/src/onboarding.ts +0 -340
- package/extensions/bluebubbles/src/probe.ts +0 -127
- package/extensions/bluebubbles/src/reactions.test.ts +0 -393
- package/extensions/bluebubbles/src/reactions.ts +0 -183
- package/extensions/bluebubbles/src/runtime.ts +0 -14
- package/extensions/bluebubbles/src/send.test.ts +0 -809
- package/extensions/bluebubbles/src/send.ts +0 -418
- package/extensions/bluebubbles/src/targets.test.ts +0 -184
- package/extensions/bluebubbles/src/targets.ts +0 -323
- package/extensions/bluebubbles/src/types.ts +0 -127
- package/extensions/copilot-proxy/README.md +0 -24
- package/extensions/copilot-proxy/clawdbot.plugin.json +0 -11
- package/extensions/copilot-proxy/index.ts +0 -142
- package/extensions/copilot-proxy/package.json +0 -11
- package/extensions/google-antigravity-auth/README.md +0 -24
- package/extensions/google-antigravity-auth/clawdbot.plugin.json +0 -11
- package/extensions/google-antigravity-auth/index.ts +0 -437
- package/extensions/google-antigravity-auth/package.json +0 -11
- package/extensions/google-gemini-cli-auth/README.md +0 -35
- package/extensions/google-gemini-cli-auth/clawdbot.plugin.json +0 -11
- package/extensions/google-gemini-cli-auth/index.ts +0 -91
- package/extensions/google-gemini-cli-auth/oauth.test.ts +0 -228
- package/extensions/google-gemini-cli-auth/oauth.ts +0 -580
- package/extensions/google-gemini-cli-auth/package.json +0 -11
- package/extensions/googlechat/clawdbot.plugin.json +0 -11
- package/extensions/googlechat/index.ts +0 -20
- package/extensions/googlechat/package.json +0 -39
- package/extensions/googlechat/src/accounts.ts +0 -133
- package/extensions/googlechat/src/actions.ts +0 -162
- package/extensions/googlechat/src/api.test.ts +0 -62
- package/extensions/googlechat/src/api.ts +0 -259
- package/extensions/googlechat/src/auth.ts +0 -113
- package/extensions/googlechat/src/channel.ts +0 -580
- package/extensions/googlechat/src/monitor.test.ts +0 -27
- package/extensions/googlechat/src/monitor.ts +0 -900
- package/extensions/googlechat/src/onboarding.ts +0 -278
- package/extensions/googlechat/src/runtime.ts +0 -14
- package/extensions/googlechat/src/targets.test.ts +0 -35
- package/extensions/googlechat/src/targets.ts +0 -55
- package/extensions/googlechat/src/types.config.ts +0 -3
- package/extensions/googlechat/src/types.ts +0 -73
- package/extensions/imessage/clawdbot.plugin.json +0 -11
- package/extensions/imessage/index.ts +0 -18
- package/extensions/imessage/package.json +0 -11
- package/extensions/imessage/src/channel.ts +0 -294
- package/extensions/imessage/src/runtime.ts +0 -14
- package/extensions/line/clawdbot.plugin.json +0 -11
- package/extensions/line/index.ts +0 -20
- package/extensions/line/package.json +0 -29
- package/extensions/line/src/card-command.ts +0 -338
- package/extensions/line/src/channel.logout.test.ts +0 -96
- package/extensions/line/src/channel.sendPayload.test.ts +0 -308
- package/extensions/line/src/channel.ts +0 -773
- package/extensions/line/src/runtime.ts +0 -14
- package/extensions/matrix/CHANGELOG.md +0 -54
- package/extensions/matrix/clawdbot.plugin.json +0 -11
- package/extensions/matrix/index.ts +0 -18
- package/extensions/matrix/package.json +0 -36
- package/extensions/matrix/src/actions.ts +0 -185
- package/extensions/matrix/src/channel.directory.test.ts +0 -56
- package/extensions/matrix/src/channel.ts +0 -417
- package/extensions/matrix/src/config-schema.ts +0 -62
- package/extensions/matrix/src/directory-live.ts +0 -175
- package/extensions/matrix/src/group-mentions.ts +0 -61
- package/extensions/matrix/src/matrix/accounts.test.ts +0 -83
- package/extensions/matrix/src/matrix/accounts.ts +0 -63
- package/extensions/matrix/src/matrix/actions/client.ts +0 -53
- package/extensions/matrix/src/matrix/actions/messages.ts +0 -120
- package/extensions/matrix/src/matrix/actions/pins.ts +0 -70
- package/extensions/matrix/src/matrix/actions/reactions.ts +0 -84
- package/extensions/matrix/src/matrix/actions/room.ts +0 -88
- package/extensions/matrix/src/matrix/actions/summary.ts +0 -77
- package/extensions/matrix/src/matrix/actions/types.ts +0 -84
- package/extensions/matrix/src/matrix/actions.ts +0 -15
- package/extensions/matrix/src/matrix/active-client.ts +0 -11
- package/extensions/matrix/src/matrix/client/config.ts +0 -165
- package/extensions/matrix/src/matrix/client/create-client.ts +0 -127
- package/extensions/matrix/src/matrix/client/logging.ts +0 -35
- package/extensions/matrix/src/matrix/client/runtime.ts +0 -4
- package/extensions/matrix/src/matrix/client/shared.ts +0 -169
- package/extensions/matrix/src/matrix/client/storage.ts +0 -131
- package/extensions/matrix/src/matrix/client/types.ts +0 -34
- package/extensions/matrix/src/matrix/client.test.ts +0 -57
- package/extensions/matrix/src/matrix/client.ts +0 -9
- package/extensions/matrix/src/matrix/credentials.ts +0 -103
- package/extensions/matrix/src/matrix/deps.ts +0 -57
- package/extensions/matrix/src/matrix/format.test.ts +0 -34
- package/extensions/matrix/src/matrix/format.ts +0 -22
- package/extensions/matrix/src/matrix/index.ts +0 -11
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +0 -58
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +0 -68
- package/extensions/matrix/src/matrix/monitor/direct.ts +0 -105
- package/extensions/matrix/src/matrix/monitor/events.ts +0 -103
- package/extensions/matrix/src/matrix/monitor/handler.ts +0 -645
- package/extensions/matrix/src/matrix/monitor/index.ts +0 -279
- package/extensions/matrix/src/matrix/monitor/location.ts +0 -83
- package/extensions/matrix/src/matrix/monitor/media.test.ts +0 -103
- package/extensions/matrix/src/matrix/monitor/media.ts +0 -113
- package/extensions/matrix/src/matrix/monitor/mentions.ts +0 -31
- package/extensions/matrix/src/matrix/monitor/replies.ts +0 -96
- package/extensions/matrix/src/matrix/monitor/room-info.ts +0 -58
- package/extensions/matrix/src/matrix/monitor/rooms.ts +0 -43
- package/extensions/matrix/src/matrix/monitor/threads.ts +0 -64
- package/extensions/matrix/src/matrix/monitor/types.ts +0 -39
- package/extensions/matrix/src/matrix/poll-types.test.ts +0 -22
- package/extensions/matrix/src/matrix/poll-types.ts +0 -157
- package/extensions/matrix/src/matrix/probe.ts +0 -70
- package/extensions/matrix/src/matrix/send/client.ts +0 -63
- package/extensions/matrix/src/matrix/send/formatting.ts +0 -92
- package/extensions/matrix/src/matrix/send/media.ts +0 -220
- package/extensions/matrix/src/matrix/send/targets.test.ts +0 -102
- package/extensions/matrix/src/matrix/send/targets.ts +0 -144
- package/extensions/matrix/src/matrix/send/types.ts +0 -109
- package/extensions/matrix/src/matrix/send.test.ts +0 -172
- package/extensions/matrix/src/matrix/send.ts +0 -255
- package/extensions/matrix/src/onboarding.ts +0 -432
- package/extensions/matrix/src/outbound.ts +0 -53
- package/extensions/matrix/src/resolve-targets.ts +0 -89
- package/extensions/matrix/src/runtime.ts +0 -14
- package/extensions/matrix/src/tool-actions.ts +0 -160
- package/extensions/matrix/src/types.ts +0 -95
- package/extensions/mattermost/clawdbot.plugin.json +0 -11
- package/extensions/mattermost/index.ts +0 -18
- package/extensions/mattermost/package.json +0 -25
- package/extensions/mattermost/src/channel.test.ts +0 -43
- package/extensions/mattermost/src/channel.ts +0 -339
- package/extensions/mattermost/src/config-schema.ts +0 -56
- package/extensions/mattermost/src/group-mentions.ts +0 -14
- package/extensions/mattermost/src/mattermost/accounts.ts +0 -115
- package/extensions/mattermost/src/mattermost/client.ts +0 -208
- package/extensions/mattermost/src/mattermost/index.ts +0 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +0 -150
- package/extensions/mattermost/src/mattermost/monitor.ts +0 -921
- package/extensions/mattermost/src/mattermost/probe.ts +0 -70
- package/extensions/mattermost/src/mattermost/send.ts +0 -217
- package/extensions/mattermost/src/normalize.ts +0 -38
- package/extensions/mattermost/src/onboarding-helpers.ts +0 -42
- package/extensions/mattermost/src/onboarding.ts +0 -187
- package/extensions/mattermost/src/runtime.ts +0 -14
- package/extensions/mattermost/src/types.ts +0 -50
- package/extensions/msteams/CHANGELOG.md +0 -51
- package/extensions/msteams/clawdbot.plugin.json +0 -11
- package/extensions/msteams/index.ts +0 -18
- package/extensions/msteams/package.json +0 -36
- package/extensions/msteams/src/attachments/download.ts +0 -206
- package/extensions/msteams/src/attachments/graph.ts +0 -319
- package/extensions/msteams/src/attachments/html.ts +0 -76
- package/extensions/msteams/src/attachments/payload.ts +0 -22
- package/extensions/msteams/src/attachments/shared.ts +0 -235
- package/extensions/msteams/src/attachments/types.ts +0 -37
- package/extensions/msteams/src/attachments.test.ts +0 -424
- package/extensions/msteams/src/attachments.ts +0 -18
- package/extensions/msteams/src/channel.directory.test.ts +0 -46
- package/extensions/msteams/src/channel.ts +0 -436
- package/extensions/msteams/src/conversation-store-fs.test.ts +0 -88
- package/extensions/msteams/src/conversation-store-fs.ts +0 -155
- package/extensions/msteams/src/conversation-store-memory.ts +0 -45
- package/extensions/msteams/src/conversation-store.ts +0 -41
- package/extensions/msteams/src/directory-live.ts +0 -179
- package/extensions/msteams/src/errors.test.ts +0 -46
- package/extensions/msteams/src/errors.ts +0 -158
- package/extensions/msteams/src/file-consent-helpers.test.ts +0 -234
- package/extensions/msteams/src/file-consent-helpers.ts +0 -73
- package/extensions/msteams/src/file-consent.ts +0 -122
- package/extensions/msteams/src/graph-chat.ts +0 -52
- package/extensions/msteams/src/graph-upload.ts +0 -445
- package/extensions/msteams/src/inbound.test.ts +0 -67
- package/extensions/msteams/src/inbound.ts +0 -38
- package/extensions/msteams/src/index.ts +0 -4
- package/extensions/msteams/src/media-helpers.test.ts +0 -186
- package/extensions/msteams/src/media-helpers.ts +0 -77
- package/extensions/msteams/src/messenger.test.ts +0 -245
- package/extensions/msteams/src/messenger.ts +0 -460
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +0 -123
- package/extensions/msteams/src/monitor-handler/message-handler.ts +0 -629
- package/extensions/msteams/src/monitor-handler.ts +0 -166
- package/extensions/msteams/src/monitor-types.ts +0 -5
- package/extensions/msteams/src/monitor.ts +0 -290
- package/extensions/msteams/src/onboarding.ts +0 -432
- package/extensions/msteams/src/outbound.ts +0 -47
- package/extensions/msteams/src/pending-uploads.ts +0 -87
- package/extensions/msteams/src/policy.test.ts +0 -210
- package/extensions/msteams/src/policy.ts +0 -202
- package/extensions/msteams/src/polls-store-memory.ts +0 -30
- package/extensions/msteams/src/polls-store.test.ts +0 -40
- package/extensions/msteams/src/polls.test.ts +0 -72
- package/extensions/msteams/src/polls.ts +0 -299
- package/extensions/msteams/src/probe.test.ts +0 -57
- package/extensions/msteams/src/probe.ts +0 -99
- package/extensions/msteams/src/reply-dispatcher.ts +0 -128
- package/extensions/msteams/src/resolve-allowlist.ts +0 -277
- package/extensions/msteams/src/runtime.ts +0 -14
- package/extensions/msteams/src/sdk-types.ts +0 -19
- package/extensions/msteams/src/sdk.ts +0 -33
- package/extensions/msteams/src/send-context.ts +0 -156
- package/extensions/msteams/src/send.ts +0 -489
- package/extensions/msteams/src/sent-message-cache.test.ts +0 -16
- package/extensions/msteams/src/sent-message-cache.ts +0 -41
- package/extensions/msteams/src/storage.ts +0 -22
- package/extensions/msteams/src/store-fs.ts +0 -80
- package/extensions/msteams/src/token.ts +0 -19
- package/extensions/nextcloud-talk/clawdbot.plugin.json +0 -11
- package/extensions/nextcloud-talk/index.ts +0 -18
- package/extensions/nextcloud-talk/package.json +0 -30
- package/extensions/nextcloud-talk/src/accounts.ts +0 -154
- package/extensions/nextcloud-talk/src/channel.ts +0 -404
- package/extensions/nextcloud-talk/src/config-schema.ts +0 -78
- package/extensions/nextcloud-talk/src/format.ts +0 -79
- package/extensions/nextcloud-talk/src/inbound.ts +0 -336
- package/extensions/nextcloud-talk/src/monitor.ts +0 -246
- package/extensions/nextcloud-talk/src/normalize.ts +0 -31
- package/extensions/nextcloud-talk/src/onboarding.ts +0 -341
- package/extensions/nextcloud-talk/src/policy.ts +0 -175
- package/extensions/nextcloud-talk/src/room-info.ts +0 -111
- package/extensions/nextcloud-talk/src/runtime.ts +0 -14
- package/extensions/nextcloud-talk/src/send.ts +0 -206
- package/extensions/nextcloud-talk/src/signature.ts +0 -67
- package/extensions/nextcloud-talk/src/types.ts +0 -179
- package/extensions/nostr/CHANGELOG.md +0 -46
- package/extensions/nostr/README.md +0 -136
- package/extensions/nostr/clawdbot.plugin.json +0 -11
- package/extensions/nostr/index.ts +0 -69
- package/extensions/nostr/package.json +0 -31
- package/extensions/nostr/src/channel.test.ts +0 -141
- package/extensions/nostr/src/channel.ts +0 -342
- package/extensions/nostr/src/config-schema.ts +0 -90
- package/extensions/nostr/src/metrics.ts +0 -464
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +0 -544
- package/extensions/nostr/src/nostr-bus.integration.test.ts +0 -452
- package/extensions/nostr/src/nostr-bus.test.ts +0 -199
- package/extensions/nostr/src/nostr-bus.ts +0 -741
- package/extensions/nostr/src/nostr-profile-http.test.ts +0 -378
- package/extensions/nostr/src/nostr-profile-http.ts +0 -500
- package/extensions/nostr/src/nostr-profile-import.test.ts +0 -120
- package/extensions/nostr/src/nostr-profile-import.ts +0 -259
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +0 -479
- package/extensions/nostr/src/nostr-profile.test.ts +0 -410
- package/extensions/nostr/src/nostr-profile.ts +0 -242
- package/extensions/nostr/src/nostr-state-store.test.ts +0 -128
- package/extensions/nostr/src/nostr-state-store.ts +0 -226
- package/extensions/nostr/src/runtime.ts +0 -14
- package/extensions/nostr/src/seen-tracker.ts +0 -271
- package/extensions/nostr/src/types.test.ts +0 -161
- package/extensions/nostr/src/types.ts +0 -99
- package/extensions/nostr/test/setup.ts +0 -5
- package/extensions/open-prose/README.md +0 -25
- package/extensions/open-prose/clawdbot.plugin.json +0 -11
- package/extensions/open-prose/index.ts +0 -5
- package/extensions/open-prose/package.json +0 -11
- package/extensions/open-prose/skills/prose/LICENSE +0 -21
- package/extensions/open-prose/skills/prose/SKILL.md +0 -318
- package/extensions/open-prose/skills/prose/alt-borges.md +0 -141
- package/extensions/open-prose/skills/prose/alts/arabian-nights.md +0 -358
- package/extensions/open-prose/skills/prose/alts/borges.md +0 -360
- package/extensions/open-prose/skills/prose/alts/folk.md +0 -322
- package/extensions/open-prose/skills/prose/alts/homer.md +0 -346
- package/extensions/open-prose/skills/prose/alts/kafka.md +0 -373
- package/extensions/open-prose/skills/prose/compiler.md +0 -2967
- package/extensions/open-prose/skills/prose/examples/01-hello-world.prose +0 -4
- package/extensions/open-prose/skills/prose/examples/02-research-and-summarize.prose +0 -6
- package/extensions/open-prose/skills/prose/examples/03-code-review.prose +0 -17
- package/extensions/open-prose/skills/prose/examples/04-write-and-refine.prose +0 -14
- package/extensions/open-prose/skills/prose/examples/05-debug-issue.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/06-explain-codebase.prose +0 -17
- package/extensions/open-prose/skills/prose/examples/07-refactor.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/08-blog-post.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/09-research-with-agents.prose +0 -25
- package/extensions/open-prose/skills/prose/examples/10-code-review-agents.prose +0 -32
- package/extensions/open-prose/skills/prose/examples/11-skills-and-imports.prose +0 -27
- package/extensions/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +0 -43
- package/extensions/open-prose/skills/prose/examples/13-variables-and-context.prose +0 -51
- package/extensions/open-prose/skills/prose/examples/14-composition-blocks.prose +0 -48
- package/extensions/open-prose/skills/prose/examples/15-inline-sequences.prose +0 -23
- package/extensions/open-prose/skills/prose/examples/16-parallel-reviews.prose +0 -19
- package/extensions/open-prose/skills/prose/examples/17-parallel-research.prose +0 -19
- package/extensions/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +0 -36
- package/extensions/open-prose/skills/prose/examples/19-advanced-parallel.prose +0 -71
- package/extensions/open-prose/skills/prose/examples/20-fixed-loops.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/21-pipeline-operations.prose +0 -35
- package/extensions/open-prose/skills/prose/examples/22-error-handling.prose +0 -51
- package/extensions/open-prose/skills/prose/examples/23-retry-with-backoff.prose +0 -63
- package/extensions/open-prose/skills/prose/examples/24-choice-blocks.prose +0 -86
- package/extensions/open-prose/skills/prose/examples/25-conditionals.prose +0 -114
- package/extensions/open-prose/skills/prose/examples/26-parameterized-blocks.prose +0 -100
- package/extensions/open-prose/skills/prose/examples/27-string-interpolation.prose +0 -105
- package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +0 -37
- package/extensions/open-prose/skills/prose/examples/28-gas-town.prose +0 -1572
- package/extensions/open-prose/skills/prose/examples/29-captains-chair.prose +0 -218
- package/extensions/open-prose/skills/prose/examples/30-captains-chair-simple.prose +0 -42
- package/extensions/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +0 -145
- package/extensions/open-prose/skills/prose/examples/33-pr-review-autofix.prose +0 -168
- package/extensions/open-prose/skills/prose/examples/34-content-pipeline.prose +0 -204
- package/extensions/open-prose/skills/prose/examples/35-feature-factory.prose +0 -296
- package/extensions/open-prose/skills/prose/examples/36-bug-hunter.prose +0 -237
- package/extensions/open-prose/skills/prose/examples/37-the-forge.prose +0 -1474
- package/extensions/open-prose/skills/prose/examples/38-skill-scan.prose +0 -455
- package/extensions/open-prose/skills/prose/examples/39-architect-by-simulation.prose +0 -277
- package/extensions/open-prose/skills/prose/examples/40-rlm-self-refine.prose +0 -32
- package/extensions/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +0 -38
- package/extensions/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +0 -46
- package/extensions/open-prose/skills/prose/examples/43-rlm-pairwise.prose +0 -50
- package/extensions/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +0 -261
- package/extensions/open-prose/skills/prose/examples/45-plugin-release.prose +0 -159
- package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +0 -637
- package/extensions/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +0 -148
- package/extensions/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +0 -225
- package/extensions/open-prose/skills/prose/examples/47-language-self-improvement.prose +0 -356
- package/extensions/open-prose/skills/prose/examples/48-habit-miner.prose +0 -445
- package/extensions/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +0 -210
- package/extensions/open-prose/skills/prose/examples/README.md +0 -391
- package/extensions/open-prose/skills/prose/examples/roadmap/README.md +0 -22
- package/extensions/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/roadmap/parallel-review.prose +0 -18
- package/extensions/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +0 -17
- package/extensions/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +0 -223
- package/extensions/open-prose/skills/prose/guidance/antipatterns.md +0 -951
- package/extensions/open-prose/skills/prose/guidance/patterns.md +0 -700
- package/extensions/open-prose/skills/prose/guidance/system-prompt.md +0 -180
- package/extensions/open-prose/skills/prose/help.md +0 -143
- package/extensions/open-prose/skills/prose/lib/README.md +0 -105
- package/extensions/open-prose/skills/prose/lib/calibrator.prose +0 -215
- package/extensions/open-prose/skills/prose/lib/cost-analyzer.prose +0 -174
- package/extensions/open-prose/skills/prose/lib/error-forensics.prose +0 -250
- package/extensions/open-prose/skills/prose/lib/inspector.prose +0 -196
- package/extensions/open-prose/skills/prose/lib/profiler.prose +0 -460
- package/extensions/open-prose/skills/prose/lib/program-improver.prose +0 -275
- package/extensions/open-prose/skills/prose/lib/project-memory.prose +0 -118
- package/extensions/open-prose/skills/prose/lib/user-memory.prose +0 -93
- package/extensions/open-prose/skills/prose/lib/vm-improver.prose +0 -243
- package/extensions/open-prose/skills/prose/primitives/session.md +0 -587
- package/extensions/open-prose/skills/prose/prose.md +0 -1235
- package/extensions/open-prose/skills/prose/state/filesystem.md +0 -478
- package/extensions/open-prose/skills/prose/state/in-context.md +0 -380
- package/extensions/open-prose/skills/prose/state/postgres.md +0 -875
- package/extensions/open-prose/skills/prose/state/sqlite.md +0 -572
- package/extensions/qwen-portal-auth/README.md +0 -24
- package/extensions/qwen-portal-auth/clawdbot.plugin.json +0 -11
- package/extensions/qwen-portal-auth/index.ts +0 -127
- package/extensions/qwen-portal-auth/oauth.ts +0 -190
- package/extensions/signal/clawdbot.plugin.json +0 -11
- package/extensions/signal/index.ts +0 -18
- package/extensions/signal/package.json +0 -11
- package/extensions/signal/src/channel.ts +0 -312
- package/extensions/signal/src/runtime.ts +0 -14
- package/extensions/telegram/clawdbot.plugin.json +0 -11
- package/extensions/telegram/index.ts +0 -18
- package/extensions/telegram/package.json +0 -11
- package/extensions/telegram/src/channel.ts +0 -478
- package/extensions/telegram/src/runtime.ts +0 -14
- package/extensions/tlon/README.md +0 -5
- package/extensions/tlon/clawdbot.plugin.json +0 -11
- package/extensions/tlon/index.ts +0 -18
- package/extensions/tlon/package.json +0 -30
- package/extensions/tlon/src/channel.ts +0 -379
- package/extensions/tlon/src/config-schema.test.ts +0 -32
- package/extensions/tlon/src/config-schema.ts +0 -43
- package/extensions/tlon/src/monitor/discovery.ts +0 -71
- package/extensions/tlon/src/monitor/history.ts +0 -87
- package/extensions/tlon/src/monitor/index.ts +0 -501
- package/extensions/tlon/src/monitor/processed-messages.test.ts +0 -24
- package/extensions/tlon/src/monitor/processed-messages.ts +0 -38
- package/extensions/tlon/src/monitor/utils.ts +0 -83
- package/extensions/tlon/src/onboarding.ts +0 -213
- package/extensions/tlon/src/runtime.ts +0 -14
- package/extensions/tlon/src/targets.ts +0 -79
- package/extensions/tlon/src/types.ts +0 -85
- package/extensions/tlon/src/urbit/auth.ts +0 -18
- package/extensions/tlon/src/urbit/http-api.ts +0 -36
- package/extensions/tlon/src/urbit/send.test.ts +0 -38
- package/extensions/tlon/src/urbit/send.ts +0 -127
- package/extensions/tlon/src/urbit/sse-client.test.ts +0 -41
- package/extensions/tlon/src/urbit/sse-client.ts +0 -367
- package/extensions/twitch/CHANGELOG.md +0 -21
- package/extensions/twitch/README.md +0 -89
- package/extensions/twitch/clawdbot.plugin.json +0 -9
- package/extensions/twitch/index.ts +0 -20
- package/extensions/twitch/package.json +0 -20
- package/extensions/twitch/src/access-control.test.ts +0 -489
- package/extensions/twitch/src/access-control.ts +0 -154
- package/extensions/twitch/src/actions.ts +0 -173
- package/extensions/twitch/src/client-manager-registry.ts +0 -115
- package/extensions/twitch/src/config-schema.ts +0 -82
- package/extensions/twitch/src/config.test.ts +0 -88
- package/extensions/twitch/src/config.ts +0 -116
- package/extensions/twitch/src/monitor.ts +0 -257
- package/extensions/twitch/src/onboarding.test.ts +0 -311
- package/extensions/twitch/src/onboarding.ts +0 -411
- package/extensions/twitch/src/outbound.test.ts +0 -373
- package/extensions/twitch/src/outbound.ts +0 -186
- package/extensions/twitch/src/plugin.test.ts +0 -39
- package/extensions/twitch/src/plugin.ts +0 -274
- package/extensions/twitch/src/probe.test.ts +0 -198
- package/extensions/twitch/src/probe.ts +0 -118
- package/extensions/twitch/src/resolver.ts +0 -137
- package/extensions/twitch/src/runtime.ts +0 -14
- package/extensions/twitch/src/send.test.ts +0 -289
- package/extensions/twitch/src/send.ts +0 -136
- package/extensions/twitch/src/status.test.ts +0 -270
- package/extensions/twitch/src/status.ts +0 -176
- package/extensions/twitch/src/token.test.ts +0 -171
- package/extensions/twitch/src/token.ts +0 -87
- package/extensions/twitch/src/twitch-client.test.ts +0 -574
- package/extensions/twitch/src/twitch-client.ts +0 -277
- package/extensions/twitch/src/types.ts +0 -141
- package/extensions/twitch/src/utils/markdown.ts +0 -92
- package/extensions/twitch/src/utils/twitch.ts +0 -78
- package/extensions/twitch/test/setup.ts +0 -7
- package/extensions/voice-call/CHANGELOG.md +0 -72
- package/extensions/voice-call/README.md +0 -134
- package/extensions/voice-call/clawdbot.plugin.json +0 -601
- package/extensions/voice-call/index.ts +0 -497
- package/extensions/voice-call/package.json +0 -16
- package/extensions/voice-call/src/cli.ts +0 -300
- package/extensions/voice-call/src/config.test.ts +0 -204
- package/extensions/voice-call/src/config.ts +0 -493
- package/extensions/voice-call/src/core-bridge.ts +0 -196
- package/extensions/voice-call/src/manager/context.ts +0 -21
- package/extensions/voice-call/src/manager/events.ts +0 -177
- package/extensions/voice-call/src/manager/lookup.ts +0 -33
- package/extensions/voice-call/src/manager/outbound.ts +0 -248
- package/extensions/voice-call/src/manager/state.ts +0 -50
- package/extensions/voice-call/src/manager/store.ts +0 -88
- package/extensions/voice-call/src/manager/timers.ts +0 -86
- package/extensions/voice-call/src/manager/twiml.ts +0 -9
- package/extensions/voice-call/src/manager.test.ts +0 -108
- package/extensions/voice-call/src/manager.ts +0 -876
- package/extensions/voice-call/src/media-stream.test.ts +0 -97
- package/extensions/voice-call/src/media-stream.ts +0 -393
- package/extensions/voice-call/src/providers/base.ts +0 -67
- package/extensions/voice-call/src/providers/index.ts +0 -10
- package/extensions/voice-call/src/providers/mock.ts +0 -168
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -28
- package/extensions/voice-call/src/providers/plivo.ts +0 -504
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +0 -311
- package/extensions/voice-call/src/providers/telnyx.ts +0 -364
- package/extensions/voice-call/src/providers/tts-openai.ts +0 -264
- package/extensions/voice-call/src/providers/twilio/api.ts +0 -45
- package/extensions/voice-call/src/providers/twilio/webhook.ts +0 -29
- package/extensions/voice-call/src/providers/twilio.test.ts +0 -64
- package/extensions/voice-call/src/providers/twilio.ts +0 -595
- package/extensions/voice-call/src/response-generator.ts +0 -171
- package/extensions/voice-call/src/runtime.ts +0 -205
- package/extensions/voice-call/src/telephony-audio.ts +0 -88
- package/extensions/voice-call/src/telephony-tts.ts +0 -95
- package/extensions/voice-call/src/tunnel.ts +0 -331
- package/extensions/voice-call/src/types.ts +0 -272
- package/extensions/voice-call/src/utils.ts +0 -12
- package/extensions/voice-call/src/voice-mapping.ts +0 -65
- package/extensions/voice-call/src/webhook-security.test.ts +0 -233
- package/extensions/voice-call/src/webhook-security.ts +0 -446
- package/extensions/voice-call/src/webhook.ts +0 -490
- package/extensions/whatsapp/clawdbot.plugin.json +0 -11
- package/extensions/whatsapp/index.ts +0 -18
- package/extensions/whatsapp/package.json +0 -11
- package/extensions/whatsapp/src/channel.ts +0 -500
- package/extensions/whatsapp/src/runtime.ts +0 -14
- package/extensions/zalo/CHANGELOG.md +0 -55
- package/extensions/zalo/README.md +0 -50
- package/extensions/zalo/clawdbot.plugin.json +0 -11
- package/extensions/zalo/index.ts +0 -20
- package/extensions/zalo/package.json +0 -33
- package/extensions/zalo/src/accounts.ts +0 -71
- package/extensions/zalo/src/actions.ts +0 -62
- package/extensions/zalo/src/api.ts +0 -206
- package/extensions/zalo/src/channel.directory.test.ts +0 -35
- package/extensions/zalo/src/channel.ts +0 -394
- package/extensions/zalo/src/config-schema.ts +0 -24
- package/extensions/zalo/src/monitor.ts +0 -760
- package/extensions/zalo/src/monitor.webhook.test.ts +0 -70
- package/extensions/zalo/src/onboarding.ts +0 -405
- package/extensions/zalo/src/probe.ts +0 -46
- package/extensions/zalo/src/proxy.ts +0 -18
- package/extensions/zalo/src/runtime.ts +0 -14
- package/extensions/zalo/src/send.ts +0 -117
- package/extensions/zalo/src/status-issues.ts +0 -50
- package/extensions/zalo/src/token.ts +0 -55
- package/extensions/zalo/src/types.ts +0 -42
- package/extensions/zalouser/CHANGELOG.md +0 -33
- package/extensions/zalouser/README.md +0 -221
- package/extensions/zalouser/clawdbot.plugin.json +0 -11
- package/extensions/zalouser/index.ts +0 -32
- package/extensions/zalouser/package.json +0 -33
- package/extensions/zalouser/src/accounts.ts +0 -117
- package/extensions/zalouser/src/channel.test.ts +0 -17
- package/extensions/zalouser/src/channel.ts +0 -641
- package/extensions/zalouser/src/config-schema.ts +0 -27
- package/extensions/zalouser/src/monitor.ts +0 -574
- package/extensions/zalouser/src/onboarding.ts +0 -488
- package/extensions/zalouser/src/probe.ts +0 -28
- package/extensions/zalouser/src/runtime.ts +0 -14
- package/extensions/zalouser/src/send.ts +0 -150
- package/extensions/zalouser/src/status-issues.test.ts +0 -58
- package/extensions/zalouser/src/status-issues.ts +0 -81
- package/extensions/zalouser/src/tool.ts +0 -156
- package/extensions/zalouser/src/types.ts +0 -102
- package/extensions/zalouser/src/zca.ts +0 -208
- package/skills/1password/SKILL.md +0 -53
- package/skills/1password/references/cli-examples.md +0 -29
- package/skills/1password/references/get-started.md +0 -17
- package/skills/apple-notes/SKILL.md +0 -50
- package/skills/apple-reminders/SKILL.md +0 -67
- package/skills/bear-notes/SKILL.md +0 -79
- package/skills/bird/SKILL.md +0 -197
- package/skills/blogwatcher/SKILL.md +0 -46
- package/skills/blucli/SKILL.md +0 -27
- package/skills/bluebubbles/SKILL.md +0 -39
- package/skills/camsnap/SKILL.md +0 -25
- package/skills/canvas/SKILL.md +0 -189
- package/skills/clawdhub/SKILL.md +0 -53
- package/skills/coding-agent/SKILL.md +0 -278
- package/skills/discord/SKILL.md +0 -475
- package/skills/eightctl/SKILL.md +0 -29
- package/skills/food-order/SKILL.md +0 -41
- package/skills/gemini/SKILL.md +0 -23
- package/skills/gifgrep/SKILL.md +0 -47
- package/skills/github/SKILL.md +0 -48
- package/skills/gog/SKILL.md +0 -92
- package/skills/goplaces/SKILL.md +0 -30
- package/skills/himalaya/SKILL.md +0 -217
- package/skills/himalaya/references/configuration.md +0 -174
- package/skills/himalaya/references/message-composition.md +0 -182
- package/skills/imsg/SKILL.md +0 -25
- package/skills/local-places/SERVER_README.md +0 -101
- package/skills/local-places/SKILL.md +0 -91
- package/skills/local-places/pyproject.toml +0 -27
- package/skills/local-places/src/local_places/__init__.py +0 -2
- package/skills/local-places/src/local_places/google_places.py +0 -314
- package/skills/local-places/src/local_places/main.py +0 -65
- package/skills/local-places/src/local_places/schemas.py +0 -107
- package/skills/mcporter/SKILL.md +0 -38
- package/skills/model-usage/SKILL.md +0 -45
- package/skills/model-usage/references/codexbar-cli.md +0 -28
- package/skills/model-usage/scripts/model_usage.py +0 -310
- package/skills/nano-banana-pro/SKILL.md +0 -30
- package/skills/nano-banana-pro/scripts/generate_image.py +0 -169
- package/skills/nano-pdf/SKILL.md +0 -20
- package/skills/notion/SKILL.md +0 -156
- package/skills/obsidian/SKILL.md +0 -55
- package/skills/openai-image-gen/SKILL.md +0 -71
- package/skills/openai-image-gen/scripts/gen.py +0 -240
- package/skills/openai-whisper/SKILL.md +0 -19
- package/skills/openai-whisper-api/SKILL.md +0 -43
- package/skills/openai-whisper-api/scripts/transcribe.sh +0 -85
- package/skills/openhue/SKILL.md +0 -30
- package/skills/oracle/SKILL.md +0 -105
- package/skills/ordercli/SKILL.md +0 -47
- package/skills/peekaboo/SKILL.md +0 -153
- package/skills/sag/SKILL.md +0 -62
- package/skills/session-logs/SKILL.md +0 -105
- package/skills/sherpa-onnx-tts/SKILL.md +0 -49
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
- package/skills/skill-creator/SKILL.md +0 -371
- package/skills/skill-creator/license.txt +0 -202
- package/skills/skill-creator/scripts/init_skill.py +0 -378
- package/skills/skill-creator/scripts/package_skill.py +0 -111
- package/skills/skill-creator/scripts/quick_validate.py +0 -101
- package/skills/slack/SKILL.md +0 -144
- package/skills/songsee/SKILL.md +0 -29
- package/skills/sonoscli/SKILL.md +0 -26
- package/skills/spotify-player/SKILL.md +0 -34
- package/skills/summarize/SKILL.md +0 -67
- package/skills/things-mac/SKILL.md +0 -61
- package/skills/tmux/SKILL.md +0 -121
- package/skills/tmux/scripts/find-sessions.sh +0 -112
- package/skills/tmux/scripts/wait-for-text.sh +0 -83
- package/skills/trello/SKILL.md +0 -84
- package/skills/video-frames/SKILL.md +0 -29
- package/skills/video-frames/scripts/frame.sh +0 -81
- package/skills/voice-call/SKILL.md +0 -35
- package/skills/wacli/SKILL.md +0 -42
- package/skills/weather/SKILL.md +0 -49
|
@@ -1,445 +0,0 @@
|
|
|
1
|
-
# Habit Miner
|
|
2
|
-
# Excavates your AI session history to find recurring workflows worth automating
|
|
3
|
-
# Scans .claude, .opencode, .cursor, etc. — discovers patterns, writes .prose programs
|
|
4
|
-
#
|
|
5
|
-
# BACKEND: Run with sqlite+ or postgres for incremental processing across runs
|
|
6
|
-
# prose run 48-habit-miner.prose --backend sqlite+
|
|
7
|
-
#
|
|
8
|
-
# KEY VM FEATURES USED:
|
|
9
|
-
# - persist: true on miner — remembers patterns across runs, watches them mature
|
|
10
|
-
# - resume: — incremental processing, only analyzes new logs since last run
|
|
11
|
-
# - recursive blocks — handles arbitrarily large log corpora
|
|
12
|
-
# - reference-based context — agents read from storage, not everything in memory
|
|
13
|
-
|
|
14
|
-
input mode: "Mode: 'full' (analyze everything), 'incremental' (new logs only), 'check' (see what's new)"
|
|
15
|
-
input min_frequency: "Minimum times a pattern must appear to qualify (default: 3)"
|
|
16
|
-
input focus: "Optional: filter to specific area (e.g., 'git', 'testing', 'refactoring')"
|
|
17
|
-
|
|
18
|
-
# ============================================================
|
|
19
|
-
# Agents
|
|
20
|
-
# ============================================================
|
|
21
|
-
|
|
22
|
-
agent scout:
|
|
23
|
-
model: sonnet
|
|
24
|
-
prompt: """
|
|
25
|
-
You discover AI assistant log files on the user's system.
|
|
26
|
-
|
|
27
|
-
Check common locations:
|
|
28
|
-
- ~/.claude/ (Claude Code)
|
|
29
|
-
- ~/.opencode/ (OpenCode)
|
|
30
|
-
- ~/.cursor/ (Cursor)
|
|
31
|
-
- ~/.continue/ (Continue)
|
|
32
|
-
- ~/.aider/ (Aider)
|
|
33
|
-
- ~/.copilot/ (GitHub Copilot)
|
|
34
|
-
- ~/.codeium/ (Codeium)
|
|
35
|
-
- ~/.tabnine/ (Tabnine)
|
|
36
|
-
- ~/.config/claude-code/
|
|
37
|
-
- ~/.config/github-copilot/
|
|
38
|
-
- ~/.local/share/*/
|
|
39
|
-
|
|
40
|
-
For each location found, report:
|
|
41
|
-
- Path
|
|
42
|
-
- Log format (jsonl, sqlite, json, etc.)
|
|
43
|
-
- Approximate size
|
|
44
|
-
- Number of sessions/files
|
|
45
|
-
- Date range (oldest to newest)
|
|
46
|
-
- NEW since last scan (if incremental)
|
|
47
|
-
|
|
48
|
-
Be thorough but respect permissions. Don't read content yet, just inventory.
|
|
49
|
-
"""
|
|
50
|
-
permissions:
|
|
51
|
-
bash: allow
|
|
52
|
-
read: ["~/.claude/**", "~/.opencode/**", "~/.cursor/**", "~/.continue/**",
|
|
53
|
-
"~/.aider/**", "~/.copilot/**", "~/.codeium/**", "~/.tabnine/**",
|
|
54
|
-
"~/.config/**", "~/.local/share/**"]
|
|
55
|
-
|
|
56
|
-
agent parser:
|
|
57
|
-
model: sonnet
|
|
58
|
-
prompt: """
|
|
59
|
-
You parse AI assistant log files into normalized conversation format.
|
|
60
|
-
|
|
61
|
-
Handle formats:
|
|
62
|
-
- JSONL: one JSON object per line (Claude Code, many others)
|
|
63
|
-
- SQLite: query conversation tables
|
|
64
|
-
- JSON: array of messages or nested structure
|
|
65
|
-
- Markdown: conversation exports
|
|
66
|
-
|
|
67
|
-
Extract for each session:
|
|
68
|
-
- Session ID / timestamp
|
|
69
|
-
- User messages (the requests)
|
|
70
|
-
- Assistant actions (tools used, files modified)
|
|
71
|
-
- Outcome (success/failure indicators)
|
|
72
|
-
|
|
73
|
-
Normalize to common schema regardless of source format.
|
|
74
|
-
Track file modification times for incremental processing.
|
|
75
|
-
"""
|
|
76
|
-
permissions:
|
|
77
|
-
bash: allow
|
|
78
|
-
read: ["~/.claude/**", "~/.opencode/**", "~/.cursor/**", "~/.continue/**",
|
|
79
|
-
"~/.aider/**", "~/.copilot/**", "~/.codeium/**", "~/.tabnine/**"]
|
|
80
|
-
|
|
81
|
-
agent miner:
|
|
82
|
-
model: opus
|
|
83
|
-
persist: true # <-- KEY: Remembers patterns across runs
|
|
84
|
-
prompt: """
|
|
85
|
-
You find and track patterns in conversation histories over time.
|
|
86
|
-
|
|
87
|
-
Your memory contains patterns from previous runs. Each pattern has:
|
|
88
|
-
- name: descriptive identifier
|
|
89
|
-
- maturity: emerging (3-5 hits) → established (6-15) → proven (16+)
|
|
90
|
-
- examples: representative instances
|
|
91
|
-
- last_seen: when pattern last appeared
|
|
92
|
-
- trend: growing / stable / declining
|
|
93
|
-
|
|
94
|
-
On each run:
|
|
95
|
-
1. Load your memory of known patterns
|
|
96
|
-
2. Process new sessions
|
|
97
|
-
3. Update pattern frequencies and maturity
|
|
98
|
-
4. Identify NEW emerging patterns
|
|
99
|
-
5. Note patterns that are declining (not seen recently)
|
|
100
|
-
|
|
101
|
-
Patterns MATURE over time. Don't rush to automate emerging patterns.
|
|
102
|
-
Wait until they're established before recommending automation.
|
|
103
|
-
"""
|
|
104
|
-
|
|
105
|
-
agent qualifier:
|
|
106
|
-
model: opus
|
|
107
|
-
prompt: """
|
|
108
|
-
You determine which patterns are ready for automation.
|
|
109
|
-
|
|
110
|
-
Consider MATURITY (from miner's memory):
|
|
111
|
-
- emerging: Too early. Note it, but don't automate yet.
|
|
112
|
-
- established: Good candidate. Enough data to generalize.
|
|
113
|
-
- proven: Strong candidate. Battle-tested pattern.
|
|
114
|
-
|
|
115
|
-
Also consider:
|
|
116
|
-
- COMPLEXITY: Multi-step, not trivial
|
|
117
|
-
- CONSISTENCY: Similar enough across instances
|
|
118
|
-
- AUTOMATABLE: Not too context-dependent
|
|
119
|
-
- VALUE: Would save meaningful time/effort
|
|
120
|
-
|
|
121
|
-
Reject patterns that are:
|
|
122
|
-
- Still emerging (wait for more data)
|
|
123
|
-
- Too simple (just run a single command)
|
|
124
|
-
- Too variable (every instance is different)
|
|
125
|
-
"""
|
|
126
|
-
|
|
127
|
-
agent author:
|
|
128
|
-
model: opus
|
|
129
|
-
prompt: """
|
|
130
|
-
You write .prose programs from mature workflow patterns.
|
|
131
|
-
|
|
132
|
-
For each qualified pattern:
|
|
133
|
-
- Identify the inputs (what varies between instances)
|
|
134
|
-
- Identify the constants (what's always the same)
|
|
135
|
-
- Design appropriate agents for the workflow
|
|
136
|
-
- Structure phases logically
|
|
137
|
-
- Add error handling where needed
|
|
138
|
-
- Include user checkpoints at decision points
|
|
139
|
-
|
|
140
|
-
Write idiomatic OpenProse. Follow existing example patterns.
|
|
141
|
-
Reference the pattern's maturity level in a header comment.
|
|
142
|
-
"""
|
|
143
|
-
permissions:
|
|
144
|
-
write: ["**/*.prose"]
|
|
145
|
-
|
|
146
|
-
agent organizer:
|
|
147
|
-
model: sonnet
|
|
148
|
-
prompt: """
|
|
149
|
-
You organize generated .prose programs into a coherent collection.
|
|
150
|
-
|
|
151
|
-
Tasks:
|
|
152
|
-
- Group related programs by domain (git, testing, docs, etc.)
|
|
153
|
-
- Suggest directory structure
|
|
154
|
-
- Create an index/README
|
|
155
|
-
- Identify programs that could share blocks or agents
|
|
156
|
-
- Note potential compositions (program A often followed by B)
|
|
157
|
-
"""
|
|
158
|
-
permissions:
|
|
159
|
-
write: ["**/*.md", "**/*.prose"]
|
|
160
|
-
|
|
161
|
-
# ============================================================
|
|
162
|
-
# Recursive block for processing large log corpora
|
|
163
|
-
# ============================================================
|
|
164
|
-
|
|
165
|
-
block process_logs(sources, depth):
|
|
166
|
-
# Base case: small enough to process directly
|
|
167
|
-
if **fewer than 50 sessions** or depth <= 0:
|
|
168
|
-
output sources | pmap:
|
|
169
|
-
session: parser
|
|
170
|
-
prompt: "Parse these logs into normalized format"
|
|
171
|
-
context: item
|
|
172
|
-
|
|
173
|
-
# Recursive case: chunk and fan out
|
|
174
|
-
let chunks = session "Split sources into ~25 session batches"
|
|
175
|
-
context: sources
|
|
176
|
-
|
|
177
|
-
let results = []
|
|
178
|
-
parallel for chunk in chunks:
|
|
179
|
-
let chunk_result = do process_logs(chunk, depth - 1)
|
|
180
|
-
results = results + chunk_result
|
|
181
|
-
|
|
182
|
-
output results
|
|
183
|
-
|
|
184
|
-
# ============================================================
|
|
185
|
-
# Phase 0: Discovery
|
|
186
|
-
# ============================================================
|
|
187
|
-
|
|
188
|
-
let inventory = session: scout
|
|
189
|
-
prompt: """
|
|
190
|
-
Scan the system for AI assistant log files.
|
|
191
|
-
Mode: {mode}
|
|
192
|
-
|
|
193
|
-
Check all common locations. For each found, report:
|
|
194
|
-
- Full path
|
|
195
|
-
- Format detected
|
|
196
|
-
- Size (human readable)
|
|
197
|
-
- Session/file count
|
|
198
|
-
- Date range
|
|
199
|
-
- If incremental: how many NEW since last scan
|
|
200
|
-
|
|
201
|
-
Return a structured inventory.
|
|
202
|
-
"""
|
|
203
|
-
|
|
204
|
-
# For "check" mode, just show what's available and exit
|
|
205
|
-
if **mode is check**:
|
|
206
|
-
output result = {
|
|
207
|
-
status: "check-complete",
|
|
208
|
-
inventory: inventory,
|
|
209
|
-
hint: "Run with mode:'incremental' to process new logs, or mode:'full' for everything"
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
input source_selection: """
|
|
213
|
-
## AI Assistant Logs Found
|
|
214
|
-
|
|
215
|
-
{inventory}
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
Mode: {mode}
|
|
220
|
-
|
|
221
|
-
Select which sources to analyze:
|
|
222
|
-
- List the paths you want included
|
|
223
|
-
- Or say "all" to analyze everything found
|
|
224
|
-
- Or say "none" to cancel
|
|
225
|
-
"""
|
|
226
|
-
|
|
227
|
-
if **user selected none or wants to cancel**:
|
|
228
|
-
output result = {
|
|
229
|
-
status: "cancelled",
|
|
230
|
-
inventory: inventory
|
|
231
|
-
}
|
|
232
|
-
throw "User cancelled - no sources selected"
|
|
233
|
-
|
|
234
|
-
let selected_sources = session: scout
|
|
235
|
-
prompt: "Parse user's selection into a list of paths to analyze"
|
|
236
|
-
context: { inventory, source_selection, mode }
|
|
237
|
-
|
|
238
|
-
# ============================================================
|
|
239
|
-
# Phase 1: Parsing (with recursive chunking for scale)
|
|
240
|
-
# ============================================================
|
|
241
|
-
|
|
242
|
-
let parsed_sessions = do process_logs(selected_sources, 3)
|
|
243
|
-
|
|
244
|
-
let session_count = session "Count total sessions parsed"
|
|
245
|
-
context: parsed_sessions
|
|
246
|
-
|
|
247
|
-
# ============================================================
|
|
248
|
-
# Phase 2: Mining (with persistent memory)
|
|
249
|
-
# ============================================================
|
|
250
|
-
|
|
251
|
-
# Resume the miner with its accumulated pattern knowledge
|
|
252
|
-
let pattern_update = resume: miner
|
|
253
|
-
prompt: """
|
|
254
|
-
Process these new sessions against your pattern memory.
|
|
255
|
-
|
|
256
|
-
1. Load your known patterns (with maturity levels)
|
|
257
|
-
2. Match new sessions to existing patterns OR identify new ones
|
|
258
|
-
3. Update frequencies, maturity levels, last_seen dates
|
|
259
|
-
4. Report:
|
|
260
|
-
- Patterns that MATURED (crossed a threshold)
|
|
261
|
-
- NEW patterns emerging
|
|
262
|
-
- Patterns DECLINING (not seen in a while)
|
|
263
|
-
- Current state of all tracked patterns
|
|
264
|
-
|
|
265
|
-
Focus area (if specified): {focus}
|
|
266
|
-
"""
|
|
267
|
-
context: { parsed_sessions, focus }
|
|
268
|
-
|
|
269
|
-
# ============================================================
|
|
270
|
-
# Phase 3: Qualification
|
|
271
|
-
# ============================================================
|
|
272
|
-
|
|
273
|
-
let qualified = session: qualifier
|
|
274
|
-
prompt: """
|
|
275
|
-
Review the miner's pattern update. Identify patterns ready for automation.
|
|
276
|
-
|
|
277
|
-
Minimum frequency threshold: {min_frequency}
|
|
278
|
-
|
|
279
|
-
PRIORITIZE:
|
|
280
|
-
1. Patterns that just reached "established" or "proven" maturity
|
|
281
|
-
2. Proven patterns not yet automated
|
|
282
|
-
3. High-value patterns even if just established
|
|
283
|
-
|
|
284
|
-
SKIP:
|
|
285
|
-
- Emerging patterns (let them mature)
|
|
286
|
-
- Already-automated patterns (unless significantly evolved)
|
|
287
|
-
- Declining patterns (might be obsolete)
|
|
288
|
-
|
|
289
|
-
Return ranked list with reasoning.
|
|
290
|
-
"""
|
|
291
|
-
context: { pattern_update, min_frequency }
|
|
292
|
-
|
|
293
|
-
if **no patterns ready for automation**:
|
|
294
|
-
output result = {
|
|
295
|
-
status: "no-new-automations",
|
|
296
|
-
sessions_analyzed: session_count,
|
|
297
|
-
pattern_update: pattern_update,
|
|
298
|
-
message: "Patterns are still maturing. Run again later."
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
# ============================================================
|
|
302
|
-
# Phase 4: User Checkpoint
|
|
303
|
-
# ============================================================
|
|
304
|
-
|
|
305
|
-
input pattern_selection: """
|
|
306
|
-
## Patterns Ready for Automation
|
|
307
|
-
|
|
308
|
-
Analyzed {session_count} sessions.
|
|
309
|
-
|
|
310
|
-
Pattern Update:
|
|
311
|
-
{pattern_update}
|
|
312
|
-
|
|
313
|
-
Ready for automation:
|
|
314
|
-
{qualified}
|
|
315
|
-
|
|
316
|
-
---
|
|
317
|
-
|
|
318
|
-
Which patterns should I write .prose programs for?
|
|
319
|
-
- List by name or number
|
|
320
|
-
- Or say "all" for everything qualified
|
|
321
|
-
- Or say "none" to let patterns mature further
|
|
322
|
-
|
|
323
|
-
You can also refine any pattern description before I write code.
|
|
324
|
-
"""
|
|
325
|
-
|
|
326
|
-
if **user wants to wait for more maturity**:
|
|
327
|
-
output result = {
|
|
328
|
-
status: "deferred",
|
|
329
|
-
sessions_analyzed: session_count,
|
|
330
|
-
pattern_update: pattern_update,
|
|
331
|
-
qualified: qualified
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
let patterns_to_automate = session: qualifier
|
|
335
|
-
prompt: "Parse user selection into final list of patterns to automate"
|
|
336
|
-
context: { qualified, pattern_selection }
|
|
337
|
-
|
|
338
|
-
# ============================================================
|
|
339
|
-
# Phase 5: Program Generation
|
|
340
|
-
# ============================================================
|
|
341
|
-
|
|
342
|
-
let programs = patterns_to_automate | map:
|
|
343
|
-
session: author
|
|
344
|
-
prompt: """
|
|
345
|
-
Write a .prose program for this pattern.
|
|
346
|
-
|
|
347
|
-
Pattern maturity: {pattern.maturity}
|
|
348
|
-
Times observed: {pattern.frequency}
|
|
349
|
-
Representative examples: {pattern.examples}
|
|
350
|
-
|
|
351
|
-
The program should:
|
|
352
|
-
- Parameterize what varies between instances
|
|
353
|
-
- Hardcode what's always the same
|
|
354
|
-
- Use appropriate agents for distinct roles
|
|
355
|
-
- Include error handling
|
|
356
|
-
- Add user checkpoints at decision points
|
|
357
|
-
|
|
358
|
-
Include a header comment noting:
|
|
359
|
-
- Pattern maturity level
|
|
360
|
-
- Number of observations it's based on
|
|
361
|
-
- Date generated
|
|
362
|
-
"""
|
|
363
|
-
context: item
|
|
364
|
-
|
|
365
|
-
# ============================================================
|
|
366
|
-
# Phase 6: Organization
|
|
367
|
-
# ============================================================
|
|
368
|
-
|
|
369
|
-
let organized = session: organizer
|
|
370
|
-
prompt: """
|
|
371
|
-
Organize the generated programs.
|
|
372
|
-
|
|
373
|
-
Tasks:
|
|
374
|
-
1. Group by domain (git, testing, docs, refactoring, etc.)
|
|
375
|
-
2. Suggest directory structure
|
|
376
|
-
3. Create an index README with:
|
|
377
|
-
- Program name and one-line description
|
|
378
|
-
- Pattern maturity (established/proven)
|
|
379
|
-
- When to use it
|
|
380
|
-
- Example invocation
|
|
381
|
-
4. Identify shared patterns that could be extracted
|
|
382
|
-
5. Note programs that often chain together
|
|
383
|
-
"""
|
|
384
|
-
context: programs
|
|
385
|
-
|
|
386
|
-
# ============================================================
|
|
387
|
-
# Phase 7: Output Location
|
|
388
|
-
# ============================================================
|
|
389
|
-
|
|
390
|
-
input output_location: """
|
|
391
|
-
## Generated Programs
|
|
392
|
-
|
|
393
|
-
{organized}
|
|
394
|
-
|
|
395
|
-
---
|
|
396
|
-
|
|
397
|
-
Where should I write these programs?
|
|
398
|
-
|
|
399
|
-
Options:
|
|
400
|
-
- A directory path (e.g., ~/my-workflows/)
|
|
401
|
-
- "preview" to just show them without writing
|
|
402
|
-
"""
|
|
403
|
-
|
|
404
|
-
if **user wants preview only**:
|
|
405
|
-
output result = {
|
|
406
|
-
status: "preview",
|
|
407
|
-
sessions_analyzed: session_count,
|
|
408
|
-
pattern_update: pattern_update,
|
|
409
|
-
qualified: qualified,
|
|
410
|
-
programs: programs,
|
|
411
|
-
organization: organized
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
let written = session: organizer
|
|
415
|
-
prompt: "Write all programs to the specified location with proper structure"
|
|
416
|
-
context: { programs, organized, output_location }
|
|
417
|
-
permissions:
|
|
418
|
-
write: ["**/*.prose", "**/*.md"]
|
|
419
|
-
|
|
420
|
-
# ============================================================
|
|
421
|
-
# Output
|
|
422
|
-
# ============================================================
|
|
423
|
-
|
|
424
|
-
output result = {
|
|
425
|
-
status: "complete",
|
|
426
|
-
|
|
427
|
-
# Discovery
|
|
428
|
-
sources_scanned: inventory,
|
|
429
|
-
sources_analyzed: selected_sources,
|
|
430
|
-
|
|
431
|
-
# Analysis
|
|
432
|
-
sessions_analyzed: session_count,
|
|
433
|
-
pattern_update: pattern_update,
|
|
434
|
-
|
|
435
|
-
# Qualification
|
|
436
|
-
patterns_qualified: qualified,
|
|
437
|
-
patterns_automated: patterns_to_automate,
|
|
438
|
-
|
|
439
|
-
# Generation
|
|
440
|
-
programs_written: written,
|
|
441
|
-
organization: organized,
|
|
442
|
-
|
|
443
|
-
# For next run
|
|
444
|
-
next_step: "Run again with mode:'incremental' to process new logs and mature patterns"
|
|
445
|
-
}
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
# Prose Run Retrospective
|
|
2
|
-
# Analyzes a completed run to extract learnings and produce an improved version.
|
|
3
|
-
|
|
4
|
-
input run_id: "Path to the completed run directory"
|
|
5
|
-
input prose_path: "Path to the .prose file that was executed"
|
|
6
|
-
|
|
7
|
-
const PATTERNS_PATH = "prose/skills/open-prose/guidance/patterns.md"
|
|
8
|
-
const ANTIPATTERNS_PATH = "prose/skills/open-prose/guidance/antipatterns.md"
|
|
9
|
-
|
|
10
|
-
agent analyst:
|
|
11
|
-
model: sonnet
|
|
12
|
-
prompt: """You analyze OpenProse run artifacts to identify issues and classify outcomes.
|
|
13
|
-
Checklist-style evaluation: read systematically, identify issues with evidence, classify outcomes.
|
|
14
|
-
|
|
15
|
-
Classification criteria:
|
|
16
|
-
- success: Program completed, outputs are correct
|
|
17
|
-
- transient-error: External failure (API timeout, network) - not a program flaw
|
|
18
|
-
- architectural-issue: Structural problem in .prose design
|
|
19
|
-
- antipattern-instance: Program exhibits a known antipattern"""
|
|
20
|
-
|
|
21
|
-
agent extractor:
|
|
22
|
-
model: opus
|
|
23
|
-
prompt: """You extract generalizable patterns from specific experiences.
|
|
24
|
-
Deep reasoning: identify abstract success/failure factors, distinguish situational from generalizable,
|
|
25
|
-
reason about trade-offs, synthesize observations into principles.
|
|
26
|
-
Be conservative - avoid over-generalizing from single instances."""
|
|
27
|
-
|
|
28
|
-
parallel:
|
|
29
|
-
run_artifacts = session: analyst
|
|
30
|
-
prompt: """Read and catalog all artifacts in {run_id}.
|
|
31
|
-
Look for bindings/*.md, state.md, outputs/, error files.
|
|
32
|
-
Summarize what exists and its content."""
|
|
33
|
-
context:
|
|
34
|
-
file: "{run_id}/state.md"
|
|
35
|
-
|
|
36
|
-
source_analysis = session: analyst
|
|
37
|
-
prompt: """Parse the .prose file structure at {prose_path}.
|
|
38
|
-
Identify: inputs, agents and models, phase structure, error handling, decision points, outputs."""
|
|
39
|
-
context:
|
|
40
|
-
file: prose_path
|
|
41
|
-
|
|
42
|
-
let classification = session: analyst
|
|
43
|
-
prompt: """Classify the run outcome.
|
|
44
|
-
|
|
45
|
-
Run artifacts: {run_artifacts}
|
|
46
|
-
Source structure: {source_analysis}
|
|
47
|
-
|
|
48
|
-
Determine:
|
|
49
|
-
- outcome_type: success | transient-error | architectural-issue | antipattern-instance
|
|
50
|
-
- confidence: high | medium | low
|
|
51
|
-
- evidence: Specific quotes supporting classification
|
|
52
|
-
- summary: One-line description"""
|
|
53
|
-
|
|
54
|
-
if **classification indicates transient error (API timeout, network failure) not caused by program**:
|
|
55
|
-
output result = {
|
|
56
|
-
status: "transient-error",
|
|
57
|
-
classification: classification,
|
|
58
|
-
recommendation: "Re-run the program; no structural changes needed"
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
let improvements = session: analyst
|
|
62
|
-
prompt: """Identify improvement opportunities in the .prose file.
|
|
63
|
-
|
|
64
|
-
Classification: {classification}
|
|
65
|
-
Source structure: {source_analysis}
|
|
66
|
-
|
|
67
|
-
For each improvement:
|
|
68
|
-
- What: Specific change
|
|
69
|
-
- Why: Problem it solves
|
|
70
|
-
- Priority: high | medium | low
|
|
71
|
-
|
|
72
|
-
Focus on structural improvements: model selection, parallelization, error handling, context management."""
|
|
73
|
-
context:
|
|
74
|
-
file: PATTERNS_PATH
|
|
75
|
-
file: ANTIPATTERNS_PATH
|
|
76
|
-
|
|
77
|
-
let pattern_candidates = session: extractor
|
|
78
|
-
prompt: """Extract generalizable patterns from this run.
|
|
79
|
-
|
|
80
|
-
Classification: {classification}
|
|
81
|
-
Improvements: {improvements}
|
|
82
|
-
|
|
83
|
-
For genuinely novel patterns/antipatterns (not already in guidance):
|
|
84
|
-
- Name (kebab-case)
|
|
85
|
-
- Category
|
|
86
|
-
- Description
|
|
87
|
-
- Example code
|
|
88
|
-
- Rationale
|
|
89
|
-
|
|
90
|
-
Be conservative. Only propose broadly applicable patterns supported by evidence."""
|
|
91
|
-
context:
|
|
92
|
-
file: PATTERNS_PATH
|
|
93
|
-
file: ANTIPATTERNS_PATH
|
|
94
|
-
|
|
95
|
-
let improved_prose = session: extractor
|
|
96
|
-
prompt: """Write an improved version of the .prose file.
|
|
97
|
-
|
|
98
|
-
Source structure: {source_analysis}
|
|
99
|
-
Improvements: {improvements}
|
|
100
|
-
|
|
101
|
-
Write the complete improved file:
|
|
102
|
-
- Keep same purpose and inputs
|
|
103
|
-
- Apply identified improvements
|
|
104
|
-
- Follow patterns from guidance
|
|
105
|
-
- Add brief header comment on what changed"""
|
|
106
|
-
context:
|
|
107
|
-
file: prose_path
|
|
108
|
-
file: PATTERNS_PATH
|
|
109
|
-
|
|
110
|
-
if **pattern_candidates contains no novel patterns worth documenting**:
|
|
111
|
-
let new_patterns = { count: 0, entries: [] }
|
|
112
|
-
let new_antipatterns = { count: 0, entries: [] }
|
|
113
|
-
else:
|
|
114
|
-
parallel:
|
|
115
|
-
new_patterns = session: analyst
|
|
116
|
-
prompt: """Draft new pattern entries for patterns.md.
|
|
117
|
-
|
|
118
|
-
Candidates: {pattern_candidates}
|
|
119
|
-
|
|
120
|
-
For genuinely novel patterns, follow exact format from patterns.md.
|
|
121
|
-
Output: count, names, and full markdown entries."""
|
|
122
|
-
context:
|
|
123
|
-
file: PATTERNS_PATH
|
|
124
|
-
|
|
125
|
-
new_antipatterns = session: analyst
|
|
126
|
-
prompt: """Draft new antipattern entries for antipatterns.md.
|
|
127
|
-
|
|
128
|
-
Candidates: {pattern_candidates}
|
|
129
|
-
|
|
130
|
-
For genuinely novel antipatterns, follow exact format from antipatterns.md.
|
|
131
|
-
Output: count, names, and full markdown entries."""
|
|
132
|
-
context:
|
|
133
|
-
file: ANTIPATTERNS_PATH
|
|
134
|
-
|
|
135
|
-
input approval_response: """
|
|
136
|
-
## Retrospective Complete
|
|
137
|
-
|
|
138
|
-
**Classification**: {classification.outcome_type} ({classification.confidence})
|
|
139
|
-
**Summary**: {classification.summary}
|
|
140
|
-
|
|
141
|
-
**Improvements**: {improvements}
|
|
142
|
-
|
|
143
|
-
**New Patterns**: {new_patterns.count} proposed
|
|
144
|
-
**New Antipatterns**: {new_antipatterns.count} proposed
|
|
145
|
-
|
|
146
|
-
Approve: `all` | `prose-only` | `docs-only` | `none`
|
|
147
|
-
"""
|
|
148
|
-
|
|
149
|
-
choice **user approval**:
|
|
150
|
-
|
|
151
|
-
option "all":
|
|
152
|
-
session "Write improved prose"
|
|
153
|
-
prompt: "Write to {run_id}/outputs/improved.prose:\n{improved_prose}"
|
|
154
|
-
permissions:
|
|
155
|
-
write: ["{run_id}/outputs/*"]
|
|
156
|
-
|
|
157
|
-
if **new_patterns.count > 0**:
|
|
158
|
-
session "Update patterns.md"
|
|
159
|
-
prompt: "Append to {PATTERNS_PATH}:\n{new_patterns.entries}"
|
|
160
|
-
permissions:
|
|
161
|
-
write: [PATTERNS_PATH]
|
|
162
|
-
|
|
163
|
-
if **new_antipatterns.count > 0**:
|
|
164
|
-
session "Update antipatterns.md"
|
|
165
|
-
prompt: "Append to {ANTIPATTERNS_PATH}:\n{new_antipatterns.entries}"
|
|
166
|
-
permissions:
|
|
167
|
-
write: [ANTIPATTERNS_PATH]
|
|
168
|
-
|
|
169
|
-
output result = {
|
|
170
|
-
status: classification.outcome_type,
|
|
171
|
-
improved_prose_path: "{run_id}/outputs/improved.prose",
|
|
172
|
-
patterns_added: new_patterns.names,
|
|
173
|
-
antipatterns_added: new_antipatterns.names
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
option "prose-only":
|
|
177
|
-
session "Write improved prose"
|
|
178
|
-
prompt: "Write to {run_id}/outputs/improved.prose:\n{improved_prose}"
|
|
179
|
-
permissions:
|
|
180
|
-
write: ["{run_id}/outputs/*"]
|
|
181
|
-
|
|
182
|
-
output result = {
|
|
183
|
-
status: classification.outcome_type,
|
|
184
|
-
improved_prose_path: "{run_id}/outputs/improved.prose"
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
option "docs-only":
|
|
188
|
-
if **new_patterns.count > 0**:
|
|
189
|
-
session "Update patterns.md"
|
|
190
|
-
prompt: "Append to {PATTERNS_PATH}:\n{new_patterns.entries}"
|
|
191
|
-
permissions:
|
|
192
|
-
write: [PATTERNS_PATH]
|
|
193
|
-
|
|
194
|
-
if **new_antipatterns.count > 0**:
|
|
195
|
-
session "Update antipatterns.md"
|
|
196
|
-
prompt: "Append to {ANTIPATTERNS_PATH}:\n{new_antipatterns.entries}"
|
|
197
|
-
permissions:
|
|
198
|
-
write: [ANTIPATTERNS_PATH]
|
|
199
|
-
|
|
200
|
-
output result = {
|
|
201
|
-
status: classification.outcome_type,
|
|
202
|
-
patterns_added: new_patterns.names,
|
|
203
|
-
antipatterns_added: new_antipatterns.names
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
option "none":
|
|
207
|
-
output result = {
|
|
208
|
-
status: "review-complete",
|
|
209
|
-
learnings: pattern_candidates
|
|
210
|
-
}
|