Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## [0.15.10.0] - 2026-04-05 — Native OpenClaw Skills + ClawHub Publishing

Four methodology skills you can install directly in your OpenClaw agent via ClawHub, no Claude Code session needed. Your agent runs them conversationally via Telegram.

### Added

- **4 native OpenClaw skills on ClawHub.** Install with `clawhub install gstack-openclaw-office-hours gstack-openclaw-ceo-review gstack-openclaw-investigate gstack-openclaw-retro`. Pure methodology, no gstack infrastructure. Office hours (375 lines), CEO review (193), investigate (136), retro (301).
- **AGENTS.md dispatch fix.** Three behavioral rules that stop Wintermute from telling you to open Claude Code manually. It now spawns sessions itself. Ready-to-paste section at `openclaw/agents-gstack-section.md`.

### Changed

- OpenClaw `includeSkills` cleared. Native ClawHub skills replace the bloated generated versions (was 10-25K tokens each, now 136-375 lines of pure methodology).
- docs/OPENCLAW.md updated with dispatch routing rules and ClawHub install references.

## [0.15.9.0] - 2026-04-05 — OpenClaw Integration v2

You can now connect gstack to OpenClaw as a methodology source. OpenClaw spawns Claude Code sessions natively via ACP, and gstack provides the planning discipline and thinking frameworks that make those sessions better.
Expand Down
23 changes: 23 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,29 @@ Also when running targeted E2E tests to debug failures:
- Never `pkill` running eval processes and restart — you lose results and waste money
- One clean run beats three killed-and-restarted runs

## Publishing native OpenClaw skills to ClawHub

Native OpenClaw skills live in `openclaw/skills/gstack-openclaw-*/SKILL.md`. These are
hand-crafted methodology skills (not generated by the pipeline) published to ClawHub
so any OpenClaw user can install them.

**Publishing:** The command is `clawhub publish` (NOT `clawhub skill publish`):

```bash
clawhub publish openclaw/skills/gstack-openclaw-office-hours \
--slug gstack-openclaw-office-hours --name "gstack Office Hours" \
--version 1.0.0 --changelog "description of changes"
```

Repeat for each skill: `gstack-openclaw-ceo-review`, `gstack-openclaw-investigate`,
`gstack-openclaw-retro`. Bump `--version` on each update.

**Auth:** `clawhub login` (opens browser for GitHub auth). `clawhub whoami` to verify.

**Updating:** Same `clawhub publish` command with a higher `--version` and `--changelog`.

**Verification:** `clawhub search gstack` to confirm they're live.

## Deploying to the active skill

The active skill lives at `~/.claude/skills/gstack/`. After making changes:
Expand Down
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,24 @@ when Claude Code has gstack installed. Paste this to your OpenClaw agent:
See [docs/OPENCLAW.md](docs/OPENCLAW.md) for advanced dispatch routing and
the gstack-lite/gstack-full prompt templates.
### Native OpenClaw Skills (via ClawHub)
Four methodology skills that work directly in your OpenClaw agent, no Claude Code
session needed. Install from ClawHub:
```
clawhub install gstack-openclaw-office-hours gstack-openclaw-ceo-review gstack-openclaw-investigate gstack-openclaw-retro
```
| Skill | What it does |
|-------|-------------|
| `gstack-openclaw-office-hours` | Product interrogation with 6 forcing questions |
| `gstack-openclaw-ceo-review` | Strategic challenge with 4 scope modes |
| `gstack-openclaw-investigate` | Root cause debugging methodology |
| `gstack-openclaw-retro` | Weekly engineering retrospective |

These are conversational skills. Your OpenClaw agent runs them directly via chat.

### Other AI Agents

gstack works on 8 AI coding agents, not just Claude. Setup auto-detects which
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.9.0
0.15.10.0
Binary file removed bin/gstack-global-discover
Binary file not shown.
52 changes: 18 additions & 34 deletions docs/OPENCLAW.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,34 +50,17 @@ OpenClaw decides at spawn time which tier of gstack support to use:

### Dispatch routing guide (for AGENTS.md)

Add this to OpenClaw's AGENTS.md:
The complete ready-to-paste section lives in `openclaw/agents-gstack-section.md`.
Copy it into your OpenClaw AGENTS.md.

```markdown
## Coding Task Dispatch
Key behavioral rules (these go ABOVE the dispatch tiers):

When asked for coding work, pick the dispatch tier:

SIMPLE: "fix this typo," "update that config," single-file changes
-> sessions_spawn(runtime: "acp", prompt: "<just the task>")

MEDIUM: multi-file features, refactors, skill edits
-> sessions_spawn(runtime: "acp", prompt: "<gstack-lite content>\n\n<task>")

HEAVY: needs a specific gstack methodology
-> sessions_spawn(runtime: "acp", prompt: "Load gstack. Run /qa https://...")
Skills: /cso, /review, /qa, /ship, /investigate, /design-review, /benchmark

FULL: build a complete feature, multi-day scope, needs planning + review
-> sessions_spawn(runtime: "acp", prompt: "<gstack-full content>\n\n<task>")
Claude Code runs: /autoplan -> implement -> /ship -> report back

PLAN: user wants to plan a Claude Code project, spec out a feature, or design
something before any code is written
-> sessions_spawn(runtime: "acp", prompt: "<gstack-plan content>\n\n<task>")
Claude Code runs: /office-hours -> /autoplan -> saves plan file -> reports back
The orchestrator persists the plan link to its memory/knowledge store.
When the user is ready to implement, spawn a new FULL session pointing at the plan.
```
1. **Always spawn, never redirect.** When the user asks to use ANY gstack skill,
ALWAYS spawn a Claude Code session. Never tell the user to open Claude Code.
2. **Resolve the repo.** If the user names a repo, set the working directory. If
unknown, ask which repo.
3. **Autoplan runs end-to-end.** Spawn, let it run the full pipeline, report back
in chat. User should never have to leave Telegram.

