agent-create — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited agent-create (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.
Create a brand-new subagent file from a natural-language description. The user names the agent and describes what it should do; you (the LLM) draft the .md, propose it via the Write tool, and the user approves.
This completes the CRUD triad alongside /dashboard (read), /agent-edit (update), and is the recommended Create path instead of Claude Code's interactive /agents wizard for users who already know what they want.
/agent-create <name> "<natural-language description>"Examples:
/agent-create design-reviewer "审 UI 一致性、组件 token 用法、a11y 基础"/agent-create db-migrator "draft + review database migrations, never destructive"/agent-create release-notes "summarize git diffs into release notes for non-engineers"The <name> arg must be a kebab-case identifier (lowercase letters, digits, hyphens). Reject names with spaces, uppercase, slashes, or special chars — tell the user the rule and stop.
Check that no agent with this name already exists:
.claude/agents/<name>.md~/.claude/agents/<name>.mdIf either exists: tell the user that agent already exists, suggest /agent-edit <name> "..." to modify it, and stop. Do NOT silently overwrite.
Default to project-level: .claude/agents/<name>.md.
Only put the agent at ~/.claude/agents/<name>.md if the user explicitly says "user-level" or "global" in their description. Otherwise project-level is correct (most agents should live with the project that defines their context).
Find CLAUDE.md (project then user). If it exists, read it and note:
If no CLAUDE.md, just use defaults.
Compose the file with this structure (be CRITICAL of your own draft — see ## Hard rules below):
---
name: <kebab-case-name>
description: <one-line description starting with "Use this agent when..." or similar trigger phrase>
tools: <minimal toolset — see "Tool selection" below>
model: <opus | sonnet | haiku — see "Model selection" below>
---
You are a <role> with expertise in <domain>. <One-line positioning that reflects the user's description.>
When invoked:
1. <Step from user's description>
2. <Step>
3. <Step>
4. <Provide actionable feedback / ship the artifact>
<Optional: a domain-specific checklist or anti-pattern list that's actually load-bearing for this agent. NOT a copy-paste of generic best practices.>Tool selection (right-size, don't grab everything):
Read, Glob, GrepRead, Edit, Glob, Grep (no Write — Edit covers both)Read, Write, Edit, Bash, Glob, GrepWebFetch, WebSearchModel selection:
haikusonnetopusDefault: sonnet if unsure.
Before proposing the file: re-read CLAUDE.md and check that your draft doesn't violate any of its principles. If there's a tension (e.g., CLAUDE.md says "never auto-format" but your agent's bio says "auto-formats files"), flag it explicitly to the user — don't bury it.
Use the Write tool with the resolved path. Claude Code will:
If the user rejects, stop. Do not retry without new instructions.
Tell the user, in one short message:
/dashboard --agent <name> to view its full persona; /dashboard to see it in the team grid/agent-edit <name> "..." for any tweaksExample:
已创建 design-reviewer (Sonnet 级 · UI 审查师) →.claude/agents/design-reviewer.md看人设:/dashboard --agent design-reviewer想改:/agent-edit design-reviewer "..."
/agent-edit.name, description, tools, model. No skipping fields.code-reviewer ✓ , super-genius-coder-9000 ✗.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.