agent-artifex:design
Use when the user wants to design an MCP server, agent, chatbot, or tool-calling system for quality. This includes: designing tool descriptions, structuring parameters and schemas, writing error messages for LLM consumers, designing system prompts, planning multi-turn conversations, architecting tool sets, or designing response formats. Also use when someone says "how should I design", "what makes a good tool description", "how should I structure my errors", "design my MCP server", "how do I organize my tools", or any task where they want to follow evidence-based design principles before or while building.
What this skill does
# agent-artifex:design — AI Services Design Principles ## When to Use Design principles for building quality AI services. For scaffolding new MCP servers, use `claude-api:mcp-builder`. For testing what you have built, use `agent-artifex:implement`. For diagnosing gaps, use `agent-artifex:assess`. ## Shared References | Reference | When to read | |-----------|-------------| | `agent-artifex/references/framework.md` | Causal chain, testing pyramid, two-tier model | | `agent-artifex/references/rubric.md` | Six-component rubric for tool description scoring | | `agent-artifex/references/evidence.md` | Key empirical numbers and source citations | ## On Invocation Determine what the user is building and which design area applies: - Building or modifying tool definitions → **Tool Description Design** - Defining parameters or schemas → **Parameter & Schema Design** - Designing error responses → **Error Message Design** - Writing system prompts → **System Prompt Design** - Building multi-turn experiences → **Multi-Turn Conversation Design** - Organizing a tool set → **Tool Set Architecture** - Designing tool result formats → **Response Format Design** ## Reference Files Read the relevant file before designing. | Design Area | Reference File | What it contains | |-------------|---------------|-----------------| | Tool Description Design | `references/tool-descriptions.md` | 7 principles with evidence, rubric assessment criteria | | Parameter & Schema Design | `references/parameter-schema.md` | 6 principles: type/meaning/effect, naming, enums, output schemas, arg counts, parallel calling | | Error Message Design | `references/error-messages.md` | 5 principles: structured errors, four-part pattern, no internals, minimum density, protocol vs execution | | System Prompt Design | `references/system-prompts.md` | 5 principles: capability overlap, conflict types, context budget, ordering, complementarity | | Multi-Turn Conversation Design | `references/multi-turn.md` | 7 principles: context pressure, four factors, positioning, coreference, optimization, degradation, sequence preservation | | Tool Set Architecture | `references/tool-set-architecture.md` | 7 principles: token budgeting, distribution limits, dynamic discovery, visibility limits, disambiguation, API coverage, one intent | | Response Format Design | `references/response-format.md` | 6 principles: schema consistency, domain fidelity, dual parsing, verbosity control, two-phase quality, claim decomposition | ## Design by Area ### Tool Description Design Design tool descriptions that maximize correct tool selection and invocation. **Before designing, read:** `references/tool-descriptions.md` **Key principles:** - Purpose is the most critical component (44% smell-free on Purpose alone, drops to 2.9% across all five). - Usage Guidelines provide the highest-leverage behavioral cues (P+G alone outperformed full augmentation in Finance). - Limitations must be concrete or absent (vague limitations degrade SR by 10pp). **Assessment checklist:** - [ ] Purpose statement clearly names what the tool does and when to use it - [ ] Usage Guidelines cover the most common behavioral misuse patterns - [ ] Limitations are specific and actionable, not vague disclaimers - [ ] Examples demonstrate non-obvious parameter combinations - [ ] Description is self-contained — an LLM can select the tool without external context ### Parameter & Schema Design Design parameters and schemas that minimize invocation errors and ambiguity. **Before designing, read:** `references/parameter-schema.md` **Key principles:** - Every parameter needs type, meaning, behavioral effect, and required/default status. - Declare output schemas (MCP spec: servers MUST conform). - Keep under ~20 arguments per tool (in-distribution threshold). **Assessment checklist:** - [ ] Each parameter documents its type, meaning, and effect on behavior - [ ] Required vs optional is explicit with sensible defaults - [ ] Enums are used where the valid set is closed - [ ] Output schema is declared and consistent - [ ] Argument count stays within the ~20 threshold ### Error Message Design Design error messages that help LLMs recover without human intervention. **Before designing, read:** `references/error-messages.md` **Key principles:** - Structure errors for LLM consumers, not human developers. - Every error must name: the problem, the causal input, why it failed, what to try instead. - Never expose stack traces or raw exceptions. **Assessment checklist:** - [ ] Errors follow the four-part pattern (problem, cause, reason, remedy) - [ ] No stack traces or internal implementation details leak through - [ ] Error density is sufficient for recovery but not overwhelming - [ ] Protocol-level and execution-level errors are distinguished ### System Prompt Design Design system prompts that complement tool descriptions without conflicting. **Before designing, read:** `references/system-prompts.md` **Key principles:** - Avoid capability overlap between system prompt and tool descriptions. - System prompts consume context that tool definitions need (50K-134K tokens for tool defs). - Explicitly outline tool-call ordering when it matters. **Assessment checklist:** - [ ] No capability claims in the system prompt that duplicate tool descriptions - [ ] Context budget accounts for both system prompt and tool definition tokens - [ ] Tool-call ordering is specified where sequence matters - [ ] Conflict types (contradictions, ambiguities) have been audited ### Multi-Turn Conversation Design Design multi-turn interactions that maintain quality as conversations grow. **Before designing, read:** `references/multi-turn.md` **Key principles:** - Design for context pressure from the start (13.9-85% performance decline from length alone). - Design explicitly for coreference resolution (up to 18% improvement from explicit tracking). - Measure the same task at turns 1, 5, 10, 15+. **Assessment checklist:** - [ ] Performance is measured across conversation lengths, not just at turn 1 - [ ] Coreference is tracked explicitly rather than relying on implicit resolution - [ ] Context growth is bounded or managed actively - [ ] Degradation points are identified and mitigated ### Tool Set Architecture Design tool sets that scale without overwhelming the model's selection ability. **Before designing, read:** `references/tool-set-architecture.md` **Key principles:** - Tool definitions are expensive — budget them (50K-134K tokens observed). - Use dynamic discovery for large tool sets (85% token reduction). - Disambiguate overlapping tools explicitly by cross-referencing in Limitations. **Assessment checklist:** - [ ] Total tool definition token cost has been measured - [ ] Dynamic discovery is used when the tool set exceeds visibility limits - [ ] Overlapping tools are cross-referenced with explicit disambiguation - [ ] Each tool maps to one intent (no multi-purpose tools) - [ ] API coverage is validated against the underlying service ### Response Format Design Design tool result formats that maximize downstream usefulness. **Before designing, read:** `references/response-format.md` **Key principles:** - Result schemas must be consistent across tools. - Control result verbosity to manage context pressure. - Design for claim decomposition — discrete, verifiable facts, not ambiguous aggregations. **Assessment checklist:** - [ ] Schema structure is consistent across all tools in the set - [ ] Results use domain-appropriate fidelity levels - [ ] Verbosity is controlled to avoid unnecessary context consumption - [ ] Claims are decomposed into discrete, verifiable facts ## The Causal Chain for Design Each design area maps to a specific link in the tool-use pipeline: ``` Tool Description Design ─────┐ Parameter & Schema Design ───┤→ Discovery → Tool Selection → Invocation → Response Tool Set Architecture ───────┘ ↑ ↑ ↑ System Prompt Design ───
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.