mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-06 13:45:35 +02:00
ddea3ad1b7
Multi-word, skill-specific trigger keywords for GBrain's RESOLVER.md router. Each skill gets 3-6 triggers derived from its "Use when asked to..." description text. Avoids single generic words that would collide across skills (e.g., "debug this" not "debug"). These are distinct from voice-triggers (speech-to-text aliases) and serve GBrain's checkResolvable() validation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
68 lines
1.7 KiB
Cheetah
68 lines
1.7 KiB
Cheetah
---
|
|
name: gstack-contrib-add-host
|
|
description: |
|
|
Contributor-only skill: create a new host config for gstack's multi-host system.
|
|
NOT installed for end users. Only usable from the gstack source repo.
|
|
triggers:
|
|
- add new host
|
|
- create host config
|
|
- contribute new agent host
|
|
---
|
|
|
|
# /gstack-contrib-add-host — Add a New Host
|
|
|
|
This skill helps contributors add support for a new AI coding agent to gstack.
|
|
|
|
## What you'll create
|
|
|
|
A single TypeScript file in `hosts/<name>.ts` that defines:
|
|
- CLI binary name for detection
|
|
- Skill directory paths (global + local)
|
|
- Frontmatter transformation rules
|
|
- Path and tool rewrites
|
|
- Runtime root symlink manifest
|
|
|
|
## Steps
|
|
|
|
### 1. Gather host info
|
|
|
|
Ask the contributor:
|
|
- What's the agent's name? (e.g., "OpenCode")
|
|
- What's the CLI binary? (e.g., "opencode")
|
|
- Where does it store skills globally? (e.g., "~/.config/opencode/skills/")
|
|
- Where does it store skills locally in a project? (e.g., ".opencode/skills/")
|
|
- What frontmatter fields does it support? (name + description is the minimum)
|
|
- Does it have its own tool names? (e.g., "exec" instead of "Bash")
|
|
|
|
### 2. Create the config file
|
|
|
|
Use `hosts/opencode.ts` as a reference. Create `hosts/<name>.ts` with the
|
|
gathered info. Follow the HostConfig interface in `scripts/host-config.ts`.
|
|
|
|
### 3. Register in index
|
|
|
|
Add the import and re-export in `hosts/index.ts`.
|
|
|
|
### 4. Add to .gitignore
|
|
|
|
Add `.<name>/` to `.gitignore`.
|
|
|
|
### 5. Generate and verify
|
|
|
|
```bash
|
|
bun run gen:skill-docs --host <name>
|
|
```
|
|
|
|
Check:
|
|
- Output exists at `.<name>/skills/gstack-*/SKILL.md`
|
|
- No `.claude/skills` path leakage
|
|
- Frontmatter matches expected format
|
|
|
|
### 6. Run tests
|
|
|
|
```bash
|
|
bun test test/gen-skill-docs.test.ts
|
|
```
|
|
|
|
All parameterized tests auto-include the new host.
|