You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: rename use/direct top-level param from locator to command
Resolves naming collision where resource operations have their own
`locator` parameter conflicting with the tool-level `locator` field.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
"Feature: State origin — prototype vs instance\n Every node in a role's state tree has an origin: prototype or instance.\n This distinction determines what can be modified and what is read-only.\n\n Scenario: Prototype nodes are read-only\n Given a node has origin {prototype}\n Then it comes from a position, duty, or organizational definition\n And it is inherited through the membership/appointment chain\n And it CANNOT be modified or forgotten — it belongs to the organization\n\n Scenario: Instance nodes are mutable\n Given a node has origin {instance}\n Then it was created by the individual through execution or cognition\n And it includes goals, plans, tasks, encounters, experiences, principles, and procedures\n And it CAN be modified or forgotten — it belongs to the individual\n\n Scenario: Reading the state heading\n Given a state node is rendered as a heading\n Then the format is: [name] (id) {origin} #tag\n And [name] identifies the structure type\n And (id) identifies the specific node\n And {origin} shows prototype or instance\n And #tag shows the node's tag if present (e.g. #done, #abandoned)\n And nodes without origin have no organizational inheritance\n\n Scenario: Forget only works on instance nodes\n Given the AI wants to forget a node\n When the node origin is {instance}\n Then forget will succeed — the individual owns this knowledge\n When the node origin is {prototype}\n Then forget will fail — the knowledge belongs to the organization",
85
85
"use-protocol":
86
-
'Feature: Use tool — the universal execution entry point\n The MCP use tool is how you execute ALL RoleX operations beyond the core MCP tools.\n Whenever you see use("...") or a !namespace.method pattern in skills or documentation,\n it is an instruction to call the MCP use tool with that locator.\n\n Scenario: How to read use instructions in skills\n Given a skill document contains use("!resource.add", { path: "..." })\n Then this means: call the MCP use tool with locator "!resource.add" and args { path: "..." }\n And always use the MCP use tool for RoleX operations\n And this applies to every use("...") pattern you encounter in any skill or documentation\n\n Scenario: ! prefix dispatches to RoleX runtime\n Given the locator starts with !\n Then it is parsed as !namespace.method\n And dispatched to the corresponding RoleX API with named args\n\n Scenario: Mandatory skill loading before execution\n Given your procedures list the skills you have\n When you need to execute a command you have not seen in a loaded skill\n Then you MUST call skill(locator) first to load the full instructions\n And the loaded skill will tell you the exact command name and arguments\n And only then call use(!namespace.method, args) with the correct syntax\n And do not use commands from other roles\' descriptions — only your own skills\n\n Scenario: NEVER guess commands\n Given a command is not found in any loaded skill\n When the AI considers trying it anyway\n Then STOP — do not call use or direct with unverified commands\n And call skill(locator) with the relevant procedure to learn the correct syntax\n And if no procedure covers this task, it is outside your duties — suggest Nuwa\n\n Scenario: Regular locators delegate to ResourceX\n Given the locator does not start with !\n Then it is treated as a ResourceX locator\n And resolved through the ResourceX ingest pipeline',
86
+
'Feature: Use tool — the universal execution entry point\n The MCP use tool is how you execute ALL RoleX operations beyond the core MCP tools.\n Whenever you see use("...") or a !namespace.method pattern in skills or documentation,\n it is an instruction to call the MCP use tool with that command.\n\n Scenario: How to read use instructions in skills\n Given a skill document contains use("!resource.add", { path: "..." })\n Then this means: call the MCP use tool with command "!resource.add" and path "..."\n And all named arguments are passed as flat top-level parameters alongside command\n And always use the MCP use tool for RoleX operations\n And this applies to every use("...") pattern you encounter in any skill or documentation\n\n Scenario: ! prefix dispatches to RoleX runtime\n Given the command starts with !\n Then it is parsed as !namespace.method\n And dispatched to the corresponding RoleX API with named args\n\n Scenario: Mandatory skill loading before execution\n Given your procedures list the skills you have\n When you need to execute a command you have not seen in a loaded skill\n Then you MUST call skill(locator) first to load the full instructions\n And the loaded skill will tell you the exact command name and arguments\n And only then call use with the correct command and flat named parameters\n And do not use commands from other roles\' descriptions — only your own skills\n\n Scenario: NEVER guess commands\n Given a command is not found in any loaded skill\n When the AI considers trying it anyway\n Then STOP — do not call use or direct with unverified commands\n And call skill(locator) with the relevant procedure to learn the correct syntax\n And if no procedure covers this task, it is outside your duties — suggest Nuwa\n\n Scenario: Regular commands delegate to ResourceX\n Given the command does not start with !\n Then it is treated as a ResourceX locator\n And resolved through the ResourceX ingest pipeline',
Copy file name to clipboardExpand all lines: skills/individual-management/SKILL.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Feature: Individual Lifecycle
14
14
And the individual can be activated, hired into organizations, and taught skills
15
15
And parameters are:
16
16
"""
17
-
locator: "!individual.born"
17
+
command: "!individual.born"
18
18
content: "Feature: ..." # Gherkin persona (optional)
19
19
id: "sean" # kebab-case identifier
20
20
alias: ["小明", "xm"] # aliases (optional)
@@ -34,7 +34,7 @@ Feature: Individual Lifecycle
34
34
And all data is preserved for potential restoration via rehire
35
35
And parameters are:
36
36
"""
37
-
locator: "!individual.retire"
37
+
command: "!individual.retire"
38
38
individual: "sean"
39
39
"""
40
40
@@ -45,7 +45,7 @@ Feature: Individual Lifecycle
45
45
And this is semantically permanent — rehire is technically possible but not intended
46
46
And parameters are:
47
47
"""
48
-
locator: "!individual.die"
48
+
command: "!individual.die"
49
49
individual: "sean"
50
50
"""
51
51
@@ -63,7 +63,7 @@ Feature: Individual Lifecycle
63
63
And all previous knowledge, experience, and history are intact
64
64
And parameters are:
65
65
"""
66
-
locator: "!individual.rehire"
66
+
command: "!individual.rehire"
67
67
individual: "sean"
68
68
"""
69
69
@@ -79,7 +79,7 @@ Feature: Knowledge Injection
79
79
And if a principle with the same id already exists, it is replaced (upsert)
80
80
And parameters are:
81
81
"""
82
-
locator: "!individual.teach"
82
+
command: "!individual.teach"
83
83
individual: "sean"
84
84
content: "Feature: Always validate input\n ..."
85
85
id: "always-validate-input"
@@ -93,7 +93,7 @@ Feature: Knowledge Injection
93
93
And the procedure Feature description MUST contain the ResourceX locator for the skill
94
94
And parameters are:
95
95
"""
96
-
locator: "!individual.train"
96
+
command: "!individual.train"
97
97
individual: "sean"
98
98
content: "Feature: Skill Creator\n https://github.com/Deepractice/DeepracticeX/tree/main/skills/skill-creator\n\n Scenario: When to use\n Given I need to create a skill\n Then load this skill"
0 commit comments