Skills ustack

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aggie-security/ustack" ~/.claude/skills/openclaw-skills-ustack && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/aggie-security/ustack" ~/.openclaw/skills/openclaw-skills-ustack && rm -rf "$T"
manifest: skills/aggie-security/ustack/SKILL.md
source content

uStack — One Workspace. Any Agent.

uStack watches frontier agent-native workspaces, analyzes each upstream change, and produces a portable version that works for your agent/runtime.

Commands

Import an upstream framework

node ustack/bin/ustack.js import https://github.com/garrytan/gstack --name gstack

Clones the upstream repo, detects key files (skills, control docs, config, tooling), identifies structure (skill count, host conventions, category), and writes a manifest.

Analyze changes

node ustack/bin/ustack.js analyze gstack

Diffs HEAD against previous snapshot. Classifies impact across 8 areas: skills, install, browser, workflow, safety, tooling, docs, config. Assesses portability: portable / needs-adaptation / host-specific.

Publish update page

node ustack/bin/ustack.js publish gstack

Generates a website-ready markdown page with YAML frontmatter. Includes: summary, impact table, portability breakdown, commit list, usage instructions, and trust notes.

Output lands in

.ustack/site/updates/<id>/
— ready for blog/feed integration.

Update (all-in-one)

node ustack/bin/ustack.js update gstack

Combines import → analyze → publish. Cron-friendly — only proceeds with analyze+publish if upstream actually changed.

Doctor

node ustack/bin/ustack.js doctor

Shows configured upstreams, last import/analysis dates, skill counts, host conventions, and flags upstreams with unanalyzed changes pending.

Architecture

Upstream repo → uStack IR → Target runtime

No pairwise adapters. One normalized intermediate representation, one renderer per target. Adding a new upstream or target is independent.

Run Artifacts

.ustack/
  upstreams/<id>/manifest.json     — upstream metadata + revision tracking
  runs/<id>/<timestamp>/           — analysis.json, analysis.md, publish.md
  site/updates/<id>/<date>.md      — website-ready update pages

Supported Upstreams

  • garrytan/gstack
    — workflow-skill framework (36 skills, 8 agent hosts)
  • More upstreams can be added with
    ustack import <url> --name <id>

Requirements

  • Node.js >= 20
  • Git