mastra
Mastraフレームワークを使ったエージェント・ワークフロー・ツール・メモリ・ストレージの構築に関する包括的なガイド。ドキュメント参照、API確認、TypeScriptセットアップ、エラー対処、マイグレーション、および`mastra api` CLIによるローカル・Mastraプラットフォーム・リモートサーバー上のリソース操作が必要な際に活用できます。
description の原文を見る
Comprehensive Mastra framework guide for building agents, workflows, tools, memory, workspaces, and storage with current APIs. Use for documentation lookup, API verification, TypeScript setup, common errors, migrations, and `mastra api` CLI tasks: inspect or call resources on local, Mastra platform, or remote servers.
SKILL.md 本文
Mastra フレームワークガイド
Mastra を使用して AI アプリケーションを構築します。このスキルは、現在のドキュメントを見つけ、エージェントとワークフローを構築する方法を教えます。
重要: 内部知識を信頼しないでください
Mastra について知っていることはすべて古いか間違っている可能性があります。メモリに頼らないでください。常に現在のドキュメントに対して検証してください。
トレーニングデータには廃止された API、非推奨パターン、および不正な使用法が含まれています。Mastra は急速に進化しています。API はバージョン間で変更され、コンストラクタシグネチャは変わり、パターンはリファクタリングされます。
前提条件
Mastra コードを書く前に、パッケージがインストールされているかどうかを確認してください:
ls node_modules/@mastra/
- パッケージが存在する場合: 埋め込みドキュメントを最初に使用してください (最も信頼性が高い)
- パッケージがない場合: 最初にインストールするか、リモートドキュメントを使用してください
利用可能なファイル
リファレンス
| ユーザーの質問 | 最初に確認する内容 | 方法 |
|---|---|---|
| Mastra プロジェクトを作成/インストール | | CLI と手動ステップを含むセットアップガイド |
| Agent/Workflow/Tool の使い方は? | | node_modules/@mastra/*/dist/docs/ で検索 |
| X の使い方は? (パッケージなし) | | https://mastra.ai/llms.txt から取得 |
| エラーが発生しています... | | 一般的なエラーと解決策 |
| v0.x から v1.x にアップグレード | | バージョンアップグレードワークフロー |
| CLI 経由でサーバーリソースを検査/呼び出し | | ローカル、Mastra プラットフォーム、またはリモートサーバー用の mastra api CLI |
スクリプト
scripts/provider-registry.mjs: モデルルーターで利用可能な現在のプロバイダーとモデルを検索します。モデルを使用する前に常にこれを実行して、プロバイダーキーとモデル名を検証してください。
コード記述の優先順位
現在のドキュメントを最初に確認せずにコードを記述しないでください。
-
埋め込みドキュメントを最初に確認 (パッケージがインストールされている場合)
パッケージの現在のドキュメントを
node_modulesで検索します。@mastra/coreの "Agent" ドキュメントを検索する例:grep -r "Agent" node_modules/@mastra/core/dist/docs/references- 理由: インストール済みバージョンと完全に一致します
- 最も信頼性の高い情報源です
- 詳細:
references/embedded-docs.md
-
ソースコードを次に確認 (パッケージがインストールされている場合)
埋め込みドキュメントで必要な情報が見つからない場合は、ソースコードを直接確認してください。これはより時間がかかりますが、実装の詳細に関する洞察が得られます。
# 利用可能なものを確認 cat node_modules/@mastra/core/dist/docs/assets/SOURCE_MAP.json | grep '"Agent"' # 実際の型定義を読む cat node_modules/@mastra/core/dist/[path-from-source-map]- 理由: ドキュメントがない場合や不明確な場合の究極の情報源です
- 使用時: 埋め込みドキュメントが質問をカバーしていない場合
- 詳細:
references/embedded-docs.md
-
リモートドキュメントを最後に確認 (パッケージがインストールされていない場合)
Mastra ウェブサイトから最新のドキュメントを取得できます:
https://mastra.ai/llms.txt- 理由: 最新発行ドキュメント (インストール済みバージョンより先に進んでいる場合があります)
- 使用時: パッケージがインストールされていない場合または新機能を検索している場合
- 詳細:
references/remote-docs.md
コアコンセプト
エージェント vs ワークフロー
エージェント: 自律的で、意思決定を行い、ツールを使用します 用途: オープンエンドなタスク (サポート、リサーチ、分析)
ワークフロー: 構造化されたステップのシーケンス 用途: 定義されたプロセス (パイプライン、承認、ETL)
主要コンポーネント
- ツール: エージェント機能を拡張 (API、データベース、外部サービス)
- メモリ: コンテキストを維持 (メッセージ履歴、ワーキングメモリ、セマンティック検索、観察メモリ)
- ストレージ: データを永続化 (Postgres、LibSQL、MongoDB)
Mastra Studio
Studio は、エージェント、ワークフロー、ツールを構築、テスト、管理するためのインタラクティブ UI を提供します。ユーザーがデバッグと段階的なアプリケーション改善を行うのをサポートします。
Mastra プロジェクト内で、以下を実行します:
npm run dev
その後、ブラウザで http://localhost:4111 を開いて、ユーザーに Mastra Studio を表示します。
Studio はユーザーに視覚的に検査/デバッグするようにアドバイスするときに使用します。あなた (コーディングエージェント) がマシン可読サーバー状態を必要とする場合は、 を使用します。references/mastra-api.md
重要な要件
TypeScript 設定
Mastra は ES2022 モジュールが必要です。CommonJS は失敗します。
{
"compilerOptions": {
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "bundler"
}
}
モデル形式
Mastra のモデルルーターを使用してモデルを定義するときは、常に "provider/model-name" を使用してください。
プロバイダーレジストリスクリプトを使用して、利用可能なプロバイダーとモデルを検索します:
# すべての利用可能なプロバイダーを一覧表示
node scripts/provider-registry.mjs --list
# 特定のプロバイダーのすべてのモデルを一覧表示 (最新順)
node scripts/provider-registry.mjs --provider openai
node scripts/provider-registry.mjs --provider anthropic
ユーザーがモデルまたはプロバイダーの使用を要求する場合は、常にスクリプトを最初に実行してプロバイダーキーとモデル名が有効であることを確認してください。メモリから頻繁に変更されるモデル名を推測しないでください。
モデル文字列の例:
"openai/gpt-5.5""anthropic/claude-opus-4-7""google/gemini-2.5-pro"
エラーが表示されたとき
型エラーはしばしば知識が古いことを意味します。
廃止された知識の一般的な兆候:
Property X does not exist on type YCannot find moduleType mismatchエラー- コンストラクタパラメータエラー
対応方法:
を確認してくださいreferences/common-errors.md- 埋め込みドキュメントで現在の API を検証してください
- エラーがユーザーの誤りだと仮定しないでください。それはあなたの廃止された知識かもしれません
開発ワークフロー
コードを書く前に常に検証してください:
-
パッケージがインストールされているか確認
ls node_modules/@mastra/ -
現在の API を検索
- インストール済みの場合: 埋め込みドキュメント
を使用してくださいreferences/embedded-docs.md - インストールされていない場合: リモートドキュメント
を使用してくださいreferences/remote-docs.md
- インストール済みの場合: 埋め込みドキュメント
-
現在のドキュメントに基づいてコードを記述
-
Studio でテスト
npm run dev
Mastra API CLI
mastra api CLI を使用して、ローカル開発サーバー (npm run dev)、Mastra プラットフォーム デプロイメント、またはリモート URL エンドポイントなどの任意の Mastra サーバーと対話できます。これは以下に便利です:
- リソースの検査: エージェント、ワークフロー、ツール、スレッド、トレース、ログ、スコアをリストアップ
- アクションの実行: エージェント実行、ツール実行、ワークフロー開始またはレジュメ
- デバッグ: トレース、ログ、スコアをチェックして問題を診断
- データ管理: スレッド、ワーキングメモリ、データセットの作成/更新/削除
完全な CLI 使用パターンについては を参照してください。references/mastra-api.md
リソース
- セットアップ:
references/create-mastra.md - 埋め込みドキュメント検索:
: パッケージがインストールされている場合はここから開始references/embedded-docs.md - リモートドキュメント検索:
references/remote-docs.md - 一般的なエラー:
references/common-errors.md - マイグレーション:
references/migration-guide.md - API CLI:
: ターミナルから任意の Mastra サーバー (ローカル、Mastra プラットフォーム、またはリモート) と対話references/mastra-api.md
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mastra-ai
- リポジトリ
- mastra-ai/skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mastra-ai/skills / ライセンス: Apache-2.0
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。