Replace Specialist Agent with full Skill editing in the integration editor - #252
Merged
Conversation
- Remove AdHoc/Specialist Agent from creation list
- Add Skills in its place
- Ability to upload skils as a zip or .md file
- Zip unpacking handled in browser with results populating local
interface until save
- Backend changes for saving/updating/deleting skills
Resolves three conflicts in the skill provider, all where dev's remote-example discovery met this branch's plural-directory support: - extract_file_references: keep the "./" normalization and the constant-driven directory lists, adopt dev's behavior of emitting examples/ paths for the caller to route, and generalize the bare-directory drop to every recognized example dir spelling. - _build_skill_integration: keep the _discover_file_resources / _discover_examples split, and do dev's single-pass example/file routing in the caller so _discover_examples still receives its `referenced` paths. - _discover_examples: keep the scan over every example dir spelling, plus dev's `seen` bookkeeping and referenced-path pass. dev's EXAMPLES_DIR constant is replaced by EXAMPLE_DIR_PREFIXES and a strip_example_dir() helper so the singular "example/" spelling routes and strips the same as "examples/".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the "Specialist Agent" / AdhocAPI integration from the integration
editor and replaces it with full management of Agent Skills. Skills are now a
mutable integration provider: you can create, edit, and delete local skills,
add remote (URL-based) skills, edit their progressively-disclosed resources,
and import a skill from a
SKILL.mdfile or a.zip. Skills bundled within acontext remain read-only (view mode).
Backend
SkillIntegrationProvideris now aMutableBaseIntegrationProvider:add/update/remove_integration(local + remote) andadd/update/remove_resourcefor local skills, withSKILL.md(frontmatter + body) serialization and file writes under
reference/script/asset(singular and plural) andexamples.agent-skill:<corpus>:<slug>); contextskills namespaced under
context-<slug>so the UI renders them read-only.extraction is used only for remote skills and normalizes
./prefixes(fixes phantom/duplicate resources).
add_integration(preview=True, ...)builds an unsaved skill from a URL orraw
SKILL.mdcontent so the editor can prefill before saving.across the skill search roots; remote skills persisted as
skills.jsonentries. Path-containment guards on all resource writes.
DELETE /beaker/integrations/{session}/{id}→remove_integration.and it rebuilds at the next agent turn — no session restart.
Frontend
SkillIntegrationEditor.vue(source type/URL, name, description, metadataincl. allowed-tools chips, instructions body) and editable
SkillResourcePanel.vue(add/edit/delete file & example resources; showspending-import resources).
agent-skilluses the MCP-style viewer/editor split; Specialist Agent removedfrom the New-Integration menu and dispatch.
skillArchive.tsunzips in the browser (fflate), locatesSKILL.md(root or one dir deep, fails on >1), enumerates valid resourcefiles, skips non-text with a surfaced count. Upload button + panel-wide drop
target.
dirty). Left-panel Edit/View label now correct for skills.
scrolls (also fixes the same issue for MCP).
Docs & tests
concept_integrations.md,integration_providers.md,integrations_api.md(incl. correcting pre-existingremove_resource/display_name/ package-path inaccuracies).tests/integrations/skills/test_skill_mutation.py(+ extractiontests); frontend
src/util/__tests__/skillArchive.spec.ts.Behavior notes
is read-only. Source type is fixed after creation (delete + recreate to
change). Binary resource content is not yet supported (text-only).
Follow-ups (out of scope)
adhoc_apidependency (UI-only removalhere). Existing adhoc integrations now render a blank editor — deprecated and
believed unused.
separately); currently enforced frontend-only, matching MCP.
content_encodingmarker); remote name/slugoverride (needs
skills.jsonobject-entry parsing).Testing
hatch run pytest tests/— full suite green (skills suite: 99).vitest rungreen;vue-tsc --build0 errors.