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
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.
- agent-skills Repository topic
- ai Repository topic
- ai-agents-framework Repository topic
- dotnet Repository topic
- mcp Repository topic
- mcp-server Repository topic
- orchardcore Repository topic
- data Derived category
- docs Derived category
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