schema-exploration

作成者: langchain-ai

Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in a database. Use when the user asks about…

npx skills add https://github.com/langchain-ai/deepagents --skill schema-exploration

Schema Exploration Skill

Workflow

1. List All Tables

Use sql_db_list_tables tool to see all available tables in the database.

This returns the complete list of tables you can query.

2. Get Schema for Specific Tables

Use sql_db_schema tool with table names to examine:

  • Column names - What fields are available
  • Data types - INTEGER, TEXT, DATETIME, etc.
  • Sample data - 3 example rows to understand content
  • Primary keys - Unique identifiers for rows
  • Foreign keys - Relationships to other tables

3. Map Relationships

Identify how tables connect:

  • Look for columns ending in "Id" (e.g., CustomerId, ArtistId)
  • Foreign keys link to primary keys in other tables
  • Document parent-child relationships

4. Answer the Question

Provide clear information about:

  • Available tables and their purpose
  • Column names and what they contain
  • How tables relate to each other
  • Sample data to illustrate content

Example: "What tables are available?"

Step 1: Use sql_db_list_tables

Response:

The Chinook database has 11 tables:
1. Artist - Music artists
2. Album - Music albums
3. Track - Individual songs
4. Genre - Music genres
5. MediaType - File formats (MP3, AAC, etc.)
6. Playlist - User-created playlists
7. PlaylistTrack - Tracks in playlists
8. Customer - Store customers
9. Employee - Store employees
10. Invoice - Customer purchases
11. InvoiceLine - Individual items in invoices

Example: "What columns does the Customer table have?"

Step 1: Use sql_db_schema with table name "Customer"

Response:

The Customer table has these columns:

- CustomerId (INTEGER) - Primary key, unique customer ID
- FirstName (NVARCHAR) - Customer's first name
- LastName (NVARCHAR) - Customer's last name
- Company (NVARCHAR) - Company name (optional)
- Address, City, State, Country, PostalCode - Location fields
- Phone (NVARCHAR) - Phone number
- Fax (NVARCHAR) - Fax number
- Email (NVARCHAR) - Email address
- SupportRepId (INTEGER) - Foreign key to Employee table

Sample data shows customers like:
- Luís Gonçalves from Brazil
- Leonie Köhler from Germany
- François Tremblay from Canada

Example: "How do I find revenue by artist?"

Step 1: Identify tables needed

  • Artist (has artist names)
  • Album (links artists to tracks)
  • Track (links albums to sales)
  • InvoiceLine (has sales data)
  • Invoice (has revenue totals)

Step 2: Map relationships

Artist (ArtistId)
  ↓ 1:many
Album (ArtistId, AlbumId)
  ↓ 1:many
Track (AlbumId, TrackId)
  ↓ 1:many
InvoiceLine (TrackId, UnitPrice, Quantity)

Response:

To find revenue by artist, you'll need to:
1. Start with the Artist table
2. JOIN to Album on ArtistId
3. JOIN to Track on AlbumId
4. JOIN to InvoiceLine on TrackId
5. SUM the revenue (UnitPrice * Quantity)
6. GROUP BY artist name

This requires the query-writing skill to execute.

Quality Guidelines

For "list tables" questions:

  • Show all table names
  • Add brief descriptions of what each contains
  • Group related tables (e.g., music catalog, transactions, people)

For "describe table" questions:

  • List all columns with data types
  • Explain what each column contains
  • Show sample data for context
  • Note primary and foreign keys
  • Explain relationships to other tables

For "how do I query X" questions:

  • Identify required tables
  • Map the JOIN path
  • Explain the relationship chain
  • Suggest next steps (use query-writing skill)

langchain-aiのその他のスキル

langgraph-docs
langchain-ai
LangGraphのドキュメントにアクセスして、ステートフルなエージェントやマルチエージェントワークフローを構築できます。公式のLangGraph Pythonドキュメントを取得し、ステートマシン、グラフベースのエージェント設計、ヒューマンインザループパターンをカバーします。クエリの種類に応じて関連ドキュメントを優先します:ハウツー質問には実装ガイド、理論にはコンセプトページ、エンドツーエンドの例にはチュートリアル、技術詳細にはAPIリファレンスを提供します。自動的に2~4個の最も関連性の高いドキュメントURLを選択し、その内容を取得して回答します。
official
langgraph-human-in-the-loop
langchain-ai
グラフの実行を一時停止し、人間によるレビュー、承認、検証を経て、その入力を反映させて再開します。これには3つのコンポーネントが必要です:チェックポインター(InMemorySaverまたはPostgresSaver)、設定内のスレッドID、そしてJSONシリアライズ可能なインタラプトペイロードです。interrupt(value)は一時停止してデータを表示し、Command(resume=value)は再開してその値を一時停止したノードに返します。interrupt()より前のすべてのコードは再開時に再実行されるため、副作用は冪等である必要があります(insertではなくupsertを使用)。承認ワークフローをサポートします。
official
web-research
langchain-ai
このスキルはウェブリサーチに関連するリクエストに使用します。包括的なウェブリサーチを実施するための構造化されたアプローチを提供します。
official
langchain-oss-primer
langchain-ai
LangChain、Deep Agents、またはLangGraphエージェント構築プロジェクトでは、必ずここから始めてください。他のスキルを選択したり、何かを記述する前に必要な出発点です。
official
skill-creator
langchain-ai
エージェントの機能を専門知識、ワークフロー、ツール連携で拡張する効果的なスキルを作成するためのガイド。このスキルは、ユーザーが…のときに使用します。
official
social-media
langchain-ai
プラットフォーム固有のソーシャルメディア投稿を、調査に基づいたコンテンツと生成された補完画像とともに下書きします。LinkedInの投稿(1,300文字、プロフェッショナルなトーン)とTwitter/Xのスレッド(1ツイートあたり280文字、1/🧵形式)に対応。執筆前にサブエージェントに調査を委任し、その後調査結果を読み、正確性と関連性を確認します。generate_social_imageツールを使用して、小さな画面向けに最適化された大胆でコントラストの高い構図の、目を引くソーシャル画像を自動生成します。
official
deep-agents-memory
langchain-ai
Deep Agents向けのプラグイン可能なメモリおよびファイルバックエンド。エフェメラル、永続、ハイブリッドルーティングオプションを備えています。4種類のバックエンドタイプ:StateBackend(スレッドスコープ、エフェメラル)、StoreBackend(セッションをまたいだ永続)、FilesystemBackend(ローカル開発用の実際のディスクアクセス)、CompositeBackend(異なるパスを異なるバックエンドにルーティング)。FilesystemMiddlewareは6つのファイル操作ツールを提供:ls、read_file、write_file、edit_file、glob、grep。CompositeBackendは最長プレフィックス一致を使用してルーティングします...
official
deep-agents-orchestration
langchain-ai
サブエージェントを調整し、複数ステップのタスクを計画し、機密操作には人間の承認を必要とします。タスクツールを介して専門サブエージェントに作業を委任します。カスタムサブエージェントは独立したツールセットとシステムプロンプトをサポートし、デフォルトの「汎用」サブエージェントはメインエージェント設定を継承します。write_todosを使用して複雑なワークフローを計画・追跡し、保留中、進行中、完了済みの状態でタスクを整理します。呼び出し間での永続性のためにthread_idが必要です。実装...
official