@codyswann/lisa 2.29.0 → 2.31.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/.agents/plugins/marketplace.json +24 -0
- package/.claude-plugin/marketplace.json +6 -0
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/skills/github-build-intake/SKILL.md +56 -5
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +8 -0
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +32 -0
- package/plugins/lisa-openclaw/commands/connect-repo-topic.md +7 -0
- package/plugins/lisa-openclaw/commands/connect-staff-slack.md +7 -0
- package/plugins/lisa-openclaw/commands/connect-staff-telegram.md +7 -0
- package/plugins/lisa-openclaw/commands/setup-openclaw.md +7 -0
- package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-repo-topic/SKILL.md +137 -0
- package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +109 -0
- package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
- package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-staff/references/platform-routing.md +83 -0
- package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
- package/plugins/lisa-openclaw/skills/lisa-openclaw-setup/SKILL.md +138 -0
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/src/base/skills/github-build-intake/SKILL.md +56 -5
- package/plugins/src/openclaw/.claude-plugin/plugin.json +6 -0
- package/plugins/src/openclaw/commands/connect-repo-topic.md +7 -0
- package/plugins/src/openclaw/commands/connect-staff-slack.md +7 -0
- package/plugins/src/openclaw/commands/connect-staff-telegram.md +7 -0
- package/plugins/src/openclaw/commands/setup-openclaw.md +7 -0
- package/plugins/src/openclaw/skills/lisa-openclaw-connect-repo-topic/SKILL.md +137 -0
- package/plugins/src/openclaw/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +109 -0
- package/plugins/src/openclaw/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
- package/plugins/src/openclaw/skills/lisa-openclaw-connect-staff/references/platform-routing.md +83 -0
- package/plugins/src/openclaw/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
- package/plugins/src/openclaw/skills/lisa-openclaw-setup/SKILL.md +138 -0
- package/scripts/build-plugins.sh +1 -1
- package/scripts/generate-codex-plugin-artifacts.mjs +16 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-openclaw-setup
|
|
3
|
+
description: Set up OpenClaw as the chat-surface runtime for this project's staff roles. Verifies the openclaw CLI, the ~/.openclaw/openclaw.json config, a secret provider, and the required gateway capabilities (sessions_spawn, native-reply session scoping, the NO_REPLY sentinel), then writes a lean `openclaw` section to .lisa.config.json. Prerequisite for lisa-openclaw-connect-staff and lisa-openclaw-connect-repo-topic. Use when a project wants its facilitator/specialist staff reachable from Telegram or Slack.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-openclaw-setup
|
|
7
|
+
|
|
8
|
+
Verify the OpenClaw runtime prerequisites and record a minimal, placeholder-safe pointer in
|
|
9
|
+
`.lisa.config.json` so the connect skills have what they need. **This skill writes only setup-level
|
|
10
|
+
pointers** — never tokens, channel/topic/group ids, bot handles, or route tables. Those live in
|
|
11
|
+
`~/.openclaw/openclaw.json` (OpenClaw's own machine-local source of truth) and are written by the
|
|
12
|
+
connect skills, never committed.
|
|
13
|
+
|
|
14
|
+
This SKILL.md is self-contained and runs identically under Claude Code and Codex. There is no
|
|
15
|
+
command/argument layer in Codex, so do not rely on one.
|
|
16
|
+
|
|
17
|
+
## What OpenClaw is (so the checks make sense)
|
|
18
|
+
|
|
19
|
+
OpenClaw is a locally-hosted multi-agent gateway. A **CLI** (`openclaw`, usually at
|
|
20
|
+
`~/.local/bin/openclaw`) manages a **config file** (`~/.openclaw/openclaw.json`) that defines agents,
|
|
21
|
+
chat-channel bindings (Telegram groups/topics, Slack channels), and routing. A long-running
|
|
22
|
+
**gateway** process delivers chat messages to agents and back. Agents reach other agents internally
|
|
23
|
+
via `sessions_spawn` rather than by messaging each other on the chat platform.
|
|
24
|
+
|
|
25
|
+
## Required inputs
|
|
26
|
+
|
|
27
|
+
Gather (ask only for what is missing):
|
|
28
|
+
|
|
29
|
+
- **platform** the project will default to: `telegram` or `slack`
|
|
30
|
+
- **facilitator agent id** — the single human-facing "chief of staff" agent id (a staff role id; see
|
|
31
|
+
the soft dependency below)
|
|
32
|
+
- **secret provider** — how OpenClaw stores bot/app tokens (e.g. the OS keychain, a named secret
|
|
33
|
+
manager, or `0600` local token files). Capture only its *type* and a *reference*, never a value.
|
|
34
|
+
|
|
35
|
+
## Soft dependency on staff roles
|
|
36
|
+
|
|
37
|
+
The facilitator and specialists are **staff roles**. A companion plugin (`lisa-wiki`) scaffolds a
|
|
38
|
+
staff role's "brain" (a `wiki/staff/<id>.md` doc page plus a dual-runtime subagent at
|
|
39
|
+
`.claude/agents/<id>.md` and `.codex/agents/<id>.toml`) from a `config.staff[]` entry. This plugin
|
|
40
|
+
wires that role to a chat surface — the "body".
|
|
41
|
+
|
|
42
|
+
If `config.staff[]` (in `.lisa.config.json`) has no entries yet, tell the user to define their staff
|
|
43
|
+
first:
|
|
44
|
+
|
|
45
|
+
- In Claude Code: run `/lisa:add-role <Role>` (e.g. `/lisa:add-role Chief of Staff`).
|
|
46
|
+
- In Codex: invoke `$lisa-wiki:lisa-wiki-add-role` with the role.
|
|
47
|
+
|
|
48
|
+
Only auto-delegate if that skill is actually available in the active runtime; otherwise just print the
|
|
49
|
+
exact next step and stop.
|
|
50
|
+
|
|
51
|
+
## Workflow
|
|
52
|
+
|
|
53
|
+
### 1. Locate the OpenClaw CLI
|
|
54
|
+
|
|
55
|
+
Resolve a usable `openclaw` binary, in order:
|
|
56
|
+
|
|
57
|
+
1. `~/.local/bin/openclaw`
|
|
58
|
+
2. `openclaw` on `PATH`
|
|
59
|
+
3. a path the user supplies
|
|
60
|
+
|
|
61
|
+
If none is found, stop and tell the user to install OpenClaw and re-run. Record the resolved path for
|
|
62
|
+
the config's `configPath`/CLI discovery only if it is non-standard.
|
|
63
|
+
|
|
64
|
+
### 2. Verify the config file
|
|
65
|
+
|
|
66
|
+
Confirm `~/.openclaw/openclaw.json` exists and is valid JSON. Do **not** print token values found
|
|
67
|
+
inside it. If it is missing, instruct the user to initialize OpenClaw (its own init flow creates the
|
|
68
|
+
file) before continuing.
|
|
69
|
+
|
|
70
|
+
### 3. Verify a secret provider
|
|
71
|
+
|
|
72
|
+
Confirm a token-storage mechanism is configured. Acceptable: the OpenClaw-configured secret provider,
|
|
73
|
+
an OS keychain entry, or `0600`-permissioned local token files outside the repo. Capture the provider
|
|
74
|
+
*type* and a non-secret *reference* only.
|
|
75
|
+
|
|
76
|
+
### 4. Probe required gateway capabilities
|
|
77
|
+
|
|
78
|
+
The connect skills depend on three OpenClaw behaviors. Probe for them and **fail closed** (warn
|
|
79
|
+
loudly, do not silently proceed) if any is missing:
|
|
80
|
+
|
|
81
|
+
- **`sessions_spawn`** — internal agent-to-agent dispatch (how the facilitator consults specialists).
|
|
82
|
+
- **Native-reply session scoping** — a top-level human request seeds a session keyed to its thread
|
|
83
|
+
root (Slack channel + root `thread_ts`; Telegram supergroup + forum topic + root `message_id`), and
|
|
84
|
+
replies in that thread continue the same session, so concurrent threads don't share short-term
|
|
85
|
+
context.
|
|
86
|
+
- **`NO_REPLY` sentinel** — after an agent sends a message with the platform message tool, returning
|
|
87
|
+
exactly `NO_REPLY` as its assistant final prevents the gateway from posting a duplicate loose
|
|
88
|
+
message.
|
|
89
|
+
|
|
90
|
+
Probe via the OpenClaw CLI/version and a non-mutating validate, e.g.:
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
openclaw --version
|
|
94
|
+
openclaw config validate
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
If a capability cannot be confirmed, record it as an unmet prerequisite. The connect skills must
|
|
98
|
+
refuse to create routes that would post duplicates or leak cross-thread context.
|
|
99
|
+
|
|
100
|
+
### 5. Write the lean config section
|
|
101
|
+
|
|
102
|
+
Update **only** the `openclaw` section of `.lisa.config.json`. Parse the existing JSON, preserve all
|
|
103
|
+
other keys and formatting as much as practical, and write structurally (never string-splice). Shape:
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"openclaw": {
|
|
108
|
+
"defaultPlatform": "telegram",
|
|
109
|
+
"facilitatorAgentId": "<facilitator-agent-id>",
|
|
110
|
+
"secretProvider": {
|
|
111
|
+
"type": "<secret-provider-type>",
|
|
112
|
+
"ref": "<secret-provider-ref>"
|
|
113
|
+
},
|
|
114
|
+
"configPath": "~/.openclaw/openclaw.json"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Rules for this section:
|
|
120
|
+
|
|
121
|
+
- `defaultPlatform`: `"telegram"` or `"slack"`.
|
|
122
|
+
- `facilitatorAgentId`: the default facilitator/chief id only — **not** per-surface routing.
|
|
123
|
+
- `secretProvider`: a pointer only; never token material.
|
|
124
|
+
- `configPath`: optional; default `~/.openclaw/openclaw.json`. Set only for non-standard installs.
|
|
125
|
+
- **Reject** writing tokens, channel ids, topic ids, group ids, Slack thread roots, bot handles, or
|
|
126
|
+
repo paths here. If the user offers them, decline and explain they belong in
|
|
127
|
+
`~/.openclaw/openclaw.json`.
|
|
128
|
+
|
|
129
|
+
### 6. Report
|
|
130
|
+
|
|
131
|
+
Finish with: resolved CLI path, config-file status, secret-provider type/ref, each capability probe
|
|
132
|
+
result (pass / warn / unknown), the `openclaw` section written, and the exact next command/skill
|
|
133
|
+
(`lisa-openclaw-connect-staff` or `lisa-openclaw-connect-repo-topic`).
|
|
134
|
+
|
|
135
|
+
## Related
|
|
136
|
+
|
|
137
|
+
`lisa-openclaw-connect-staff`, `lisa-openclaw-connect-repo-topic`. Staff "brains" come from the
|
|
138
|
+
`lisa-wiki` plugin's `add-role`.
|
package/scripts/build-plugins.sh
CHANGED
|
@@ -53,7 +53,7 @@ for stack in "${STACKS[@]}"; do
|
|
|
53
53
|
done
|
|
54
54
|
|
|
55
55
|
# Standalone plugins (not language stacks): each builds plugins/src/<name> -> plugins/lisa-<name>
|
|
56
|
-
STANDALONE=(wiki)
|
|
56
|
+
STANDALONE=(wiki openclaw)
|
|
57
57
|
for name in "${STANDALONE[@]}"; do
|
|
58
58
|
build_plugin "$name" "lisa-$name"
|
|
59
59
|
done
|
|
@@ -207,6 +207,22 @@ function metadataFor(pluginName) {
|
|
|
207
207
|
"Query the wiki",
|
|
208
208
|
],
|
|
209
209
|
},
|
|
210
|
+
"lisa-openclaw": {
|
|
211
|
+
displayName: "Lisa OpenClaw",
|
|
212
|
+
description:
|
|
213
|
+
"Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
214
|
+
shortDescription: "Staff on Telegram/Slack via OpenClaw",
|
|
215
|
+
longDescription:
|
|
216
|
+
"Wire staff roles to human chat surfaces through OpenClaw: set up the gateway prerequisites, connect a facilitator (chief of staff) and its specialists on Telegram or Slack with hub-and-spoke routing, and bind Telegram forum topics to dispatcher+worker pairs for repo-coding work. Distributed for both Claude Code and Codex.",
|
|
217
|
+
category: "Productivity",
|
|
218
|
+
capabilities: ["Interactive", "Write"],
|
|
219
|
+
keywords: ["openclaw", "telegram", "slack", "agents", "chat-ops"],
|
|
220
|
+
defaultPrompt: [
|
|
221
|
+
"Set up OpenClaw for this project",
|
|
222
|
+
"Connect my chief of staff to Telegram",
|
|
223
|
+
"Connect staff to Slack via OpenClaw",
|
|
224
|
+
],
|
|
225
|
+
},
|
|
210
226
|
};
|
|
211
227
|
return (
|
|
212
228
|
map[pluginName] ?? {
|