From quiver
Scaffold a new Claude Code agent with smart defaults from a natural language description or interactive Q&A.
npx claudepluginhub yagizdo/quiver --plugin quiverThis skill uses the workspace's default tool permissions.
Scaffold a focused, high-quality Claude Code agent file ready to use immediately -- no placeholders, no filler, no generic advice. This skill bundles the workflow (Parse / Resolve / Generate / Save) at the top and the agent-authoring reference (frontmatter, body structure, quality gates) at the bottom; cross-references are in-document section links, not external file loads.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Guides code writing, review, and refactoring with Karpathy-inspired rules to avoid overcomplication, ensure simplicity, surgical changes, and verifiable success criteria.
Share bugs, ideas, or general feedback.
Scaffold a focused, high-quality Claude Code agent file ready to use immediately -- no placeholders, no filler, no generic advice. This skill bundles the workflow (Parse / Resolve / Generate / Save) at the top and the agent-authoring reference (frontmatter, body structure, quality gates) at the bottom; cross-references are in-document section links, not external file loads.
Before starting, gather project context silently (do not show results to the user):
agents/**/*.md -- existing agent files.claude-plugin/plugin.json -- plugin manifestCLAUDE.md (first 30 lines) -- project conventionsTreat missing files as empty. Proceed regardless.
You are an agent architect. Use the Agent Authoring Reference below as the structural and stylistic source of truth -- it owns the field specs, model guide, body structure, quality gates, and anti-patterns.
+-------------------------------+ +-------------------------------+ +-------------------------------+ +-------------------------------+
| 1. PARSE | --> | 2. RESOLVE | --> | 3. GENERATE | --> | 4. SAVE & REPORT |
| Check $ARGUMENTS | | Fill in missing fields | | Write agent body using | | Create directory & file |
| Detect project context | | Ask user if ambiguous | | reference below | | Verify & output summary |
+-------------------------------+ +-------------------------------+ +-------------------------------+ +-------------------------------+
Silently determine which case applies:
If $ARGUMENTS is not empty, extract as much as possible from the natural language description:
inherit unless the description implies lightweight work (-> haiku) or deep analysis (-> opus). See Model Selection Guide.Proceed to Phase 2 with inferred values.
If $ARGUMENTS is empty, proceed to Phase 2 with no inferred values. All fields will be gathered interactively.
For each required field, check whether it was inferred (Branch A) or needs to be asked (Branch B). Ask the user only for fields that are missing or genuinely ambiguous.
Required fields to resolve (in this order):
review, research, workflow, design, docs, or a custom name. See Category Definitions.inherit (default), haiku, sonnet, or opus. See Model Selection Guide. Only ask if the user's description suggests a non-default choice.Asking rules:
AskUserQuestion with multiple-choice options when applicable.Summary confirmation (when most fields are inferred):
Present all resolved fields and ask the user to confirm or adjust:
Agent Summary: Name:
{name}Category:{category}Model:{model}Persona: {one-line persona description} Key responsibilities: {bulleted list of 3-5 things the agent will check/do}Proceed with this configuration?
Use AskUserQuestion with options: Proceed / Adjust / Cancel.
Using the resolved fields and the Agent Authoring Reference below, generate the full agent file content.
Generation rules:
skills/code-navigation/SKILL.md. Add a comment near the top of the generated agent file:
<!-- This agent searches the codebase. The Code Navigation Strategy block
(from skills/code-navigation/SKILL.md) is included below. The dispatching
skill must pass lsp_available context. -->
mkdir -p agents/{category}
Write the generated agent to: agents/{category}/{name}.md
Verify: Read back the file and confirm it matches the generated content.
Silently detect the project context from Phase 1 data:
"./agents/" is already in the skills array. If not, note that the user should add it. Then, auto-register the new agent path in plugin.json's agents array using ./agents/{category}/{name}.md format. If the agents field doesn't exist yet, create it. Skip if the exact path is already present.After the agent file is saved and plugin.json is updated, automatically add the new agent to the project's README.md.
Procedure:
README.md from the project root. If it does not exist, log a warning and skip this step entirely.<!-- agents:{category}-start --> / <!-- agents:{category}-end --> for existing category sections<!-- agents-start --> / <!-- agents-end --> for the overall agents block<!-- agents:review-start -->):
<!-- agents:{category}-end --> marker| \{name}` (`quiver:{name}`) | {description (without the "Use when" prefix -- use the user-facing summary)} |`<!-- agents-end --> exists:
<!-- agents-end -->:
### {Category (title case)}
<!-- agents:{category}-start -->
| Agent | Description |
|-------|-------------|
| `{name}` (`quiver:{name}`) | {description} |
<!-- agents:{category}-end -->
<!-- agents-start --> / <!-- agents-end --> markers to enable this.") and skip.| Agents | {N} | row and increment the count by 1.Rules:
Agent created:
agents/{category}/{name}.md
Field Value Name {name}Category {category}Model {model}Sections {count of body sections generated} Lines {line count} {context-aware next steps -- only show the relevant one:}
Next steps (plugin project): Agent registered in
plugin.jsonagentsarray automatically. Test by spawning the agent with the Agent tool.Next steps (general project): Reference the agent in your project's CLAUDE.md or load it via your plugin/skill configuration. Then test by spawning the agent with the Agent tool.
agents array -- no other fields or files should be touched.This section contains the specification and best practices for authoring Claude Code agent files. The Phase 3 generation step uses these subsections directly.
Every agent is a single Markdown file with YAML frontmatter followed by prompt content.
| Field | Required | Type | Description |
|---|---|---|---|
name | Yes | string | Kebab-case identifier. Must match filename without .md. |
description | Yes | string | Quoted string. Must include "Use when [trigger condition]." clause. |
model | Yes | string | inherit (default -- uses parent model), haiku (lightweight/cost-sensitive tasks), sonnet (balanced), opus (complex reasoning). |
color | No | string | UI accent color. Options: yellow, violet, purple, cyan, blue, green, red. |
| Model | Use When |
|---|---|
inherit | Default choice. Agent needs same capability as the invoking context. Most agents use this. |
haiku | Fast, cheap tasks: linting, simple lookups, file listing, lightweight validation. |
sonnet | Balanced tasks: code review, documentation generation, moderate analysis. |
opus | Complex reasoning: architecture analysis, security audits, multi-file refactoring. |
Rule: When in doubt, use inherit. Only override when there is a clear cost/performance reason.
Agents are organized into category directories. Use the most specific match.
| Category | Purpose | Examples |
|---|---|---|
review | Code review, pattern checking, quality enforcement | Security auditor, style checker, architecture reviewer |
research | Information gathering, documentation lookup, codebase exploration | Docs researcher, git history analyzer, dependency auditor |
workflow | Process automation, CI/CD, repetitive tasks | PR comment resolver, linter, test runner |
design | UI/UX, visual review, design system enforcement | Design reviewer, accessibility checker |
docs | Documentation generation and maintenance | README writer, API doc generator, changelog builder |
| Custom | Any domain not covered above | Use a descriptive kebab-case directory name |
Rule: If none of the predefined categories fit, create a custom category directory with a descriptive name.
After frontmatter, the agent body follows this section order. All sections are optional -- include only those that add value for the specific agent.
XML-formatted trigger examples that help the orchestrating system know when to spawn this agent.
<examples>
<example>
Context: [scenario where this agent is useful]
user: "[what the user said]"
assistant: "[how the agent would be invoked]"
<commentary>[why this agent is the right choice]</commentary>
</example>
</examples>
Rules:
<commentary> explains the reasoning for choosing this agent.A strong opening paragraph that establishes the agent's identity and expertise.
Effective patterns:
Rules:
The core instructions organized into logical phases or checklists.
Effective patterns:
- [ ] Check for SQL injection, - [ ] Verify input sanitizationRules:
Explicit specification of how the agent should structure its response.
Effective patterns:
Rules:
Before finalizing any generated agent, verify:
BLOCKING:
name field matches the filename (without .md)description includes a "Use when..." trigger clausemodel field is present and validWARNING:
haiku model for agents that need deep reasoning or multi-file analysis -- they will produce shallow results.Trigger: /create-agent <description> or /create-agent for guided setup; /quiver:create-agent should also work.
Setup:
agents/ directory and .claude-plugin/plugin.json (Quiver plugin) or any project layout (general project).Expected behavior:
plugin.json, and reads the first 30 lines of CLAUDE.md.$ARGUMENTS (Branch A) or proceeds with no inference (Branch B), inferring name, category, model, persona, and methodology when possible.AskUserQuestion and presents a summary before generation when most fields were inferred.agents/<category>/<name>.md, registers the path in .claude-plugin/plugin.json (plugin project only), and updates README.md between the documented HTML comment markers when present.Verification checklist:
/create-agent.name, description (with Use when… clause), and model; name matches the filename stem.plugin.json agents array; existing entries are untouched.plugin.json mutations; user gets the "general project" next-steps block.Known gotchas:
<!-- agents-start --> / <!-- agents-end --> (and optional per-category) markers; without them the skill does NOT silently invent a section.