assistant-presets — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited assistant-presets (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Part of Agent Skills™ by googleadsagent.ai™
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.
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.
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:12 - Parsing untrusted user input without try-catch\n- Suggested fix: Wrap in try-catch with input validation",
},
],
parameters: { model: "claude-sonnet-4-20250514", temperature: 0.2, topP: 0.9, maxTokens: 4096 },
outputFormat: { type: "markdown" },
tools: ["read_file", "grep", "git_diff"],
guardrails: {
maxResponseLength: 5000,
blockedTopics: [],
requiredDisclaimer: undefined,
},
};
class PresetBenchmark {
constructor(
private preset: AssistantPreset,
private testCases: Array<{ input: string; expectedPatterns: string[] }>
) {}
async evaluate(llm: LLMClient): Promise<{ score: number; failures: string[] }> {
const failures: string[] = [];
let passed = 0;
for (const tc of this.testCases) {
const response = await llm.generate(this.preset.systemPrompt, tc.input, this.preset.parameters);
const allPresent = tc.expectedPatterns.every(p => response.includes(p));
if (allPresent) passed++;
else failures.push(`Input "${tc.input.slice(0, 50)}..." missing expected patterns`);
}
return { score: passed / this.testCases.length, failures };
}
}| Platform | Support | Notes |
|---|---|---|
| Cursor | Full | Rules + preset system |
| VS Code | Full | Custom assistant configs |
| Windsurf | Full | Cascade preset support |
| Claude Code | Full | AGENTS.md persona config |
| Cline | Full | Custom instruction sets |
| aider | Partial | Convention file support |
assistant-presets system-prompt persona domain-specific few-shot prompt-engineering a-b-testing guardrails
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.