Skip to content

Skills, tools & integrations pages

Manage skills with ClawHub install, browse registered tools, and view the integration catalogue.

Three dashboard routes in the Operations section answer “what can my agent do, and how do I extend it?” The Skills page (/skills) is the only one you edit — create skill bundles by hand, or install them from the ClawHub marketplace and from GitHub. The Tools page (/tools) and Integrations page (/integrations) are read-only references: Tools lists every callable tool and CLI binary the runtime discovered, and Integrations is the status catalogue of channels and connectors.

Reach for this page when you want to add a capability (Skills), check whether a tool or binary is actually available to the agent (Tools), or see which integrations are wired up versus available to configure (Integrations). All three live behind the dashboard’s bearer-token auth — see Run the dashboard to pair a browser first.

A skill is a reusable instruction/capability bundle — Markdown instructions plus optional tool definitions — stored as an item in your Kumiho memory and on disk under ~/.revka/workspace/skills/. The Skills page is the registry manager for those bundles, with two extra panels for pulling skills in from outside: the ClawHub marketplace and a GitHub URL installer.

The page is a three-column layout:

  • Left — a registry-status strip (total / active / deprecated / domain count) and a searchable index of your local skills. Search matches name, description, domain, and tags.
  • Centre — the selected skill’s workspace: domain, revision number, created date, tags, description, and the skill content rendered as Markdown. From here you Edit, Deprecate/Re-enable, or Delete.
  • Right — the GitHub installer and the ClawHub marketplace panel.

Skills are CRUD entities backed by the gateway’s skills API. Every write creates a new revision.

ActionMethod + pathAuth
List skillsGET /api/skills?include_deprecated=true&page=1&per_page=100Bearer
Skill detail (with content)GET /api/skills/{kref}Bearer
Create skillPOST /api/skillsBearer
Update skill (new revision)PUT /api/skills/{kref}Bearer
Deprecate / re-enablePOST /api/skills/deprecateBearer
DeleteDELETE /api/skills/{kref}Bearer

The create/edit modal has five fields. name, description, and content are required; domain defaults to Other; tags is a comma-separated list that is split and trimmed on save.

FieldTypeMeaning
namestringSkill name (required)
descriptionstringShort summary shown in the index (required)
contentstringMarkdown body — the skill’s instructions/prompt (required)
domainenumOne of Memory, Creative, Privacy, Graph, Behavioral, Other
tagsstring[]Comma-separated keywords for search

Creating a skill posts the form straight to the registry:

POST /api/skills
Authorization: Bearer rk_<token>
Content-Type: application/json
{
"name": "release-notes",
"description": "Draft release notes from a changelog",
"content": "# Release notes\nSummarise the changelog into...",
"domain": "Creative",
"tags": ["writing", "release"]
}

The gateway stores the content as a SKILL.md artifact pointing at ~/.revka/workspace/skills/<slug>.md, with the description, domain, and tags held in the revision metadata. The kref used in the URL paths is the part after kref:// — for example CognitiveMemory/Skills/my-skill.skill.

ClawHub is the community skill marketplace. The right-rail panel loads trending skills on first open; if trending returns nothing it falls back to a search for agent. Type a query and press Enter (or click Search) to search the marketplace — searches fire once the query is longer than one character. Click Trending to clear the query and reset to the trending list. Each result card shows a name and description with an Install button.

ActionMethod + pathAuth
Search marketplaceGET /api/clawhub/search?q=<query>&limit=12Bearer
Trending skillsGET /api/clawhub/trending?limit=12Bearer
Skill detailGET /api/clawhub/skills/{slug}Bearer
Install a skillPOST /api/clawhub/install/{slug}Bearer

Installing fetches the skill’s SKILL.md, writes it to ~/.revka/workspace/skills/<slug>.md, registers it as a skill item in your Kumiho memory project’s Skills space (tagging the revision published), and refreshes the local index so the new skill appears on the left immediately.

POST /api/clawhub/install/rust-debugging
Authorization: Bearer rk_<token>
{ "installed": true, "name": "rust-debugging", "slug": "rust-debugging" }

The GitHub panel installs a skill directly from a repository URL. It reuses the same install endpoint — the pasted URL is passed where a slug would go:

POST /api/clawhub/install/{github-url}
Authorization: Bearer rk_<token>
  1. Paste a GitHub URL into the installer field.
  2. Press Enter or click Install.
  3. On success the skill is registered into your local Kumiho Skills space and the index refreshes — exactly like a ClawHub install.

For the skill file formats (SKILL.md front-matter and SKILL.toml), the on-disk layout, shell/HTTP tool kinds, and the open_skills community library, see the full Skills system reference and revka skills, workflows & sop.

The Tools page is a read-only reference of everything the agent can invoke right now. Tools are registered at runtime — from built-ins, configured integrations, connected MCP servers, and discovered binaries — so this page reflects the live registry, not something you edit here. A single search box filters both sections at once, and a Reload button re-fetches them. The page has two collapsible sections.

It pulls from two endpoints:

SectionMethod + pathAuthShows
Agent toolsGET /api/toolsBearerTool name, description, and input-schema parameters
CLI toolsGET /api/cli-toolsBearerBinary name, path, version, category

These two lists answer different questions, and the distinction matters when you are debugging “why can’t the agent do X?”

  • Agent tools are the structured tools the model calls inside the agent loop — the MCP-style tool surface. Each is a card with a name and description; click a card to expand its full JSON parameter schema. This is the set the LLM sees and can call directly, including built-ins (shell, file_read, web_search_tool, …), credential-gated integration tools (notion, jira, google_workspace, …), and tools proxied in from external MCP servers (prefixed <server>__<tool>).
  • CLI tools are external binaries on the host that the agent can shell out to (via the shell tool). The table lists each binary’s name, filesystem path, detected version, and a category tag. A binary appearing here means the runtime found it on PATH; it does not add a new model-callable tool — the agent reaches it through shell.

In short: agent tools are things the model invokes by name with typed arguments; CLI tools are programs on disk the model can run as shell commands. If a capability you expect is missing from the agent-tools list, it usually means the integration’s credentials aren’t set or its MCP server isn’t connected — not something fixable from this page.

The Integrations page is the read-only catalogue of every integration Revka knows about — chat channels, AI-model providers, productivity connectors, and more — each with a status badge. It is informational: it tells you what is wired up and what is available to configure, but you do not activate anything here.

It is backed by one endpoint:

GET /api/integrations
Authorization: Bearer rk_<token>

The layout has a left rail (coverage counts + category filter), a centre grid of integration cards, and a right detail panel for the selected card. Click a category to filter; click a card to inspect its description, category, status, and operational readiness. Categories are derived from the catalogue itself and include Chat, AI Model, Productivity, Music & Audio, Smart Home, Tools & Automation, Media & Creative, Social, and Platform.

Every integration carries one of three statuses:

StatusBadgeMeaning
ActiveActiveConfigured and running now (e.g. always-on Shell, File System, Weather, or a channel you’ve enabled)
AvailableAvailableSupported and ready to configure — not yet enabled
ComingSoonComing soonCatalogued but not yet usable

This page does not enable integrations — activation happens in configuration. To move an integration from Available to Active:

  1. Note the integration and its category on this page.
  2. Open the Config page (/config) and add or enable the matching section in config.toml — for example a [channels_config] entry for a chat channel, a [notion]/[jira]/[google_workspace] block for a productivity connector, or a provider block for an AI model.
  3. Provide the required credentials (config key or environment variable), then save.
  4. Reload the Integrations page — the status flips to Active once the runtime registers it.