ateam_patch
Update any field in a skill or solution definition, redeploy, and optionally re-test in one step.
Instructions
Surgically update ANY field in a skill or solution definition, redeploy, and optionally re-test — all in one step.
SUPPORTED OPERATIONS:
Scalar (dot notation): { "problem.statement": "new value", "role.persona": "You are..." }
Deep nested: { "intents.thresholds.accept": 0.9, "policy.escalation.enabled": true }
Array push: { "tools_push": [{ name: "new_tool", description: "..." }] }
Array delete: { "tools_delete": ["tool_name"] }
Array update: { "tools_update": [{ name: "existing_tool", description: "updated" }] }
Replace whole section: { "role": { persona: "...", goals: [...] } }
EXAMPLES:
Change persona (full replace): updates: { "role.persona": "You are a friendly assistant" }
Append to persona (don't replace): updates: { "persona_append": "\n\nALWAYS respond in 2 sentences." }
Add a guardrail: updates: { "policy.guardrails.never_push": ["Never share passwords"] }
Update problem: updates: { "problem.statement": "...", "problem.goals": ["goal1"] }
Add a tool: updates: { "tools_push": [{ name: "conn.tool", description: "...", inputs: [...], output: {...} }] }
Change intent: updates: { "intents.supported_update": [{ id: "i1", description: "new desc" }] }
Force redeploy: updates: { "_force_redeploy": true }
CREATE a new skill: target='skill', skill_id='my-new-skill', updates: { "problem.statement": "...", "role.persona": "..." } If the skill doesn't exist yet, a default scaffold is created and the updates are applied on top. The skill is automatically added to the solution topology.
Use target='skill' + skill_id for skill fields. Use target='solution' for solution-level fields (linked_skills, platform_connectors, ui_plugins).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| solution_id | Yes | The solution ID | |
| target | Yes | What to update: 'solution' for solution definition, 'skill' for skill definition fields (problem, role, intents, tools, policy, engine, scenarios, etc.) | |
| skill_id | No | Required when target is 'skill'. The skill ID to patch. | |
| updates | Yes | The update payload. Use dot notation for nested scalars (e.g. 'problem.statement': 'new value'). For arrays, use _push/_delete/_update suffixes (e.g. 'tools_push', 'tools_delete'). You can update ANY field in the skill definition: problem, role, intents, tools, policy, engine, scenarios, glossary, etc. | |
| test_message | No | Optional: re-test the skill after patching. Requires skill_id. |