ツールライブラリパターン
:LiTarget: 用途
各セクションで使うミニツール(電卓・コンバーター等)を一元管理するパターン。
:LiSparkle: 特徴
- ツール定義の単一情報源
- カテゴリ管理
- 検索可能
:LiCode: 実コード(SCALE Base より自動抽出)
:LiInfo:
lib/tools-library.tsの中身そのもの。コピペ即可。
// SCALE Base 連携ツールライブラリ
// 社内で参考・活用できる外部ツール/AIサービスを一元管理
// 各システムから `systemIds` でフィルタして表示する
export interface ExternalTool {
id: string;
name: string;
url: string;
category: string; // 表示用のカテゴリ
description: string; // 1〜2行の説明
why: string; // なぜSCALE Baseに内包するか
systemIds: string[]; // 表示される対象システム
tags: string[];
highlight?: boolean; // Top推薦
}
export const TOOLS_LIBRARY: ExternalTool[] = [
// ===== Design / Creative =====
{
id: 'v0',
name: 'v0.dev',
url: 'https://v0.dev',
category: 'Design / Code',
description: 'Vercelによるプロンプト→Reactコンポーネント生成AI',
why: 'Design Studio の起爆剤。テキスト指示でUIが出る',
systemIds: ['design', 'services'],
tags: ['AI', 'UI', 'React'],
highlight: true,
},
{
id: 'galileo',
name: 'Galileo AI',
url: 'https://www.usegalileo.ai',
category: 'Design',
description: 'テキストからUI/アプリ画面を生成',
why: 'アプリのモック・画面案を秒で作成',
systemIds: ['design'],
tags: ['AI', 'UI'],
},
{
id: 'magic-patterns',
name: 'Magic Patterns',
url: 'https://www.magicpatterns.com',
category: 'Design',
description: 'A/Bパターン自動生成、UIバリエーション比較',
why: 'デザイン案を大量に出して比較',
systemIds: ['design'],
tags: ['AI', 'UI', 'A/B'],
},
{
id: 'recraft',
name: 'Recraft',
url: 'https://www.recraft.ai',
category: 'Design',
description: 'ブランド整合ベクター画像生成AI',
why: 'ブランドガイドに沿ったアイコン・イラスト量産',
systemIds: ['design', 'brand'],
tags: ['AI', 'Image', 'Brand'],
},
{
id: 'krea',
name: 'Krea',
url: 'https://www.krea.ai',
category: 'Design',
description: 'リアルタイム画像生成+編集',
why: '即時フィードバックで画像を作り込める',
systemIds: ['design'],
tags: ['AI', 'Image'],
},
// ===== Research / Insight =====
{
id: 'exa',
name: 'Exa',
url: 'https://exa.ai',
category: 'Research',
description: 'セマンティック検索で競合・類似サービス調査',
why: 'Service Insight のバックエンドとして理想',
systemIds: ['insight', 'rnd'],
tags: ['AI', 'Search'],
highlight: true,
},
{
id: 'perplexity',
name: 'Perplexity',
url: 'https://www.perplexity.ai',
category: 'Research',
description: '出典付きAI検索・調査ワークフロー',
why: '出典付きで信頼性高くリサーチ',
systemIds: ['insight', 'assistant', 'rnd'],
tags: ['AI', 'Search'],
},
{
id: 'consensus',
name: 'Consensus',
url: 'https://consensus.app',
category: 'Research',
description: '学術論文からエビデンス抽出',
why: 'R&D で根拠ベースの企画に',
systemIds: ['rnd'],
tags: ['AI', 'Research'],
},
{
id: 'elicit',
name: 'Elicit',
url: 'https://elicit.com',
category: 'Research',
description: 'リサーチワークフロー自動化',
why: '論文・レポートの横断解析',
systemIds: ['rnd'],
tags: ['AI', 'Research'],
},
{
id: 'kompyte',
name: 'Kompyte',
url: 'https://www.kompyte.com',
category: 'Intelligence',
description: '競合監視ダッシュボード',
why: '競合のHP変更・価格改定を自動検知',
systemIds: ['brand', 'insight'],
tags: ['Monitoring', 'Competitor'],
},
// ===== Automation =====
{
id: 'n8n',
name: 'n8n',
url: 'https://n8n.io',
category: 'Automation',
description: 'OSS Zapier、自社ホスト可',
why: 'ワークフロー基盤として強力。自社データで完結',
systemIds: ['automation'],
tags: ['Workflow', 'OSS'],
highlight: true,
},
{
id: 'windmill',
name: 'Windmill',
url: 'https://www.windmill.dev',
category: 'Automation',
description: 'スクリプト+ワークフロー統合',
why: 'コードとGUIを両立したオートメーション',
systemIds: ['automation'],
tags: ['Workflow', 'Scripting'],
},
{
id: 'trigger',
name: 'Trigger.dev',
url: 'https://trigger.dev',
category: 'Automation',
description: 'コードファーストの長時間ジョブ',
why: 'エンジニア主導でイベント駆動自動化',
systemIds: ['automation', 'services'],
tags: ['Jobs', 'Code'],
},
{
id: 'inngest',
name: 'Inngest',
url: 'https://www.inngest.com',
category: 'Automation',
description: 'イベント駆動ワークフロー',
why: 'プロダクト機能にも組み込めるジョブ基盤',
systemIds: ['automation', 'services'],
tags: ['Events'],
},
{
id: 'dify',
name: 'Dify',
url: 'https://dify.ai',
category: 'AI App',
description: 'ノーコードAIアプリ構築プラットフォーム',
why: 'AI Ops の補完。社内AIアプリを量産',
systemIds: ['ai-ops', 'automation'],
tags: ['AI', 'NoCode'],
highlight: true,
},
{
id: 'langflow',
name: 'Langflow',
url: 'https://www.langflow.org',
category: 'AI App',
description: 'LangChainのビジュアルフロー',
why: 'AIワークフローを視覚的に構築',
systemIds: ['ai-ops', 'automation'],
tags: ['AI', 'LangChain'],
},
// ===== Analytics / Data =====
{
id: 'posthog',
name: 'PostHog',
url: 'https://posthog.com',
category: 'Analytics',
description: 'プロダクト分析+セッションリプレイ',
why: 'Data Lake を一気にプロダクト分析基盤に昇格',
systemIds: ['datalake', 'services'],
tags: ['Analytics', 'OSS'],
highlight: true,
},
{
id: 'umami',
name: 'Umami',
url: 'https://umami.is',
category: 'Analytics',
description: 'プライバシー重視の軽量分析',
why: 'GA代替として自社HPに導入',
systemIds: ['datalake', 'hp'],
tags: ['Analytics', 'Privacy'],
},
{
id: 'metabase',
name: 'Metabase',
url: 'https://www.metabase.com',
category: 'BI',
description: 'OSS BIダッシュボード',
why: 'データをGUIで可視化',
systemIds: ['datalake', 'command'],
tags: ['BI', 'OSS'],
},
{
id: 'evidence',
name: 'Evidence',
url: 'https://evidence.dev',
category: 'BI',
description: 'Markdownで書けるBIレポート',
why: 'エンジニア主導のデータレポート',
systemIds: ['datalake'],
tags: ['BI', 'Markdown'],
},
{
id: 'motherduck',
name: 'MotherDuck',
url: 'https://motherduck.com',
category: 'DB',
description: 'DuckDBのクラウド版',
why: '軽量高速な分析DB。ミニマルな分析基盤',
systemIds: ['datalake'],
tags: ['DB', 'Analytics'],
},
// ===== Writing / Content =====
{
id: 'lex',
name: 'Lex',
url: 'https://lex.page',
category: 'Writing',
description: 'AIで書く長文エディタ',
why: '記事・レポート執筆の生産性を上げる',
systemIds: ['writing', 'docs'],
tags: ['AI', 'Editor'],
},
{
id: 'typefully',
name: 'Typefully',
url: 'https://typefully.com',
category: 'Social',
description: 'X スレッド予約投稿+分析',
why: 'X運用の効率化、既存X機能と連携',
systemIds: ['x'],
tags: ['X', 'Scheduler'],
},
{
id: 'jenni',
name: 'Jenni AI',
url: 'https://jenni.ai',
category: 'Writing',
description: '論文/記事の執筆支援AI',
why: 'アカデミックライティング向け',
systemIds: ['writing'],
tags: ['AI'],
},
{
id: 'frase',
name: 'Frase',
url: 'https://www.frase.io',
category: 'SEO',
description: 'SERP分析+コンテンツ最適化',
why: 'SEO記事の上位表示ハック',
systemIds: ['seo'],
tags: ['SEO'],
},
{
id: 'writesonic',
name: 'Writesonic',
url: 'https://writesonic.com',
category: 'Writing',
description: 'コンテンツ量産AI',
why: 'ブログ・広告コピー量産',
systemIds: ['writing', 'seo'],
tags: ['AI'],
},
// ===== Marketing / Growth / CRM =====
{
id: 'gumloop',
name: 'Gumloop',
url: 'https://www.gumloop.com',
category: 'Automation',
description: 'マーケ特化AI自動化',
why: 'リード獲得からナーチャリングまで',
systemIds: ['automation', 'crm'],
tags: ['AI', 'Marketing'],
},
{
id: 'clay',
name: 'Clay',
url: 'https://www.clay.com',
category: 'CRM',
description: 'リード enrichment(個人情報補完)',
why: 'CRMを数倍強化。リードデータが自動で充実',
systemIds: ['crm'],
tags: ['Sales', 'Data'],
highlight: true,
},
{
id: 'apollo',
name: 'Apollo.io',
url: 'https://www.apollo.io',
category: 'CRM',
description: 'リード発掘+アウトバウンド',
why: '大量アウトバウンドの鉄板',
systemIds: ['crm'],
tags: ['Sales'],
},
{
id: 'lemlist',
name: 'Lemlist',
url: 'https://www.lemlist.com',
category: 'CRM',
description: 'パーソナライズメール配信',
why: '個別最適メール大量送信',
systemIds: ['crm'],
tags: ['Email'],
},
{
id: 'instantly',
name: 'Instantly',
url: 'https://instantly.ai',
category: 'CRM',
description: '大量アウトバウンド+到達率保護',
why: 'Gmail/Outlookのスパム判定回避',
systemIds: ['crm'],
tags: ['Email', 'Deliverability'],
},
// ===== Meeting / Voice / AI =====
{
id: 'granola',
name: 'Granola',
url: 'https://www.granola.ai',
category: 'Meeting',
description: '会議メモ+AIサマリ',
why: 'Tasks作業報告と相性バツグン',
systemIds: ['tasks', 'assistant'],
tags: ['AI', 'Meeting'],
highlight: true,
},
{
id: 'tldv',
name: 'tl;dv',
url: 'https://tldv.io',
category: 'Meeting',
description: 'Zoom録画+議事録自動化',
why: 'ミーティング自動議事録(社内利用中)',
systemIds: ['tasks'],
tags: ['Meeting'],
},
{
id: 'fireflies',
name: 'Fireflies',
url: 'https://fireflies.ai',
category: 'Meeting',
description: 'AI議事録+タスク抽出',
why: '議事録からタスク自動生成',
systemIds: ['tasks'],
tags: ['AI', 'Meeting'],
},
{
id: 'elevenlabs',
name: 'ElevenLabs',
url: 'https://elevenlabs.io',
category: 'Voice',
description: '高品質音声生成',
why: 'ナレーション・広告音声を自前で',
systemIds: ['ai-ops', 'design'],
tags: ['Voice', 'AI'],
},
{
id: 'vapi',
name: 'Vapi',
url: 'https://vapi.ai',
category: 'Voice',
description: '電話AIエージェント',
why: 'カスタマーサポート・アポ取りをAI化',
systemIds: ['ai-ops'],
tags: ['Voice', 'AI'],
},
// ===== Developer / Engineering =====
{
id: 'linear',
name: 'Linear',
url: 'https://linear.app',
category: 'PM',
description: 'issue tracking(開発管理)',
why: '開発タスクとServicesの統合',
systemIds: ['services', 'tasks'],
tags: ['PM', 'Dev'],
},
{
id: 'cursor',
name: 'Cursor',
url: 'https://cursor.sh',
category: 'IDE',
description: 'AIネイティブIDE',
why: '開発速度が劇的に上がる',
systemIds: ['services'],
tags: ['AI', 'Dev'],
},
{
id: 'sourcegraph',
name: 'Sourcegraph Cody',
url: 'https://sourcegraph.com/cody',
category: 'Dev',
description: '大規模コード検索AI',
why: 'コードベース全体をAIで理解',
systemIds: ['services'],
tags: ['AI', 'Dev'],
},
{
id: 'graphite',
name: 'Graphite',
url: 'https://graphite.dev',
category: 'Dev',
description: 'PRスタックベースのレビュー',
why: 'レビュー体験を次世代化',
systemIds: ['services'],
tags: ['Dev', 'Review'],
},
// ===== Knowledge / Docs =====
{
id: 'mem',
name: 'Mem',
url: 'https://mem.ai',
category: 'Notes',
description: 'AI知識ベース',
why: '社内ナレッジをAIで検索',
systemIds: ['docs', 'assistant'],
tags: ['AI', 'Notes'],
},
{
id: 'reflect',
name: 'Reflect',
url: 'https://reflect.app',
category: 'Notes',
description: 'ネットワーク型ノート',
why: '思考の連鎖を可視化',
systemIds: ['docs'],
tags: ['Notes'],
},
{
id: 'glean',
name: 'Glean',
url: 'https://www.glean.com',
category: 'Search',
description: '社内横断検索AI',
why: 'Slack/Notion/Driveを横断検索',
systemIds: ['assistant', 'docs'],
tags: ['AI', 'Search'],
},
{
id: 'fibery',
name: 'Fibery',
url: 'https://fibery.io',
category: 'Workspace',
description: 'カスタムワークスペース',
why: 'Notion代替、柔軟なデータモデル',
systemIds: ['tasks', 'docs'],
tags: ['Workspace'],
},
// ===== Unique / Emerging =====
{
id: 'cal',
name: 'Cal.com',
url: 'https://cal.com',
category: 'Scheduler',
description: 'OSSスケジューラ、API豊富',
why: 'カレンダー機能の拡張',
systemIds: ['tasks'],
tags: ['Calendar', 'OSS'],
},
{
id: 'attio',
name: 'Attio',
url: 'https://attio.com',
category: 'CRM',
description: 'データモデル柔軟なCRM',
why: '次世代CRM、APIファースト',
systemIds: ['crm'],
tags: ['CRM'],
},
{
id: 'outerbase',
name: 'Outerbase',
url: 'https://outerbase.com',
category: 'DB Client',
description: 'AI統合DBクライアント',
why: 'データへのアクセスをAIで簡単に',
systemIds: ['datalake', 'services'],
tags: ['DB', 'AI'],
},
{
id: 'arcade',
name: 'Arcade Software',
url: 'https://www.arcade.software',
category: 'Demo',
description: 'プロダクトデモをGIF化',
why: 'デモ動画を爆速で作成',
systemIds: ['docs', 'hp', 'brand'],
tags: ['Demo'],
},
{
id: 'supademo',
name: 'Supademo',
url: 'https://supademo.com',
category: 'Demo',
description: 'インタラクティブデモ作成',
why: 'オンボーディング用デモに',
systemIds: ['hr', 'docs', 'hp'],
tags: ['Demo'],
},
{
id: 'retool',
name: 'Retool',
url: 'https://retool.com',
category: 'Internal Tools',
description: '社内ツール爆速構築',
why: '管理画面をドラッグ&ドロップで',
systemIds: ['services', 'admin'],
tags: ['NoCode'],
},
];
export function toolsForSystem(systemId: string): ExternalTool[] {
return TOOLS_LIBRARY.filter(t => t.systemIds.includes(systemId));
}
export function getHighlights(): ExternalTool[] {
return TOOLS_LIBRARY.filter(t => t.highlight);
}
export function getAllCategories(): string[] {
return Array.from(new Set(TOOLS_LIBRARY.map(t => t.category))).sort();
}
:LiFolder: ソースファイルのパス
/Users/oogushiyuuki/Library/CloudStorage/GoogleDrive-y-ogushi@scale-group.co.jp/マイドライブ/AI/scale-base/lib/tools-library.ts
:LiHandPointer: 使い方
対象プロジェクトに該当ファイルをコピーして、props を流し込むだけ。
:LiAlertCircle: 注意事項
- 依存パッケージを忘れず追加