The ~/.claude folder
Claude Code (and several other agent CLIs) read skills and commands from ~/.claude/ on your machine. HeroPrompt writes there too — that's how synced content shows up natively in your agent.
Layout
~/.claude/
├── skills/
│ ├── heroprompt-developer/
│ │ ├── test-driven-development/SKILL.md
│ │ ├── systematic-debugging/SKILL.md
│ │ └── …
│ └── heroprompt-qa/
│ └── …
└── commands/
├── heroprompt-developer/
│ ├── commit.md
│ ├── pr-review.md
│ └── …
└── heroprompt-qa/
└── …Each pack lives under its own heroprompt-<pack-id>/ subfolder.
How agents read it
Claude Code scans ~/.claude/skills/ recursively at session start. Any folder containing a SKILL.md becomes an available skill. The agent uses the description field in the YAML frontmatter to decide when to auto-activate.
Slash commands work similarly: any .md file under ~/.claude/commands/ becomes a /command-name you can invoke.
Why namespacing
Two reasons:
- Clean uninstall. Removing a pack is
rm -rf ~/.claude/skills/heroprompt-developer— no risk of touching skills you wrote yourself. - No collisions. Two packs can have a
/commitcommand without overwriting each other.
Editing by hand
You can hand-edit any SKILL.md or command file under ~/.claude/ — but the next heroprompt pack sync will overwrite that pack's files with the server version. If you want to customize, copy the file into an unnamespaced folder (e.g. ~/.claude/skills/my-custom-tdd/SKILL.md) and the sync will leave it alone.