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

TableJSON Schema
NameRequiredDescriptionDefault
prdContentYes
enhancementTypeYes
focusAreasNo
includeResearchYes
targetAudienceYes
industryContextNo
addMissingElementsYes
improveExistingYes
validateQualityYes

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