Individual skill

crestapps-core-tool-instances

Skill for user-configured AI tool instances in CrestApps.Core 2.0. Covers AddToolInstances with YesSql or EntityCore stores, authoring an IAIToolInstanceSource and registering it with AddSource, AIToolInstance names, descriptions and the tool_instance_ function prefix, attaching instances with AIToolInstanceMetadata, declared parameters with AIToolInstanceParameterCapabilities, AIToolParameterBindingOption, Model, Fixed and Context fills, AIToolParameterBinder, AIToolParameterSchemaBuilder and IAIToolParameterContextResolver, the built-in HTTP API request source, documentation search sources (sitemap, search index, Algolia and live website search) with DocumentationSearchOptions, the data source search source with multi-phrase Reciprocal Rank Fusion, and per-instance authorization by subclassing ToolInstanceRegistryProvider. Use it when letting users configure callable tools, exposing several knowledge bases or documentation sites to the model, or gating instances per user.

plugins/crestapps-core/skills/crestapps-core-tool-instances/SKILL.md

Read pinned source

Source commit d86d04f234b1b2bd8145368a2544490f9d557596

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
Yes
Repository scan complete
No
Skill scan complete
No
Observed behavior
Instructions only
Last checked
Nov 6, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
13
Repository last updated
Oct 21, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# CrestApps.Core Tool Instances

A developer writes a **source** (`IAIToolInstanceSource`) once; users create many **instances** (`AIToolInstance`) of it, each with its own name, description and settings. Every instance reaches the model as a distinct function, so the model only decides when to call it.

## Guidelines

- `AddToolInstances(...)` registers the catalog manager, the completion handler and the default `IAIToolParameterContextResolver`; with `useDefaultRegistry: true` (default) it also registers `ToolInstanceRegistryProvider`.
- Register a store on the tool-instances builder (`AddYesSqlStores()` or `AddEntityCoreStores()`); the feature does not pick one. YesSql hosts create the table with `schemaBuilder.CreateAIToolInstanceIndexSchemaAsync(yesSqlStoreOptions)`.
- An instance's `Name` is its stable lookup key and is fixed after creation. Its function name is `instance.GetFunctionName()`: `tool_instance_` plus a provider-safe version of the name, capped at 64 characters, with a deterministic hash when normalization is lossy, so it never collides with an `AddCoreAITool` name.
- Write a specific `Description`; it is the model's main signal for choosing between instances.
- Protect secrets in settings with ASP.NET Core Data Protection and never expose them as model arguments. Use `Fixed` or `Context` parameter fills for values the model must not choose.

## Registration