Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.karta.sh/llms.txt

Use this file to discover all available pages before exploring further.

Skills are reusable capabilities your agents can invoke. Like agents, they live in your harness’s native format — Karta discovers them and exposes them; it doesn’t define a skill format of its own.
HarnessSkills location
OpenCode.opencode/skills/<name>/SKILL.md
Claude CodeDiscovered from the Claude Code skills context

Defining a skill (OpenCode)

A skill is a directory with a SKILL.md describing what it does and how to use it, alongside any scripts or resources it needs:
.opencode/skills/
└── order-lookup/
    └── SKILL.md
.opencode/skills/order-lookup/SKILL.md
---
name: order-lookup
description: Look up order tracking and delivery status for a customer.
---

Use this skill when a customer asks about an order's status or tracking.
Given an order number, return the current status and estimated delivery.

Binding a skill to an agent

Reference skills from an agent’s frontmatter to grant or scope access:
.claude/agents/shipping.md
---
name: shipping
description: Order status and delivery questions
permissions:
  skill:
    order-lookup: allow
---

You handle shipping questions. Use the order-lookup skill to check status.

Discovery in the SDK

Discovered skills are available on the app:
app = Karta()
app.skills        # mapping of skill name → its metadata
Because skills are harness-native, the authoritative format and capabilities are the harness’s own — see the Claude Code and OpenCode documentation. Karta’s contribution is discovering them and surfacing them through sessions, routing, and permissions.