Skip to content

Commit 270cb59

Browse files
committed
docs: list /wikiskill in README, docs/skills.md, and project structure
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdmX6Jmuk2pkxCbSDiTv7e
1 parent 54505a1 commit 270cb59

3 files changed

Lines changed: 33 additions & 4 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ gstack/
9494
├── cso/ # /cso skill (OWASP Top 10 + STRIDE security audit)
9595
├── design-consultation/ # /design-consultation skill (design system from scratch)
9696
├── setup-deploy/ # /setup-deploy skill (one-time deploy config)
97+
├── wikiskill/ # /wikiskill skill (WikiSkill self-evolution loop, arXiv:2608.27454)
9798
├── .github/ # CI workflows + Docker image
9899
│ ├── workflows/ # evals.yml (E2E on Ubicloud), skill-docs.yml, actionlint.yml
99100
│ └── docker/ # Dockerfile.ci (pre-baked toolchain + Playwright/Chromium)

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ Fork it. Improve it. Make it yours. And if you want to hate on free open source
4646

4747
Open Claude Code and paste this. Claude does the rest.
4848

49-
> Install gstack: run **`git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup`** then add a "gstack" section to CLAUDE.md that says to use the /browse skill from gstack for all web browsing, never use mcp\_\_claude-in-chrome\_\_\* tools, and lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /autoplan, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade. Then ask the user if they also want to add gstack to the current project so teammates get it.
49+
> Install gstack: run **`git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup`** then add a "gstack" section to CLAUDE.md that says to use the /browse skill from gstack for all web browsing, never use mcp\_\_claude-in-chrome\_\_\* tools, and lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /autoplan, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade, /wikiskill. Then ask the user if they also want to add gstack to the current project so teammates get it.
5050
5151
### Step 2: Add to your repo so teammates get it (optional)
5252

53-
> Add gstack to this project: run **`cp -Rf ~/.claude/skills/gstack .claude/skills/gstack && rm -rf .claude/skills/gstack/.git && cd .claude/skills/gstack && ./setup`** then add a "gstack" section to this project's CLAUDE.md that says to use the /browse skill from gstack for all web browsing, never use mcp\_\_claude-in-chrome\_\_\* tools, lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade, and tells Claude that if gstack skills aren't working, run `cd .claude/skills/gstack && ./setup` to build the binary and register skills.
53+
> Add gstack to this project: run **`cp -Rf ~/.claude/skills/gstack .claude/skills/gstack && rm -rf .claude/skills/gstack/.git && cd .claude/skills/gstack && ./setup`** then add a "gstack" section to this project's CLAUDE.md that says to use the /browse skill from gstack for all web browsing, never use mcp\_\_claude-in-chrome\_\_\* tools, lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade, /wikiskill, and tells Claude that if gstack skills aren't working, run `cd .claude/skills/gstack && ./setup` to build the binary and register skills.
5454
5555
Real files get committed to your repo (not a submodule), so `git clone` just works. Everything lives inside `.claude/`. Nothing touches your PATH or runs in the background.
5656

@@ -85,7 +85,7 @@ git clone https://github.com/garrytan/gstack.git ~/gstack
8585
cd ~/gstack && ./setup --host auto
8686
```
8787

88-
For Codex-compatible hosts, setup now supports both repo-local installs from `.agents/skills/gstack` and user-global installs from `~/.codex/skills/gstack`. All 28 skills work across all supported agents. Hook-based safety skills (careful, freeze, guard) use inline safety advisory prose on non-Claude hosts.
88+
For Codex-compatible hosts, setup now supports both repo-local installs from `.agents/skills/gstack` and user-global installs from `~/.codex/skills/gstack`. All 29 skills work across all supported agents. Hook-based safety skills (careful, freeze, guard) use inline safety advisory prose on non-Claude hosts.
8989

9090
## See it work
9191

@@ -172,6 +172,7 @@ Each skill feeds into the next. `/office-hours` writes a design doc that `/plan-
172172
| `/unfreeze` | **Unlock** — remove the `/freeze` boundary. |
173173
| `/setup-deploy` | **Deploy Configurator** — one-time setup for `/land-and-deploy`. Detects your platform, production URL, and deploy commands. |
174174
| `/gstack-upgrade` | **Self-Updater** — upgrade gstack to latest. Detects global vs vendored install, syncs both, shows what changed. |
175+
| `/wikiskill` | **Skill Evolver** — run Google's WikiSkill loop with Claude Code as the worker: solve tasks, distill traces into a persistent wiki, propose a skill, keep it only if it beats validation. Accepted skills install straight into `~/.claude/skills/`. |
175176

