Synthèse automatique
Skill qui guide la conception et l'implémentation d'API orientées ressources pour MCP, de la définition du modèle de ressources et du schéma d'URI jusqu'à l'écriture du fournisseur.
Points forts
- Déroulé en trois phases explicites : modélisation des ressources, implémentation du provider, puis optimisation et vérification
- Fournit des gabarits concrets (définition JSON de ressource, squelette de provider TypeScript) et des scripts de validation pour les définitions et les URI
- Liste de bonnes pratiques actionnable : URI hiérarchiques sans verbes, noms au pluriel en kebab-case, profondeur limitée à 4 niveaux, encodage des caractères spéciaux
- Inclut des contrôles de sécurité (path traversal, liste blanche de schémas) et des références dédiées au cache et aux transformations de ressources
Limites
- Contenu rédigé uniquement en japonais, ce qui limite l'usage par des équipes non japonophones
- Couvre exclusivement les ressources MCP : les tools, prompts et autres primitives ne sont pas traités
- Suppose un écosystème TypeScript/Node et la présence des dossiers agents/, references/, scripts/ et assets/ à côté du SKILL.md
À utiliser lorsqu'on conçoit un modèle de ressources MCP, un schéma d'URI ou l'implémentation d'un resource provider.
À éviter pour concevoir des tools ou prompts MCP, ou pour une API REST classique sans lien avec MCP.
Analyse de sécurité
PrudenceNo destructive, exfiltration, obfuscation, or safety-disabling instructions are present, and the described tool use is legitimate for API design and validation. However, Bash plus Write/Edit and referenced local scripts provide meaningful execution and filesystem-modification capability, so it warrants caution rather than safe.
- •Declares Bash tool, allowing command execution for validation/logging workflows.
- •Declares Write/Edit tools, allowing modification of project files.
- •References local scripts (validate-resource-definition.mjs, validate-uri.mjs, log_usage.mjs) whose contents are not included, so runtime behavior depends on those files.
Exemples
SQLiteのデータベースをMCPサーバーで公開したい。テーブルとレコードをリソースとして扱うモデルを設計して、URIスキームとMIMEタイプまで決めてください。Design an MCP resource provider for our docs site: define the URI scheme, generate the resource definition JSON, and scaffold the TypeScript provider class.Validate this URI scheme with scripts/validate-uri.mjs, check for path traversal risks, and propose a cache invalidation strategy for these resources.name: resource-oriented-api description: | MCPのリソース指向API設計パターンを提供。URIスキーム設計、リソースモデル定義、 プロバイダー実装、キャッシュ戦略、リソース変換パターンを網羅する。
Anchors: • RESTful Web APIs (Leonard Richardson) / 適用: リソース設計・URI設計 / 目的: REST原則の適用 • MCP Resource Protocol / 適用: リソースプロバイダー実装 / 目的: MCP仕様準拠
Trigger: Use when designing MCP resources, implementing resource providers, or defining URI schemes. MCP resource, resource provider, URI scheme, リソース定義, リソースモデル, API設計 allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
Resource Oriented API
概要
MCPのリソース指向API設計パターンを提供するスキル。URIスキーム設計からリソースプロバイダー実装まで、リソース指向APIの設計・実装を支援する。
ワークフロー
Phase 1: リソースモデル設計
目的: ドメインに適したリソースモデルを設計する
アクション:
- リソースとして公開すべきエンティティを特定
- リソース間の階層・関連を定義
- URIスキームを設計(
references/uri-scheme-guide.md参照) - MIME-typeとコンテンツ形式を決定
Task: agents/design-resource-model.md を参照
Phase 2: リソースプロバイダー実装
目的: 設計したリソースモデルをMCPプロバイダーとして実装
アクション:
- リソース定義JSONを作成(
assets/resource-definition-template.json参照) - プロバイダークラスを実装(
assets/resource-provider-template.ts参照) scripts/validate-resource-definition.mjsで定義を検証scripts/validate-uri.mjsでURI設計を検証
Task: agents/implement-provider.md を参照
Phase 3: 最適化と検証
目的: パフォーマンスとセキュリティを最適化
アクション:
- キャッシュ戦略を適用(
references/caching-strategies.md参照) - リソース変換パターンを適用(
references/resource-transformation.md参照) - セキュリティチェック(パストラバーサル、スキーム制限)
- 最終検証と記録(
scripts/log_usage.mjs)
Task仕様(ナビゲーション)
| Task | 起動タイミング | 入力 | 出力 | | --------------------- | -------------- | -------------------- | -------------------- | | design-resource-model | Phase 1開始時 | ドメイン要件 | リソースモデル設計書 | | implement-provider | Phase 2開始時 | リソースモデル設計書 | プロバイダー実装 |
詳細仕様: 各Taskの詳細は agents/ ディレクトリの対応ファイルを参照
ベストプラクティス
すべきこと
- URIは階層的で直感的な構造にする(例:
/users/123/posts/456) - リソース名は複数形・ケバブケースを使用(例:
my-resources) - パス深度は最大4レベルに制限
- 特殊文字は適切にパーセントエンコード
- キャッシュ戦略を必ず検討する
避けるべきこと
- 動詞をURIに含めない(例:
/getUserは不可、/users/123を使用) - パストラバーサル脆弱性を放置しない
- 無制限のスキーム許可(許可リストで制限する)
- キャッシュ無効化戦略なしでの運用
リソース参照
references/(詳細知識)
| リソース | パス | 用途 | | --------------------- | ---------------------------------------------------------------------------------- | ---------------------------- | | URIスキーム設計ガイド | See references/uri-scheme-guide.md | URI構造・命名規則・正規化 | | キャッシュ戦略ガイド | See references/caching-strategies.md | 多層キャッシュ・無効化戦略 | | リソース変換パターン | See references/resource-transformation.md | パイプライン・フィルタリング |
scripts/(決定論的処理)
| スクリプト | 用途 | 使用例 |
| ---------------------------------- | ------------------ | --------------------------------------------------------------- |
| validate-resource-definition.mjs | リソース定義検証 | node scripts/validate-resource-definition.mjs definition.json |
| validate-uri.mjs | URI形式検証 | node scripts/validate-uri.mjs "db://sqlite/users/123" |
| log_usage.mjs | フィードバック記録 | node scripts/log_usage.mjs --result success --phase "Phase 3" |
assets/(テンプレート)
| テンプレート | 用途 |
| ----------------------------------- | ---------------------------- |
| resource-definition-template.json | リソース定義JSONテンプレート |
| resource-provider-template.ts | TypeScriptプロバイダー雛形 |
変更履歴
| Version | Date | Changes | | ------- | ---------- | -------------------------------------------- | | 2.0.0 | 2026-01-02 | 18-skills.md仕様に準拠、agents追加、構造改善 | | 1.0.1 | 2025-12-24 | Spec alignment and required artifacts added |
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/resource-oriented-api-design-for-mcp-mmbizjv9/download' --output '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md.part' && mv '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md.part' '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md' && test -s '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/resource-oriented-api' && cp -R '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9' '.claude/skills/resource-oriented-api'Cursor
test -f '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md' && test -s '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/resource-oriented-api' && cp -R '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9' '.cursor/skills/resource-oriented-api'Codex
test -f '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md' && test -s '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/resource-oriented-api' && cp -R '.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9' '.agents/skills/resource-oriented-api'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9'openskills read 'resource-oriented-api-design-for-mcp-mmbizjv9'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/resource-oriented-api-design-for-mcp-mmbizjv9/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.