# Domain Hooks Architect-specific questions and anti-patterns for brainstorming. Reference the relevant section based on what's being designed. --- ## Skill ### Key Questions - **Trigger**: When should this skill activate? What user intent or request invokes it? - **Context needs**: What does Claude need to know to execute? Where does that knowledge live? - **Boundaries**: What is explicitly out of scope? What should trigger a different skill? - **Output**: What does success look like? A file? A conversation? An action? ### Anti-patterns to Critique | Anti-pattern | What to look for | |--------------|------------------| | Over-specification | Skill tells Claude HOW to do things instead of WHAT knowledge exists and WHERE | | Kitchen-sink scope | Skill tries to handle too many scenarios; should be split | | Missing escape hatch | No guidance on when NOT to use the skill | | Implementation in SKILL.md | SKILL.md contains code examples or step-by-step procedures instead of pointers to references | ### Progressive Disclosure Check - Does SKILL.md fit in ~50 lines? - Are details in referenced docs, not inline? - Can Claude load context incrementally as needed? --- ## Plugin ### Key Questions - **Cohesion**: What unifies the skills in this plugin? What's the theme? - **Boundary**: Where does this plugin's responsibility end? What's adjacent but separate? - **Dependencies**: Does this plugin depend on others? Should it? - **User**: Who installs this plugin? What problem are they solving? ### Anti-patterns to Critique | Anti-pattern | What to look for | |--------------|------------------| | Kitchen-sink | Plugin contains unrelated skills that happen to be made by same author | | Overlapping scope | Skills within plugin have unclear boundaries with each other | | Missing entry point | No clear CLAUDE.md or SKILL.md directing users to capabilities | | Dependency bloat | Plugin requires many other plugins to function | ### Structure Check - Does plugin have clear CLAUDE.md explaining what it offers? - Are skills cohesive (related purpose) not just co-located? - Is the plugin installable and usable independently? --- ## Agent ### Key Questions - **Task fit**: What specific task type does this agent handle? When is it dispatched? - **Tools**: What tools does the agent need? What tools should it NOT have? - **Autonomy level**: How much should it decide on its own vs. ask for guidance? - **Output contract**: What does the agent return to the caller? ### Anti-patterns to Critique | Anti-pattern | What to look for | |--------------|------------------| | Tool overload | Agent has access to tools it doesn't need | | Unclear boundaries | Agent's responsibility overlaps with other agents or main thread | | Missing output contract | Caller doesn't know what to expect back | | Over-autonomy | Agent makes decisions that should be escalated | ### Dispatch Check - Is it clear when to use this agent vs. doing the work in main thread? - Does the agent description in Task tool registry accurately describe capability? - Can the agent complete its task with the tools provided? --- ## Slash Command ### Key Questions - **Trigger**: What does the user type to invoke? Is it memorable? - **Input**: What arguments does it accept? What's required vs. optional? - **Output**: What happens when invoked? File created? Action taken? Skill loaded? - **Discoverability**: How does user learn this command exists? ### Anti-patterns to Critique | Anti-pattern | What to look for | |--------------|------------------| | Overloaded command | Command does too many different things based on args | | Unclear invocation | User can't guess what to type | | Missing feedback | Command runs silently without confirming action | | Duplicates skill | Command is just an alias for a skill with no added value | ### Naming Check - Is the command name a verb? (commit, audit, review) - Is it 1-2 words max? - Does it conflict with existing commands? --- ## Description (Frontmatter) ### Key Questions - **Escape hatch**: Does the description help Claude know when NOT to use this? - **Trigger clarity**: Is it clear what user intent/request activates this? - **Specificity**: Is it specific enough to avoid false positives? ### Anti-patterns to Critique | Anti-pattern | What to look for | |--------------|------------------| | Too broad | Description matches requests it shouldn't handle | | Too narrow | Description misses valid use cases | | Missing negative triggers | No "don't use when" guidance | | Marketing language | Description sells rather than describes | ### Test Read the description and ask: "If I were Claude seeing a user request, would this description help me decide correctly whether to use this?"