mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-01 19:25:10 +02:00
feat: native OpenClaw skills + ClaHub publishing (v0.15.10.0) (#832)
* feat: add 4 native OpenClaw skills for ClaHub publishing Hand-crafted methodology skills for the OpenClaw wintermute workspace: - gstack-openclaw-office-hours (375 lines) — 6 forcing questions, startup + builder modes - gstack-openclaw-ceo-review (193 lines) — 4 scope modes, 18 cognitive patterns - gstack-openclaw-investigate (136 lines) — Iron Law, 4-phase debugging - gstack-openclaw-retro (301 lines) — git analytics, per-person praise/growth Pure methodology, no gstack infrastructure. All frontmatter uses single-line inline JSON for OpenClaw parser compatibility. * feat: add AGENTS.md dispatch section with behavioral rules Ready-to-paste section for OpenClaw AGENTS.md with 3 iron-clad rules: 1. Always spawn sessions, never redirect user to Claude Code 2. Resolve repo path or ask, don't punt 3. Autoplan runs end-to-end, reports back in chat Includes full dispatch routing (Simple/Medium/Heavy/Full/Plan tiers). * chore: clear OpenClaw includeSkills — native skills replace generated Native ClaHub skills replace the gen-skill-docs pipeline output for these 4 skills. Updated test to validate empty includeSkills array. * docs: ClaHub install instructions + dispatch routing rules - README: add Native OpenClaw Skills section with clawhub install command - OPENCLAW.md: update dispatch routing with behavioral rules, update native skills section to reference ClaHub * chore: bump version and changelog (v0.15.10.0) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: add gstack-upgrade to OpenClaw dispatch routing Ensures "upgrade gstack" routes to a Claude Code session with /gstack-upgrade instead of Wintermute trying to handle it conversationally. * fix: stop tracking 58MB compiled binary bin/gstack-global-discover Already in .gitignore but was tracked due to historical mistake. Same issue as browse/dist/ and design/dist/. The .ts source is right next to it and ./setup builds from source for every platform. * test: detect compiled binaries and large files tracked by git Two new tests in skill-validation: - No Mach-O or ELF binaries tracked (catches accidental git add of compiled output) - No files over 2MB tracked (catches bloated binaries sneaking in) Both print the exact git rm --cached command to fix the issue. * fix: ClaHub → ClawHub (correct spelling) * docs: add ClawHub publishing instructions to CLAUDE.md Documents the clawhub publish command (not clawhub skill publish), auth flow, version bumping, and verification. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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**
|
||||
Reference in New Issue
Block a user