{"slug": "agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code", "title": "Agent skills SDK: run Claude skills and AI agent skills from code", "summary": "SkillGild has released open-source TypeScript, Python and Go SDKs under the MIT license that let developers search its skill catalog, run hosted skills and drive hybrid skill sessions from their own code, scripts, backends or custom agents. Each SDK is a dependency-free client for the SkillGild REST API, with catalog browsing requiring no API key and hosted runs, hybrid sessions and account operations requiring one; access decisions stay server-side so paid skills remain paid regardless of client. The company demonstrated the TypeScript SDK against its production API, showing catalog search, tool listing and typed error handling.", "body_md": "Agent skills are packaged instructions and tools that teach an AI agent a specific job, like designing a logo or plotting research data. [Claude skills](https://skillgild.dev/learn/claude-skills) are the best-known example. Usually you use skills inside a coding agent such as Claude Code. An agent skills SDK lets your own code use them too.\n\nSkillGild now has open-source SDKs for **TypeScript, Python and Go** that search the [skill catalog](https://skillgild.dev/skills), run hosted skills and drive hybrid skill sessions from any app, script, backend or custom agent. The same skills keep working in Claude Code, Codex, Cursor and any MCP client.\n\nThe source is public at [github.com/SkillGild/sdks](https://github.com/SkillGild/sdks) under the MIT license. This guide shows how the SDKs work, what a real run looks like, and how they compare with the other ways to call agent skills from code.\n\nEach SDK is a small, dependency-free client for the [SkillGild REST API](https://skillgild.dev/docs/api); the [developer quickstart](https://skillgild.dev/docs/quickstart-developers) gets you from an API key to a first run. All three cover the same operations:\n\n| Area | What you can do | Needs an API key | \n|---|---|---|\n| Catalog | List and search skills, read a skill's input schema, tools, media and page copy, browse categories, tags, collections and featured skills | No | \n| Hosted runs | Run a `prompt_pipeline` skill in one call, with an idempotency key for safe retries | Yes | \n| Hybrid sessions | Start or resume a session, call the skill's server tools, end the session | Yes | \n| Account | Read the key's account, revoke the current key, sign in a device | Yes, except device sign-in | \n\nErrors come back as one typed error with the HTTP status, the API's error code and, for rate limits and quotas, the `Retry-After` delay. Access decisions stay on the server: the SDK never holds skill prompts, so a paid skill stays paid no matter which client calls it.\n\n```\n# TypeScript / JavaScript (Node 20+, Bun, Deno, browsers)\nnpm install @skillgild/sdk\n\n# Python 3.9+\npip install skillgild\n\n# Go 1.22+\ngo get github.com/skillgild/sdks/go\n```\n\nThe packages are on [npm](https://www.npmjs.com/package/@skillgild/sdk), [PyPI](https://pypi.org/project/skillgild/) and [pkg.go.dev](https://pkg.go.dev/github.com/skillgild/sdks/go/skillgild).\n\nCreate an API key under **Settings → API keys** in your [account](https://skillgild.dev/account?section=settings) and export it as `SKILLGILD_API_KEY`. Browsing the catalog needs no key.\n\nWe ran this script with the TypeScript SDK, built from the 0.1.0 source, against the production API on October 6, 2026. It searches the catalog, reads a skill's tools, then calls `startSession` with a deliberately invalid key to show the error you get back.\n\n``` js\nimport { SkillGildClient, SkillGildError } from \"@skillgild/sdk\";\n\nconst client = new SkillGildClient(); // no key needed for the catalog\n\nconst { items } = await client.listSkills({ query: \"design\", limit: 5 });\nfor (const s of items) console.log(s.slug, s.access_tier, s.runtime_type);\n\nconst skill = await client.getSkill(\"logo-design\");\nfor (const t of skill.tools ?? []) console.log(\"tool:\", t.name);\n\ntry {\n  await new SkillGildClient({ apiKey: \"sg_invalid\" }).startSession(\"logo-design\");\n} catch (e) {\n  if (e instanceof SkillGildError) console.log(e.status, e.code);\n}\n```\n\nEvery skill in that result is a **hybrid** skill. That is typical of the current catalog, so most integrations use sessions rather than a single run call.\n\nA hybrid skill splits the work. Your agent and your model do the creative part by following the skill's **guide**. SkillGild runs the parts that need its code, such as validating an SVG, through **server tools**.\n\nThe same flow in each language:\n\n``` js\n// TypeScript\nconst session = await client.startSession(\"logo-design\");\n// give session.guide and session.tools to your agent, then:\nconst check = await client.callTool(session.session_id, \"validate_svg\", { svg });\nawait client.endSession(session.session_id);\n# Python\nsession = client.start_session(\"logo-design\")\ncheck = client.call_tool(session[\"session_id\"], \"validate_svg\", {\"svg\": svg})\nclient.end_session(session[\"session_id\"])\n// Go\nsession, err := client.StartSession(ctx, \"logo-design\")\nif err != nil { return err }\ndefer client.EndSession(ctx, session.SessionID)\ncheck, err := client.CallTool(ctx, session.SessionID, \"validate_svg\", map[string]any{\"svg\": svg})\n```\n\nStarting a new session uses one run from your monthly allowance. Calling `startSession` again while a session for the same skill version is open returns that session at no extra cost. Tool input is processed by SkillGild code only; it is not sent to a model provider and not stored. The [session limits](https://skillgild.dev/docs/api#session-limits) list how many tool calls a session allows and when it expires.\n\nA hosted (`prompt_pipeline`) skill runs entirely on SkillGild and returns its output in one call. Pass an idempotency key so a retry after a timeout cannot charge you twice:\n\n``` python\nimport os, time, uuid\nfrom skillgild import SkillGildClient, SkillGildError\n\nclient = SkillGildClient(api_key=os.environ[\"SKILLGILD_API_KEY\"])\nkey = str(uuid.uuid4())\ntry:\n    run = client.run_skill(\"your-skill\", {\"prompt\": \"...\"}, idempotency_key=key)\nexcept SkillGildError as error:\n    if error.status == 429:\n        time.sleep(error.retry_after or 2)  # then retry with the same key\n```\n\nThe API stores a successful response for 24 hours and replays it for the same key. Reusing a key with a different request is rejected. See [idempotency](https://skillgild.dev/docs/api#idempotency) for the exact rules.\n\n\"Agent skills SDK\" means different things depending on where the skill lives. Here is how the main options compare:\n\n|  | SkillGild SDKs | Claude Agent SDK | Claude API skills | Community registries | \n|---|---|---|---|---|\n| Where skills live | Hosted on SkillGild | `SKILL.md` folders on disk | Uploaded to your Anthropic account | Any source you configure | \n| Languages | TypeScript, Python, Go | TypeScript, Python | Any HTTP client | Varies (for example Python) | \n| Model | Your choice; hybrid skills run in your agent | Claude | Claude | Your choice | \n| You maintain the skill files | No | Yes | Yes | Yes | \n| Server-side tools and access control | Yes | No | Code execution in Anthropic's container | No | \n\n`SKILL.md` skills from any source and expose them to your own agent.\nThese are not either-or. A common setup keeps your own skills as local files and calls hosted SkillGild skills, which bring server-side tools and stay up to date, through the SDK. If you only use skills inside a coding agent, you don't need an SDK at all: connect [Claude Code](https://skillgild.dev/learn/install-claude-code-skills), [Codex](https://skillgild.dev/learn/install-codex-skills) or [Cursor](https://skillgild.dev/learn/cursor-mcp-setup) over MCP instead. [Agent skills vs MCP](https://skillgild.dev/learn/agent-skills-vs-mcp) explains the difference.\n\nAll of these are free and work through the SDK today:\n\nBrowse by job: [Design](https://skillgild.dev/categories/design), [Video & Media](https://skillgild.dev/categories/video-media), [Research](https://skillgild.dev/categories/research), [Development](https://skillgild.dev/categories/development).\n\nYes. SkillGild publishes open-source SDKs for TypeScript, Python and Go that search, run and orchestrate hosted agent skills over a REST API. Anthropic's Claude Agent SDK also loads skills, from `SKILL.md` folders on disk.\n\nYes, in two ways. Anthropic's Claude API accepts skills you upload to your account. SkillGild's API runs hosted skills, including ones made for Claude Code, from any language, and hybrid skills run with whichever model your agent uses.\n\nThe SDKs are free and MIT-licensed. Running skills uses your SkillGild allowance: free skills include monthly runs, and paid skills need a purchase or a Pro plan. See [pricing](https://skillgild.dev/pricing).\n\nOnly to run skills, open sessions or read your account. Listing and searching the catalog works without a key.\n\nTypeScript and JavaScript (Node 20+, Bun, Deno and browsers), Python 3.9+ and Go 1.22+. Any other language can call the [REST API](https://skillgild.dev/docs/api) directly.\n\n*Originally published at [skillgild.dev](https://skillgild.dev/learn/agent-skills-sdk).*", "url": "https://wpnews.pro/news/agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code", "canonical_source": "https://dev.to/skillgild/agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code-k88", "published_at": "2026-10-06 22:02:38+00:00", "updated_at": "2026-10-06 22:17:50.272298+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "agent-protocols"], "entities": ["SkillGild", "Claude Code", "Codex", "Cursor", "GitHub", "npm", "PyPI", "Go"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code", "markdown": "https://wpnews.pro/news/agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code.md", "text": "https://wpnews.pro/news/agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code.txt", "jsonld": "https://wpnews.pro/news/agent-skills-sdk-run-claude-skills-and-ai-agent-skills-from-code.jsonld"}}