wayang-ai 0.2.0 → 0.4.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.
Files changed (3) hide show
  1. package/README.md +53 -1
  2. package/dist/cli.js +1495 -394
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -119,6 +119,47 @@ wayang --resume --all # list all sessions to pick
119
119
  | `--resume [id]` | Resume a session | — |
120
120
  | `--verbose` | Enable verbose logging | — |
121
121
 
122
+ ## Skills
123
+
124
+ **Skills** are on-demand expertise packages (Anthropic-style `SKILL.md` + optional resource scripts) that any agent — Controller or Worker — can load at runtime via the `use_skill` tool. Skills are discovered once at startup and shared across all agents through the in-memory registry.
125
+
126
+ ### Discovery
127
+
128
+ Wayang scans these directories (later ones override earlier ones on name conflict):
129
+
130
+ 1. `~/.wayang/skills/` — global, cross-project skills
131
+ 2. `<workspace>/.wayang/skills/` — project-level skills (commit these to share with your team)
132
+ 3. Any extra dirs listed in `config.skillsDirs`
133
+
134
+ Each skill is a directory containing a `SKILL.md` with YAML frontmatter. Only `description` is required:
135
+
136
+ ```
137
+ .wayang/skills/
138
+ └── my-skill/
139
+ ├── SKILL.md # required, with `description` frontmatter
140
+ └── run.sh # optional resource files (scripts, templates, ...)
141
+ ```
142
+
143
+ ```markdown
144
+ ---
145
+ description: One-line summary the LLM sees in the skill catalog.
146
+ ---
147
+
148
+ # my-skill
149
+
150
+ Detailed instructions the agent loads on demand via use_skill.
151
+ Resource scripts are invoked by the worker's own shell tool — Wayang never
152
+ executes them for you.
153
+ ```
154
+
155
+ ### How agents share skills
156
+
157
+ - **Controller** sees the skill catalog in its system prompt and can call `use_skill` to load domain knowledge before writing a task description.
158
+ - **Puppet Worker** sees the same catalog and has the `use_skill` tool, so it can load skill instructions while executing a task.
159
+ - **Claude Code Worker** has no Wayang tools, so its catalog lists each skill's directory — it reads `SKILL.md` with its own file tools.
160
+
161
+ Skills are read-only config: a worker that has already started won't pick up newly added skills until the next session (or the next worker spawn).
162
+
122
163
  ## Project Structure
123
164
 
124
165
  ```
@@ -132,10 +173,11 @@ src/
132
173
  │ ├── supervisor.ts DI container + lifecycle
133
174
  │ ├── controller-loop.ts Main control loop
134
175
  │ ├── agents/ Agent layer (Controller + Worker + Prompts + State)
176
+ │ ├── skills/ Skill registry (discovery + lazy content loading)
135
177
  │ ├── task/ Task domain (pool + scheduler + state)
136
178
  │ ├── signal/ Signal domain (queue + event sourcing state)
137
179
  │ ├── session/ Session domain (manager + state)
138
- │ └── tools/ Tool implementations (13 tools)
180
+ │ └── tools/ Tool implementations (incl. use_skill)
139
181
  ├── infra/ Infrastructure (event-bus, logger, state framework, persistence)
140
182
  ├── types/ Shared types
141
183
  └── utils/ Utility functions
@@ -164,6 +206,16 @@ npm run test:watch # watch mode
164
206
  npm run lint # type check + lint
165
207
  ```
166
208
 
209
+ ## Roadmap
210
+
211
+ - [x] **Controller ↔ Worker Chat** — Allow the controller to chat with a running worker and ask for human approval when needed
212
+ - [ ] **Persistent Workers Across Tasks** — Allow workers to survive task completion and receive follow-up tasks, retaining conversation context for iterative refinement without starting from scratch
213
+ - [ ] **Sessionless Long-Running Agent** — Rethink session design: always inherit context from the previous run + long-term memory, making Wayang a continuously running agent rather than a session-based tool
214
+ - [ ] **More Third-Party Worker Agents** — Expand integrations beyond Claude Code (e.g. Codex, Aider, Cursor agent)
215
+ - [ ] **TUI Improvements** — Better worker detail pages, richer status display, and overall UX polish
216
+ - [ ] **GUI** — Bring Wayang to a graphical interface beyond the terminal
217
+ - [ ] **Pluggable Worker Ecosystem** — Standardize a Worker plugin protocol (capabilities, tools, resources), build a plugin registry, and provide scaffolding so the community can develop and share custom Workers
218
+
167
219
  ## License
168
220
 
169
221
  MIT