From 31823ba5825208bbb13ba03e7dda0f975c910dc8 Mon Sep 17 00:00:00 2001 From: starmen1265 Date: Wed, 11 Mar 2026 16:21:23 +0800 Subject: [PATCH] feat(03-03): update SKILL.md and exports - Add Orchestrator to __init__.py exports - Update SKILL.md with "How It Works" section explaining orchestrator.py entry point - Document command routing and approval workflow Co-Authored-By: Claude Opus 4.6 --- gsd-openclaw/skill/SKILL.md | 14 ++++++++++++++ gsd-openclaw/src/gsd_openclaw/__init__.py | 2 ++ 2 files changed, 16 insertions(+) diff --git a/gsd-openclaw/skill/SKILL.md b/gsd-openclaw/skill/SKILL.md index 48df6ff..b497ff7 100644 --- a/gsd-openclaw/skill/SKILL.md +++ b/gsd-openclaw/skill/SKILL.md @@ -7,6 +7,20 @@ description: GSD project management via /gsd:* commands. Triggers on /gsd:new-pr This skill enables GSD (Get Shit Done) project management through chat interfaces via OpenClaw. +## How It Works + +This skill uses the `Orchestrator` class from `orchestrator.py` as its main entry point. When a user sends a message starting with `/gsd:`: + +1. **Command Parsing**: The orchestrator parses the `/gsd:*` pattern to extract the command and arguments +2. **Session Management**: Auto-creates a tmux session if one doesn't exist for the project +3. **Command Execution**: Executes the GSD command via the tmux session +4. **Response Formatting**: Returns a formatted Feishu card with the result + +For interactive operations that require user confirmation (e.g., approvals), the orchestrator: +- Detects approval requests in Claude CLI output +- Returns an interactive card with confirm/reject buttons +- Handles button callbacks to continue or cancel the operation + ## When to Use This skill triggers when users send messages starting with `/gsd:` in any channel where OpenClaw is configured. Use this skill to: diff --git a/gsd-openclaw/src/gsd_openclaw/__init__.py b/gsd-openclaw/src/gsd_openclaw/__init__.py index 7f29dc9..36e8f2d 100644 --- a/gsd-openclaw/src/gsd_openclaw/__init__.py +++ b/gsd-openclaw/src/gsd_openclaw/__init__.py @@ -13,6 +13,7 @@ from gsd_openclaw.tmux_session import TmuxSession, TmuxSessionManager, SessionIn from gsd_openclaw.command_executor import CommandResult, OutputCapture, CommandExecutor from gsd_openclaw.approval_handler import ApprovalHandler, ApprovalState from gsd_openclaw.progress_monitor import ProgressMonitor, ProgressInfo +from gsd_openclaw.orchestrator import Orchestrator __all__ = [ "SessionState", @@ -31,4 +32,5 @@ __all__ = [ "ApprovalState", "ProgressMonitor", "ProgressInfo", + "Orchestrator", ]