| Tool Name: | skills_read |
| Asset Name: | Read Skill |
| Description: | Reads one skill in full without loading it: its instructions, the operations it contributes, and the further skills and skillsets it makes discoverable. Takes a resolved path or asset ref — find one with the skill-list operation, since a skill name is only meaningful against declared sources. Read-only; author skills with the lattice write and asset store operations. |
| Adapter: | skills |
| Asset Hash: | 0x0670eec1a5a20842e618b8553aa22eadf36b6f07c5f13dd275d6b2b8cdbc8cb4 |
| Property | Type | Description |
|---|---|---|
skill* | string | The skill to read: a resolved path such as 'v/skills/data/workspace' or 'w/skills/my-notes', or a content-addressed asset ref ('a/<hash>'). |
Type: object
Schema: <code>{ "type": "object", "description": "{name, description, path, id, tools, body?, skills?, skillsets?, context?}. 'id' is the content identity (the value hash of the resolved metadata) — two paths with the same id are the same skill. 'tools' are operation refs added to the palette while the skill is loaded. 'skills' and 'skillsets' are the individual skills and directories of skills it makes discoverable while loaded. 'body' is present when the skill has content; a contentless skill is a pure toolset. 'context' is its bundled context entries. Fails when the skill does not resolve, is not a skill, or the caller may not read it." }</code>
This tool can be called via the MCP (Model Context Protocol) endpoint. Here are examples of how to use it:
POST to https://venue-3.covia.ai/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "skills_read",
"arguments": {
"input": "your input here"
}
}
}curl -X POST https://venue-3.covia.ai/mcp \\
-H "Content-Type: application/json" \\
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "skills_read",
"arguments": {
"input": "your input here"
}
}
}'import requests
import json
url = "https://venue-3.covia.ai/mcp"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "skills_read",
"arguments": {
"input": "your input here"
}
}
}
response = requests.post(url, json=payload)
result = response.json()
print(result)const fetch = require('node-fetch');
const url = 'https://venue-3.covia.ai/mcp';
const payload = {
jsonrpc: '2.0',
id: 1,
method: 'tools/call',
params: {
name: 'skills_read',
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));{
"name": "Read Skill",
"description": "Reads one skill in full without loading it: its instructions, the operations it contributes, and the further skills and skillsets it makes discoverable. Takes a resolved path or asset ref — find one with the skill-list operation, since a skill name is only meaningful against declared sources. Read-only; author skills with the lattice write and asset store operations.",
"dateCreated": "2026-08-20T00:00:00Z",
"operation": {
"adapter": "skills:read",
"toolName": "skills_read",
"input": {
"type": "object",
"properties": {
"skill": { "type": "string", "description": "The skill to read: a resolved path such as 'v/skills/data/workspace' or 'w/skills/my-notes', or a content-addressed asset ref ('a/<hash>')." }
},
"required": ["skill"]
},
"output": {
"type": "object",
"description": "{name, description, path, id, tools, body?, skills?, skillsets?, context?}. 'id' is the content identity (the value hash of the resolved metadata) — two paths with the same id are the same skill. 'tools' are operation refs added to the palette while the skill is loaded. 'skills' and 'skillsets' are the individual skills and directories of skills it makes discoverable while loaded. 'body' is present when the skill has content; a contentless skill is a pure toolset. 'context' is its bundled context entries. Fails when the skill does not resolve, is not a skill, or the caller may not read it."
}
}
}