Agent Skills by ALSEL
Anthropic Claudeデータ・分析⭐ リポ 0品質スコア 50/100

postgres-drizzle

PostgreSQL と Drizzle ORM を使用した API・バックエンド・データモデルの構築時に積極的に適用されます。スキーマ定義・クエリ・マイグレーション・トランザクション・インデックス・リレーション・コネクションプーリング・N+1問題・JSONB・RLS など、データベース関連のコードを記述する際にトリガーされます。Drizzle ORM と PostgreSQL のベストプラクティスに基づいた実装を提供します。

description の原文を見る

Proactively apply when creating APIs, backends, or data models. Triggers on PostgreSQL, Postgres, Drizzle, database, schema, tables, columns, indexes, queries, migrations, ORM, relations, joins, transactions, SQL, drizzle-kit, connection pooling, N+1, JSONB, RLS. Use when writing database schemas, queries, migrations, or any database-related code. PostgreSQL and Drizzle ORM best practices.

SKILL.md 本文

PostgreSQL + Drizzle ORM

PostgreSQL 18 と Drizzle ORM を使用した型安全なデータベースアプリケーション。

重要なコマンド

npx drizzle-kit generate   # スキーマ変更からマイグレーションを生成
npx drizzle-kit migrate    # 保留中のマイグレーションを適用
npx drizzle-kit push       # スキーマを直接プッシュ (開発時のみ!)
npx drizzle-kit studio     # データベースブラウザを開く

クイック判断ツリー

「この関連性をどうモデル化するか?」

関連性の種類?
├─ 一対多 (ユーザーが投稿を持つ)      → FK を"多"側に + relations()
├─ 多対多 (投稿がタグを持つ)          → ジャンクションテーブル + relations()
├─ 一対一 (ユーザーがプロフィールを持つ) → FK と unique 制約
└─ 自己参照 (コメント)                 → 同じテーブルへの FK

「なぜクエリが遅いのか?」

クエリが遅い?
├─ WHERE/JOIN 列のインデックスが不足    → インデックスを追加
├─ ループ内の N+1 クエリ               → リレーショナルクエリ API を使用
├─ フルテーブルスキャン                → EXPLAIN ANALYZE、インデックスを追加
├─ 大きな結果セット                    → ページネーションを追加 (limit/offset)
└─ コネクション オーバーヘッド          → コネクションプーリングを有効化

「どの drizzle-kit コマンド?」

何が必要か?
├─ スキーマが変更、SQL マイグレーションが必要 → drizzle-kit generate
├─ マイグレーションをデータベースに適用      → drizzle-kit migrate
├─ 開発の高速イテレーション (マイグレーション不要) → drizzle-kit push
└─ ビジュアルでデータを閲覧/編集            → drizzle-kit studio

ディレクトリ構造

src/db/
├── schema/
│   ├── index.ts          # すべてのテーブルを再エクスポート
│   ├── users.ts          # テーブル + リレーション
│   └── posts.ts          # テーブル + リレーション
├── db.ts                 # プーリング付きコネクション
└── migrate.ts            # マイグレーションランナー
drizzle/
└── migrations/           # 生成された SQL ファイル
drizzle.config.ts         # drizzle-kit 設定

スキーマパターン

タイムスタンプ付きの基本テーブル

export const users = pgTable('users', {
  id: uuid('id').primaryKey().defaultRandom(),
  email: varchar('email', { length: 255 }).notNull().unique(),
  createdAt: timestamp('created_at').defaultNow().notNull(),
  updatedAt: timestamp('updated_at').defaultNow().notNull(),
});

インデックス付きの外部キー

export const posts = pgTable('posts', {
  id: uuid('id').primaryKey().defaultRandom(),
  userId: uuid('user_id').notNull().references(() => users.id),
  title: varchar('title', { length: 255 }).notNull(),
}, (table) => [
  index('posts_user_id_idx').on(table.userId), // 常に FK にインデックスを付ける
]);

リレーション

export const usersRelations = relations(users, ({ many }) => ({
  posts: many(posts),
}));

export const postsRelations = relations(posts, ({ one }) => ({
  author: one(users, { fields: [posts.userId], references: [users.id] }),
}));

クエリパターン

リレーショナルクエリ (N+1 を回避)

// ✓ ネストされたデータを含む単一クエリ
const usersWithPosts = await db.query.users.findMany({
  with: { posts: true },
});

フィルタリングされたクエリ

const activeUsers = await db
  .select()
  .from(users)
  .where(eq(users.status, 'active'));

トランザクション

await db.transaction(async (tx) => {
  const [user] = await tx.insert(users).values({ email }).returning();
  await tx.insert(profiles).values({ userId: user.id });
});

パフォーマンスチェックリスト

優先度チェック項目影響
重大すべての外部キーにインデックスを付けるJOIN でのフルテーブルスキャンを防止
重大ネストされたデータにはリレーショナルクエリを使用N+1 を回避
本番環境ではコネクションプーリングを使用コネクションオーバーヘッドを削減
遅いクエリで EXPLAIN ANALYZE を実行不足しているインデックスを特定
フィルタリング対象のサブセット用にパーシャルインデックスを使用より小さく高速なインデックス
PK に UUIDv7 を使用 (PG18+)インデックスのロケーション性を改善

アンチパターン (重大)

アンチパターン問題解決策
FK インデックスなし遅い JOIN、フルスキャンすべての FK 列にインデックスを追加
ループ内の N+1行ごとにクエリwith: リレーショナルクエリを使用
プーリングなしリクエストごとのコネクション@neondatabase/serverless 等を使用
本番環境での pushデータ損失のリスク常に generate + migrate を使用
JSON をテキストとして保存検証なし、悪いクエリjsonb() 列型を使用

リファレンスドキュメント

ファイル目的
references/SCHEMA.md列型、制約
references/QUERIES.md演算子、join、集計
references/RELATIONS.md一対多、多対多
references/MIGRATIONS.mddrizzle-kit ワークフロー
references/POSTGRES.mdPG18 機能、RLS、パーティショニング
references/PERFORMANCE.mdインデックス、最適化
references/CHEATSHEET.mdクイックリファレンス

リソース

Drizzle ORM

PostgreSQL

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
ccheney
リポジトリ
ccheney/robust-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/ccheney/robust-skills / ライセンス: MIT

関連スキル

OpenAIデータ・分析⭐ リポ 1,451

hugging-face-trackio

Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。

by gradio-app
汎用データ・分析⭐ リポ 855

btc-bottom-model

ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。

by star23
Anthropic Claudeデータ・分析⭐ リポ 380

protein_solubility_optimization

タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。

by SpectrAI-Initiative
Anthropic Claudeデータ・分析⭐ リポ 1,743

research-lookup

Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。

by K-Dense-AI
Anthropic Claudeデータ・分析⭐ リポ 299

tree-formatting

ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。

by majiayu000
汎用データ・分析⭐ リポ 145

querying-indonesian-gov-data

インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。

by suryast
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: ccheney · ccheney/robust-skills · ライセンス: MIT