with one click
add-provider
Scaffold a new LLM provider package for spaceduck
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Scaffold a new LLM provider package for spaceduck
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Research any topic using web search and browsing, then store a concise summary to memory. Use for scheduled research tasks or one-off deep dives.
Summarize the day's conversations and store key takeaways to long-term memory. Use when running as a scheduled end-of-day review.
Categorize and prioritize incoming messages across channels. Use when triggered by a new message event to decide urgency and routing.
Identify contradictory, stale, or duplicate memories and propose cleanup. Use when running as a scheduled weekly maintenance task.
Scaffold a new messaging channel package for spaceduck
Scaffold a new memory storage backend for spaceduck
| name | add-provider |
| description | Scaffold a new LLM provider package for spaceduck |
Scaffolds a new LLM provider adapter under packages/providers/<name>/.
packages/providers/<name>/
package.json # @spaceduck/provider-<name>, depends on @spaceduck/core
src/
<name>.ts # <Name>Provider implements Provider interface
index.ts # barrel export
__tests__/
<name>.test.ts # unit tests with mocked SDK
Provider interface from @spaceduck/core:import type { Provider, Message, ProviderOptions } from "@spaceduck/core";
export class <Name>Provider implements Provider {
readonly name = "<name>";
async *chat(messages: Message[], options?: ProviderOptions): AsyncIterable<string> {
// Implementation here
// Must respect options.signal (AbortSignal) for cancellation
}
}
@spaceduck/gateway by importing and wiring it in the registryProviderErrorCode valuesspyOn to mock the SDK client