Spring AI Integration
rrezartprebreza/spring-boot-skills
A skill your agent uses when integrating LLMs, chat clients, embeddings, RAG pipelines, or AI agents into Spring Boot.
TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK.
$ npx skills add trypostit/trypost --skill ai-sdk-development -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install trypostit/trypost ai-sdk-development --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/trypostit/trypost.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ai-sdk-development .claude/skills/ai-sdk-development && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ai-sdk-development" agent skill from https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-development into .claude/skills/ai-sdk-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-sdk-development", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-developmentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add trypostit/trypost --skill ai-sdk-development -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install trypostit/trypost ai-sdk-development --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trypostit/trypost.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ai-sdk-development .agents/skills/ai-sdk-development && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ai-sdk-development" agent skill from https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-development into .agents/skills/ai-sdk-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-sdk-development", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trypostit/trypost --skill ai-sdk-development -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install trypostit/trypost ai-sdk-development --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trypostit/trypost.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ai-sdk-development .cursor/skills/ai-sdk-development && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ai-sdk-development" agent skill from https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-development into .cursor/skills/ai-sdk-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-sdk-development", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/trypostit/trypost.git --path .agents/skills/ai-sdk-development--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add trypostit/trypost --skill ai-sdk-development -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install trypostit/trypost ai-sdk-development --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trypostit/trypost.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ai-sdk-development .gemini/skills/ai-sdk-development && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ai-sdk-development" agent skill from https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-development into .gemini/skills/ai-sdk-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-sdk-development", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install trypostit/trypost ai-sdk-developmentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add trypostit/trypost --skill ai-sdk-development -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/trypostit/trypost.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ai-sdk-development .github/skills/ai-sdk-development && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ai-sdk-development" agent skill from https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-development into .github/skills/ai-sdk-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-sdk-development", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trypostit/trypost --skill ai-sdk-development -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install trypostit/trypost ai-sdk-development --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trypostit/trypost.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ai-sdk-development .opencode/skills/ai-sdk-development && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ai-sdk-development" agent skill from https://github.com/trypostit/trypost/tree/main/.agents/skills/ai-sdk-development into .opencode/skills/ai-sdk-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-sdk-development", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ai-sdk-developmentTRIGGER when working with ai-sdk which is Laravel official first-party AI SDK.
AI SDK Development is an agent skill from trypostit/trypost. TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK. Activate when building, editing AI agents, chatbots, text generation, image generation, audio/TTS, transcription/STT, embeddings, RAG, vector stores, reranking, structured output, streaming, conversation memory, tools, queueing, broadcasting, and provider failover across OpenAI, Anthropic, Gemini, Azure, Groq, xAI, DeepSeek, Mistral, Ollama, ElevenLabs, Cohere, Jina, and VoyageAI. Invoke when the user references ai-sdk, the Laravel\Ai\…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering Backend development, Retrieval-augmented generation and Text to speech and voice. It works with Vercel AI SDK, Laravel, DeepSeek and ElevenLabs. The repository describes itself as: Open-source Social Media Scheduling. The licence is MIT.
Read from SKILL.md and the folder at commit f9fc951. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
phpcomposerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
AI SDK Development loads about 3.5k tokens when it runs. Until then it costs about 156 tokens; SKILL.md has 568 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from trypostit/trypost at commit f9fc951, republished under its MIT licence (© trypostit). 568 words, ~3,471 tokens.
.claude/skills/ai-sdk-development/SKILL.md (or your agent's skills folder).The Laravel AI SDK (laravel/ai) is the official AI package for Laravel, providing a unified API for agents, images, audio, transcription, embeddings, reranking, vector stores, and file management across multiple AI providers.
This package is new. Always search the documentation before implementing any feature. Never guess at APIs — the documentation is the single source of truth.
test agent fake, not laravel ai test agent fake.Use these section headings as query terms for accurate results:
Determine the right entry point before writing code:
Text generation or chat? → Agent class with Promptable trait
Chat with conversation history? → Agent + Conversational interface (manual) or RemembersConversations trait (automatic)
Structured JSON output? → Agent + HasStructuredOutput interface
Image generation? → Image::of()->generate()
Audio synthesis? → Audio::of()->generate()
Transcription? → Transcription::fromPath()->generate()
Embeddings? → Embeddings::for()->generate()
Reranking? → Reranking::of()->rerank()
File storage? → Document::fromPath()->put()
Vector stores? → Stores::create()
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Enums\Lab;
use Laravel\Ai\Promptable;
class SalesCoach implements Agent
{
use Promptable;
public function instructions(): string
{
return 'You are a sales coach.';
}
}
// Prompting
$response = (new SalesCoach)->prompt('Analyze this transcript...');
echo $response->text;
// Container resolution with dependency injection
$agent = SalesCoach::make(user: $user);
// Override provider, model, or timeout per-prompt
$response = (new SalesCoach)->prompt(
'Analyze this transcript...',
provider: Lab::Anthropic,
model: 'claude-haiku-4-5-20251001',
timeout: 120,
);
// Streaming (returns SSE response from a route)
return (new SalesCoach)->stream('Analyze this transcript...');
// Queueing
(new SalesCoach)->queue('Analyze this transcript...')
->then(fn ($response) => /* ... */);
// Anonymous agents
use function Laravel\Ai\{agent};
$response = agent(instructions: 'You are a helpful assistant.')->prompt('Hello');Manual conversation history via the Conversational interface:
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Contracts\Conversational;
use Laravel\Ai\Messages\Message;
use Laravel\Ai\Promptable;
class SalesCoach implements Agent, Conversational
{
use Promptable;
public function __construct(public User $user) {}
public function instructions(): string { return 'You are a sales coach.'; }
public function messages(): iterable
{
return History::where('user_id', $this->user->id)
->latest()->limit(50)->get()->reverse()
->map(fn ($m) => new Message($m->role, $m->content))
->all();
}
}Automatic conversation persistence via the RemembersConversations trait:
use Laravel\Ai\Concerns\RemembersConversations;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Contracts\Conversational;
use Laravel\Ai\Promptable;
class SalesCoach implements Agent, Conversational
{
use Promptable, RemembersConversations;
public function instructions(): string { return 'You are a sales coach.'; }
}
// Start a new conversation
$response = (new SalesCoach)->forUser($user)->prompt('Hello!');
$conversationId = $response->conversationId;
// Continue an existing conversation
$response = (new SalesCoach)->continue($conversationId, as: $user)->prompt('Tell me more.');use Illuminate\Contracts\JsonSchema\JsonSchema;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Contracts\HasStructuredOutput;
use Laravel\Ai\Promptable;
class Reviewer implements Agent, HasStructuredOutput
{
use Promptable;
public function instructions(): string { return 'Review and score content.'; }
public function schema(JsonSchema $schema): array
{
return [
'feedback' => $schema->string()->required(),
'score' => $schema->integer()->min(1)->max(10)->required(),
];
}
}
$response = (new Reviewer)->prompt('Review this...');
echo $response['score']; // Access like an arrayuse Laravel\Ai\Image;
$image = Image::of('A sunset over mountains')
->landscape()
->quality('high')
->generate();
$path = $image->store(); // Store to default diskuse Laravel\Ai\Audio;
$audio = Audio::of('Hello from Laravel.')
->female()
->instructions('Speak warmly')
->generate();
$path = $audio->store();use Laravel\Ai\Transcription;
$transcript = Transcription::fromStorage('audio.mp3')
->diarize()
->generate();
echo (string) $transcript;use Laravel\Ai\Embeddings;
use Illuminate\Support\Str;
$response = Embeddings::for(['Text one', 'Text two'])
->dimensions(1536)
->cache()
->generate();
// Single string via Stringable
$embedding = Str::of('Napa Valley has great wine.')->toEmbeddings();use Laravel\Ai\Reranking;
$response = Reranking::of(['Django is Python.', 'Laravel is PHP.', 'React is JS.'])
->limit(5)
->rerank('PHP frameworks');
$response->first()->document; // "Laravel is PHP."use Laravel\Ai\Files\Document;
use Laravel\Ai\Stores;
// Store a file with the provider
$file = Document::fromPath('/path/to/doc.pdf')->put();
// Create a vector store and add files
$store = Stores::create('Knowledge Base');
$store->add($file->id);
$store->add(Document::fromStorage('manual.pdf')); // Store + add in one stepuse Laravel\Ai\Attributes\{Provider, Model, MaxSteps, MaxTokens, Temperature, Timeout};
use Laravel\Ai\Enums\Lab;
#[Provider(Lab::Anthropic)]
#[Model('claude-haiku-4-5-20251001')]
#[MaxSteps(10)]
#[MaxTokens(4096)]
#[Temperature(0.7)]
#[Timeout(120)]
class MyAgent implements Agent
{
use Promptable;
// ...
}The #[UseCheapestModel] and #[UseSmartestModel] attributes are also available for automatic model selection.
The #[WithoutBroadcasting] attribute stops the given stream event types from broadcasting (e.g. data-heavy ToolResult payloads that exceed the WebSocket frame limit). The events are still streamed and persisted; they just never hit the channel:
use Laravel\Ai\Attributes\WithoutBroadcasting;
use Laravel\Ai\Streaming\Events\{ToolCall, ToolResult};
#[WithoutBroadcasting(ToolResult::class, ToolCall::class)]
class SearchAgent implements Agent, HasTools
{
use Promptable;
// ...
}Implement the HasTools interface and scaffold tools with php artisan make:tool:
use Laravel\Ai\Contracts\HasTools;
class MyAgent implements Agent, HasTools
{
use Promptable;
public function tools(): iterable
{
return [new MyCustomTool];
}
}use Laravel\Ai\Providers\Tools\{WebSearch, WebFetch, FileSearch};
public function tools(): iterable
{
return [
(new WebSearch)->max(5)->allow(['laravel.com']),
new WebFetch,
new FileSearch(stores: ['store_id']),
];
}use Laravel\Ai\Concerns\RemembersConversations;
use Laravel\Ai\Contracts\Conversational;
class ChatBot implements Agent, Conversational
{
use Promptable, RemembersConversations;
// ...
}
$response = (new ChatBot)->forUser($user)->prompt('Hello!');
$response = (new ChatBot)->continue($conversationId, as: $user)->prompt('More...');$response = (new MyAgent)->prompt('Hello', provider: [Lab::OpenAI, Lab::Anthropic]);Each capability supports fake() with assertions:
use App\Ai\Agents\SalesCoach;
use Laravel\Ai\{Image, Audio, Transcription, Embeddings, Reranking, Files, Stores};
// Agents
SalesCoach::fake(['Response 1', 'Response 2']);
SalesCoach::assertPrompted('query');
SalesCoach::assertNotPrompted('query');
SalesCoach::assertNeverPrompted();
SalesCoach::fake()->preventStrayPrompts();
// Images
Image::fake();
Image::assertGenerated(fn ($prompt) => $prompt->contains('sunset'));
Image::assertNothingGenerated();
// Audio
Audio::fake();
Audio::assertGenerated(fn ($prompt) => $prompt->contains('Hello'));
// Transcription
Transcription::fake(['Transcribed text.']);
Transcription::assertGenerated(fn ($prompt) => $prompt->isDiarized());
// Embeddings
Embeddings::fake();
Embeddings::assertGenerated(fn ($prompt) => $prompt->contains('Laravel'));
// Reranking
Reranking::fake();
Reranking::assertReranked(fn ($prompt) => $prompt->contains('PHP'));
// Files
Files::fake();
Files::assertStored(fn ($file) => $file->mimeType() === 'text/plain');
// Stores
Stores::fake();
Stores::assertCreated('Knowledge Base');
$store = Stores::get('id');
$store->assertAdded('file_id');Laravel\Ai\composer require laravel/aiAgent interface and use the Promptable traitHasTools, HasMiddleware, HasStructuredOutput, ConversationalImage, Audio, Transcription, Embeddings, Reranking, StoresLaravel\Ai\Enums\Lab (prefer over plain strings)php artisan make:agent, php artisan make:toolagent() for anonymous agentsPoint the SDK at any OpenAI-compatible endpoint (LM Studio, vLLM, Together, etc.) with the config-driven openai-compatible driver. Define named instances in config/ai.php, no code required:
'my-llm' => [
'driver' => 'openai-compatible',
'url' => env('MY_LLM_URL'), // required
'key' => env('MY_LLM_API_KEY'), // optional Bearer token
'models' => [
'text' => ['default' => 'some-chat-model'],
'embeddings' => [
'default' => 'some-embedding-model',
'dimensions' => 1024, // optional; omit to use native dimensions
],
],
],Reference it by config key (or Lab::OpenAiCompatible). A model is required via the corresponding models configuration or per-call model::
agent()->prompt('Hello', provider: 'my-llm', model: 'some-model');
Embeddings::for(['Hello'])->generate(
provider: 'my-llm',
model: 'some-embedding-model',
);It uses OpenAI-standard shapes and supports text, streaming, tools, structured output, image attachments, and text embeddings. Embedding dimensions are optional; omit them to use the model's native dimensions. For extra request-body fields, implement HasProviderOptions — the returned array is merged into the body.
The namespace is Laravel\Ai, not Illuminate\Ai or Laravel\AI.
// Correct
use Laravel\Ai\Image;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;
// Wrong — these do not exist
use Illuminate\Ai\Image;
use Laravel\AI\Agent;Calling a capability not supported by a provider throws a LogicException. Refer to the provider support table below.
| Feature | Providers |
|---|---|
| Text | OpenAI, Anthropic, Gemini, Azure, Groq, xAI, DeepSeek, Mistral, Ollama, OpenRouter, OpenAI-compatible |
| Images | OpenAI, Gemini, xAI |
| TTS | OpenAI, ElevenLabs |
| STT | OpenAI, ElevenLabs, Mistral |
| Embeddings | OpenAI, OpenAI-compatible, Gemini, Azure, Cohere, Mistral, Jina, VoyageAI |
| Reranking | Cohere, Jina |
| Files | OpenAI, Anthropic, Gemini |
Use the Laravel\Ai\Enums\Lab enum to reference providers in code instead of plain strings:
use Laravel\Ai\Enums\Lab;
Lab::Anthropic;
Lab::OpenAI;
Lab::Gemini;
Lab::OpenAiCompatible; // configurable OpenAI-compatible endpoint
// ...© trypostit, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/ai-sdk-development of trypostit/trypost.
Open the folder on GitHubat commit f9fc951
We found 10 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in trypostit/trypost, which our catalogue first saw on October 7, 2026.
AI SDK Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| AI SDK Development this skilltrypostit/trypost | 676 | 2 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Spring AI Integrationrrezartprebreza/spring-boot-skills | 296 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Keiroutermydisha/keirouter | 147 | — | ~995 | Automated safety check: Pass | MIT | |
| Sap AI Coresecondsky/sap-skills | 460 | — | ~3.3k | Automated safety check: Pass | GPL-3.0 | |
| Spring AI Integrationrrezartprebreza/spring-boot-skills | 296 | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Ax AIdosco/aithy | 107 | — | ~8.2k | Automated safety check: Pass | Apache-2.0 |
rrezartprebreza/spring-boot-skills
A skill your agent uses when integrating LLMs, chat clients, embeddings, RAG pipelines, or AI agents into Spring Boot.
mydisha/keirouter
Entry point for KeiRouter — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch.
secondsky/sap-skills
Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP.
rrezartprebreza/spring-boot-skills
A skill your agent uses when integrating LLMs, chat clients, embeddings, RAG pipelines, or AI agents into Spring Boot.
dosco/aithy
This skill helps an LLM generate correct AI provider setup and configuration code using @ax-llm/ax.
moeru-ai/airi
A skill your agent uses when the user is building with xsai or any @xsai/ package, or is evaluating xsAI for a small OpenAI-compatible workflow with text generation, streaming, tool calling…
trypostit/trypost
Configures Laravel Nightwatch data collection, sampling rates, filtering rules, and redaction policies.
trypostit/trypost
Develops OAuth2 API authentication with Laravel Passport. An agent skill from trypostit/trypost.
TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK. AI SDK Development is an agent skill from trypostit/trypost. TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK.
AI SDK Development fits situations like: working with ai-sdk which is Laravel official first-party AI SDK; references ai-sdk; the Laravel\Ai\ namespace; this projects AI features — not for other AI packages used directly.
Run `npx skills add trypostit/trypost --skill ai-sdk-development -a claude-code`. Or copy the skill folder (.agents/skills/ai-sdk-development in trypostit/trypost) into .claude/skills/ai-sdk-development in your project. Claude Code loads it when a task matches its description.
Run `npx skills add trypostit/trypost --skill ai-sdk-development -a codex`. Or copy the skill folder (.agents/skills/ai-sdk-development in trypostit/trypost) into .agents/skills/ai-sdk-development in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add trypostit/trypost --skill ai-sdk-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-sdk-development, .gemini/skills/ai-sdk-development, .github/skills/ai-sdk-development and .opencode/skills/ai-sdk-development in your project.
Going by SKILL.md and its folder, AI SDK Development needs the command-line tools its instructions call (php and composer). Our summary lists: A credential in MY_LLM_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
AI SDK Development is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with AI SDK Development: Spring AI Integration (rrezartprebreza/spring-boot-skills, 296 stars), Keirouter (mydisha/keirouter, 147 stars), Sap AI Core (secondsky/sap-skills, 460 stars) and Spring AI Integration (rrezartprebreza/spring-boot-skills, 296 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
trypostit (a GitHub organization) maintains it in trypostit/trypost, which has 676 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.
Source: trypostit/trypost on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.