@rudderhq/agent-runtime-claude-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 +94 -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/cli/quota-probe.d.ts +3 -0
- package/dist/cli/quota-probe.d.ts.map +1 -0
- package/dist/cli/quota-probe.js +106 -0
- package/dist/cli/quota-probe.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/server/execute.d.ts +18 -0
- package/dist/server/execute.d.ts.map +1 -0
- package/dist/server/execute.js +578 -0
- package/dist/server/execute.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +57 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/parse.d.ts +22 -0
- package/dist/server/parse.d.ts.map +1 -0
- package/dist/server/parse.js +158 -0
- package/dist/server/parse.js.map +1 -0
- package/dist/server/quota.d.ts +20 -0
- package/dist/server/quota.d.ts.map +1 -0
- package/dist/server/quota.js +477 -0
- package/dist/server/quota.js.map +1 -0
- package/dist/server/skills.d.ts +8 -0
- package/dist/server/skills.d.ts.map +1 -0
- package/dist/server/skills.js +102 -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 +201 -0
- package/dist/server/test.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 +115 -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 +149 -0
- package/dist/ui/parse-stdout.js.map +1 -0
- package/package.json +63 -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,67 @@
|
|
|
1
|
+
# Rudder Agent CLI Reference
|
|
2
|
+
|
|
3
|
+
Stable CLI contract for agents using the bundled `rudder` 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
|
+
- `--run-id` defaults to `RUDDER_RUN_ID` and is attached to mutating requests when available.
|
|
10
|
+
- `issue checkout` defaults `--agent-id` from `RUDDER_AGENT_ID`.
|
|
11
|
+
|
|
12
|
+
## Agent V1 Commands
|
|
13
|
+
|
|
14
|
+
| Command | Description | Mutating | Org | Agent | Run ID |
|
|
15
|
+
| --- | --- | --- | --- | --- | --- |
|
|
16
|
+
| `rudder agent me` | Show the authenticated agent identity, budget, and chain of command. | no | no | no | no |
|
|
17
|
+
| `rudder agent inbox` | List the compact assigned-work inbox for the authenticated agent. | no | no | no | no |
|
|
18
|
+
| `rudder agent capabilities` | List the stable Rudder agent command contract. | no | no | no | no |
|
|
19
|
+
| `rudder agent skills sync <agent-id>` | Sync the desired enabled skill set for an agent. | yes | no | no | attached when available |
|
|
20
|
+
| `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
|
|
21
|
+
| `rudder issue context <issue>` | Read the compact heartbeat context for an issue. | no | no | no | no |
|
|
22
|
+
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
23
|
+
| `rudder issue comment <issue> --body <text>` | Add a comment to an issue. | yes | no | no | attached when available |
|
|
24
|
+
| `rudder issue comments list <issue>` | List issue comments, optionally only newer comments after a cursor. | no | no | no | no |
|
|
25
|
+
| `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
|
|
26
|
+
| `rudder issue update <issue> ...` | Apply generic issue updates when workflow commands are not enough. | yes | no | no | attached when available |
|
|
27
|
+
| `rudder issue done <issue> --comment <text>` | Mark an issue done with a required completion comment. | yes | no | no | attached when available |
|
|
28
|
+
| `rudder issue block <issue> --comment <text>` | Mark an issue blocked with a required blocker comment. | yes | no | no | attached when available |
|
|
29
|
+
| `rudder issue release <issue>` | Release an issue back to todo and clear ownership. | yes | no | no | attached when available |
|
|
30
|
+
| `rudder issue documents list <issue>` | List issue documents. | no | no | no | no |
|
|
31
|
+
| `rudder issue documents get <issue> <key>` | Read one issue document by key. | no | no | no | no |
|
|
32
|
+
| `rudder issue documents put <issue> <key> --body <text>` | Create or update an issue document. | yes | no | no | attached when available |
|
|
33
|
+
| `rudder issue documents revisions <issue> <key>` | List revisions for an issue document. | no | no | no | no |
|
|
34
|
+
| `rudder approval get <approval-id>` | Read one approval request. | no | no | no | no |
|
|
35
|
+
| `rudder approval issues <approval-id>` | List the issues linked to an approval. | no | no | no | no |
|
|
36
|
+
| `rudder approval comment <approval-id> --body <text>` | Add a comment to an approval. | yes | no | no | attached when available |
|
|
37
|
+
| `rudder skill list --org-id <id>` | List organization-visible skills. | no | required | no | no |
|
|
38
|
+
| `rudder skill get <skill-id> --org-id <id>` | Read one organization skill detail. | no | required | no | no |
|
|
39
|
+
| `rudder skill file <skill-id> --org-id <id> [--path SKILL.md]` | Read one file from an organization skill package. | no | required | no | no |
|
|
40
|
+
| `rudder skill import --org-id <id> --source <source>` | Import a skill package into the organization skill library. | yes | required | no | attached when available |
|
|
41
|
+
| `rudder skill scan-local --org-id <id> [--roots <csv>]` | Scan local roots for skill packages and import new ones. | yes | required | no | attached when available |
|
|
42
|
+
| `rudder skill scan-projects --org-id <id> [--project-ids <csv>] [--workspace-ids <csv>]` | Scan the org workspace and any legacy project workspace records for skill packages and import new ones. | yes | required | no | attached when available |
|
|
43
|
+
|
|
44
|
+
## Issue Close-Out Signals
|
|
45
|
+
|
|
46
|
+
Before a successful `todo` or `in_progress` issue run exits, leave one close-out signal with the command that matches the outcome:
|
|
47
|
+
|
|
48
|
+
- progress remains: `rudder issue comment <issue> --body <text>`
|
|
49
|
+
- work is complete: `rudder issue done <issue> --comment <text>`
|
|
50
|
+
- work is blocked: `rudder issue block <issue> --comment <text>`
|
|
51
|
+
- ownership changes: add an explicit handoff comment before or with the assignee update
|
|
52
|
+
|
|
53
|
+
If `RUDDER_WAKE_REASON=issue_passive_followup`, the run is close-out governance for the same issue. Inspect current issue state first, then leave a progress comment, completion, blocker, or explicit handoff.
|
|
54
|
+
|
|
55
|
+
## Compatibility Commands
|
|
56
|
+
|
|
57
|
+
- `rudder agent list --org-id <id>` — List agents for an organization.
|
|
58
|
+
- `rudder agent get <agent-id-or-shortname>` — Read one agent by id or shortname.
|
|
59
|
+
- `rudder agent hire --org-id <id> --payload <json>` — Create a new hire using the canonical hire workflow.
|
|
60
|
+
- `rudder agent config index` — Read the installed agent runtime configuration index.
|
|
61
|
+
- `rudder agent config doc <agent-runtime-type>` — Read adapter-specific configuration guidance for one runtime.
|
|
62
|
+
- `rudder agent config list --org-id <id>` — List redacted agent configuration snapshots for an organization.
|
|
63
|
+
- `rudder agent config get <agent-id-or-shortname>` — Read one redacted agent configuration snapshot by id or shortname.
|
|
64
|
+
- `rudder agent icons` — List allowed agent icon names for create and hire payloads.
|
|
65
|
+
- `rudder issue create --org-id <id> ...` — Create a new issue or subtask with the generic issue surface.
|
|
66
|
+
- `rudder approval create --org-id <id> --type <type> --payload <json>` — Create a new approval request.
|
|
67
|
+
- `rudder approval resubmit <approval-id> [--payload <json>]` — Resubmit a revision-requested approval, optionally with updated payload.
|
|
@@ -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
|
+
```
|