dev-lead-routing

SkillProductivity

Routes development tasks to the correct language or framework expert agent. Use when user requests code review, implementation, refactoring, or debugging.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the dev-lead-routing skill

What this skill tells your AI

The instructions your AI receives, as published by baekenough/oh-my-customcode in .claude/skills/dev-lead-routing/SKILL.md and read by ahel’s review.

Mandatory delegation directive (R010 bypassPermissions)

When this skill spawns a subagent via the Agent tool, the spawned prompt MUST include this directive verbatim (or equivalent):

이 스킬이 Agent tool로 서브에이전트를 스폰할 때 mode: "bypassPermissions"를 반드시 포함한다. 서브에이전트는 .claude/ 경로에 직접 Write/Edit/Bash를 사용한다(/tmp 우회 불필요, CC v2.1.121+). See R010.

This directive is preserved inline because Agent-tool prompt synthesis can drop SKILL.md notes; inline mandatory directives survive (#1046 lesson).

Dev Lead Routing

Engineers

TypeAgents
Languagelang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java-expert
Frontendfe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent, fe-design-expert
Backendbe-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-nestjs-expert, be-express-expert, be-django-expert
Toolingtool-npm-expert, tool-optimizer, tool-bun-expert
Databasedb-supabase-expert, db-postgres-expert, db-redis-expert, db-alembic-expert
Architectarch-documenter, arch-speckit-agent
Securitysec-codeql-expert
Infrainfra-docker-expert, infra-aws-expert
Slackslack-cli-expert

File Extension Mapping

ExtensionAgent
.golang-golang-expert
.pylang-python-expert
.rslang-rust-expert
.kt, .ktslang-kotlin-expert
.ts, .tsxlang-typescript-expert
.javalang-java-expert
.js/.jsx (React)fe-vercel-agent
.vuefe-vuejs-agent
.sveltefe-svelte-agent
.dart, pubspec.yamlfe-flutter-agent
.sql (PG)db-postgres-expert
.sql (Supabase)db-supabase-expert
alembic.ini, alembic/versions/*.pydb-alembic-expert
Dockerfile, *.dockerfileinfra-docker-expert
*.tf, *.tfvarsinfra-aws-expert
*.yaml, *.yml (CloudFormation)infra-aws-expert

Keyword Mapping

KeywordsAgent
go, golanglang-golang-expert
python, pylang-python-expert
rustlang-rust-expert
kotlinlang-kotlin-expert
typescript, tslang-typescript-expert
javalang-java-expert
react, next.js, vercelfe-vercel-agent
vuefe-vuejs-agent
sveltefe-svelte-agent
flutter, dart, riverpod, bloc, widgetfe-flutter-agent
design, typography, color, motion, ux writing, ui design, "design system", "design review", impeccablefe-design-expert
fastapibe-fastapi-expert
djangobe-django-expert
spring, springbootbe-springboot-expert
nestjsbe-nestjs-expert
expressbe-express-expert
npmtool-npm-expert
optimize, bundletool-optimizer
buntool-bun-expert
postgres, postgresql, psql, pg_statdb-postgres-expert
redis, cache, pub/sub, sorted setdb-redis-expert
supabase, rls, edge functiondb-supabase-expert
alembic, migration, db revision, db upgrade, db downgradedb-alembic-expert
docker, dockerfile, container, composeinfra-docker-expert
aws, cloudformation, vpc, iam, s3, lambda, cdk, terraforminfra-aws-expert
security, codeql, cve, vulnerability, sarif, sast, security auditsec-codeql-expert
architecture, adr, openapi, swagger, diagramarch-documenter
spec, specification, tdd, requirementsarch-speckit-agent
slack, slack-cli, slack app, slack deploy, slack trigger, slack datastoreslack-cli-expert

Model Selection

TaskModel
Architecture analysisopus
Code review/implementationsonnet
Quick validation/searchhaiku

Routing Decision (Priority Order)

Before selecting an expert agent, evaluate in this order:

Step 1: Agent Teams Eligibility (R018)

Check if Agent Teams is available — CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 AND TeamCreate present in the tool list. The env var alone is NOT sufficient, and SendMessage presence is not evidence of Teams (see R018 Detection).

ScenarioPreferred
Single-language reviewTask Tool
Multi-language code review (3+)Agent Teams
Code review + fix cycleAgent Teams
Cross-layer debugging (FE + BE + DB)Agent Teams
Simple file search/validationTask Tool

When Detection resolves to No, skip this step — route via the Agent tool under R009/R010.

Step 2: Expert Agent Selection

Route to appropriate language/framework expert based on file extension and keyword mapping.

Permission Mode: When spawning agents via Agent tool, always pass mode: "bypassPermissions". The Agent tool default (acceptEdits) overrides agent frontmatter permissionMode, causing permission prompts during unattended execution.

Step 4: Ontology-RAG Enrichment (R019)

If get_agent_for_task MCP tool is available, call it with the original query and inject suggested_skills into the agent prompt. Skip silently on failure.

Step 4b: Wiki-RAG Enrichment

For ambiguous routing (confidence < 90%), query the wiki for context:

  1. Search wiki/index.yaml for agent/skill pages matching detected keywords
  2. If wiki suggests a specific skill or guide for the task, inject as suggested_context in the agent prompt
  3. This helps agents receive relevant guide references automatically
wiki-rag query: "{user_request}" → wiki agent/skill pages → suggested_context injection

Advisory only — skip silently if wiki unavailable.

Step 5: Soul Injection (R006)

If the selected agent has soul: true in frontmatter, read and prepend .claude/agents/souls/{agent-name}.soul.md content to the prompt. Skip silently if file doesn't exist.

Routing Rules

Multi-language: detect all languages, route to parallel experts (max 4). Single-language: route to matching expert. Cross-layer (frontend + backend): multiple experts in parallel.

No Match Fallback

When file extension or keyword doesn't match any existing agent:

User Input → No matching development agent
  ↓
Detect: File extension (.rb, .swift, .php, etc.) or language keyword
  ↓
Delegate to mgr-creator with context:
  domain: detected language/framework
  type: sw-engineer
  keywords: extracted from user input
  file_patterns: detected extensions
  skills: auto-discover from .claude/skills/
  guides: auto-discover from templates/guides/

Examples of dynamic creation triggers:

  • Unrecognized file extension (e.g., .rb → Ruby expert, .swift → Swift expert)
  • New framework keyword (e.g., "Flutter 앱 리뷰해줘", "Rails API 만들어줘")
  • Language detected but no specialist exists

Not user-invocable. Auto-triggered on development intent.

Signals

GitHub stars
34
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
dev-lead-routing
Source
github.com/baekenough/oh-my-customcode