Tool Details: skills_import

Basic Information

Tool Name:skills_import
Asset Name:Import Skill
Description:Imports one SKILL.md (Anthropic Agent Skills format) as a Covia skill: parses it exactly as the skill-parse operation does and writes the resulting metadata to <skillset>/<name>, where the name comes from the frontmatter and the skillset defaults to w/skills — the personal skills directory every standard agent template indexes first. One source per call, always a single SKILL.md, never a directory: name each file you want. The body never passes through the model. Re-importing the same skill overwrites its entry. By default the body is copied into the venue; choose content 'ref' to keep it bound live to the source file so edits on disk show on the next turn (the index line is a snapshot — re-import to refresh it).
Adapter:skills
Asset Hash:0xd3600ba8f81d6c5beadcda149a35450f85edc081f5c0d03791d11d0622da2031
Input
PropertyTypeDescription
skillsetstringThe directory of skills to write into — a writable lattice path such as 'w/skills' (default) or 'w/team-skills'. The skill lands at <skillset>/<name>.
contentstring'inline' (default) copies the body into the stored metadata; 'ref' binds content.ref to the source so the body stays live in the file.
source*stringOne content reference to a SKILL.md: 'file://<root>/<dir>/SKILL.md', 'dlfs/<drive>/<path>', or an asset ref ('a/<hash>'). Not a directory.
Output

Type: object

Schema: <code>{ &quot;type&quot;: &quot;object&quot;, &quot;description&quot;: &quot;{path, name, description, source, content, existed, ignored?}. &#x27;path&#x27; is where the skill now lives (add it to config.skills, or its skillset to config.skillsets); &#x27;existed&#x27; is true when an entry at that path was replaced; &#x27;ignored&#x27; lists dropped frontmatter keys. Fails, writing nothing, when the source does not resolve to SKILL.md content, when the text is not a valid skill, or when the caller may not read the source or write the skillset.&quot; }</code>

MCP Tool Usage Examples

This tool can be called via the MCP (Model Context Protocol) endpoint. Here are examples of how to use it:

JSON-RPC Call Example:

POST to https://venue-2.covia.ai/mcp

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "skills_import",
    "arguments": {
      "input": "your input here"
    }
  }
}
cURL Example:
curl -X POST https://venue-2.covia.ai/mcp \\
  -H "Content-Type: application/json" \\
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "skills_import",
      "arguments": {
        "input": "your input here"
      }
    }
  }'
Python Example:
import requests
import json

url = "https://venue-2.covia.ai/mcp"
payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "skills_import",
        "arguments": {
            "input": "your input here"
        }
    }
}

response = requests.post(url, json=payload)
result = response.json()
print(result)
JavaScript/Node.js Example:
const fetch = require('node-fetch');

const url = 'https://venue-2.covia.ai/mcp';
const payload = {
    jsonrpc: '2.0',
    id: 1,
    method: 'tools/call',
    params: {
        name: 'skills_import',
        arguments: {
            input: 'your input here'
        }
    }
};

fetch(url, {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data));

Asset Metadata

{
	"name": "Import Skill",
	"description": "Imports one SKILL.md (Anthropic Agent Skills format) as a Covia skill: parses it exactly as the skill-parse operation does and writes the resulting metadata to <skillset>/<name>, where the name comes from the frontmatter and the skillset defaults to w/skills — the personal skills directory every standard agent template indexes first. One source per call, always a single SKILL.md, never a directory: name each file you want. The body never passes through the model. Re-importing the same skill overwrites its entry. By default the body is copied into the venue; choose content 'ref' to keep it bound live to the source file so edits on disk show on the next turn (the index line is a snapshot — re-import to refresh it).",
	"dateCreated": "2026-08-27T00:00:00Z",
	"operation": {
		"adapter": "skills:import",
		"toolName": "skills_import",
		"input": {
			"type": "object",
			"properties": {
				"source": { "type": "string", "description": "One content reference to a SKILL.md: 'file://<root>/<dir>/SKILL.md', 'dlfs/<drive>/<path>', or an asset ref ('a/<hash>'). Not a directory." },
				"skillset": { "type": "string", "description": "The directory of skills to write into — a writable lattice path such as 'w/skills' (default) or 'w/team-skills'. The skill lands at <skillset>/<name>." },
				"content": { "type": "string", "enum": ["inline", "ref"], "description": "'inline' (default) copies the body into the stored metadata; 'ref' binds content.ref to the source so the body stays live in the file." }
			},
			"required": ["source"]
		},
		"output": {
			"type": "object",
			"description": "{path, name, description, source, content, existed, ignored?}. 'path' is where the skill now lives (add it to config.skills, or its skillset to config.skillsets); 'existed' is true when an entry at that path was replaced; 'ignored' lists dropped frontmatter keys. Fails, writing nothing, when the source does not resolve to SKILL.md content, when the text is not a valid skill, or when the caller may not read the source or write the skillset."
		}
	}
}

Navigation

Back to adapter details

Back to all adapters

Back to index