cd /news/ai-agents/show-hn-skawld-open-source-sdk-for-c… · home topics ai-agents article
[ARTICLE · art-20318] src=github.com pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: Skawld – Open-source SDK for company-specific AI agents

Skawld has released an open-source TypeScript SDK that enables developers to embed full AI agent loops—including tools, sessions, permissions, streaming events, and subagents—into Node.js and Bun applications with a single import. The SDK supports multiple AI providers including Anthropic and OpenAI, offers built-in session persistence via SQLite, and is available under an MIT license.

read2 min publishedJun 3, 2026

An open-source all-purpose TypeScript agent harness. Embed a full agent loop — tools, sessions, permissions, streaming events, subagents — into any Node.js or Bun application with a single import.

Runs on Node.js 18+ and Bun 1.1+. ESM-only.

Full documentation: https://skawld.com/docs

bun add @skawld/agent-sdk
npm install @skawld/agent-sdk
pnpm add @skawld/agent-sdk
yarn add @skawld/agent-sdk
js
import { Agent } from "@skawld/agent-sdk";
import { AnthropicProvider } from "@skawld/agent-sdk/providers";
import { defaultTools } from "@skawld/agent-sdk/tools";

const agent = new Agent({
  provider: new AnthropicProvider(),   // reads ANTHROPIC_API_KEY from env
  model: "claude-opus-4-5",
  tools: defaultTools(),
  permissions: { mode: "default" },
});

const session = await agent.session();

for await (const event of session.run("List the files in the current directory.")) {
  if (event.type === "assistant") {
    for (const block of event.message.content) {
      if (block.type === "text") process.stdout.write(block.text);
    }
  }
  if (event.type === "result") break;
}

await agent.close();

See examples/minimal-agent.ts for a complete runnable version.

examples/interactive-cli.ts is a small REPL that streams agent events, renders subagent activity in live boxes, and runs in

yolo

permission mode against the OpenAIResponsesProvider

.Setup:

export OPENAI_API_KEY=sk-...
export SKAWLD_MODEL=gpt-5            # default: gpt-5
export SKAWLD_CONFIG_DIR=./.skawld   # default: ./.skawld

Run:

bun run examples/interactive-cli.ts

On startup it prompts for a working directory (defaults to the current one), then accepts free-form messages. Type /exit

or press Ctrl+C

to quit.

Provider class Subpath Environment variable
AnthropicProvider
@skawld/agent-sdk/providers
ANTHROPIC_API_KEY
OpenAIChatCompletionsProvider
@skawld/agent-sdk/providers
OPENAI_API_KEY
OpenAIResponsesProvider
@skawld/agent-sdk/providers
OPENAI_API_KEY
import {
  AnthropicProvider,
  OpenAIChatCompletionsProvider,
  OpenAIResponsesProvider,
} from "@skawld/agent-sdk/providers";
Variable Used by
ANTHROPIC_API_KEY
AnthropicProvider (falls back to SDK default lookup)
OPENAI_API_KEY
OpenAIChatCompletionsProvider , OpenAIResponsesProvider

By default, sessions persist to SQLite at .skawld/sessions.db

. For tests or embedded applications, pass a custom sessionStore

, such as InMemorySessionStore

.

import { Agent } from "@skawld/agent-sdk";
import { InMemorySessionStore } from "@skawld/agent-sdk/sessions";

const agent = new Agent({
  provider,
  model,
  sessionStore: new InMemorySessionStore(),
});
@skawld/agent-sdk             → Agent, Session, defaultTools, MCP helpers, core types, Event types, Error classes
@skawld/agent-sdk/providers   → AnthropicProvider, OpenAIChatCompletionsProvider, OpenAIResponsesProvider, BaseProvider
@skawld/agent-sdk/tools       → ToolRegistry, defaultTools, built-in tool classes, MCP tool helpers, task types
@skawld/agent-sdk/sessions    → SqliteSessionStore, InMemorySessionStore, SessionStore and task persistence types
@skawld/agent-sdk/permissions → PermissionEngine, permission callback types, permission rule types

MIT

── more in #ai-agents 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-skawld-open-…] indexed:0 read:2min 2026-06-03 ·