create-walle 0.9.3 → 0.9.4

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.
Files changed (75) hide show
  1. package/README.md +2 -1
  2. package/package.json +1 -1
  3. package/template/claude-task-manager/db.js +5 -1
  4. package/template/claude-task-manager/public/css/walle.css +317 -0
  5. package/template/claude-task-manager/public/index.html +404 -101
  6. package/template/claude-task-manager/public/js/walle.js +1256 -86
  7. package/template/claude-task-manager/server.js +189 -14
  8. package/template/docs/site/api/README.md +146 -0
  9. package/template/docs/site/skills/README.md +99 -5
  10. package/template/package.json +1 -1
  11. package/template/wall-e/agent.js +54 -0
  12. package/template/wall-e/api-walle.js +452 -3
  13. package/template/wall-e/brain.js +45 -1
  14. package/template/wall-e/channels/telegram-channel.js +96 -0
  15. package/template/wall-e/chat.js +61 -2
  16. package/template/wall-e/coding-context.js +252 -0
  17. package/template/wall-e/coding-orchestrator.js +625 -0
  18. package/template/wall-e/coding-review.js +189 -0
  19. package/template/wall-e/core-tasks.js +12 -3
  20. package/template/wall-e/deploy.sh +4 -4
  21. package/template/wall-e/fly.toml +2 -2
  22. package/template/wall-e/package.json +4 -1
  23. package/template/wall-e/skills/_bundled/coding-agent/SKILL.md +17 -0
  24. package/template/wall-e/skills/_bundled/coding-agent/run.js +142 -0
  25. package/template/wall-e/skills/_bundled/email-sync/SKILL.md +12 -7
  26. package/template/wall-e/skills/_bundled/email-sync/mail-reader.jxa +76 -46
  27. package/template/wall-e/skills/_bundled/email-sync/run.js +42 -2
  28. package/template/wall-e/skills/_bundled/glean-team-sync/SKILL.md +57 -0
  29. package/template/wall-e/skills/_bundled/glean-team-sync/run.js +254 -0
  30. package/template/wall-e/skills/_bundled/slack-mentions/SKILL.md +1 -1
  31. package/template/wall-e/skills/_bundled/slack-mentions/run.js +268 -121
  32. package/template/wall-e/skills/_templates/data-fetcher.md +27 -0
  33. package/template/wall-e/skills/_templates/manual-action.md +19 -0
  34. package/template/wall-e/skills/_templates/periodic-checker.md +29 -0
  35. package/template/wall-e/skills/_templates/script-runner.md +21 -0
  36. package/template/wall-e/skills/claude-code-reader.js +16 -4
  37. package/template/wall-e/skills/skill-executor.js +23 -1
  38. package/template/wall-e/skills/skill-validator.js +73 -0
  39. package/template/wall-e/tests/brain.test.js +3 -3
  40. package/template/wall-e/tests/coding-agent-integration.test.js +240 -0
  41. package/template/wall-e/tests/coding-context.test.js +212 -0
  42. package/template/wall-e/tests/coding-orchestrator.test.js +303 -0
  43. package/template/wall-e/tests/coding-review.test.js +141 -0
  44. package/template/claude-task-manager/package-lock.json +0 -1607
  45. package/template/claude-task-manager/tests/test-ai-search.js +0 -61
  46. package/template/claude-task-manager/tests/test-editor-ux.js +0 -76
  47. package/template/claude-task-manager/tests/test-editor-ux2.js +0 -51
  48. package/template/claude-task-manager/tests/test-features-v2.js +0 -127
  49. package/template/claude-task-manager/tests/test-insights-cached.js +0 -78
  50. package/template/claude-task-manager/tests/test-insights.js +0 -124
  51. package/template/claude-task-manager/tests/test-permissions-v2.js +0 -127
  52. package/template/claude-task-manager/tests/test-permissions.js +0 -122
  53. package/template/claude-task-manager/tests/test-pin.js +0 -51
  54. package/template/claude-task-manager/tests/test-prompts.js +0 -164
  55. package/template/claude-task-manager/tests/test-recent-sessions.js +0 -96
  56. package/template/claude-task-manager/tests/test-review.js +0 -104
  57. package/template/claude-task-manager/tests/test-send-dropdown.js +0 -76
  58. package/template/claude-task-manager/tests/test-send-final.js +0 -30
  59. package/template/claude-task-manager/tests/test-send-fixes.js +0 -76
  60. package/template/claude-task-manager/tests/test-send-integration.js +0 -107
  61. package/template/claude-task-manager/tests/test-send-visual.js +0 -34
  62. package/template/claude-task-manager/tests/test-session-create.js +0 -147
  63. package/template/claude-task-manager/tests/test-sidebar-ux.js +0 -83
  64. package/template/claude-task-manager/tests/test-url-hash.js +0 -68
  65. package/template/claude-task-manager/tests/test-ux-crop.js +0 -34
  66. package/template/claude-task-manager/tests/test-ux-review.js +0 -130
  67. package/template/claude-task-manager/tests/test-zoom-card.js +0 -76
  68. package/template/claude-task-manager/tests/test-zoom.js +0 -92
  69. package/template/claude-task-manager/tests/test-zoom2.js +0 -67
  70. package/template/docs/openclaw-vs-walle-comparison.md +0 -103
  71. package/template/docs/ux-improvement-plan.md +0 -84
  72. package/template/wall-e/docs/specs/2026-04-01-publish-plan.md +0 -112
  73. package/template/wall-e/docs/specs/SKILL-FORMAT.md +0 -326
  74. package/template/wall-e/package-lock.json +0 -533
  75. package/template/wall-e/skills/_bundled/slack-mentions/.watermark.json +0 -4
