
Assistant Presets
Design, benchmark, and version specialized assistant presets—persona, parameters, tools, and output formats—for domain tasks instead of one-off system prompts.
Overview
assistant-presets is an agent skill most often used in Build agent-tooling (also Operate iterate, Grow support) that codifies creating, testing, and deploying versioned domain-specific LLM assistant configurations.
Install
npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill assistant-presetsWhat is this skill?
- Encodes persona, model parameters, tool permissions, output constraints, and quality benchmarks in one versionable prese
- Few-shot examples and output format specification as first-class preset fields
- Validation flow against expected input/output benchmark sets before deployment
- Part of Agent Skills™ / googleadsagent.ai preset framework for turning general LLMs into domain specialists
Adoption & trust: 1 installs on skills.sh; 18 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
A general-purpose model frustrates users because persona, tools, and output rules live only in ephemeral chat instructions.
Who is it for?
Solo builders productizing niche copilots (support, ads, code review) who want preset discipline similar to infra-as-code.
Skip if: One-shot creative writing with no repeatability requirements, or teams that only need a single static prompt with no benchmarks or tool policy.
When should I use this skill?
Creating, testing, or deploying specialized AI assistant configurations with system prompts, model parameters, tool access, and quality benchmarks.
What do I get? / Deliverables
You produce a tested, version-controlled preset with benchmarks so the same specialist behavior can be redeployed across agents and refined in production.
- Versioned assistant preset artifact
- Benchmark validation results against expected I/O pairs
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Build agent-tooling is the canonical shelf because presets are reusable configuration artifacts you craft while standing up agent products or internal copilots. Agent-tooling captures system prompt packaging, tool permissions, and model params—not generic frontend or ship security work.
Where it fits
Package a code-review preset with team conventions and fixed review JSON for your Cursor workflow.
Benchmark a support persona on ten scripted tickets before exposing it on a landing-page demo.
Bump preset version after tightening tool allowlists when users hit unsafe command suggestions.
Deploy a tone-guide customer agent preset shared across email and in-app chat surfaces.
How it compares
Skill package for reusable assistant configuration—not the same as installing an MCP server or a single task CLI.
Common Questions / FAQ
Who is assistant-presets for?
Indie developers and small teams building domain-specific AI assistants who need repeatable system prompts, tool gates, and benchmarked quality—not generic chat defaults.
When should I use assistant-presets?
Use it in Build when configuring agent products; in Operate when iterating presets from production feedback; in Grow support when standardizing tone and escalation rules for customer-facing bots.
Is assistant-presets safe to install?
Presets can grant tool and API access depending on what you configure; review the Security Audits panel on this page and treat tool permissions like production credentials.
SKILL.md
READMESKILL.md - Assistant Presets
# Assistant Presets Part of [Agent Skills™](https://github.com/itallstartedwithaidea/agent-skills) by [googleadsagent.ai™](https://googleadsagent.ai) ## Description Assistant Presets provides a framework for creating, testing, and deploying specialized AI assistant configurations for domain-specific tasks. Each preset encapsulates a system prompt, model parameters, tool access permissions, output format constraints, and quality benchmarks into a reusable, versionable artifact that transforms a general-purpose LLM into a domain expert. A bare LLM is a generalist. A well-crafted preset turns it into a specialist: a legal contract reviewer that flags liability clauses, a medical triage assistant that follows diagnostic protocols, a code reviewer that enforces team conventions, or a customer support agent that follows the company's tone guide. The difference between a useful AI assistant and a frustrating one is almost entirely in the preset configuration. This skill codifies the process of building high-quality presets: defining the persona and constraints, writing few-shot examples, specifying output formats, selecting appropriate model parameters (temperature, top-p, max tokens), and validating against a benchmark of expected inputs and outputs. Presets are version-controlled and A/B tested before deployment. ## Use When - Creating domain-specific AI assistants (legal, medical, finance, code review) - Standardizing AI behavior across a team or organization - Building a library of reusable assistant configurations - Optimizing system prompts for specific use cases - A/B testing different assistant configurations - The user asks for a "custom assistant", "persona", or "system prompt" ## How It Works ```mermaid graph TD A[Define Domain + Task] --> B[Write System Prompt] B --> C[Add Few-Shot Examples] C --> D[Configure Parameters] D --> E[Define Output Format] E --> F[Create Benchmark Dataset] F --> G[Evaluate Against Benchmark] G --> H{Quality Threshold Met?} H -->|No| I[Iterate on Prompt] I --> B H -->|Yes| J[Version + Deploy] J --> K[A/B Test in Production] K --> L[Monitor + Maintain] ``` The preset development cycle is iterative: write, benchmark, refine. Each iteration is versioned so regressions can be detected and reverted. Production presets are A/B tested against the previous version to verify improvement. ## Implementation ```typescript interface AssistantPreset { id: string; version: string; name: string; description: string; domain: string; systemPrompt: string; fewShotExamples: Array<{ input: string; output: string }>; parameters: { model: string; temperature: number; topP: number; maxTokens: number; stopSequences?: string[]; }; outputFormat: { type: "text" | "json" | "markdown" | "structured"; schema?: Record<string, unknown>; }; tools: string[]; guardrails: { maxResponseLength: number; blockedTopics: string[]; requiredDisclaimer?: string; }; } const codeReviewPreset: AssistantPreset = { id: "code-review-v3", version: "3.1.0", name: "Code Reviewer", description: "Reviews code for correctness, security, and maintainability", domain: "software-engineering", systemPrompt: `You are a senior code reviewer. Review the provided code diff with these priorities: 1. Correctness: Does it do what it claims? 2. Security: Are inputs validated? Secrets protected? 3. Performance: Any obvious bottlenecks? 4. Maintainability: Clear naming? Reasonable complexity? Format findings as: - [SEVERITY] file:line - Description - Suggested fix: ... Severities: CRITICAL, HIGH, MEDIUM, LOW`, fewShotExamples: [ { input: "```diff\n+const data = JSON.parse(userInput)\n```", output: "[CRITICAL] app.ts:1