Home / Docs / Migration Guide — SfSkills Agent Consolidation
Migration Guide — SfSkills Agent Consolidation
Who this is for: anyone whose scripts, docs or habits still call a retired agent or slash command, and maintainers checking the state of a redirect.
Permanent record of every agent retired during the Wave 3 consolidation: what replaced it, how to migrate, and what state each redirect is in today.
Deprecation Principles
- Every retired agent leaves behind a stub
AGENT.mdwithstatus: deprecatedanddeprecated_in_favor_of: <replacement-id>, unless the agent was deleted outright (noted per row below). - Legacy slash-commands ship as aliases pointing at the canonical router
command with a preset parameter. An alias body begins "LEGACY ALIAS".
- No behavior is dropped. Every rule from every retired agent is preserved
in the replacement's decision table or classifier, so a reviewer can trace rule-by-rule equivalence.
- What the validator actually enforces.
pipelines/agent_validators.pyvalidates each
AGENT.md's frontmatter againstagents/_shared/schemas/agent-frontmatter.schema.json, whoseallOfblock makesdeprecated_in_favor_ofrequired whenstatus: deprecated. So a stub without a replacement pointer fails the build.mcp/sfskills-mcp/tests/test_agent_frontmatter.pyasserts the same thing independently.Deprecated stubs are also relaxed on structure: they need only
PlanandWhat This Agent Does NOT Do, not the full 8-section runtime shape.Not enforced: there is no gate that an alias command points at a router that exists. The gate runs the other way — every
class: runtime, non-deprecated agent must have somecommands/*.mdwhose body linksagents/<id>/AGENT.md(ERROR atpipelines/agent_validators.py:661). An alias whose target router was deleted would not be caught. Check alias targets by hand when retiring a router.
Wave 3a — Automation Migration Router
4 retired migrators → 1 canonical router. Agent directories deleted; stubs and aliases removed early (see below).
| Retired agent (deleted) | Replacement | Old slash-command (deleted) | Canonical form |
|---|---|---|---|
workflow-rule-to-flow-migrator | automation-migration-router | /migrate-wfr-to-flow | /automation-migration-router --source-type=wf_rule |
process-builder-to-flow-migrator | automation-migration-router | /migrate-pb-to-flow | /automation-migration-router --source-type=process_builder |
approval-to-flow-orchestrator-migrator | automation-migration-router | /migrate-approval-to-orchestrator | /automation-migration-router --source-type=approval_process |
workflow-and-pb-migrator (pre-Wave-3 deprecated) | automation-migration-router | /migrate-workflow-pb | /automation-migration-router --source-type=auto |