### CLAUDE.md collision handling

Expand Down Expand Up @@ -119,14 +102,15 @@ knowledge base, or whatever is configured in AGENTS.md). When the user is
ready to build, spawn a FULL session that references the saved plan.

### Native methodology skills
Conversational skills for non-coding work, generated from gstack source templates:
- `openclaw/office-hours.md` — Product interrogation (6 forcing questions)
- `openclaw/ceo-review.md` — Strategic challenge (10-section review, 4 modes)
- `openclaw/investigate.md` — Operational debugging (4-phase methodology)
- `openclaw/retro.md` — Operational retrospective (weekly review)

These are lean adaptations. They contain the methodology, not the full gstack
skill infrastructure (no browse, no telemetry, no preamble).
Published to ClawHub. Install with `clawhub install`:
- `gstack-openclaw-office-hours` — Product interrogation (6 forcing questions)
- `gstack-openclaw-ceo-review` — Strategic challenge (10-section review, 4 modes)
- `gstack-openclaw-investigate` — Operational debugging (4-phase methodology)
- `gstack-openclaw-retro` — Operational retrospective (weekly review)

Source lives in `openclaw/skills/` in the gstack repo. These are hand-crafted
adaptations of the gstack methodology for OpenClaw's conversational context.
No gstack infrastructure (no browse, no telemetry, no preamble).

## Spawned session detection

Expand Down
2 changes: 1 addition & 1 deletion hosts/openclaw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const openclaw: HostConfig = {
generation: {
generateMetadata: false,
skipSkills: ['codex'],
includeSkills: ['office-hours', 'plan-ceo-review', 'investigate', 'retro'],
includeSkills: [],
},

pathRewrites: [
Expand Down
51 changes: 51 additions & 0 deletions openclaw/agents-gstack-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## Coding Tasks (gstack)

### Rules (non-negotiable)

1. **Always spawn, never redirect.** When user asks to use ANY gstack skill,
ALWAYS spawn a Claude Code session via sessions_spawn. Never tell user to
open Claude Code himself. Never say "this needs to run in Claude Code."
Never say "you'll need to open Claude Code for that." Just do it.

2. **Resolve the repo.** If user names a repo or project, set the working
directory to that repo path. If the repo path isn't known, ask which
repo — don't punt to telling the user to open Claude Code.

3. **Autoplan runs end-to-end.** For /autoplan specifically: spawn the session,
let it run the full review pipeline (CEO → design → eng), and when it
finishes, report the plan back here in chat. Write the plan to memory so
the user can find it later. User should never have to leave Telegram.

### Dispatch Routing

When asked for coding work, pick the dispatch tier:

**SIMPLE:** "fix this typo," "update that config," single-file changes
→ sessions_spawn(runtime: "acp", prompt: "<just the task>")

**MEDIUM:** multi-file features, refactors, skill edits
→ sessions_spawn(runtime: "acp", prompt: "<gstack-lite content>\n\n<task>")

**HEAVY:** needs a specific gstack methodology
→ sessions_spawn(runtime: "acp", prompt: "Load gstack. Run /qa https://...")
Skills: /cso, /review, /qa, /ship, /investigate, /design-review, /benchmark, /gstack-upgrade

**FULL:** build a complete feature, multi-day scope, needs planning + review
→ sessions_spawn(runtime: "acp", prompt: "<gstack-full content>\n\n<task>")
Claude Code runs: /autoplan → implement → /ship → report back

**PLAN:** user wants to plan a Claude Code project, spec out a feature, or design
something before any code is written
→ sessions_spawn(runtime: "acp", prompt: "<gstack-plan content>\n\n<task>")
Claude Code runs: /office-hours → /autoplan → saves plan file → reports back
Persist the plan link to memory/knowledge store.
When the user is ready to implement, spawn a new FULL session pointing at the plan.

### Decision Heuristic

- Can it be done in <10 lines of code? → **SIMPLE**
- Does it touch multiple files but the approach is obvious? → **MEDIUM**
- Does the user name a specific skill (/cso, /review, /qa)? → **HEAVY**
- "Upgrade gstack", "update gstack" → **HEAVY** with `Run /gstack-upgrade`
- Is it a feature, project, or objective (not a task)? → **FULL**
- Does the user want to PLAN something without implementing yet? → **PLAN**
Loading
Loading