com.publicdomainrelay.temp.agent.skill
Schema Diff
+9 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.agent.skill:body.tools" }
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.agent.skill:body.tools:items" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.agent.skill:body", tgt: "com.publicdomainrelay.temp.agent.skill:body.tools", kind: "prop", name: Some("tools") }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.agent.skill:body.tools", tgt: "com.publicdomainrelay.temp.agent.skill:body.tools:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.agent.skill:body.tools" }AddedVertex { vertex_id: "com.publicdomainrelay.temp.agent.skill:body.tools:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.agent.skill:body", tgt: "com.publicdomainrelay.temp.agent.skill:body.tools", kind: "prop", name: Some("tools") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.agent.skill:body.tools", tgt: "com.publicdomainrelay.temp.agent.skill:body.tools:items", kind: "items", name: None }
1
1
{
2
2
"id": "com.publicdomainrelay.temp.agent.skill",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"description",
12
12
"content",
13
13
"createdAt"
14
14
],
15
15
"properties": {
16
16
"name": {
17
17
"type": "string",
18
18
"description": "Human-readable name of the skill."
19
19
},
20
+
"tools": {
21
+
"type": "array",
22
+
"items": {
23
+
"ref": "com.atproto.repo.strongRef",
24
+
"type": "ref"
25
+
},
26
+
"description": "TypeScript tools the skill provides. Each entry is a strongRef to a com.publicdomainrelay.temp.agent.tool.typescript record (which carries the FULL embedded source, deno.json, and deno.lock). Decoupling from the agent.skill record means the same tool can be referenced from multiple skills, and a remote agent fetching this skill can resolve and execute the tool without filesystem access."
27
+
},
20
28
"content": {
21
29
"type": "string",
22
30
"description": "The skill itself."
23
31
},
24
32
"examples": {
25
33
"type": "array",
26
34
"items": {
27
35
"ref": "com.atproto.repo.strongRef",
28
36
"type": "ref"
29
37
},
30
38
"description": "Strong references to example records demonstrating this skill."
31
39
},
32
40
"createdAt": {
33
41
"type": "string",
34
42
"description": "ISO 8601 timestamp when this skill record was created."
35
43
},
36
44
"description": {
37
45
"type": "string",
38
46
"description": "Instructions for when and how to use this skill."
39
47
},
40
48
"property_references": {
41
49
"type": "array",
42
50
"items": {
43
51
"ref": "#propertyReference",
44
52
"type": "ref"
45
53
},
46
54
"description": "Annotated path-value pairs describing fields within the example records. Each entry either carries a literal string value or a strongRef that resolves (recursively) to the value at that path."
47
55
}
48
56
}
49
57
},
50
-
"description": "An agent skill record that describes a capability the agent can perform, with examples and property references."
58
+
"description": "An agent skill record that describes a capability the agent can perform, with examples, property references, and optionally TypeScript tools the agent can invoke."
51
59
},
52
60
"propertyReference": {
53
61
"type": "object",
54
62
"required": [
55
63
"path"
56
64
],
57
65
"properties": {
58
66
"ref": {
59
67
"ref": "com.atproto.repo.strongRef",
60
68
"type": "ref",
61
69
"description": "Strong reference to a record that contains the example data."
62
70
},
63
71
"path": {
64
72
"type": "string",
65
73
"description": "JSONPath-like dotted path into the resolved example tree, e.g. '.examples[].value.payload.value.user_data'."
66
74
}
67
75
},
68
76
"description": "A single path-annotated value reference within a skill's example records. Carries either a literal string or a strongRef pointing to the value."
69
77
}
70
78
},
71
79
"$type": "com.atproto.lexicon.schema",
72
80
"lexicon": 1
73
81
}