Commit Graph
12 Commits
Author SHA1 Message Date
rootiestandClaude Sonnet 5 37a61e597a fix(agy): replace unreliable plugins.json discovery with a real installer
Generate plugin manifests / validate (pull_request) Successful in 19s
Generate plugin manifests / generate (pull_request) Skipped
Testing against a live agy session confirmed the plugins.json "entries"
mechanism documented for agy does not reliably surface a plugins/<name>/
bundle as a plugin: hooks and MCP servers inside it are never loaded, and
only a stray skill occasionally surfaces via agy's generic skill-walk
("No plugins are currently loaded or discoverable in the active context").

Add scripts/install_agy.py, which instead pushes a generated dist/agy
into the locations confirmed to actually work: symlinks each skill into
~/.gemini/config/skills/<name>/ (or a project's .agents/skills/ with
--project) and merges each plugin's mcpServers/hooks into the shared
global mcp_config.json/hooks.json without touching unrelated entries.
Supports --uninstall to cleanly remove exactly what was added.
generate_plugins.py's --install-local now shells out to it for the agy
side instead of printing the broken plugins.json instructions.

Also fixes plugins/core-essentials/mcp.json, which had been hand-added
directly under the repo root (never discovered by the generator) with
invalid JSON (missing the outer object) and no env-var indirection for
its GitHub/Gitea tokens; moved under the plugin and wired up with
${VAR} placeholders instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014YVWWAnvR5TDQzmfY3RXG9
2026-08-24 20:15:41 -04:00
rootiestandClaude Sonnet 5 bfd96285ee feat: restructure into a multi-extension plugin framework for Claude Code and agy
Generate plugin manifests / generate (pull_request) Skipped
Generate plugin manifests / validate (pull_request) Successful in 7s
Replace the skills-only SSoT (skills/<name>/SKILL.md) with plugins/<name>/,
where a plugin can bundle skills, MCP servers, lifecycle hooks, rules,
commands, and agents. scripts/generate_plugins.py now discovers plugins
from one or more layered --source roots and emits real per-target trees
(dist/claude-code/** + .claude-plugin/marketplace.json, dist/agy/**),
translating hooks.json/mcp.json between Claude Code's and agy's actual
schemas instead of only fanning out flat skill lists.

Adds a private-overlay build path (--source/--private-repo/--out/
--install-local) so a second, non-public repo (PII, tokens, personal-only
plugins) can extend or override the public plugin set without either repo
touching the other's history — private builds default to a gitignored
dist-private/ and never land in tracked output.

Drops install.sh and descriptions.json: both only ever covered skills and
pre-date the native plugin marketplace; both tools now install the plugin
marketplace the documented way (Claude Code's /plugin marketplace add,
agy's plugins.json entries). CI path filters move to plugins/**, and the
workflow gains workflow_dispatch for a manual re-trigger.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014YVWWAnvR5TDQzmfY3RXG9
2026-08-24 19:20:42 -04:00
rootiest 165138c958 Revert "chore: use short url for repository"
This reverts commit e8ea15cb64.

fix: revert "chore: use short url for repository"
2026-08-24 14:55:40 -04:00
rootiest e8ea15cb64 chore: use short url for repository 2026-08-24 14:51:49 -04:00
rootiest 6111c139b2 chore: change repository url and short urls
Generate plugin manifests / validate (push) Skipped
Generate plugin manifests / generate (push) Successful in 54s
Also updates marketplace names
2026-08-24 14:46:45 -04:00
rootiest 5a4f08e377 chore: change repository name/path
Generate plugin manifests / validate (push) Skipped
Generate plugin manifests / generate (push) Failing after 0s
2026-08-24 14:40:49 -04:00
rootiest aee7facbae feat(marketplace): implement plugin marketplace
Generate plugin manifests / validate (push) Skipped
Generate plugin manifests / generate (push) Successful in 54s
Implements a new plugin marketplace structure and expands repository
support beyond basic skills to include plugins, MCPs, hooks, etc.
2026-08-24 14:38:52 -04:00
rootiest 3e89662e72 docs: sync README with current skill set
Document docs-sync-audit, date-time, and technical-devlog-scribe; update the stale ship-it phase 1 reference from readme-sync-audit to docs-sync-audit.
2026-06-17 22:19:15 -04:00
rootiest 11a02b74a0 feat: add Antigravity CLI support, --list flag, and skill descriptions
- Replace Gemini CLI with Antigravity CLI throughout (--gemini kept as
  hidden fallback flag; GEMINI_SKILLS_DIR honoured as legacy env var)
- Default install dir updated to ~/.gemini/antigravity-cli/skills
- Add ANTIGRAVITY_SKILLS_DIR env var with GEMINI_SKILLS_DIR fallback
- Add -l/--list flag: lists available skills with one-line descriptions
- Add descriptions.json mapping skill names to short descriptions;
  fetch_descriptions() prefers a local copy when running from a clone,
  falls back to remote URL for curl-pipe installs
- Document ship-it skill in README (was missing since its addition)
- Fix Manual Install cd path: claude-skills → ai-skills
2026-05-31 21:15:30 -04:00
rootiest cc19f1fe47 docs(readme): consolidate short-url tip onto one line 2026-05-13 22:19:31 -04:00
rootiest f185583c24 docs(readme): add short-url tip callout to installation section
Adds a [!TIP] callout above the curl examples noting that
https://url.rootiest.dev/skills can be substituted for the full raw
URL, with a short e.g. showing the pattern.
2026-05-13 22:17:41 -04:00
rootiest 20a811aca0 feat: add install.sh and README.md
Introduces a standalone skill installer script and project landing page
documentation covering all three skills in the repository.

install.sh:
- Downloads and installs SKILL.md files from the remote repository into
  the appropriate local directory for Claude Code (~/.claude/skills/) and/or
  Gemini CLI (~/.gemini/skills/)
- Supports --claude/-c and --gemini/-g flags to target one or both tools;
  defaults to both when neither is specified
- Accepts positional skill name arguments or --all/-a to install every
  available skill; named arguments always take precedence over --all
- Discovers available skills at runtime via the Gitea contents API, with
  automatic fallback to a depth-1 sparse git clone when the API is
  unreachable or returns no results; JSON parsing uses jq, then python3,
  then an awk fallback in order of availability
- Validates skill names against path traversal (../) and slash injection
  before any download is attempted
- Supports CLAUDE_SKILLS_DIR and GEMINI_SKILLS_DIR environment variable
  overrides for non-default install locations
- Checks for curl and git dependencies at startup and exits with a clear
  error listing any missing tools
- Cleans up any temporary clone directory on exit via a trap on EXIT
- Displays colorized output (Bold/Cyan headers, Green success, Yellow
  warnings, Red errors) when stdout is a terminal; disables all ANSI codes
  automatically when piped or redirected
- Includes a fully formatted --help/-h page documenting all flags,
  environment variables, and usage examples

README.md:
- Landing page covering project purpose, all three skills with per-skill
  purpose and execution protocol summaries, and a full Installation section
- Installation section documents the standard curl pipe form
  (curl -sL URL | bash -s -- args) with six ready-to-use one-liner examples
  covering all major flag combinations
- Flags & Options table, Environment Variables table, and a Manual Install
  section for users who prefer to inspect before running
- Table of contents with anchor links for all major sections
- License section referencing GPL-3.0-or-later
2026-05-13 21:53:56 -04:00