Skip to main content
Glama

enhance_prd

Improve product requirements documents by adding missing elements, enhancing clarity, and providing comprehensive analysis using AI-powered tools.

Instructions

Enhance an existing PRD with AI-powered improvements, adding missing elements, improving clarity, and providing comprehensive analysis

Input Schema

NameRequiredDescriptionDefault
prdContentYes
enhancementTypeYes
focusAreasNo
includeResearchYes
targetAudienceYes
industryContextNo
addMissingElementsYes
improveExistingYes
validateQualityYes

Input Schema (JSON Schema)

{ "properties": { "addMissingElements": { "type": "string" }, "enhancementType": { "enum": [ "comprehensive", "technical", "user_focused", "business_focused" ] }, "focusAreas": { "items": { "type": "string" }, "type": "array" }, "improveExisting": { "type": "string" }, "includeResearch": { "type": "string" }, "industryContext": { "type": "string" }, "prdContent": { "type": "string" }, "targetAudience": { "type": "string" }, "validateQuality": { "type": "string" } }, "required": [ "prdContent", "enhancementType", "includeResearch", "targetAudience", "addMissingElements", "improveExisting", "validateQuality" ], "type": "object" }

Implementation Reference

  • Main handler function executeEnhancePRD that orchestrates PRD enhancement using PRDGenerationService, validation, feature extraction, summary generation, and response formatting.
    async function executeEnhancePRD(args: EnhancePRDArgs): Promise<MCPResponse> { const prdService = new PRDGenerationService(); try { // Enhance the PRD using AI const enhancedPRD = await prdService.enhancePRD({ currentPRD: args.prdContent, enhancementType: args.enhancementType, focusAreas: args.focusAreas }); // Validate the enhanced PRD if requested let validation; if (args.validateQuality) { validation = await prdService.validatePRDCompleteness(enhancedPRD); } // Extract features for analysis const features = await prdService.extractFeaturesFromPRD(JSON.stringify(enhancedPRD)); // Generate enhancement summary const enhancementSummary = generateEnhancementSummary( args.prdContent, enhancedPRD, args.enhancementType, args.focusAreas ); // Format response const summary = formatPRDEnhancement( enhancedPRD, validation, features, enhancementSummary, args ); return ToolResultFormatter.formatSuccess('enhance_prd', { summary, enhancedPRD, validation, features, enhancementSummary, qualityScore: validation?.score || 0 }); } catch (error) { process.stderr.write(`Error in enhance_prd tool: ${error}\n`); return ToolResultFormatter.formatSuccess('enhance_prd', { error: `Failed to enhance PRD: ${error instanceof Error ? error.message : 'Unknown error'}`, success: false }); } }
  • Tool definition enhancePRDTool including name, description, input schema (enhancePRDSchema), and usage examples.
    export const enhancePRDTool: ToolDefinition<EnhancePRDArgs> = { name: "enhance_prd", description: "Enhance an existing PRD with AI-powered improvements, adding missing elements, improving clarity, and providing comprehensive analysis", schema: enhancePRDSchema as unknown as ToolSchema<EnhancePRDArgs>, examples: [ { name: "Enhance PRD with technical focus", description: "Enhance a basic PRD with detailed technical requirements", args: { prdContent: "# Basic App PRD\n\n## Overview\nWe want to build a task management app...\n\n## Features\n- Create tasks\n- Assign tasks\n- Track progress", enhancementType: "technical", focusAreas: ["technical requirements", "architecture", "scalability"], includeResearch: false, targetAudience: "technical", addMissingElements: true, improveExisting: true, validateQuality: true } } ] };
  • Registration of enhancePRDTool in the ToolRegistry's registerBuiltInTools method, making it available for list_tools and validation.
    // Register AI task management tools this.registerTool(addFeatureTool); this.registerTool(generatePRDTool); this.registerTool(parsePRDTool); this.registerTool(getNextTaskTool); this.registerTool(analyzeTaskComplexityTool); this.registerTool(expandTaskTool); this.registerTool(enhancePRDTool); this.registerTool(createTraceabilityMatrixTool);
  • src/index.ts:377-378 (registration)
    Direct handler dispatch in the main server switch statement for executing the enhance_prd tool.
    case "enhance_prd": return await executeEnhancePRD(args);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HarshKumarSharma/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server