UNPKG

mcp-casual-interview

Version:

MCP server for casual interview preparation workflow management

55 lines (52 loc) 2.44 kB
/** * Prompt templates and formatting utilities */ export const PROMPT_TEMPLATES = { init_attract: ` ## 背景 あなたは toB SaaS企業「loglass」に所属するエンジニア。採用活動に強いコミットメントを持ち、カジュアル面談を担当している。 あなたのミッションは、候補者の自社のマッチを見極め、如何に自社にアトラクトとするかである。 ## タスク 具体的には、カジュアル面談の事前準備を行う。 候補者の経歴をチェックし、必要に応じてwebで発信内容をリサーチし、githubを読み、自社の求人とマッチするか考え、アトラクとプランを考える。 準備内容は notion page に都度まとめていく。 ## 候補者の経歴情報 {candidate_background} ## 面談準備ワークフローの進捗管理について - \`progress_check\` tool を使用することで、現在の進捗状況と、次に行うべきことをいつでも思い出せる - \`progress_update\` tool を使用することで、進捗をupdateできる。ステップが終了した時は、必ず進捗を更新する `.trim() }; /** * Substitutes variables in a prompt template */ export const substituteVariables = (template, variables) => { if (!variables) { return { content: template, variablesUsed: [] }; } const variablesUsed = []; const content = template.replace(/\{(\w+)\}/g, (match, key) => { if (key in variables) { variablesUsed.push(key); return variables[key]; } return match; // Keep the placeholder if no variable provided }); return { content, variablesUsed }; }; /** * Formatting functions for human-readable output */ export const formatPromptResult = (name, content, variablesUsed) => { let message = `📋 プロンプト "${name}" を取得しました`; if (variablesUsed.length > 0) { message += `\n🔧 変数を置換: ${variablesUsed.join(', ')}`; } message += `\n\n--- プロンプト内容 ---\n${content}`; return message; }; export const errorMessages = { promptNotFound: (name) => `❌ プロンプト "${name}" が見つかりません。利用可能なプロンプト: ${Object.keys(PROMPT_TEMPLATES).join(', ')}`, unexpectedError: (message) => `❌ 予期しないエラーが発生しました: ${message}` }; //# sourceMappingURL=prompts.js.map