garrytan / garrytan/gstack

Feature: marketplace-aware external skill recommendations in planning/design flows

Open
#419 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
133k
Forks
19.9k
Avg merge
18h 46m
Merged PRs (30d)
26

Description

## Summary

gstack already suggests **built-in** workflow skills (`/office-hours`, `/plan-eng-review`, `/plan-design-review`, etc.), but it has no way to surface the best **external** skill when the user’s request clearly points to a specific technology ecosystem.

Examples:
- "Build a Next.js app on Vercel with Supabase auth"
- "Need Azure CLI guidance for deployment"
- "Need GitHub CLI workflow automation"
- "Use the official Supabase skill"

The external marketplace already supports search via the Agent Skills / skills.sh CLI:
- `skills search `
- `skills search --json`

That means gstack could do better inside planning/design flows by:
1. reading the original user request
2. extracting technology keywords
3. querying the marketplace
4. surfacing the top relevant external skills alongside gstack’s internal workflow suggestions

Related but distinct from #113:
- #113 = publish **gstack's own skills** to skills.sh
- this issue = let gstack **consume the marketplace** to recommend third-party skills

## Problem

Today gstack’s suggestion layer is static and in-repo. The root skill only suggests adjacent gstack stages (brainstorm -> `/office-hours`, architecture -> `/plan-eng-review`, etc.).

That works for workflow routing, but it misses a major opportunity:
- when the user mentions a vendor/platform/tool with a high-quality external skill already available
- when the best next step is not only another gstack skill, but also a specialized ecosystem skill
- when the user is in plan/design mode and would benefit from the best existing skill before implementation starts

## Proposed behavior

### Automatic recommendations in planning/design flows
When `PROACTIVE=true`, planning/design skills should automatically run marketplace lookup using a **hybrid query**:
- original user request
- extracted technology/framework keywords

Target skills:
- `/office-hours`
- `/feature-scope`
- `/plan-ceo-review`
- `/plan-eng-review`
- `/plan-design-review`
- `/design-consultation`
- `/design-review`
- `/autoplan`

The output should show the top 3 relevant external skills with:
- skill / repo name
- one-line why it matches
- install command

### Manual parity path
Add a first-class manual command such as `/find-skills ` so users can explicitly do the same marketplace search on demand.

## Safety / UX rules

- Recommendation-only for v1: **never auto-install** or auto-run third-party skills
- Respect `PROACTIVE=false`
- Gracefully degrade if the marketplace CLI is unavailable
- Pass raw user text through a temp file or safe argument path, not shell interpolation
- Suppress obvious duplicates when gstack already has a strong built-in answer

## Implementation sketch

1. Add a helper script (for example `bin/gstack-marketplace-search`) that:
- accepts a query file / query string
- extracts normalized tech keywords
- calls `skills search --json`
- falls back to `npx -y agent-skills-cli search --json` if needed
- normalizes and ranks results
- caches results in `~/.gstack/cache/`

2. Add a shared template resolver in `scripts/gen-skill-docs.ts` that injects marketplace lookup instructions into planning/design skills.

3. Add a manual `/find-skills` skill that uses the same helper.

4. Update docs / validation / host generation so the new capability works for both Claude and Codex output.

## Acceptance criteria

- gstack can query the marketplace and normalize results
- planning/design skills surface relevant external skills automatically when appropriate
- `/find-skills ` exists for manual parity
- recommendations are suggestion-only, never auto-install
- feature is configurable and respects `PROACTIVE`
- tests cover CLI fallback, ranking, prompt integration, and docs/host generation

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.