一键导入
db-migration
Safely change the Pointsy Drizzle schema and generate a migration. Use whenever a feature needs a new/changed table, column, enum, or index.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Safely change the Pointsy Drizzle schema and generate a migration. Use whenever a feature needs a new/changed table, column, enum, or index.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Audit changed Pointsy screens against the WCAG 2.1 AAA checklist (automated axe + manual review) and fix issues. Use whenever UI is added or changed.
Structured review of a Pointsy change before merge across correctness, security/tenant-isolation, accessibility, performance, and tests. Use before requesting review or merging.
Implement a Pointsy feature end-to-end against an agreed spec, following the house rules. Use after spec-feature, or when the user asks to build/implement a feature.
Turn a feature request into a concrete mini-spec for Pointsy before any code is written. Use when starting any non-trivial feature, when requirements are fuzzy, or when the user asks to "spec" or "plan" something.
| name | db-migration |
| description | Safely change the Pointsy Drizzle schema and generate a migration. Use whenever a feature needs a new/changed table, column, enum, or index. |
lib/db/schema.ts. Keep every domain table carrying familyId with
references(() => families.id, { onDelete: "cascade" }). Add an index on
familyId for new tables. Export $inferSelect/$inferInsert types.npm run db:generate -- --name <short_snake_case>.drizzle/ — confirm no unintended drops, FKs and
onDelete are correct, and enums are altered (not recreated) where possible.npm test must pass. Add a tenant-isolation test for any new table.npm run db:migrate yourself (reads .env.local → the Neon DB). The owner
wants this run as a matter of course, not handed back as a command to copy;
only pause if the harness permission layer blocks the write (then ask once to
allow it). The deploy also applies it automatically
(scripts/vercel-migrate.mjs runs before build on production)./me screen for a chores change). Screenshots/dev runs
against a throwaway Docker DB do not count — that DB isn't the one the user
runs.category_id query ahead of its migration broke kid login in 0.31.x.)integer and may be negative.