Loading...
Loading...
Toggle which skills are surfaced — apply a profile, list, or disable a cluster without reinstall
npx skill4agent add open-gsd/gsd-core gsd-surface| Token | Action |
|---|---|
| Show enabled + disabled clusters and skills |
| Alias for |
| Write |
| Composed profiles (comma-separated, no spaces) |
| Add cluster to |
| Remove cluster from |
| Delete |
| (none) | Treat as |
listSurface(runtimeConfigDir, manifest, CLUSTERS, registry)${runtimeConfigDir}/gsd-core/bin/lib/surface.cjsconst registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');Enabled (N skills, ~T tokens):
core_loop: new-project discuss-phase plan-phase execute-phase help update
audit_review: …
…
Disabled:
utility: health stats settings …
Token cost: ~T (budget cap ~500 tokens for 200k context @ 1%)statusBase profile: standard (from .gsd-surface.json)
Install profile: standard (from .gsd-profile)readSurface(runtimeConfigDir)readActiveProfile(runtimeConfigDir)surfaceState.baseProfile = namewriteSurface(runtimeConfigDir, surfaceState)const registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');
const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope);
applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry);<name>core_loopaudit_reviewmilestoneresearch_ideateworkspace_statedocsuiai_evalns_metautilityObject.keys(CLUSTERS)surfaceState.disabledClusterswriteSurfaceapplySurfaceconst registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');
const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope);
applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry);<cluster>surfaceState.disabledClusterswriteSurfaceapplySurfaceconst registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');
const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope);
applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry);<cluster>.gsd-surface.jsonreadActiveProfile(runtimeConfigDir)<name>runtimeConfigDirapplySurface~/.claude~/.claude/skillsinstallRuntimeArtifactsuninstallRuntimeArtifacts~/.claudeconfigDir~/.claude/skills/gsd-*/claude globaldestSubpath = 'skills'configDir# Claude Code — global install
RUNTIME_CONFIG_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
SCOPE="global"
# Artifact destinations are derived from runtime layout
# via resolveRuntimeArtifactLayout(runtime, RUNTIME_CONFIG_DIR, SCOPE)
# then applySurface(RUNTIME_CONFIG_DIR, layout, manifest, CLUSTERS)${RUNTIME_CONFIG_DIR}/.gsd-surface.json~/.claude/.gsd-surface.jsonCLAUDE_CONFIG_DIRcorestandardfullsurface.cjsnpm i -g @opengsd/gsd-core~/.claude/.gsd-surface.json~/.claude/.gsd-profile~/.claude/skills/gsd-*/~/.claude/gsd-core/bin/lib/surface.cjs~/.claude/gsd-core/bin/lib/clusters.cjs