@rudderhq/agent-runtime-gemini-local 0.1.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -0
- package/dist/cli/format-event.d.ts +2 -0
- package/dist/cli/format-event.d.ts.map +1 -0
- package/dist/cli/format-event.js +198 -0
- package/dist/cli/format-event.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/server/execute.d.ts +3 -0
- package/dist/server/execute.d.ts.map +1 -0
- package/dist/server/execute.js +489 -0
- package/dist/server/execute.js.map +1 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +62 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/parse.d.ts +38 -0
- package/dist/server/parse.d.ts.map +1 -0
- package/dist/server/parse.js +238 -0
- package/dist/server/parse.js.map +1 -0
- package/dist/server/skills.d.ts +7 -0
- package/dist/server/skills.d.ts.map +1 -0
- package/dist/server/skills.js +66 -0
- package/dist/server/skills.js.map +1 -0
- package/dist/server/test.d.ts +3 -0
- package/dist/server/test.d.ts.map +1 -0
- package/dist/server/test.js +219 -0
- package/dist/server/test.js.map +1 -0
- package/dist/server/utils.d.ts +2 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/server/utils.js +7 -0
- package/dist/server/utils.js.map +1 -0
- package/dist/ui/build-config.d.ts +3 -0
- package/dist/ui/build-config.d.ts.map +1 -0
- package/dist/ui/build-config.js +84 -0
- package/dist/ui/build-config.js.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/parse-stdout.d.ts +3 -0
- package/dist/ui/parse-stdout.d.ts.map +1 -0
- package/dist/ui/parse-stdout.js +247 -0
- package/dist/ui/parse-stdout.js.map +1 -0
- package/package.json +61 -0
- package/skills/para-memory-files/SKILL.md +114 -0
- package/skills/para-memory-files/references/schemas.md +35 -0
- package/skills/rudder/SKILL.md +265 -0
- package/skills/rudder/references/api-reference.md +253 -0
- package/skills/rudder/references/cli-reference.md +67 -0
- package/skills/rudder/references/organization-skills.md +155 -0
- package/skills/rudder-create-agent/SKILL.md +166 -0
- package/skills/rudder-create-agent/references/api-reference.md +172 -0
- package/skills/rudder-create-agent/references/cli-reference.md +126 -0
- package/skills/rudder-create-plugin/SKILL.md +103 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Organization Skills Workflow
|
|
2
|
+
|
|
3
|
+
Use this reference when a board user, CEO, or manager asks you to discover, import, inspect, or enable organization skills.
|
|
4
|
+
|
|
5
|
+
This workflow is now **CLI-first** for the bundled `rudder` skill.
|
|
6
|
+
|
|
7
|
+
## Canonical Model
|
|
8
|
+
|
|
9
|
+
1. import or scan the skill into the organization library
|
|
10
|
+
2. inspect the imported skill if needed
|
|
11
|
+
3. sync the desired enabled skills onto the target agent
|
|
12
|
+
|
|
13
|
+
## Core CLI Surface
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
rudder skill list --org-id "$RUDDER_ORG_ID" --json
|
|
17
|
+
rudder skill get "<skill-id>" --org-id "$RUDDER_ORG_ID" --json
|
|
18
|
+
rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path SKILL.md --json
|
|
19
|
+
rudder skill import --org-id "$RUDDER_ORG_ID" --source "<source>" --json
|
|
20
|
+
rudder skill scan-local --org-id "$RUDDER_ORG_ID" --roots "<csv>" --json
|
|
21
|
+
rudder skill scan-projects --org-id "$RUDDER_ORG_ID" --project-ids "<csv>" --workspace-ids "<csv>" --json
|
|
22
|
+
rudder agent skills sync "<agent-id>" --desired-skills "<csv>" --json
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Defaults:
|
|
26
|
+
|
|
27
|
+
- `--org-id` can come from `RUDDER_ORG_ID`
|
|
28
|
+
- mutating commands attach `RUDDER_RUN_ID` automatically when present
|
|
29
|
+
|
|
30
|
+
## Source Types
|
|
31
|
+
|
|
32
|
+
Use these sources in priority order:
|
|
33
|
+
|
|
34
|
+
| Source format | Example | When to use |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| `skills.sh` URL | `https://skills.sh/google-labs-code/stitch-skills/design-md` | Preferred when the user gives a managed registry URL |
|
|
37
|
+
| key-style source | `google-labs-code/stitch-skills/design-md` | Shorthand for the same managed skill |
|
|
38
|
+
| GitHub URL | `https://github.com/vercel-labs/agent-browser` | When the skill is on GitHub but not on `skills.sh` |
|
|
39
|
+
| local path | `/abs/path/to/skill-dir` | Local dev or testing only |
|
|
40
|
+
|
|
41
|
+
If the user gives a `skills.sh` URL, keep it as `skills.sh` or key-style. Do not rewrite it to a GitHub URL.
|
|
42
|
+
|
|
43
|
+
## Import Examples
|
|
44
|
+
|
|
45
|
+
Preferred managed import:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
rudder skill import \
|
|
49
|
+
--org-id "$RUDDER_ORG_ID" \
|
|
50
|
+
--source "https://skills.sh/google-labs-code/stitch-skills/design-md" \
|
|
51
|
+
--json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Equivalent key-style import:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
rudder skill import \
|
|
58
|
+
--org-id "$RUDDER_ORG_ID" \
|
|
59
|
+
--source "google-labs-code/stitch-skills/design-md" \
|
|
60
|
+
--json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
GitHub import:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
rudder skill import \
|
|
67
|
+
--org-id "$RUDDER_ORG_ID" \
|
|
68
|
+
--source "https://github.com/vercel-labs/agent-browser" \
|
|
69
|
+
--json
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Local skill scan:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
rudder skill scan-local \
|
|
76
|
+
--org-id "$RUDDER_ORG_ID" \
|
|
77
|
+
--roots "/abs/path/to/.agents,/abs/path/to/other-skill-root" \
|
|
78
|
+
--json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Shared workspace scan:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
rudder skill scan-projects \
|
|
85
|
+
--org-id "$RUDDER_ORG_ID" \
|
|
86
|
+
--project-ids "<project-id-1>,<project-id-2>" \
|
|
87
|
+
--json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Notes:
|
|
91
|
+
|
|
92
|
+
- Rudder now uses one fixed org workspace root at `~/.rudder/instances/<instance>/organizations/<org-id>/workspaces`.
|
|
93
|
+
- `scan-projects` should be treated as a compatibility command that scans the shared org workspace plus any legacy project workspace records that still exist.
|
|
94
|
+
- The org `Resources` catalog is the canonical place to register shared repos, docs, URLs, and connector objects for agents.
|
|
95
|
+
- Workspaces remains the disk-backed shared file surface for plans, notes, and skill packages.
|
|
96
|
+
|
|
97
|
+
## Inspect Imported Skills
|
|
98
|
+
|
|
99
|
+
List skills:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
rudder skill list --org-id "$RUDDER_ORG_ID" --json
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Read one skill:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
rudder skill get "<skill-id>" --org-id "$RUDDER_ORG_ID" --json
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Read `SKILL.md` or another file from the package:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path SKILL.md --json
|
|
115
|
+
rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path references/notes.md --json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Enable Skills On An Existing Agent
|
|
119
|
+
|
|
120
|
+
`desiredSkills` accepts:
|
|
121
|
+
|
|
122
|
+
- exact organization skill key
|
|
123
|
+
- exact organization skill id
|
|
124
|
+
- exact slug when it is unique in the organization
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
rudder agent skills sync \
|
|
128
|
+
"<agent-id>" \
|
|
129
|
+
--desired-skills "vercel-labs/agent-browser/agent-browser" \
|
|
130
|
+
--json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
For multiple skills:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
rudder agent skills sync \
|
|
137
|
+
"<agent-id>" \
|
|
138
|
+
--desired-skills "agent-browser,design-md" \
|
|
139
|
+
--json
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Permission Model
|
|
143
|
+
|
|
144
|
+
- organization skill reads: any same-organization actor
|
|
145
|
+
- organization skill mutations: board, CEO, or an agent with effective `agents:create`
|
|
146
|
+
- agent skill sync: same permission model as updating that agent
|
|
147
|
+
|
|
148
|
+
## Notes
|
|
149
|
+
|
|
150
|
+
- Built-in Rudder skills live in the organization library but are not auto-enabled.
|
|
151
|
+
- New organizations also seed optional community preset skills into the organization library. They stay organization-managed and default-off for agents.
|
|
152
|
+
- If a skill reference is missing or ambiguous, Rudder returns `422`.
|
|
153
|
+
- Prefer linking back to the relevant issue, approval, and agent when commenting about skill changes.
|
|
154
|
+
- This document only covers library import/inspect/sync.
|
|
155
|
+
- Hire and create flows now live on the CLI-first `rudder-create-agent` path.
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rudder-create-agent
|
|
3
|
+
description: Create new agents in Rudder through the `rudder` CLI with governance-aware hiring. Use when you need to inspect adapter configuration options, compare existing agent configs, draft a new agent prompt/config, and submit a hire request.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Rudder Create Agent Skill
|
|
7
|
+
|
|
8
|
+
Use this skill when you are asked to hire or create an agent in Rudder.
|
|
9
|
+
|
|
10
|
+
## Preconditions
|
|
11
|
+
|
|
12
|
+
You need either:
|
|
13
|
+
|
|
14
|
+
- board access, or
|
|
15
|
+
- agent permission `canCreateAgents=true` in your org
|
|
16
|
+
|
|
17
|
+
If you do not have this permission, escalate to your CEO or board.
|
|
18
|
+
|
|
19
|
+
This workflow is **CLI-first**.
|
|
20
|
+
|
|
21
|
+
- Use `rudder ... --json` for structured reads and mutations.
|
|
22
|
+
- Use `references/cli-reference.md` as the canonical command catalog for this skill.
|
|
23
|
+
- Treat `references/api-reference.md` as internal/debug/compatibility documentation, not the normal runtime interface.
|
|
24
|
+
- Do not create agent directories, instruction files, or org metadata manually as a fallback.
|
|
25
|
+
- If CLI auth is unavailable in a heartbeat run, stop and report the auth problem instead of mutating the filesystem.
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
1. Confirm identity and organization context.
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
rudder agent me --json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If this returns `{"error":"Agent authentication required"}`, treat it as a run-auth failure:
|
|
36
|
+
|
|
37
|
+
- do not ask for `RUDDER_API_KEY` inside the heartbeat
|
|
38
|
+
- do not fall back to manual filesystem creation
|
|
39
|
+
- stop and report that injected agent authentication is missing or invalid for this run
|
|
40
|
+
|
|
41
|
+
2. Discover available adapter configuration docs for this Rudder instance.
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
rudder agent config index
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
3. Read adapter-specific docs for the runtime you plan to use.
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
rudder agent config doc codex_local
|
|
51
|
+
rudder agent config doc claude_local
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
4. Compare existing agents and redacted configurations in your organization.
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
rudder agent list --org-id "$RUDDER_ORG_ID" --json
|
|
58
|
+
rudder agent config list --org-id "$RUDDER_ORG_ID" --json
|
|
59
|
+
rudder agent config get "<agent-id>" --json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
5. Discover allowed agent icons and pick one that matches the role.
|
|
63
|
+
|
|
64
|
+
```sh
|
|
65
|
+
rudder agent icons
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
6. If the role needs organization skills on day one, inspect or import them before hiring.
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
rudder skill list --org-id "$RUDDER_ORG_ID" --json
|
|
72
|
+
rudder skill get "<skill-id>" --org-id "$RUDDER_ORG_ID" --json
|
|
73
|
+
rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path SKILL.md --json
|
|
74
|
+
rudder skill import --org-id "$RUDDER_ORG_ID" --source "<source>" --json
|
|
75
|
+
rudder skill scan-local --org-id "$RUDDER_ORG_ID" --roots "<csv>" --json
|
|
76
|
+
rudder skill scan-projects --org-id "$RUDDER_ORG_ID" --project-ids "<csv>" --workspace-ids "<csv>" --json
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
7. Draft the hire payload.
|
|
80
|
+
|
|
81
|
+
Required thinking:
|
|
82
|
+
|
|
83
|
+
- role / title / optional `name`
|
|
84
|
+
- `name` is optional; if omitted, Rudder assigns a distinct personal name automatically
|
|
85
|
+
- `icon` from `rudder agent icons`
|
|
86
|
+
- reporting line (`reportsTo`)
|
|
87
|
+
- adapter type
|
|
88
|
+
- optional `desiredSkills` from the organization skill library
|
|
89
|
+
- adapter and runtime config aligned to this environment
|
|
90
|
+
- capabilities
|
|
91
|
+
- run prompt in adapter config (`promptTemplate` where applicable)
|
|
92
|
+
- source issue linkage (`sourceIssueId` or `sourceIssueIds`) when this hire came from an issue
|
|
93
|
+
|
|
94
|
+
8. Submit the canonical hire request.
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
rudder agent hire --org-id "$RUDDER_ORG_ID" --payload '{
|
|
98
|
+
"role": "cto",
|
|
99
|
+
"title": "Chief Technology Officer",
|
|
100
|
+
"icon": "crown",
|
|
101
|
+
"reportsTo": "<ceo-agent-id>",
|
|
102
|
+
"capabilities": "Owns technical roadmap, architecture, staffing, execution",
|
|
103
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
|
|
104
|
+
"agentRuntimeType": "codex_local",
|
|
105
|
+
"agentRuntimeConfig": {"cwd": "/abs/path/to/repo", "model": "o4-mini"},
|
|
106
|
+
"runtimeConfig": {"heartbeat": {"enabled": true, "intervalSec": 300, "wakeOnDemand": true}},
|
|
107
|
+
"sourceIssueId": "<issue-id>"
|
|
108
|
+
}' --json
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`agent hire` is the canonical surface because it preserves the real server behavior:
|
|
112
|
+
|
|
113
|
+
- if the organization does not require approval, it creates the agent directly and returns `"approval": null`
|
|
114
|
+
- if the organization requires approval, it creates the agent in `pending_approval` and returns both `agent` and `approval`
|
|
115
|
+
|
|
116
|
+
Do **not** substitute `rudder approval create --type hire_agent` for this step unless you are doing low-level debugging. That bypasses the canonical direct-create vs pending-approval behavior.
|
|
117
|
+
|
|
118
|
+
9. Handle governance state.
|
|
119
|
+
|
|
120
|
+
If the hire response includes `approval`, monitor and discuss on the approval thread:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
rudder approval get "<approval-id>" --json
|
|
124
|
+
rudder approval comment "<approval-id>" --body "## CTO hire request submitted
|
|
125
|
+
|
|
126
|
+
- Approval: [<approval-id>](/<prefix>/messenger/approvals/<approval-id>)
|
|
127
|
+
- Pending agent: [<agent-ref>](/<prefix>/agents/<agent-url-key-or-id>)
|
|
128
|
+
- Source issue: [<issue-ref>](/<prefix>/issues/<issue-identifier-or-id>)
|
|
129
|
+
|
|
130
|
+
Updated prompt and adapter config per board feedback." --json
|
|
131
|
+
rudder approval resubmit "<approval-id>" --payload '{"title":"Revised title","agentRuntimeConfig":{"cwd":"/abs/path/to/repo","model":"o4-mini"}}' --json
|
|
132
|
+
rudder approval issues "<approval-id>" --json
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
When the board approves, you may be woken with `RUDDER_APPROVAL_ID`:
|
|
136
|
+
|
|
137
|
+
```sh
|
|
138
|
+
rudder approval get "$RUDDER_APPROVAL_ID" --json
|
|
139
|
+
rudder approval issues "$RUDDER_APPROVAL_ID" --json
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
For each linked issue, either:
|
|
143
|
+
|
|
144
|
+
- close it if the approval resolved the request, or
|
|
145
|
+
- comment in markdown with links to the approval and next actions
|
|
146
|
+
|
|
147
|
+
## Quality Bar
|
|
148
|
+
|
|
149
|
+
Before sending a hire request:
|
|
150
|
+
|
|
151
|
+
- if the role needs skills, make sure they already exist in the org library or import them first using the Rudder org-skills workflow
|
|
152
|
+
- reuse proven config patterns from related agents where possible
|
|
153
|
+
- set a concrete `icon` from `rudder agent icons` so the new hire is identifiable in org and task views
|
|
154
|
+
- avoid secrets in plain text unless required by adapter behavior
|
|
155
|
+
- ensure the reporting line is correct and in-org
|
|
156
|
+
- ensure the prompt is role-specific and operationally scoped
|
|
157
|
+
- prefer `sourceIssueId` or `sourceIssueIds` in the hire payload instead of manual approval linking
|
|
158
|
+
- if board requests revision, update the payload and resubmit through the approval flow
|
|
159
|
+
- do not report success unless `rudder agent hire` itself succeeded and you can cite the returned `agent.id` or `approval.id`
|
|
160
|
+
- creating local directories or instruction files is not evidence that an agent exists in Rudder
|
|
161
|
+
|
|
162
|
+
For canonical command syntax and examples, read:
|
|
163
|
+
`references/cli-reference.md`
|
|
164
|
+
|
|
165
|
+
For low-level route shapes and underlying compatibility endpoints, read:
|
|
166
|
+
`references/api-reference.md`
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Rudder Create Agent API Reference
|
|
2
|
+
|
|
3
|
+
Internal/debug reference for the bundled `rudder-create-agent` skill.
|
|
4
|
+
|
|
5
|
+
- Normal runtime execution should follow the CLI-first workflow in `../SKILL.md`.
|
|
6
|
+
- The canonical command catalog lives in `cli-reference.md`.
|
|
7
|
+
- Keep this document for route-level debugging, compatibility work, and payload-shape inspection.
|
|
8
|
+
|
|
9
|
+
## CLI-to-API Mapping
|
|
10
|
+
|
|
11
|
+
| CLI command | Primary route |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| `rudder agent config index` | `GET /llms/agent-configuration.txt` |
|
|
14
|
+
| `rudder agent config doc <agentRuntimeType>` | `GET /llms/agent-configuration/:agentRuntimeType.txt` |
|
|
15
|
+
| `rudder agent icons` | `GET /llms/agent-icons.txt` |
|
|
16
|
+
| `rudder agent config list --org-id <orgId>` | `GET /api/orgs/:orgId/agent-configurations` |
|
|
17
|
+
| `rudder agent config get <agentId>` | `GET /api/agents/:agentId/configuration` |
|
|
18
|
+
| `rudder agent hire --org-id <orgId> --payload <json>` | `POST /api/orgs/:orgId/agent-hires` |
|
|
19
|
+
| `rudder approval get <approvalId>` | `GET /api/approvals/:approvalId` |
|
|
20
|
+
| `rudder approval comment <approvalId> --body <text>` | `POST /api/approvals/:approvalId/comments` |
|
|
21
|
+
| `rudder approval resubmit <approvalId> [--payload <json>]` | `POST /api/approvals/:approvalId/resubmit` |
|
|
22
|
+
| `rudder approval issues <approvalId>` | `GET /api/approvals/:approvalId/issues` |
|
|
23
|
+
|
|
24
|
+
## Reflection Endpoints
|
|
25
|
+
|
|
26
|
+
- `GET /llms/agent-configuration.txt`
|
|
27
|
+
- `GET /llms/agent-configuration/:agentRuntimeType.txt`
|
|
28
|
+
- `GET /llms/agent-icons.txt`
|
|
29
|
+
|
|
30
|
+
Auth:
|
|
31
|
+
|
|
32
|
+
- board access, or
|
|
33
|
+
- same-org agent auth with `canCreateAgents=true`
|
|
34
|
+
|
|
35
|
+
These endpoints return plain text. The CLI wraps them directly.
|
|
36
|
+
|
|
37
|
+
## Configuration Snapshots
|
|
38
|
+
|
|
39
|
+
- `GET /api/orgs/:orgId/agent-configurations`
|
|
40
|
+
- `GET /api/agents/:agentId/configuration`
|
|
41
|
+
|
|
42
|
+
These responses are redacted snapshots for comparison and reuse.
|
|
43
|
+
|
|
44
|
+
Representative shape:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"id": "uuid",
|
|
49
|
+
"orgId": "uuid",
|
|
50
|
+
"name": "CTO",
|
|
51
|
+
"role": "cto",
|
|
52
|
+
"title": "Chief Technology Officer",
|
|
53
|
+
"status": "idle",
|
|
54
|
+
"reportsTo": "uuid-or-null",
|
|
55
|
+
"agentRuntimeType": "codex_local",
|
|
56
|
+
"agentRuntimeConfig": {
|
|
57
|
+
"cwd": "/absolute/path",
|
|
58
|
+
"model": "o4-mini"
|
|
59
|
+
},
|
|
60
|
+
"runtimeConfig": {
|
|
61
|
+
"heartbeat": {
|
|
62
|
+
"enabled": true,
|
|
63
|
+
"intervalSec": 300,
|
|
64
|
+
"wakeOnDemand": true
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"permissions": {
|
|
68
|
+
"canCreateAgents": true
|
|
69
|
+
},
|
|
70
|
+
"updatedAt": "2026-04-19T12:00:00.000Z"
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## `POST /api/orgs/:orgId/agent-hires`
|
|
75
|
+
|
|
76
|
+
Canonical hire route used by `rudder agent hire`.
|
|
77
|
+
|
|
78
|
+
Request body:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"role": "cto",
|
|
83
|
+
"title": "Chief Technology Officer",
|
|
84
|
+
"icon": "crown",
|
|
85
|
+
"reportsTo": "uuid-or-null",
|
|
86
|
+
"capabilities": "Owns architecture and engineering execution",
|
|
87
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
|
|
88
|
+
"agentRuntimeType": "codex_local",
|
|
89
|
+
"agentRuntimeConfig": {
|
|
90
|
+
"cwd": "/absolute/path",
|
|
91
|
+
"model": "o4-mini",
|
|
92
|
+
"promptTemplate": "You are CTO..."
|
|
93
|
+
},
|
|
94
|
+
"runtimeConfig": {
|
|
95
|
+
"heartbeat": {
|
|
96
|
+
"enabled": true,
|
|
97
|
+
"intervalSec": 300,
|
|
98
|
+
"wakeOnDemand": true
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"budgetMonthlyCents": 0,
|
|
102
|
+
"sourceIssueId": "uuid-or-null",
|
|
103
|
+
"sourceIssueIds": ["uuid-1", "uuid-2"]
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Response when approval is required:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"agent": {
|
|
112
|
+
"id": "uuid",
|
|
113
|
+
"status": "pending_approval"
|
|
114
|
+
},
|
|
115
|
+
"approval": {
|
|
116
|
+
"id": "uuid",
|
|
117
|
+
"type": "hire_agent",
|
|
118
|
+
"status": "pending",
|
|
119
|
+
"payload": {
|
|
120
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Response when approval is not required:
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"agent": {
|
|
131
|
+
"id": "uuid",
|
|
132
|
+
"status": "idle"
|
|
133
|
+
},
|
|
134
|
+
"approval": null
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Important notes:
|
|
139
|
+
|
|
140
|
+
- `name` is optional; if omitted or blank, Rudder assigns a distinct first name automatically
|
|
141
|
+
- `desiredSkills` accepts organization skill ids, canonical keys, or a unique slug; the server resolves and stores canonical organization skill keys
|
|
142
|
+
- `sourceIssueId` and `sourceIssueIds` are the canonical way to link the hire back to originating issues
|
|
143
|
+
- this route is preferred over creating `hire_agent` approvals manually because it preserves the organization's approval policy
|
|
144
|
+
|
|
145
|
+
## Approval Lifecycle
|
|
146
|
+
|
|
147
|
+
Relevant routes:
|
|
148
|
+
|
|
149
|
+
- `GET /api/approvals/:approvalId`
|
|
150
|
+
- `POST /api/approvals/:approvalId/comments`
|
|
151
|
+
- `POST /api/approvals/:approvalId/resubmit`
|
|
152
|
+
- `GET /api/approvals/:approvalId/issues`
|
|
153
|
+
|
|
154
|
+
Statuses:
|
|
155
|
+
|
|
156
|
+
- `pending`
|
|
157
|
+
- `revision_requested`
|
|
158
|
+
- `approved`
|
|
159
|
+
- `rejected`
|
|
160
|
+
- `cancelled`
|
|
161
|
+
|
|
162
|
+
For hire approvals:
|
|
163
|
+
|
|
164
|
+
- approved: linked agent transitions `pending_approval -> idle`
|
|
165
|
+
- rejected: linked agent is terminated
|
|
166
|
+
|
|
167
|
+
## Safety Notes
|
|
168
|
+
|
|
169
|
+
- Config read APIs redact obvious secrets.
|
|
170
|
+
- `pending_approval` agents cannot run heartbeats, receive assignments, or create keys.
|
|
171
|
+
- All hire and approval actions are logged in activity for auditability.
|
|
172
|
+
- Use markdown in issue and approval comments and include links to the approval, agent, and source issue.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Rudder Create Agent CLI Reference
|
|
2
|
+
|
|
3
|
+
Canonical CLI contract for the bundled `rudder-create-agent` skill. Prefer these commands over direct `/api` calls.
|
|
4
|
+
|
|
5
|
+
## Defaults
|
|
6
|
+
|
|
7
|
+
- All commands support `--json`.
|
|
8
|
+
- `--org-id` defaults to `RUDDER_ORG_ID` when relevant.
|
|
9
|
+
- Mutating commands attach `RUDDER_RUN_ID` automatically when available.
|
|
10
|
+
- `agent config index`, `agent config doc`, and `agent icons` print plain text by default. With `--json`, they emit that text as a JSON string.
|
|
11
|
+
|
|
12
|
+
## Core CLI Surface
|
|
13
|
+
|
|
14
|
+
### Identity and discovery
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
rudder agent me --json
|
|
18
|
+
rudder agent list --org-id "$RUDDER_ORG_ID" --json
|
|
19
|
+
rudder agent get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
20
|
+
rudder agent config index
|
|
21
|
+
rudder agent config doc "<agent-runtime-type>"
|
|
22
|
+
rudder agent config list --org-id "$RUDDER_ORG_ID" --json
|
|
23
|
+
rudder agent config get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
24
|
+
rudder agent icons
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Use these in order:
|
|
28
|
+
|
|
29
|
+
1. `agent me` to verify auth and org context
|
|
30
|
+
2. `agent config index` to discover installed runtimes
|
|
31
|
+
3. `agent config doc` to read one runtime's required fields and examples
|
|
32
|
+
4. `agent list` plus `agent config list/get` to reuse proven patterns from related agents
|
|
33
|
+
5. `agent icons` to choose an allowed `icon`
|
|
34
|
+
|
|
35
|
+
### Organization skills
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
rudder skill list --org-id "$RUDDER_ORG_ID" --json
|
|
39
|
+
rudder skill get "<skill-id>" --org-id "$RUDDER_ORG_ID" --json
|
|
40
|
+
rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path SKILL.md --json
|
|
41
|
+
rudder skill import --org-id "$RUDDER_ORG_ID" --source "<source>" --json
|
|
42
|
+
rudder skill scan-local --org-id "$RUDDER_ORG_ID" --roots "<csv>" --json
|
|
43
|
+
rudder skill scan-projects --org-id "$RUDDER_ORG_ID" --project-ids "<csv>" --workspace-ids "<csv>" --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Use these before hiring when the new role needs `desiredSkills`.
|
|
47
|
+
|
|
48
|
+
`desiredSkills` accepts:
|
|
49
|
+
|
|
50
|
+
- exact organization skill key
|
|
51
|
+
- exact organization skill id
|
|
52
|
+
- exact slug when it is unique in the organization
|
|
53
|
+
|
|
54
|
+
### Canonical hire flow
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
rudder agent hire --org-id "$RUDDER_ORG_ID" --payload '{
|
|
58
|
+
"role": "cto",
|
|
59
|
+
"title": "Chief Technology Officer",
|
|
60
|
+
"icon": "crown",
|
|
61
|
+
"reportsTo": "<ceo-agent-id>",
|
|
62
|
+
"capabilities": "Owns technical roadmap, architecture, staffing, execution",
|
|
63
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
|
|
64
|
+
"agentRuntimeType": "codex_local",
|
|
65
|
+
"agentRuntimeConfig": {"cwd": "/abs/path/to/repo", "model": "o4-mini"},
|
|
66
|
+
"runtimeConfig": {"heartbeat": {"enabled": true, "intervalSec": 300, "wakeOnDemand": true}},
|
|
67
|
+
"sourceIssueId": "<issue-id>"
|
|
68
|
+
}' --json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Canonical semantics:
|
|
72
|
+
|
|
73
|
+
- this wraps `POST /api/orgs/:orgId/agent-hires`
|
|
74
|
+
- if the organization does not require board approval, the response contains `approval: null` and the agent is created directly
|
|
75
|
+
- if the organization requires board approval, the response contains both `agent` and `approval`, and the new agent stays `pending_approval`
|
|
76
|
+
|
|
77
|
+
Do not use `rudder approval create --type hire_agent` as a replacement for `agent hire` during normal skill execution. That is a lower-level compatibility surface and does not preserve the canonical direct-create behavior.
|
|
78
|
+
|
|
79
|
+
### Approval follow-up
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
rudder approval get "<approval-id>" --json
|
|
83
|
+
rudder approval comment "<approval-id>" --body "<markdown>" --json
|
|
84
|
+
rudder approval resubmit "<approval-id>" --payload '{"...":"..."}' --json
|
|
85
|
+
rudder approval issues "<approval-id>" --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Notes:
|
|
89
|
+
|
|
90
|
+
- `approval comment` should use markdown and link the approval, pending agent, and source issue when available
|
|
91
|
+
- `approval resubmit` is only for a revision-requested approval; update the payload instead of creating a second hire
|
|
92
|
+
- if the run wakes with `RUDDER_APPROVAL_ID`, treat that approval as the first task
|
|
93
|
+
|
|
94
|
+
## Payload Notes
|
|
95
|
+
|
|
96
|
+
The `agent hire` payload accepts the same shape as the hire API, including:
|
|
97
|
+
|
|
98
|
+
- `name` optional; blank or omitted means Rudder assigns a distinct first name
|
|
99
|
+
- `role`
|
|
100
|
+
- `title`
|
|
101
|
+
- `icon`
|
|
102
|
+
- `reportsTo`
|
|
103
|
+
- `capabilities`
|
|
104
|
+
- `desiredSkills`
|
|
105
|
+
- `agentRuntimeType`
|
|
106
|
+
- `agentRuntimeConfig`
|
|
107
|
+
- `runtimeConfig`
|
|
108
|
+
- `budgetMonthlyCents`
|
|
109
|
+
- `metadata`
|
|
110
|
+
- `sourceIssueId`
|
|
111
|
+
- `sourceIssueIds`
|
|
112
|
+
|
|
113
|
+
Issue linkage rule:
|
|
114
|
+
|
|
115
|
+
- prefer `sourceIssueId` or `sourceIssueIds` inside the hire payload
|
|
116
|
+
- use `approval issues` to inspect the resulting approval links after the server creates them
|
|
117
|
+
|
|
118
|
+
## Related Commands
|
|
119
|
+
|
|
120
|
+
Post-hire adjustments use the normal agent and skill surfaces:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
rudder agent get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
124
|
+
rudder agent skills sync "<agent-id>" --desired-skills "<csv>" --json
|
|
125
|
+
rudder agent local-cli "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
126
|
+
```
|