README

jskills

The CLI for the open agent skills ecosystem — Java port of vercel-labs/skills.

Run it with zero Node.js/npm required, using just Java 25+ via JBang.

🧪 Experiment: This project is an experiment in how fast and far you can go using AI coding agents to port a utility from TypeScript to Java with Quarkus — and what you gain from it: managed dependencies via Maven, native binaries via GraalVM, and no Node.js runtime. It reuses shared test fixtures from the original repo and has CI builds that detect when upstream changes require updates. The entire port was done through agent-assisted coding in a single extended session.

Quick Start

# Install the 'skills' command (one-time)
jbang app install skills@maxandersen/jskills

# Now use 'skills' directly
skills find web design
skills add vercel-labs/agent-skills
skills list

Don't have JBang? Install it with curl -Ls https://sh.jbang.dev | bash -s - app setup or see jbang.dev/download for other options.

Usage

# Search for skills (interactive fzf-style when no query)
skills find
skills find web design

# Add skills from a GitHub repo
skills add vercel-labs/agent-skills

# Add a specific skill
skills add vercel-labs/agent-skills --skill web-design-guidelines

# Add to specific agents
skills add vercel-labs/agent-skills -a claude-code -a cursor

# Non-interactive / CI-friendly
skills add vercel-labs/agent-skills --all -y

# List installed skills
skills list
skills list --json

# Check for updates
skills check

# Update all installed skills
skills update

# Remove a skill
skills remove web-design

# Create a new skill template
skills init my-new-skill

Commands

CommandAliasesDescription
add <source>install, a, iInstall skills from GitHub, GitLab, or local path
find [query]search, f, sSearch skills at skills.sh
listlsList all installed skills
updatecheckUpdate installed skills
remove <skill>rm, rRemove installed skills
init [name]Create a new SKILL.md template

Source Formats

# GitHub shorthand
skills add owner/repo

# Specific skill within a repo
skills add owner/repo@skill-name

# Full GitHub URL
skills add https://github.com/owner/repo

# Specific branch/path
skills add https://github.com/owner/repo/tree/main/skills/web-design

# GitLab
skills add https://gitlab.com/org/repo

# SSH Git URL
skills add git@github.com:owner/repo.git

# Local path
skills add ./my-local-skills

Supported Agents

All 45 agents from the upstream are supported, including: Claude Code, Cursor, OpenCode, Cline, Codex, Continue, Gemini CLI, GitHub Copilot, Goose, Kiro, OpenHands, Replit, Roo, Windsurf, and many more.

Options

OptionDescription
-g, --globalInstall/manage globally (~/<agent>/skills/)
-a, --agent <name>Target specific agent(s)
--skill <name>Install only specific skill(s) by name
--allInstall/remove all without prompting
-y, --yesSkip all confirmation prompts (CI mode)
--copyCopy files instead of symlinking
--dry-runPreview changes without making them

Environment Variables

VariableDescription
GITHUB_TOKENGitHub token for private repos and higher API rate limits
NO_COLORDisable ANSI colors (no-color.org)
DO_NOT_TRACKDisable anonymous telemetry
SKILLS_TELEMETRY=0Disable telemetry

Upstream Sync

This project tracks vercel-labs/skills (currently synced to v1.5.1). A weekly GitHub Action checks for upstream changes and opens an issue when updates are available.

The upstream.lock file records the last-synced commit SHA.

Building from Source

git clone https://github.com/maxandersen/jskills
cd jskills
mvn package
java -jar target/jskills-*.jar --help

Requires Java 25+.

License

MIT — Same as the original vercel-labs/skills.