Skip to content

Add a first-class agents platform for cross-framework .agents/skills install (incl. user-global ~/.agents/skills) #1432

Description

@safishamsi

Summary

graphify has no first-class, consistent way to install the skill to the cross-framework .agents/skills location — in particular the user-global ~/.agents/skills that the Agent-Skills ecosystem (npx skills, and frameworks that follow the spec) reads. Today that location is only reachable by accident. Filing as a scoped feature with a concrete design. PR welcome (good first issue for someone familiar with the tools/skillgen platform system).

Originally reported as #1405 (bare graphify install only populates ~/.claude/skills, not ~/.agents/skills).

Current state (why --platform amp isn't enough)

Bare graphify install is intentionally single-platform (claude on macOS/Linux, windows on Windows → ~/.claude/skills). That part is by design. The real gap is that .agents/skills coverage is piecemeal and inconsistent:

Location Reached by Scope
./.agents/skills (project) --platform amp, --platform antigravity project only
~/.config/agents/skills --platform amp amp global
~/.gemini/config/skills --platform antigravity antigravity global
~/.agents/skills (the standard user-global location) only --platform gemini on Windows (__main__.py:147) accidental side effect

So:

  • There is no platform named agents/skills (20 platforms today, none of them this).
  • --platform amp gives ./.agents/skills for project scope but ~/.config/agents/skills for globalnot ~/.agents/skills.
  • The only path to user-global ~/.agents/skills is the accidental gemini-on-Windows branch.

Proposed fix — add a first-class agents platform

Add graphify install --platform agents (alias skills?) that installs the skill to the generic Agent-Skills locations:

  • project (--project): ./.agents/skills/graphify/SKILL.md
  • global (default): ~/.agents/skills/graphify/SKILL.md

It can reuse the existing agents-md skill body that amp/antigravity already ship to .agents/skills — so no new skill content, just a new platform target.

Implementation notes

  • Register the platform in tools/skillgen/platforms.toml (reusing amp's skill bundle / agents-md core) and regenerate — this goes through the skillgen-check CI job, so python -m tools.skillgen + --bless are required, and the per-host coverage audit must pass.
  • Add an agents branch in graphify/__main__.py:_platform_skill_destination returning the project/global paths above.
  • Wire install/uninstall dispatch for the new platform.
  • Tests: _platform_skill_destination("agents", project=…) for both scopes; an end-to-end graphify install --platform agents (global) writing ~/.agents/skills/graphify/SKILL.md; and uninstall removing it.

Acceptance criteria

  • graphify install --platform agents writes ~/.agents/skills/graphify/SKILL.md; --project writes ./.agents/skills/graphify/SKILL.md.
  • graphify uninstall / --platform agents removes it.
  • No change to bare graphify install behavior (still single-platform claude/windows).
  • skillgen-check + full test suite green.

Out of scope

  • Making bare graphify install fan out to multiple skill dirs — that would surprise users and double-install; the named platform is the right model.

Filed from a maintainer-side root-cause of #1405. Happy to review a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions