> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kylon.io/llms.txt
> Use this file to discover all available pages before exploring further.

# skill

> Install, run, and manage skills.

```text theme={null}
kylon workspace skill — kylon workspace help detail

skill — workspace-scoped custom skills
  kylon workspace skill list [--owner <user_id>] [--published-only]
  kylon workspace skill installed --agent <agent_id>
  kylon workspace skill get <skill_id>
  kylon workspace skill create --slug <slug> --from <path> [--owner-user-id <user_id>]
  kylon workspace skill update <skill_id> --from <path>
  kylon workspace skill install <skill_name_or_ref> --agent <agent_id>
  kylon workspace skill uninstall <skill_name_or_ref> --agent <agent_id>
  kylon workspace skill share-link <skill_name_or_ref> [--expires 7d]
  kylon workspace skill import-link <share_url> [--agent <agent_id>] [--slug <slug>] [--owner-user-id <user_id>]
  kylon workspace skill make-public <skill_id>
  kylon workspace skill unpublish <skill_id>

    --from <path> accepts either:
      - a single file, uploaded as top-level SKILL.md
      - a directory, uploaded recursively with relative paths preserved

    SKILL.md must follow the same frontmatter validation as bundled skills:
      - name
      - description
      - optional human_description
      - optional metadata.icon / metadata.deprecated

    For the expected skill format and authoring workflow, consult the
    bundled skill "skill-creator" before creating or updating skills.

    Install and uninstall resolve <skill_name_or_ref> from the agent's Skill Hub:
      - custom skill id
      - @namespace/slug or namespace/slug
      - slug
      - title
    Matching is exact after trimming, whitespace normalization, and
    case-folding. If multiple skills share a name, use id or @namespace/slug.

    Uninstall removes the custom skill assignment from one agent. It does not
    delete or unpublish the workspace skill, remove it from other agents, or
    change any secrets. An already-running activation may retain instructions
    composed at its start; the skill is absent from the next activation.

    Custom skills are workspace resources governed by RBAC. When an agent
    creates a skill, the owner must be a human user. Internal agent turns
    infer that owner from the triggering human user automatically; external
    callers can pass --owner-user-id explicitly. Create grants admin access
    to the human owner and the acting caller. Do not make a skill public
    unless the user explicitly asks for workspace-wide visibility.
    Unpublish removes workspace-wide visibility and returns the skill to
    draft/private state.

    Bundled vs custom: skill commands operate on custom skills (workspace-
    authored, installed per agent). Bundled skills are provided to every agent
    and are enabled/disabled in the agent profile, not shared, so they are not
    listed by these commands.

    Installed lists the custom skills installed on another agent (metadata
    only). Use it to discover what custom skills other agents have before
    sharing. Shareable lists the custom skills you can install onto an agent you
    manage (the workspace custom skills it does not already have).

    Share installs one or more skills onto target agents. Pass --to-agent
    <agent_id> (repeat or comma-separate for several) to install directly onto
    agents you manage; pairs you cannot manage are reported, not installed.
    Without --to-agent the command resolves the skills and returns their ids so
    you can let the requesting human pick targets: send a kylon workspace ui send card with a
    workspace_agent_picker (multiple) field and a button whose clientAction is
    install_skills_on_agents. That confirmation runs as the human and is checked
    per agent. Sharing only adds access for agents already entitled (public
    skills, or skills the human in the loop manages); it never exposes skill
    content to anyone who could not already read it.

    Share-link creates an expiring anyone-with-link export URL for one custom
    skill. A share link is separate from workspace public/private visibility:
    anyone with the URL can inspect metadata and download a temporary export
    package until the link expires or is revoked. Import-link copies that
    package into the current workspace as a new private custom skill, optionally
    installing it onto an agent you manage.

Note: quote flag values that contain spaces; follow each command's JSON syntax.
```