@@ -1,326 +0,0 @@
1
- # WALL-E Skill Format Specification
2
-
3
- **Version:** 1.0.0
4
- **Date:** 2026-03-31
5
- **Status:** Draft
6
-
7
- ## Overview
8
-
9
- A WALL-E skill is a **reusable capability** that the agent can invoke to accomplish work. Skills sit between raw tools (Slack MCP, file I/O, shell) and tasks (scheduled/triggered jobs).
10
-
11
- ```
12
- ┌─────────────────────────────────────┐
13
- │ TASKS (scheduling) │ "Run slack-sync every 15m"
14
- │ When to run, checkpoints, status │
15
- ├─────────────────────────────────────┤
16
- │ SKILLS (capabilities) │ "How to sync Slack messages"
17
- │ Reusable, composable, shareable │
18
- ├─────────────────────────────────────┤
19
- │ TOOLS (primitives) │ Slack MCP, brain DB, shell
20
- │ Raw APIs, MCP servers │
21
- └─────────────────────────────────────┘
22
- ```
23
-
24
- ## Skill Directory Structure
25
-
26
- Each skill is a directory containing a `SKILL.md` file and optional supporting files:
27
-
28
- ```
29
- skills/
30
- slack-sync/
31
- SKILL.md # Required: metadata + instructions
32
- run.js # Optional: script entry point
33
- lib/ # Optional: supporting code
34
- README.md # Optional: human docs
35
- morning-briefing/
36
- SKILL.md # Agent-based skill (no script)
37
- my-custom-skill/
38
- SKILL.md
39
- run.sh # Shell scripts work too
40
- ```
41
-
42
- ## SKILL.md Format
43
-
44
- A SKILL.md file has two parts: **YAML frontmatter** (metadata) and **Markdown body** (instructions).
45
-
46
- ### Minimal Example
47
-
48
- ```markdown
49
- ---
50
- name: hello-world
51
- description: A simple test skill that greets the user
52
- version: 1.0.0
53
- execution: agent
54
- ---
55
- # Hello World
56
-
57
- When invoked, respond with a friendly greeting that includes the owner's name.
58
- ```
59
-
60
- ### Full Example
61
-
62
- ```markdown
63
- ---
64
- name: slack-sync
65
- description: >
66
- Pull latest Slack messages from active conversations.
67
- Discovers recently active channels, fetches new messages,
68
- and stores them in WALL-E's brain for search and context.
69
- version: 1.2.0
70
- author: wall-e
71
-
72
- # Execution mode: "script" (deterministic) or "agent" (LLM-driven)
73
- execution: script
74
- entry: run.js
75
- args: ["--sync"]
76
-
77
- # What this skill needs to run
78
- requires:
79
- env: [] # Environment variables (checked at load time)
80
- tools: [slack-mcp] # MCP servers or tool modules
81
- skills: [] # Other skills this depends on
82
-
83
- # Default trigger for tasks that use this skill
84
- trigger:
85
- type: interval # interval | cron | manual | event
86
- schedule: "every 15m" # Human-readable schedule
87
-
88
- # Skill configuration schema (validated at runtime)
89
- config:
90
- mode:
91
- type: string
92
- enum: [incremental, full]
93
- default: incremental
94
- description: "incremental = only new messages, full = complete backfill"
95
- max_channels:
96
- type: number
97
- default: 50
98
- description: "Maximum channels to check per run"
99
-
100
- # Tags for discovery
101
- tags: [slack, messaging, sync, ingestion]
102
-
103
- # Permissions this skill requires (shown to user before install)
104
- permissions:
105
- - slack:read # Read Slack messages
106
- - brain:write # Write memories to brain DB
107
- - network:outbound # Make HTTP requests
108
- ---
109
-
110
- # Slack Conversation Sync
111
-
112
- ## What This Skill Does
113
-
114
- Incrementally syncs Slack messages from your most active conversations
115
- into WALL-E's brain. Only checks recently active channels (last 7 days)
116
- to minimize API calls and run time.
117
-
118
- ## How It Works
119
-
120
- 1. Search Slack for YOUR recent messages to discover active channels
121
- 2. Query brain DB for channels with recent activity
122
- 3. For each active channel, fetch messages since last sync
123
- 4. Deduplicate and store new messages as memories
124
- 5. Emit checkpoint after each channel for resume support
125
-
126
- ## Configuration
127
-
128
- - `mode: incremental` — Only pulls channels with activity in the last 7 days (~35 channels, ~1 min)
129
- - `mode: full` — Pulls ALL known channels (~800 channels, ~15 min)
130
-
131
- ## Output
132
-
133
- Returns: `{ new_messages, skipped, channels_done, total_after }`
134
- ```
135
-
136
- ## Frontmatter Fields
137
-
138
- ### Required
139
-
140
- | Field | Type | Description |
141
- |-------|------|-------------|
142
- | `name` | string | Unique skill identifier (kebab-case, e.g., `slack-sync`) |
143
- | `description` | string | What this skill does. **This is the primary field used for skill discovery.** Write it like search keywords. |
144
- | `version` | string | Semver version |
145
- | `execution` | string | `"script"` or `"agent"` |
146
-
147
- ### Optional
148
-
149
- | Field | Type | Default | Description |
150
- |-------|------|---------|-------------|
151
- | `author` | string | — | Skill author |
152
- | `entry` | string | `run.js` | Entry point file (for script execution) |
153
- | `args` | string[] | `[]` | Default arguments passed to entry point |
154
- | `requires.env` | string[] | `[]` | Required environment variables |
155
- | `requires.tools` | string[] | `[]` | Required MCP servers or tool modules |
156
- | `requires.skills` | string[] | `[]` | Other skills this depends on |
157
- | `trigger.type` | string | `manual` | Default trigger: `interval`, `cron`, `manual`, `event` |
158
- | `trigger.schedule` | string | — | Default schedule (e.g., `"every 15m"`, `"daily at 7am"`) |
159
- | `config` | object | `{}` | Configuration schema (JSON Schema subset) |
160
- | `tags` | string[] | `[]` | Discovery tags |
161
- | `permissions` | string[] | `[]` | Required permissions (shown before install) |
162
-
163
- ## Execution Modes
164
-
165
- ### Script Mode (`execution: script`)
166
-
167
- Deterministic execution. The skill runs a script file (Node.js, Python, shell) as a child process. No LLM tokens consumed. Fast and predictable.
168
-
169
- ```yaml
170
- execution: script
171
- entry: run.js # Relative to skill directory
172
- args: ["--sync"] # Default CLI arguments
173
- ```
174
-
175
- The script receives configuration via environment variables:
176
- - `WALL_E_SKILL_CONFIG` — JSON string of the config object
177
- - `WALL_E_DATA_DIR` — Path to WALL-E's data directory
178
- - `WALL_E_SKILL_DIR` — Path to this skill's directory
179
-
180
- Script exit codes:
181
- - `0` — Success
182
- - `1` — Failure (stderr captured as error)
183
- - `2` — Partial success (some work done, checkpoint saved)
184
-
185
- ### Agent Mode (`execution: agent`)
186
-
187
- LLM-driven execution. WALL-E reads the SKILL.md instructions and uses available tools to accomplish the task. Flexible but costs tokens.
188
-
189
- ```yaml
190
- execution: agent
191
- ```
192
-
193
- The Markdown body below the frontmatter becomes the agent's instructions. The agent can use any available tools (MCP servers, brain DB, shell) to follow the instructions.
194
-
195
- Agent skills are ideal for:
196
- - Tasks requiring judgment (summarization, analysis)
197
- - Multi-step workflows that may vary each run
198
- - Skills that compose other skills
199
- - Natural language output (briefings, reports)
200
-
201
- ## Skill Discovery
202
-
203
- When the agent needs to find relevant skills (e.g., user asks "sync my Slack"), it:
204
-
205
- 1. Loads all installed skill metadata (name, description, tags)
206
- 2. Matches against the user's request using description + tags
207
- 3. For agent-mode skills: reads the full SKILL.md instructions
208
- 4. For script-mode skills: executes the entry point
209
-
210
- The `description` field is critical for discovery. Write it with:
211
- - Action verbs: "Pull", "Sync", "Search", "Analyze"
212
- - Domain keywords: "Slack", "messages", "channels"
213
- - Use case phrases: "keep conversation context fresh"
214
-
215
- ## Skill Locations & Precedence
216
-
217
- Skills are loaded from multiple locations. Higher precedence wins on name conflicts:
218
-
219
- 1. **Workspace skills** (highest): `<project>/.wall-e/skills/`
220
- 2. **User skills**: `~/.wall-e/skills/`
221
- 3. **Bundled skills**: `wall-e/skills/_bundled/`
222
- 4. **Registry skills** (lowest): `~/.wall-e/registry-skills/`
223
-
224
- ## Bundled Skills
225
-
226
- WALL-E ships with these default skills:
227
-
228
- | Skill | Execution | Description |
229
- |-------|-----------|-------------|
230
- | `slack-sync` | script | Incremental Slack message sync |
231
- | `slack-backfill` | script | Full Slack history backfill |
232
- | `slack-search` | agent | Search Slack messages with context |
233
- | `morning-briefing` | agent | Daily meeting prep with calendar + Slack context |
234
- | `team-pulse` | agent | Monitor team messages for urgent items |
235
- | `memory-search` | agent | Search and summarize memories |
236
-
237
- ## Skill ↔ Task Relationship
238
-
239
- Tasks reference skills by name. A task defines WHEN to run; the skill defines HOW.
240
-
241
- ```
242
- Task: "Conversation Sync"
243
- type: recurring
244
- schedule: "every 15m"
245
- skill: "slack-sync" # ← references the skill
246
- skill_config: { mode: "incremental" } # ← overrides skill defaults
247
- ```
248
-
249
- A task can also chain multiple skills:
250
- ```
251
- Task: "Morning Briefing"
252
- type: recurring
253
- schedule: "daily at 7am"
254
- skill: "morning-briefing" # Agent skill that internally uses:
255
- # - slack-search (find recent context)
256
- # - memory-search (find related memories)
257
- # - calendar integration
258
- ```
259
-
260
- ## Configuration
261
-
262
- Skills define a config schema in frontmatter. Tasks can override defaults:
263
-
264
- ```yaml
265
- # In SKILL.md
266
- config:
267
- mode:
268
- type: string
269
- enum: [incremental, full]
270
- default: incremental
271
- ```
272
-
273
- ```json
274
- // In task definition
275
- {
276
- "skill": "slack-sync",
277
- "skill_config": { "mode": "full" }
278
- }
279
- ```
280
-
281
- ## Skill Development
282
-
283
- ### Creating a new skill
284
-
285
- ```bash
286
- wall-e skill create my-skill # Scaffold a new skill directory
287
- wall-e skill test my-skill # Run the skill locally
288
- wall-e skill validate my-skill # Check SKILL.md format
289
- ```
290
-
291
- ### Publishing
292
-
293
- ```bash
294
- wall-e skill publish my-skill # Publish to registry
295
- ```
296
-
297
- ### Installing third-party skills
298
-
299
- ```bash
300
- wall-e skill install <name> # From registry
301
- wall-e skill install <git-url> # From Git repo
302
- wall-e skill list # Show installed skills
303
- wall-e skill update --all # Update all skills
304
- ```
305
-
306
- ## Security Model
307
-
308
- 1. **Bundled skills** — Trusted, shipped with WALL-E
309
- 2. **User skills** — Created by the user, trusted by default
310
- 3. **Registry skills** — Third-party, require explicit permission grant
311
- - Permissions declared in `permissions` field
312
- - Shown to user before installation
313
- - Sandboxed: no access beyond declared permissions
314
-
315
- ## Migration from Current System
316
-
317
- ### Current → New
318
-
319
- | Current | New |
320
- |---------|-----|
321
- | `scripts/slack-backfill.js` | `skills/_bundled/slack-backfill/run.js` + `SKILL.md` |
322
- | `scripts/slack-channel-history.js` | `skills/_bundled/slack-sync/run.js` + `SKILL.md` |
323
- | `skills/slack-pull-live.js` | `skills/_bundled/slack-sync/incremental.js` |
324
- | Task with `execution: script` | Task with `skill: "slack-sync"` |
325
- | Task with `execution: chat` | Task with `skill: "morning-briefing"` |
326
- | `skills` DB table | Filesystem-based skills + DB for execution history |