176177
**[Deep dives with examples and philosophy for every skill →](docs/skills.md)**
177178

@@ -237,7 +238,7 @@ Available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-desig
237238
/design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse,
238239
/qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro,
239240
/investigate, /document-release, /codex, /cso, /autoplan, /careful, /freeze, /guard,
240-
/unfreeze, /gstack-upgrade.
241+
/unfreeze, /gstack-upgrade, /wikiskill.
241242
```
242243

243244
## License

docs/skills.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Detailed guides for every gstack skill — philosophy, workflow, and examples.
3030
| [`/guard`](#safety--guardrails) | **Full Safety** | Combines /careful + /freeze in one command. Maximum safety for prod work. |
3131
| [`/unfreeze`](#safety--guardrails) | **Unlock** | Remove the /freeze boundary, allowing edits everywhere again. |
3232
| [`/gstack-upgrade`](#gstack-upgrade) | **Self-Updater** | Upgrade gstack to the latest version. Detects global vs vendored install, syncs both, shows what changed. |
33+
| [`/wikiskill`](#wikiskill) | **Skill Evolver** | Run the WikiSkill loop (arXiv:2608.27454) with Claude Code as the worker. Traces → wiki patterns → proposed skill → validation gate. Accepted skills install into `~/.claude/skills/`. |
3334

3435
---
3536

@@ -818,6 +819,32 @@ Set `auto_upgrade: true` in `~/.gstack/config.yaml` to skip the prompt entirely
818819

819820
---
820821

822+
## `/wikiskill`
823+
824+
Let Claude Code evolve its own skills. `/wikiskill` wraps [WikiSkill](https://github.com/ashutoshsinghpr7/wikiskill) (Google Research, arXiv:2608.27454): the agent solves auto-graded tasks, a maintainer distills the traces into a persistent wiki of failure patterns, a proposer writes one candidate `SKILL.md`, and a gate keeps it only if it strictly beats the best validation score so far. The wiki is never rolled back; the skills only change when a change is proven.
825+
826+
```
827+
You: /wikiskill
828+
829+
Claude: WikiSkill isn't installed yet — cloning to ~/.gstack/wikiskill and installing from source.
830+
What do you want WikiSkill to do?
831+
[Create a workspace] [Run the evolution loop] [Show status / results] [Transfer accepted skills]
832+
833+
You: Run the evolution loop, 3 iterations
834+
835+
Claude: Workspace "demo" (13 train / 9 val), backend: claude
836+
iter 1 baseline R_val=0.6667 → maintainer distilled 5 patterns → proposer created `find-secret`
837+
gate: R_val=0.4444 — REJECTED (skill hurt 2 tasks). Rolled back; proposal kept in wiki/skill-impact.md
838+
iter 2 proposer: no_action (nothing to gate)
839+
iter 3 proposer patched `verify-output-readback` → gate: R_val=0.7778 — ACCEPTED (r_best 0.6667 → 0.7778)
840+
841+
1 accepted skill in skills/active/. Install it into ~/.claude/skills/?
842+
```
843+
844+
Workspaces can live inside the wikiskill checkout or next to your project (`--ws .gstack/wikiskill/<name>`). Bring your own tasks by editing `tasks.json` — anything auto-gradable works (`exact`, `contains`, `json_field`, `code_stdout`). Accepted skills are standard SKILL.md packages, so they drop straight into Claude Code.
845+
846+
---
847+
821848
## Greptile integration
822849

823850
[Greptile](https://greptile.com) is a YC company that reviews your PRs automatically. It catches real bugs — race conditions, security issues, things that pass CI and blow up in production. It has genuinely saved my ass more than once. I love these guys.

0 commit comments

Comments
 (0)