用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Supernor/openclaw-skills --skill workshop命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
How Failsafe judges the weekly backup beat from PUSHED receipts — interpretation table, thresholds, and the coverage-gap question technique. Use every weekly beat.
Audit existing skills against create-skill best practices. Finds gaps, scores quality, and produces upgrade recommendations.
Create a new OpenClaw skill following the system's best practices. Produces well-documented, self-teaching skills that any agent (or Claude Code) can execute without prior context.
基于 SOC 职业分类
正在显示 SKILL.md
| name | workshop |
| description | Route ideas to The Workshop (Scribe on Telegram). Creates Intake topics for structured intent capture. |
| version | 1.1.0 |
| author | relay |
| tags | ["workshop","idea","intake","scribe","projects"] |
Route ideas and new work requests to Scribe (spec-projects) for structured intent capture through The Workshop on Telegram. Scribe creates a topic in the Ideas group and runs the full pipeline: Intake -> Shape -> Gauntlet -> Green Light -> Build -> Proof.
/workshopIf the user provided idea text with the command (e.g. /workshop I want real-time agent dashboards):
If bare /workshop with no text:
Before routing anywhere, create a task in ops.db so the work is visible in Bridge.
Use exec or Python to insert directly into SQLite:
import sqlite3
db = sqlite3.connect(os.path.expanduser("~/.openclaw/ops.db"))
db.execute(
"INSERT INTO tasks (agent, task, context, urgency, status, created_at) VALUES (?, ?, ?, ?, 'pending', datetime('now'))",
("spec-projects", "Workshop Intake: {idea title or first 80 chars}", "New idea from {user}: {full idea text}", "routine")
)
db.commit()
db.close()
This is NOT optional. No task record = invisible work = broken system.
Dispatch to Scribe for Workshop intake using sessions_spawn:
{
"tool": "sessions_spawn",
"arguments": {
"agentId": "spec-projects",
"mode": "run",
"label": "workshop:intake",
"message": "New idea from {user name}: {full idea text}\n\nCreate a topic in the Ideas group and begin Workshop intake. Start with Intake stage."
}
}
Tell the user:
If sessions_spawn to spec-projects fails or times out:
/idea skill (which runs intake-engine.py locally).If the SQLite insert fails:
exec workshop-submit.sh "{idea text}" "spec-projects" "routine"Most ideas stay as Intake (above). When an idea becomes an ACTIVE effort that will span MANY dispatches —
a build Robert wants to watch as one thing — register a row in the projects table so it shows as a single
card in the Bridge Workshop "Projects" group (rolled-up child counts, next action, latest step) instead of
flooding the queue with loose tasks.
import sqlite3, os
db = sqlite3.connect(os.path.expanduser("~/.openclaw/ops.db"))
pid = db.execute(
"INSERT INTO projects (title, status, agent, next_action, aps_id) VALUES (?, 'active', ?, ?, ?)",
("<short project title>", "<owning agent, e.g. spec-dev>", "<the immediate next step>", "<intake task id / APS id, optional>")
).lastrowid
db.commit(); db.close()
print("project", pid)
Tag every child dispatch with that project id (9th arg of workshop-submit.sh):
bash ~/.openclaw/scripts/workshop-submit.sh "<task>" <agent> <urgency> "<context>" <host_op> direct "" "" <pid>
Keep the card current as work moves — update status (active/paused/blocked/done), next_action, progress_note:
UPDATE projects SET status='done', next_action='', updated_at=strftime('%Y-%m-%dT%H:%M:%SZ','now') WHERE id=<pid>
Point Robert at the card: "Tracking '' on Bridge Workshop — I'll post milestones, not every step."
The projects row is the LIVE tracker; the Scribe/spec-projects intake (Steps 1-4 above) stays the
"why/strategy" backing — link them via aps_id. One flow, not competing paths.
Intent: Responsive [I04], Reliable [I05]. Purpose: P04 System Visibility.