Skip to content
This project is under active development and subject to breaking changes. See the changelog for release notes.

Choosing the Right Extension

This page helps you decide which DevSquad extension mechanism fits your use case. Each mechanism serves a different purpose, and choosing the right one avoids unnecessary complexity.

I want to…Use
Enforce formatting or naming rules on specific filesInstructions
Add domain knowledge that agents load when relevantSkills
Run validation scripts at specific lifecycle pointsHooks
Connect agents to external data or APIsMCP Servers
Create a new workflow or specialized behaviorCustom Agent
DimensionInstructionsSkillsHooksMCP ServersCustom Agents
ActivationAutomatic (path glob)Semantic (description match)Event-driven (lifecycle point)Tool call by agentUser or coordinator invocation
Context costAlways loaded for matching filesLoaded only when relevantNone (runs externally)Per tool callFull context window
DeterminismHigh (static rules)Medium (LLM interprets)High (script output)Medium (external data)Low (LLM reasoning)
ComplexityLow (markdown file)Medium (structured directory)Medium (script + JSON)High (server setup)High (agent definition)
Best forStyle rules, conventionsDomain knowledge, checklistsValidation, automationExternal integrationsNew workflows
flowchart TD
  Q1{"What do you need?"}
  Q2{"Is it file-specific?"}
  Q3{"Does it need<br/>script execution?"}
  Q4{"Does it need<br/>external data?"}

  A1["Instruction"]
  A2["Skill"]
  A3["Hook"]
  A4["MCP Server"]
  A5["Custom Agent"]

  Q1 -->|"Static rules<br/>or conventions"| Q2
  Q1 -->|"Domain knowledge<br/>or checklists"| A2
  Q1 -->|"Automated validation<br/>or side effects"| Q3
  Q1 -->|"External integration"| Q4
  Q1 -->|"New workflow<br/>or orchestration"| A5

  Q2 -->|"Yes, path-glob"| A1
  Q2 -->|"No, context-dependent"| A2
  Q3 -->|"Yes"| A3
  Q3 -->|"No, agent reasoning"| A2
  Q4 -->|"API or database"| A4
  Q4 -->|"File-based"| A2
  • Using a skill when an instruction suffices: If the rule is static and file-specific (e.g., “all API routes must use async handlers”), use an instruction. Skills are for context-dependent knowledge.
  • Using a hook when a skill would work: Hooks run shell scripts and have timeout limits. If you need the agent to reason about the output, a skill with just-in-time file loading is simpler.
  • Creating a custom agent for a single capability: If you just need to add knowledge (not a new workflow), a skill is the right choice. Agents are for orchestrating multi-step processes.