feat(agent): build skills (#4918)#4930
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThree new builtin platform skills ( ChangesPlatform Getting-Started Skills
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🤖 The AI agent says: Review needed (draft, do not merge yet). Specifically:
Open questions from the design (sections 7–8) intentionally left undecided here: whether to fold |
|
🤖 The AI agent says: What to review on this PR:
|
|
🤖 The AI agent says: [inline at 🤖 The AI agent says: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win These slugs go live before the required tools exist. The new entries make |
|
🤖 The AI agent says: [inline at 🤖 The AI agent says: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Avoid machine-local absolute paths in repo docs. The |
|
🤖 The AI agent says: [inline at 🤖 The AI agent says: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Update the single-source section to match this PR. Lines 171-188 and 474-477 still describe |
|
🤖 The AI agent says: [inline at 🤖 The AI agent says: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win This status doc is already stale within the same PR. The branch adds three builtin |
| 3. Find the tools. Follow the `discover-and-wire-tools` skill. It calls `find_capabilities` | ||
| and reports which integrations need a connection. | ||
| 4. Connect the integrations. Hand the user the connection link, wait for them to finish, then | ||
| re-check. You never connect on their behalf. |
There was a problem hiding this comment.
🤖 The AI agent says: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Clarify the API-key connection path.
Lines 124-125 say the agent must never connect on the user's behalf, but Lines 221-222 later instruct it to create needs_input connections after collecting the secret. That contradiction will dead-end API-key integrations depending on which instruction the model follows. Narrow the prohibition to OAuth approval, or explicitly carve out the API-key flow.
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: dc239317-e4be-4fa1-84e5-e262b0e8d0bb
📒 Files selected for processing (3)
api/oss/src/core/workflows/static_catalog.pysdks/python/agenta/sdk/agents/adapters/agenta_builtins.pyservices/agent/skills/agenta-getting-started/SKILL.md
💤 Files with no reviewable changes (1)
- services/agent/skills/agenta-getting-started/SKILL.md
| BUILD_YOUR_FIRST_APP_SLUG: { | ||
| "latest": "v1", | ||
| "versions": { | ||
| "v1": _skill_revision(BUILD_YOUR_FIRST_APP_SKILL), | ||
| }, | ||
| }, | ||
| DISCOVER_AND_WIRE_TOOLS_SLUG: { | ||
| "latest": "v1", | ||
| "versions": { | ||
| "v1": _skill_revision(DISCOVER_AND_WIRE_TOOLS_SKILL), | ||
| }, | ||
| }, | ||
| SET_UP_TRIGGERS_SLUG: { | ||
| "latest": "v1", | ||
| "versions": { | ||
| "v1": _skill_revision(SET_UP_TRIGGERS_SKILL), | ||
| }, | ||
| }, |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Gate these static entries until the trigger/tool surface exists.
These slugs become live as soon as they land in _STATIC_WORKFLOWS, but the paired skill content still directs the model into follow-up-only tool calls. In particular, build-your-first-app routes users to set-up-triggers, and that skill assumes find_triggers, create_schedule, create_subscription, test_subscription, and list_deliveries already exist. Shipping the catalog entries now turns those dead ends into runtime behavior for reserved __ag__* slugs. Keep them out of the static catalog until the tools land, or gate resolution behind availability.
a2d4cd1 to
1a8f483
Compare
420f61c to
a568150
Compare
a568150 to
60620ae
Compare
c1d6561 to
332c5d8
Compare
60620ae to
4b8d038
Compare
| body=_BUILD_YOUR_FIRST_APP_BODY, | ||
| ) | ||
|
|
||
| _DISCOVER_AND_WIRE_TOOLS_BODY = """\ |
There was a problem hiding this comment.
I did not see this in the playground, is it wired in the other prs. check that everything is in sync at latest when merging
4b8d038 to
851f2e0
Compare
d07809e to
65f298a
Compare
851f2e0 to
2340380
Compare
Add the build-your-first-app, discover-and-wire-tools and set-up-triggers skill constants (agenta_builtins) and register them in the static catalog; drop the on-disk getting-started SKILL.md now that skills are code-defined. Design docs live in the agent-design-docs branch. Claude-Session: https://claude.ai/code/session_01GYo3UEfvsZpncagqb28Mbc
describeSkill now resolves the embed's sibling name or the referenced workflow's name (via staticEmbedName), falling back to the slug, so committed static/embedded skills render their human name instead of the raw __ag__* slug. Claude-Session: https://claude.ai/code/session_01LUTGjUDzSX1tiJwqnqACtj
65f298a to
b4873b7
Compare
2340380 to
505fb1b
Compare
Context
When a user creates a new agent and starts a build conversation, the agent has no guidance on the build flow: which tools to call, in what order, where to stop for the user, and what the footguns are. Without skills, the model guesses the sequence. This PR adds the three missing platform skills that teach the build flow.
Design:
docs/design/agent-workflows/projects/agent-skills/design.mdChanges
Three new platform skills, each registered under a reserved
__ag__slug in the static catalog. They reach a running agent via the build-kit overlay (owned by thedefault-agent-configproject, PR #4929) as@ag.embedentries.build-your-first-app__ag__build_your_first_appdiscover-and-wire-tools__ag__discover_and_wire_toolsset-up-triggers__ag__set_up_triggersFiles changed:
sdks/python/agenta/sdk/agents/adapters/agenta_builtins.py— three newSkillTemplateconstants and their slug constants.api/oss/src/core/workflows/static_catalog.py— three new entries in_STATIC_WORKFLOWS, following the existing_skill_revisionpattern.File dropped:
services/agent/skills/agenta-getting-started/SKILL.md— removed. The canonical content is theGETTING_STARTED_WITH_AGENTA_SKILLSDK constant; the runner serves that constant to the sandbox, not the on-disk file. The file had drifted from the constant and would mislead anyone who read it. Single-sourcing removes the drift. The parentservices/agent/skills/directory is still mounted by dev-compose; the deletion only removes this one stale file.No new on-disk skill files were added for the new skills (matching the design decision to keep content in SDK constants, not the filesystem).
Scope / risk
The new skills name tools that do not exist yet (
find_triggers,create_schedule,create_subscription, etc.). Those are added by PR #4931. Until #4931 merges, the skills refer to tools the agent cannot call. The skill content is placeholder prose and will be revised when the build flow is finalized.The
services/agent/skills/path is still referenced in some design and QA docs as a place where skills live. Those references are now stale foragenta-getting-started. No Docker or compose file reads theSKILL.mdfile contents; the runner composes skills from the wire payload, not from disk.Tests
1040 passed(Codex-reported; includesstatic_catalogcoverage via existing tests).441 passed(Codex-reported).ruff formatleft files unchanged;ruff check --fixclean.No new dedicated test file was added for
agenta_builtins.py. The existing SDK test suite covers theSkillTemplatemodel shape; the slug constants are trivial string values.How to QA
Prerequisites: local dev stack.
Steps:
GET /api/workflows/revisions/?slug=__ag__build_your_first_app(with a valid project API key).__ag__discover_and_wire_toolsand__ag__set_up_triggers.services/agent/skills/agenta-getting-started/SKILL.mdno longer exists in the repo.Expected result: Each slug returns a revision with
data.parameters.skill.contentset to the matching skill body. The deleted file is gone.Automated tests:
Edge cases: Confirm that removing the on-disk
SKILL.mddoes not break any running-container path. The runner atservices/agent/src/engines/skills.tswrites skill files into the sandbox from the wire payload, not fromservices/agent/skills/. A quick grep for the path confirms no code reference.https://claude.ai/code/session_01GYo3UEfvsZpncagqb28Mbc