惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
H
Help Net Security
小众软件
小众软件
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
爱范儿
爱范儿
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
博客园 - 【当耐特】
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
博客园_首页
Jina AI
Jina AI
D
Docker
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - ocherry341/better-skills: A pnpm-inspired CLI fo...
ocherry6622 · 2026-04-23 · via Hacker News: Show HN

A pnpm-inspired CLI for managing Agent skills with content-addressable storage.

bsk demo

Features

  • Content-addressable storage — Skills are SHA-256 hashed and deduplicated in a global store
  • Profile management — Create named skill collections, switch between them instantly
  • Version tracking — Every save creates a new version; reference any version by number
  • Global & project scopes — Install skills user-wide or per-project, move them freely between scopes
  • Multiple sources — Add skills from GitHub repos, git URLs, or local paths
  • Multi-client support — Sync skills to Claude, Cursor, OpenCode, Gemini, Copilot, Roo, Goose, and Amp simultaneously

Installation

npm / pnpm / bun

npm install -g better-skills
pnpm add -g better-skills
bun add -g better-skills

Requires Node.js >= 18 (or Bun).

Binary

curl -fsSL https://raw.githubusercontent.com/ocherry341/better-skills/main/packages/install/install.sh | bash

Installs a platform-specific binary to ~/.local/bin/. Supports Linux (x64/arm64) and macOS (x64/arm64).

You can also download binaries directly from the GitHub Releases page.

Already Have Skills?

Still managing your skills manually? Just one command to unlock the full power of bsk:

bsk save

Versioning, deduplication, profile switching — all yours, instantly.

Quick Start

# Launch interactive TUI
bsk

# Add a skill from GitHub
bsk add owner/repo

# Add a skill from a subdirectory
bsk add owner/repo/path/to/skill

# Add from a local path
bsk add ./my-skill

# List active skills
bsk ls

# List all managed skills (including inactive)
bsk ls -a

Commands

Skill Management

bsk add <source>          # Add a skill (github, git, local path)
bsk install <source>      # Alias for add (also: bsk i)
bsk rm <name>             # Remove a skill
bsk ls [-a]               # List skills (-a for all managed)
bsk save [name]           # Save new/changed skills to management
bsk mv <skill> <scope>    # Move skill between global/project scope

Options for add / install:

-g, --global        # Install to global skills directory
-n, --name <name>   # Override the skill name
-f, --force         # Overwrite unmanaged skills
-y, --yes           # Skip confirmation prompts
--hardlink           # Use hard links instead of file copy

Source Formats

bsk add owner/repo                              # GitHub repo root
bsk add owner/repo/subdir                       # GitHub subdirectory
bsk add https://github.com/owner/repo           # Full GitHub URL
bsk add https://github.com/owner/repo/tree/main/subdir  # Branch + path
bsk add https://gitlab.com/owner/repo           # Any HTTPS git URL
bsk add git@github.com:owner/repo.git           # Git SSH
bsk add ./local/path                            # Local directory (also ../ and /abs)

Profiles

Profiles are named snapshots of skill collections with version references.

bsk profile create <name>     # Create a profile from current skills
bsk profile ls                # List all profiles
bsk profile show [name]       # Show profile details
bsk profile use <name>        # Switch to a profile
bsk profile add <skill>       # Add a skill to active profile
bsk profile rm <skill>        # Remove a skill from active profile
bsk profile clone <from> <to> # Clone a profile
bsk profile rename <old> <new>
bsk profile delete <name>

Version specifiers for profile operations:

bsk profile add my-skill@latest     # Latest version
bsk profile add my-skill@previous   # Previous version
bsk profile add my-skill@v2         # Specific version
bsk profile add my-skill@~1         # Relative (latest minus 1)
bsk profile add my-skill@abc123     # Hash prefix match

Multi-Client

Enable additional clients to automatically sync skills to their directories.

bsk client ls                          # List enabled clients
bsk client add claude cursor gemini    # Enable clients
bsk client rm cursor                   # Disable a client

Supported clients: claude, cursor, opencode, gemini, copilot, roo, goose, amp

Store

bsk store verify    # Check integrity of all store entries
bsk store ls        # List all store entries with skill/version info
bsk store prune     # Delete all orphan entries from the store
bsk store adopt     # Re-register orphan store entries into registry

Sync

~/.better-skills/ is a self-contained data directory. Sync it with any tool you prefer.

bsk sync restore          # Rebuild live skills from store and profile
bsk sync export           # Export ~/.better-skills/ as tar.gz
bsk sync import <file>    # Import tar.gz and restore
bsk cd                    # Open a shell in ~/.better-skills/

Quick start with git:

cd ~/.better-skills
git init && git add -A && git commit -m "init"
git remote add origin <your-repo> && git push

# On another machine:
git clone <your-repo> ~/.better-skills
bsk sync restore

Simple backup/transfer (no git needed):

bsk sync export                          # Machine A
bsk sync import better-skills-backup.tar.gz  # Machine B

rsync:

rsync -az ~/.better-skills/ remote:~/.better-skills/
ssh remote bsk sync restore

Syncthing / other:

Sync ~/.better-skills/ as a shared folder, then run bsk sync restore on each machine.

How It Works

Skill Format

Skills are directories containing a SKILL.md file with YAML frontmatter:

---
name: my-skill
description: What this skill does
---

# My Skill

Instructions for the AI agent...

Storage Architecture

~/.better-skills/
├── store/{hash}/        # Content-addressable store (immutable)
├── registry.json        # Tracks all skill versions and hashes
├── profiles/            # Named skill collections
├── active-profile       # Currently active profile name
└── config.json          # Enabled clients

~/.agents/skills/        # Global skills (copied from store)
./.agents/skills/        # Project skills
  1. Add — Skill is fetched, hashed, and stored in ~/.better-skills/store/{hash}/
  2. Link — Files are copied from the store to skill directories (use --hardlink for hard links)
  3. Sync — Copies are replicated to all enabled client directories (e.g., ~/.claude/skills/, ~/.cursor/skills/)
  4. Version — Each save creates a new registry entry; old versions remain in store

Deduplication

Identical skills across projects share a single store entry. The SHA-256 hash is computed deterministically from file paths and contents, so the same skill always produces the same hash.

Roadmap

  • TUI — Interactive terminal UI for managing skills
  • Built-in use better-skills skill — A bundled skill that teaches agents how to use bsk
  • Skills security audit — Security review and sandboxing for skill content

Development

This is a Bun workspace monorepo.

bun install              # Install dependencies
bun run dev              # Run CLI from source
bun run build            # Build (tsdown → dist/cli.mjs)
bun run test             # Run tests
bun run typecheck        # TypeScript strict check
bun run build:binary     # Compile cross-platform binaries

License

MIT