get_value_map_positioning_guide
Generate structured product positioning guides with taglines, position statements, personas, and value cases using the Open Strategy Partners methodology.
Instructions
Get the Open Strategy Partners (OSP) Product Communications Value Map Generation System for Product Positioning, including taglines, position statements, personas, value cases, and feature categorization in a structured hierarchy.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/index.ts:119-143 (handler)The inline handler function for the tool that reads the 'product-value-map-llm.md' file using ContentReader, parses it, and returns structured JSON response or error.async (_extra) => { try { const content = await contentReader.readMarkdownFile('product-value-map-llm.md'); return { content: [{ type: "text", text: JSON.stringify({ success: true, data: { content } }) }] }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : String(error) }) }], isError: true }; } }
- src/tools/index.ts:116-144 (registration)Registration of the 'get_value_map_positioning_guide' tool using McpServer.tool method, providing name, description, and inline handler function.server.tool( "get_value_map_positioning_guide", "Get the Open Strategy Partners (OSP) Product Communications Value Map Generation System for Product Positioning, including taglines, position statements, personas, value cases, and feature categorization in a structured hierarchy.", async (_extra) => { try { const content = await contentReader.readMarkdownFile('product-value-map-llm.md'); return { content: [{ type: "text", text: JSON.stringify({ success: true, data: { content } }) }] }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : String(error) }) }], isError: true }; } } );
- src/utils/contentReader.ts:14-32 (helper)The ContentReader.readMarkdownFile helper method used by the tool handler to load and cache the markdown guide content from the resources directory.async readMarkdownFile(filename: string): Promise<string> { // Check cache if (this.cache.has(filename)) { return this.cache.get(filename)!; } try { const filePath = join(this.resourcesDir, filename); const content = await readFile(filePath, 'utf-8'); // Store in cache this.cache.set(filename, content); return content; } catch (error) { console.error(`Error reading file ${filename}:`, error); throw new Error(`Required file '${filename}' not found`); } }