Skills Router
Routes techpacks.routeSkills(phase, component_type) requests to the appropriate fullstack-typescript skills. Core never loads tech pack skills directly — it invokes this router, which returns the skill paths to load.
Input
Invoked by the techpacks gateway with a structured context block:
phase: <phase>
component_type: <optional>
component_name: <optional>
agent: <optional>
Validated against skills-router-context.schema.json.
Component Standards Table
Maps component_type to the standards skills that apply during implementation and verification phases.
| component_type | Standards Skills |
|---|---|
server | backend-standards, typescript-standards |
webapp | frontend-standards, typescript-standards |
database | database-standards |
contract | contract-standards, typescript-standards |
helm | helm-standards |
config | config-standards |
cicd | cicd-standards |
integration-testing | integration-testing-standards |
e2e-testing | e2e-testing-standards |
Skill Paths
| Skill Name | Path (relative to tech pack root) |
|---|---|
backend-standards | skills/components/backend/backend-standards/SKILL.md |
frontend-standards | skills/components/frontend/frontend-standards/SKILL.md |
database-standards | skills/components/database/database-standards/SKILL.md |
contract-standards | skills/components/contract/contract-standards/SKILL.md |
helm-standards | skills/components/helm/helm-standards/SKILL.md |
config-standards | skills/components/config/config-standards/SKILL.md |
cicd-standards | skills/components/cicd/cicd-standards/SKILL.md |
integration-testing-standards | skills/components/integration-testing/integration-testing-standards/SKILL.md |
e2e-testing-standards | skills/components/e2e-testing/e2e-testing-standards/SKILL.md |
typescript-standards | skills/typescript-standards/SKILL.md |
unit-testing | skills/unit-testing/SKILL.md |
component-discovery | skills/component-discovery/SKILL.md |
scaffolding | skills/scaffolding/SKILL.md |
planning-standards | skills/planning-standards/SKILL.md |
Phase Skills Table
Maps the lifecycle phase to the skill(s) to load.
| Phase | Skills | Notes |
|---|---|---|
component-discovery | component-discovery | Discovers component types and instances in the project |
project-scaffolding | scaffolding | Scaffolding conventions for this tech pack |
plan-generation | planning-standards | Planning conventions and output format |
implementation | (from Component Standards Table) | Requires component_type in context |
testing | integration-testing-standards, e2e-testing-standards | Both loaded regardless of component type |
verification | (from Component Standards Table) | All standards for each component type involved |
Phase Resolution Rules
-
component-discovery— Always loads thecomponent-discoveryskill. Nocomponent_typerequired. -
project-scaffolding— Always loads thescaffoldingskill. Nocomponent_typerequired. -
plan-generation— Always loads theplanning-standardsskill. Nocomponent_typerequired. -
implementation— Requirescomponent_type. Look up the Component Standards Table and return the listed skills. Ifcomponent_typeis missing, return an error. -
testing— Always loadsintegration-testing-standardsande2e-testing-standards. If a specificcomponent_typeis provided and it isintegration-testingore2e-testing, load only that one. -
verification— Requirescomponent_type. Look up the Component Standards Table and return all listed skills. The verifier uses these to check the implementation against standards.
Agent Context Table
Maps component_type to the agent declared in techpack.yaml that should be loaded via techpacks.loadAgent.
| component_type | Agent Name | Agent Path |
|---|---|---|
server | backend-dev | agents/backend-dev.md |
webapp | frontend-dev | agents/frontend-dev.md |
database | backend-dev | agents/backend-dev.md |
contract | api-designer | agents/api-designer.md |
helm | devops | agents/devops.md |
config | backend-dev | agents/backend-dev.md |
cicd | devops | agents/devops.md |
integration-testing | tester | agents/tester.md |
e2e-testing | tester | agents/tester.md |
Loading Instructions
When the techpacks gateway invokes this router:
-
Read the context block — extract
phase,component_type,component_name, andagent. -
Resolve skill list — use the Phase Skills Table to determine which skills to load. For phases that reference the Component Standards Table (
implementation,verification), look up thecomponent_typeentry. -
Return skill paths — for each resolved skill name, map it to the relative path from the Skill Paths table above. The techpacks gateway will call
techpacks.resolvePathto turn these into absolute paths and thentechpacks.loadSkillto load each one. -
Agent resolution — if the context includes a
component_typeand the phase isimplementationorverification, also return the agent reference from the Agent Context Table. The techpacks gateway loads the agent viatechpacks.loadAgent, which spawns a Task subagent with the resolved skills composed into its prompt.
Example
Request:
phase: implementation
component_type: server
component_name: main-server
Response:
skills:
- skills/components/backend/backend-standards/SKILL.md
- skills/typescript-standards/SKILL.md
agent:
name: backend-dev
path: agents/backend-dev.md