Skip to content

feat: add client.skills namespace for skill management#126

Merged
shahrear33 merged 3 commits intomainfrom
devin/1771969918-add-skills-sdk-support
Feb 26, 2026
Merged

feat: add client.skills namespace for skill management#126
shahrear33 merged 3 commits intomainfrom
devin/1771969918-add-skills-sdk-support

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Summary

Adds a top-level client.skills namespace to the Node SDK, exposing skill management methods directly on the VlmRun client instead of nesting them under client.agent.skills. This aligns with the updated docs convention from vlm-run/docs#191.

New file: src/client/skills.tsSkills class with methods:

  • list()GET /v1/skills
  • get({ name?, id?, version? })GET /v1/skills/{id} or POST /v1/skills/lookup
  • create({ prompt?, jsonSchema?, sessionId?, fileId?, name?, description? })POST /v1/skills/create
  • update({ skillId, fileId?, description? })POST /v1/skills/{skill_id}/update
  • download({ skillId })GET /v1/skills/{skill_id}/download

New types in src/client/types.ts: SkillInfo, SkillDownloadResponse, SkillGetParams, SkillCreateParams, SkillUpdateParams, AgentSkill

Registration in src/index.ts: this.skills = new Skills(this.client)

Review & Testing Checklist for Human

  • Verify SkillInfo fields match the actual API response — the interface was inferred from docs, not the OpenAPI spec at agent.vlm.run/openapi.json. Confirm field names (id, name, description, version, created_at, updated_at, status) are correct and no required fields are missing.
  • Verify get() routing logic — when both id and name are provided, the method falls through to the name branch (lookup), not the id branch (direct GET). Confirm this is the desired behavior or if id should take precedence.
  • Verify API endpoint paths — the Skills class assumes endpoints like skills, skills/lookup, skills/create, skills/{id}/update, skills/{id}/download exist on the agent API base URL. Confirm these match the live API.
  • Test end-to-end — no unit or e2e tests were added. Recommend manually testing client.skills.list() against the agent API to confirm the plumbing works.
  • AgentSkill interface is exported but unused — it's available for consumers but not referenced internally. Confirm this is intentional for downstream use.

Notes

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@shahrear33 shahrear33 merged commit 72d5357 into main Feb 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant