Webページの移動やフォーム入力、クリックをエージェントに任せ、情報抽出や画面保存、操作前後の比較まで行います。ブラウザ作業の自動化やWebアプリの確認に使えるスキル。
- フォーム入力やクリックを自動化したいとき
- Webページのテキスト抽出
- ページのスクリーンショット・PDF保存
リベース後に競合したDrizzleのマイグレーションを診断し、履歴やスナップショットを整理して、スキーマ変更の再生成と適用後の検証を進めるスキル。
fix drizzle migrations after rebasing onto upstream/main when migrations diverged
実行スコア 未検証
インストール方法を見るリベース後に食い違ったDrizzleのマイグレーションを、診断から修復、検証まで順に進めます。マイグレーションは、データベースの構造変更を順番に適用する仕組みです。SQLファイル、履歴を記録する_journal.json、構造を保存したスナップショットを照合し、番号やタグの重複、意図しないスキーマの差分を調べます。上流の履歴に合わせて整理した後、必要な変更を新しいマイグレーションとして生成し直します。
自分のブランチとupstream/mainで同じ番号の変更が追加された場合や、生成時に不自然なカラム名変更の質問が出る場合に向いています。修復後は差分、型チェック、テストで結果を確認します。
Git、Bun、drizzle-kitと、原文のディレクトリ構成を前提にした手順です。Docker ComposeでローカルDBを初期化する工程は全データを削除するため、利用者に依頼し、明示的に頼まれた場合だけエージェントが実行する指定があります。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Guide the user through recovering from a messy drizzle migration state after rebasing onto upstream/main.
When this skill is invoked, first diagnose the problem:
# Check for duplicate journal entries
cat packages/db/drizzle/meta/_journal.json | tail -30
# List migration files
ls packages/db/drizzle/*.sql
# Check diff against upstream
git diff upstream/main --stat -- packages/db/
# Check what upstream has
git show upstream/main:packages/db/drizzle/meta/_journal.json | tail -20
# Find the merge base
git merge-base HEAD upstream/main
Look for:
idx values in journaltag appearing twiceDrizzle migrations are sequential and tracked in packages/db/drizzle/meta/_journal.json. The issue occurs when:
00080009 (or overwrote 0008)0009This results in:
drizzle-kit generate asking nonsensical questions about column renamesSwitch to upstream/main to get a clean database state:
git checkout upstream/main
Run the migration command:
bun --bun --cwd packages/db drizzle-kit migrate
Switch back to the feature branch:
git checkout <branch-name>
Run cleanup commands:
# Identify what needs cleanup by checking diff
git diff upstream/main --stat -- packages/db/drizzle/
# Check current journal state
cat packages/db/drizzle/meta/_journal.json | tail -20
Then perform cleanup:
rm packages/db/drizzle/0010_*.sqlrm packages/db/drizzle/meta/0010_snapshot.jsongit checkout upstream/main -- packages/db/drizzle/meta/_journal.jsongit checkout upstream/main -- packages/db/drizzle/meta/0009_snapshot.jsonRun verification:
git diff upstream/main --stat -- packages/db/
The diff should now show ONLY schema file changes (e.g., sessions.ts), not migration files.
Ask the user (DO NOT DO THIS YOURSELF UNLESS YOU ARE ASKED TO DO SO) to reset the database state to the upstream/main state.
# reset the database volumes
docker compose down -v && docker compose up -d
# then seed the existing migrations
bun --bun --cwd packages/db drizzle-kit migrate
This will delete all data in the local database and re-apply the upstream migrations.
Generate a fresh migration for the schema changes:
bun run db:migrations:generate
This should create a new migration file (e.g., 0010_something.sql) with just the changes.
Apply the new migration to the local database:
bun --bun --cwd packages/db drizzle-kit migrate
After migration succeeds, verify:
# Check the final diff
git diff upstream/main --stat -- packages/db/
# Run typecheck
bun run typecheck
# Run tests
bun --bun run test
The diff should show:
The schema doesn't match what drizzle expects. Check if:
Fix: git checkout upstream/main -- packages/db/src/tables/<file>.ts for files you didn't intend to modify.
The checkout didn't work or there are staged changes. Run:
git checkout upstream/main -- packages/db/drizzle/meta/_journal.json
Run migrate on upstream/main again, then switch back to branch.
packages/db/drizzle/*.sql - Migration SQL files (sequential: 0000, 0001, ...)packages/db/drizzle/meta/_journal.json - Tracks all migrations and their orderpackages/db/drizzle/meta/NNNN_snapshot.json - Schema snapshot after each migrationpackages/db/src/tables/*.ts - Drizzle schema definitions# All commands are non-interactive and safe for agent to run:
git diff upstream/main --stat -- packages/db/
git show upstream/main:packages/db/drizzle/meta/_journal.json
cat packages/db/drizzle/meta/_journal.json
ls packages/db/drizzle/*.sql
git checkout upstream/main -- <file> # restore specific file
rm packages/db/drizzle/0010_*.sql # cleanup
bun run db:migrations:generate
bun --bun --cwd packages/db drizzle-kit migrate
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Webページの移動やフォーム入力、クリックをエージェントに任せ、情報抽出や画面保存、操作前後の比較まで行います。ブラウザ作業の自動化やWebアプリの確認に使えるスキル。
曖昧で読みにくい英文を、語の意味をそろえた短い能動態の文へ書き直すスキル。指示文やツール説明を見直し、修正理由と変更前後を表で確認できます。
GitHubのPRの状態、レビューの会話、CI失敗のログを専用スクリプトで収集し、変更の確認状況や未解決の指摘、失敗したジョブとステップを調べるスキル。
リリース時に対象パッケージの基準バージョンを更新し、関連ファイルの同期と生成結果を検証して、コミットからPRブランチへのプッシュまで進めるスキル。
Git のコミット間や作業中のコードで、関数の呼び出し構造の違いを確認します。呼び出しツリーの表示や、指定した関数へ至る経路の調査にも使えます。
ターミナルからブラウザのクリックや入力、ページ移動を自動化し、通信やエラー、表示速度も調べられる、Chrome DevToolsのCLI操作を支援するスキル。