Skip to content

feat: AGS v0 — cross-agent skill management CLI#2

Merged
Binb1 merged 3 commits intofeat/ags-v0from
claude/review-pr-quality-ZKhtz
Apr 4, 2026
Merged

feat: AGS v0 — cross-agent skill management CLI#2
Binb1 merged 3 commits intofeat/ags-v0from
claude/review-pr-quality-ZKhtz

Conversation

@Binb1
Copy link
Copy Markdown
Contributor

@Binb1 Binb1 commented Apr 4, 2026

Zero-dependency Bun CLI that discovers, measures, and manages AI agent
skills across Claude Code, Cursor, and Codex.

Commands:
scan — discover all skills, commands, agents, and rules
with health badges, scope/type/agent filtering,
and colored grouped output
skill-cost — context tax breakdown per agent with bar charts
and optimization suggestions
grab — install skills from GitHub blob URLs
rm — remove skills by name or path
stats — usage dashboard with sessions, PRs created,
token usage, MCP integrations, skill/subagent
invocations, and peak hours heatmap
list-agents — detect installed agents with skill counts

Design:

  • Agent-first: --json on every command for structured agent consumption
  • Zero runtime deps: Bun built-ins for fs, fetch, spawn, glob
  • Scans Claude Code, Cursor, and Codex directories exhaustively
    (skills, commands, agents, rules — both flat .md and SKILL.md formats)
  • Ships with ags-manager SKILL.md for agent self-discovery
  • Shell completions for zsh and bash (Homebrew auto-install)
  • Cross-compile targets: darwin-arm64, darwin-x64, linux-x64

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

claude added 3 commits April 4, 2026 04:31
…cation

- Remove 7 unused functions: serializeFrontmatter, formatNum, isGitRepo,
  badgeSeverity, printSuccess, subheading, getAgentNames
- Export and share stripAnsi, pad, shortenPath from output.ts
- Extract parseScopeFlag utility (was duplicated in scan.ts and budget.ts)
- Extract expandPattern utility for tilde expansion (was duplicated in
  agents.ts and grab.ts)
- Consolidate isAgentInstalled into one-liner using getBinaryPath
- Collapse parseGitHubUrl from two branches into one
- Replace heading() wrapper with direct c.bold() calls
- Simplify extractMcpService to use a regex lookup table
- Fix daysAgo duplication in budget.ts suggestion generation

Net: -154 lines across 12 files with no behavior changes.

https://claude.ai/code/session_01Y39PzBHtkF77d3DaqcZMpt
- Sanitize skill name in grab to strip path separators and ../ sequences
  (prevents writing files outside intended skills directory)
- Add 10s fetch timeout and 1MB response size limit in fetchRawContent
- Skip >50MB session files in stats to prevent memory exhaustion
- Tighten rm path matching to require "/" boundary in endsWith check

https://claude.ai/code/session_01Y39PzBHtkF77d3DaqcZMpt
@Binb1 Binb1 changed the base branch from main to feat/ags-v0 April 4, 2026 06:44
@Binb1 Binb1 merged commit ff7f575 into feat/ags-v0 Apr 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants