.agents/skills/speckit-deprecate/SKILL.md
Initiate a feature deprecation workflow with phased sunset process (warnings -> disabled -> removed).
npx skillsauth add pradeepmouli/zod-to-form speckit-deprecateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The user input to you can be provided directly by the agent or as a command argument - you MUST consider it before proceeding with the prompt (if not empty).
User input:
$ARGUMENTS
The text the user typed after /speckit.workflows.deprecate (or /speckit.deprecate) in the triggering message can be:
/speckit.workflows.deprecate <feature_number> "reason" - Direct with feature number/speckit.workflows.deprecate "reason" - Interactive (will prompt for feature selection)For example: /speckit.workflows.deprecate 014 "low usage and high maintenance burden" or /speckit.workflows.deprecate "low usage". Assume you always have it available even if $ARGUMENTS appears literally below.
DEPRECATION WORKFLOW - PHASED SUNSET
Given that input, do this:
Parse $ARGUMENTS to check if feature number is provided
If interactive mode (no feature number provided):
a. Run .specify/extensions/workflows/scripts/bash/create-deprecate.sh --list-features "$REASON" to get list of features
b. Parse the JSON output which contains: {"mode":"list","reason":"...","features":[...]}
c. Present the features list to the user in a clear, numbered format:
Which feature do you want to deprecate?
1. 001 - ability-for-new
2. 002 - ability-for-users
3. 014 - edit-profile-form
...
Type the feature number (e.g., 014) or respond with the line number (e.g., 3).
d. Wait for user response with their selection e. Extract the feature number from their response (handle both "014" and "3" formats) f. Continue to step 3 with the selected feature number
Normal workflow (feature number now available):
Run the script .specify/extensions/workflows/scripts/bash/create-deprecate.sh --json "$FEATURE_NUM" "$REASON" from repo root and parse its JSON output for DEPRECATE_ID, BRANCH_NAME, DEPRECATION_FILE, TASKS_FILE, DEPENDENCIES_FILE, FEATURE_NUM, FEATURE_NAME, and REASON. All file paths must be absolute.
IMPORTANT You must only ever run this script once per feature selection. The JSON is provided in the terminal as output - always refer to it to get the actual content you're looking for.
Load .specify/extensions/workflows/templates/deprecate/deprecation-template.md to understand the 3-phase approach (Warnings -> Disabled -> Removed).
Read the DEPENDENCIES_FILE that was auto-generated by the scan-dependencies.sh script. This contains critical information about what code depends on the feature being deprecated.
Write a comprehensive deprecation plan to DEPRECATION_FILE using the template structure:
Report completion with Next Steps:
Deprecation workflow initialized
**Deprecation ID**: [DEPRECATE_ID]
**Feature**: specs/[FEATURE_NAME] (Feature [FEATURE_NUM])
**Reason**: [REASON]
**Branch**: [BRANCH_NAME]
**Deprecation Plan**: [DEPRECATION_FILE]
**Dependencies Scan**: [DEPENDENCIES_FILE]
**Next Steps:**
1. Review deprecation plan and dependency scan
2. Refine timeline for 3-phase sunset (typically 3-6 months)
3. Get stakeholder approvals (Product, Engineering, Support)
4. Run `/speckit.plan` to create detailed phase execution plans
5. Run `/speckit.tasks` to break down each phase into tasks
6. Run `/speckit.implement` to execute Phase 1 (warnings)
**Reminder**: 3-phase approach ensures smooth user migration
Important Notes:
Interactive Mode Usage Examples:
/speckit.workflows.deprecate "low usage" -> Shows feature list -> User selects -> Creates deprecation plan/speckit.workflows.deprecate 014 "low usage" -> Directly creates deprecation plan for feature 014tools
Use when working with zod-to-form (core, react, cli, codegen, vite).
tools
Vite plugin for zod-to-form — transforms ?z2f imports into generated form components and optionally replaces <ZodForm> JSX call sites with generated components at build time Use when: You want `import SignupForm from './signup.schema?z2f'` to Just Work in a.... Also: vite, vite-plugin, zod, zod-v4, codegen, forms, form-generation, schema-driven, react-hook-form, build-plugin, jsx-transform.
development
Runtime <ZodForm> renderer for Zod v4 schemas Use when: You need form rendering in storybook, playgrounds, or low-traffic admin UIs —.... Also: zod, zod-v4, react, forms, form-generation, react-hook-form, schema-driven, dynamic-forms, form-renderer, hookform-resolver, zod-form-renderer.
development
Schema walker and processor registry for Zod v4 form generation Use when: You want per-field validation instead of whole-form validation. Also: zod, zod-v4, forms, form-generation, schema, schema-walker, processor-registry, react-hook-form, schema-driven, form-schema, zod-registry.