Skip to content

bug: graphify install --platform hermes installs skill to wrong directory on Windows #1403

Description

@SHJordan

Bug Description

On Windows, running graphify install --platform hermes copies the skill to ~/.hermes/skills/ instead of ~/AppData/Local/hermes/skills/. Hermes Agent on Windows looks for skills in ~/AppData/Local/hermes/skills/, so the installed skill is never discovered.

Steps to Reproduce

  1. Install graphify: uv tool install graphifyy
  2. Run: graphify install --platform hermes
  3. Check where the skill was placed: ls ~/.hermes/skills/graphify/ — it exists here
  4. Check where Hermes expects it: ls ~/AppData/Local/hermes/skills/graphify/ — not found

Expected Behavior

graphify install --platform hermes should detect the Windows environment and install the skill to ~/AppData/Local/hermes/skills/ (which is %LOCALAPPDATA%\hermes\skills\ in Windows terms).

Actual Behavior

The skill is installed to ~/.hermes/skills/, which is the Linux/macOS path. On Windows (using Git Bash / MSYS2), ~ resolves to C:\Users\<username>, so the skill ends up at C:\Users\<username>\.hermes\skills\graphify\ — a path that Hermes Agent never scans.

Environment

  • OS: Windows 10
  • Shell: Git Bash (MSYS2)
  • Python: 3.11 (via uv)
  • graphify version: 0.8.44
  • Hermes Agent: latest

Workaround

Manually copy the skill to the correct location:

cp -r ~/.hermes/skills/graphify ~/AppData/Local/hermes/skills/graphify

Additional Context

The ~/.hermes/ directory does exist on Windows (Hermes creates it for config), but the skills directory specifically lives under ~/AppData/Local/hermes/ (the %LOCALAPPDATA% equivalent). The install script should check for the Hermes skills directory at:

  • Linux/macOS: ~/.hermes/skills/
  • Windows: ~/AppData/Local/hermes/skills/ (or %LOCALAPPDATA%\hermes\skills\)

A simple platform check like if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" || "$OSTYPE" == "win32" ]] would handle this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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