Hosting your Claude skills, plugins, and tools
Heya reads the same directories Claude Code uses, so the skills, plugins, hooks, commands, and sub-agents you already have work in Heya with no re-install. Heya loads them as text and config. Nothing runs code just by being present.
Skills
Heya discovers SKILL.md-format skills from ~/.claude/skills, your project's
.claude/skills, and any enabled plugin. Each skill's name and description go
into the system prompt, and Heya loads the full skill on demand with a Skill
tool when it matches the task.
heya "use my writing-support skill to draft a reply to this ticket: ..."
Tool names are translated, so a skill that asks for Read, Edit, or Bash
maps to Heya's read_file, write_file, and run_command.
Turn discovery off or change the paths in [skills].
Plugins
Heya discovers installed plugins under ~/.claude/plugins/cache and loads their
skills, namespaced as plugin:skill (for example superpowers:brainstorming).
Disable specific plugins or change the roots in [plugins].
Commands
Flat commands/*.md files (your slash commands) load as invokable skills, from
~/.claude/commands, your project, and plugins. Configure them in [commands].
Sub-agents
Claude agent definitions (agents/*.md) become Heya roles. Their tools and
system prompt carry over, and you can delegate to one:
heya "spawn the security-reviewer agent to check this diff"
A discovered agent only sets a child's system prompt and tool allow-list. It
cannot grant tools Heya does not have, and it cannot bypass the approval gate.
Configure the paths in [agents].
Hooks
Heya can run Claude-style command hooks at lifecycle points: session start, before a tool runs (which can block it), after a tool runs, on a user prompt, and on stop. Because hooks run shell, they are off by default. Turn them on only when you trust the hook configs:
[hooks]
enabled = true
# sources = ["~/.claude/settings.json"]
A hook receives the event as JSON on standard input. A PreToolUse hook that exits with code 2 blocks the tool. A misbehaving hook is a non-blocking event; it never crashes the loop.
What is not hosted yet
MCP servers defined inside a plugin, language servers, themes, and the marketplace install flow are not loaded yet. Heya's own MCP support connects servers you configure directly.