sanity-schema-manager
sanity-io/agent-toolkitManages schema lifecycle including scaffolding, safe field deprecation, and data migrations. Use when modifying existing schemas.
37 stars
3 forks
8 views
SKILL.md
name: sanity-schema-manager description: Manages schema lifecycle including scaffolding, safe field deprecation, and data migrations. Use when modifying existing schemas.
Schema Manager
This skill handles the lifecycle of Sanity Schema types.
Procedure
-
Scaffold (Create)
- Use templates to create
document,object, orsingletontypes. - Constraint: Ensure
defineTypeanddefineFieldare used. - Constraint: Ensure an icon is imported from
@sanity/icons.
- Use templates to create
-
Deprecate (Update)
- Ask: "Which field do you want to deprecate?"
- Action: Apply the "ReadOnly -> Hidden -> Deprecated" pattern to the field definition.
- Output:
defineField({ name: 'oldField', deprecated: { reason: 'Use newField instead' }, readOnly: true, hidden: ({value}) => value === undefined, initialValue: undefined })
-
Migrate (Data)
- Generate a migration script using
@sanity/migrateor standard client patches. - Template: Iterate over documents ->
patch(doc.id).set({ newField: doc.oldField }).unset(['oldField']).
- Generate a migration script using
-
Clean (Delete)
- Only allow deleting a field definition if the user confirms "I have migrated the data and the field is undefined in all documents."