drizzle-hints

Resolve missing_hints responses from drizzle-kit generate and push commands.

Updated Jul 24, 2026
One-click install
npx skills add https://github.com/saad-tayyab/lumora --skill drizzle-hints-saad-tayyab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: drizzle-hints
Source: https://github.com/saad-tayyab/lumora/tree/main/.agents/skills/drizzle-hints
Command: npx skills add https://github.com/saad-tayyab/lumora --skill drizzle-hints-saad-tayyab

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When drizzle-kit generate or push encounters an ambiguous schema diff (a rename that could be a drop-plus-create) or a destructive change (dropping a non-empty table, recreating a SQLite table), it halts with status: 'missing_hints' and refuses to proceed. This Skill explains how to read the unresolved array and construct the correct Hint reply array so the migration can complete. ## Core Features & Use Cases - Rename-vs-create disambiguation: Build rename or create hints with the correct entity-tuple arity for every kind (table, column, index, foreign key, privilege, and more). - Data-loss approvals: Construct confirm_data_loss replies that echo kind and entity while dropping the runtime-only reason fields. - CLI and SDK retry paths: Pass hints via --hints, --hints-file, or the SDK hints option, with identical Hint shapes on both surfaces. - Use Case: A push against SQLite returns a rename_or_create for a column plus a confirm_data_loss for add_not_null; you build a two-item hints file, re-run with --hints-file, and the push succeeds. ## Quick Start Ask the AI to resolve the missing_hints response from your last drizzle-kit push by building the hints array and retrying the command.

Frequently Asked Questions about drizzle-hints

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix drizzle-kit missing_hints errors?

Read the unresolved array in the missing_hints response, build one Hint per item (rename, create, or confirm_data_loss), then re-run the same generate or push command passing the array via --hints, --hints-file, or the SDK hints option.

How to confirm a column rename in drizzle-kit push?

Reply with a rename hint containing the kind, a from tuple naming the deleted entity, and a to tuple naming the new entity, for example from ['public','users','email'] to ['public','users','email_v2']. The arity must match the kind's entity-tuple shape.

Why does drizzle-kit ask to confirm data loss on SQLite?

SQLite has no in-place way to add a NOT NULL column, so drizzle-kit must recreate the table and wipe its rows, triggering a confirm_data_loss request with reason table_recreate. Approving it confirms the destructive recreation.

What is the difference between --hints and --hints-file in drizzle-kit?

--hints accepts an inline JSON array of Hint objects while --hints-file reads the same JSON array from a file. They are mutually exclusive, and the file option is preferred for arrays of more than one or two items.

Why does drizzle-kit return invalid_hints after my retry?

The invalid_hints error fires when the reply array fails shape validation, such as wrong tuple arity, a misspelled kind literal, or a wrong reply discriminator. Malformed JSON in a hints file also returns this error with meta.source indicating file or inline.