Skip to content

Capability User Story Completeness Audit

Date: 2026-01-14 Auditor: Claude Purpose: Identify capabilities with incomplete user stories and opportunities to bring them up to co-sell capability standards


Executive Summary

This audit compares the Gold Standard co-sell capabilities (CoSellMatchingCapability, CppoProposalGeneratorCapability, ContentReadinessAnalyzerCapability) against other capabilities to identify which have incomplete user stories—meaning they perform actions without clear business outcomes or end results.

Key Finding

Many capabilities answer "what" but not "so that I can [end result]":

Capability Current State Missing End Result
GenerateText "Generate text content" → so that I can achieve what specific GTM outcome?
GenerateImage "Generate image" → so that I can use it for what specific marketing asset?
AnalyzeContent "Analyze content" → so that I can take what specific action?
GenerateMetaTags "Generate meta tags" → so that I can improve what specific metric?
RefineContent "Refine content" → so that I can meet what specific quality bar?

Gold Standard Analysis

What Makes Co-Sell Capabilities Complete

The co-sell capabilities (CoSellMatchingCapability, CppoProposalGeneratorCapability) exemplify complete user stories:

1. Purpose-Driven Operations (Multiple Modes)

// CppoProposalGeneratorCapability - 4 distinct business operations
$result = match($proposalType) {
    'generate_proposal' => $this->generateCppoProposal(...),    // Full CPPO creation
    'pricing_structure' => $this->generatePricingStructure(...), // Margin analysis
    'partner_agreement' => $this->generatePartnerAgreement(...), // Legal terms
    'deal_summary' => $this->generateDealSummary(...),           // Executive summary
};

2. Business Intelligence Output

// Returns actionable business context, not just content
return [
    'proposal' => $proposal,
    'cppo_ready' => $this->validateCppoReadiness($proposal),    // Readiness check
    'marketplace_requirements' => $this->getMarketplaceRequirements(),
    'next_steps' => $this->getCppoNextSteps($proposal),         // Actionable next steps
    'estimated_timeline' => $this->estimateCppoTimeline($dealData),
];

3. Stakeholder Simulation (Pre-Validation)

// Implements SimulatableCapabilityInterface
public function simulate(array $parameters, array $context, SimulationConfig $config): SimulationResult
{
    // Simulates how Deal Desk, Legal, Finance would react BEFORE execution
    return $this->getSimulator()->simulate($parameters, $context, $config);
}

4. Weighted Scoring with Business Logic

// ContentReadinessAnalyzerCapability - Same weights as co-sell matching
protected const WEIGHT_ICP = 0.40;      // ICP Completeness
protected const WEIGHT_PRODUCT = 0.35;  // Product Clarity
protected const WEIGHT_MARKET = 0.25;   // Market Definition

Capability-by-Capability Opportunities

1. GenerateTextCapability

Current User Story:

"As a marketing specialist, I want to generate text content, so that I can... [undefined]"

Current Implementation Gaps: - Single operation mode (just "generate") - No content quality gates or success criteria - No connection to GTM goals - No next steps or recommendations - No simulation/preview capability

Opportunity: Marketplace Content Specialist

Transform into purpose-driven content generation aligned with AWS Marketplace GTM:

Proposed Operation Modes:
├── generate_listing_description  → Optimized for AWS Marketplace product listings
├── generate_case_study          → Customer success story with ROI metrics
├── generate_solution_brief      → Technical + business value positioning
├── generate_partner_pitch       → Co-sell partner enablement content
└── generate_competitive_battle_card → Win/loss positioning content

Enhanced User Story:

"As a marketplace product manager, I want to generate a listing description, so that I can improve my AWS Marketplace conversion rate by aligning content with buyer personas and competitive differentiators."

Required Additions: - [ ] Implement SimulatableCapabilityInterface - Preview with Marketing Lead, Product Marketing personas - [ ] Add operation types: listing_description, case_study, solution_brief, partner_pitch, battle_card - [ ] Return next_steps array with publishing workflow - [ ] Return quality_scores with brand alignment, SEO, conversion optimization scores - [ ] Add target_outcome parameter (e.g., "increase listing clicks by 20%") - [ ] Connect to ContentReadinessAnalyzerCapability for pre-generation readiness check


2. GenerateImageCapability

Current User Story:

"As a marketing specialist, I want to generate an image, so that I can... [undefined]"

Current Implementation Gaps: - Generic image generation with no marketing context - No asset type specialization - No brand compliance checking - No usage recommendations

Opportunity: Marketing Asset Generator

Transform into purpose-driven visual asset creation for specific marketing contexts:

Proposed Operation Modes:
├── generate_social_graphic     → LinkedIn, Twitter optimized with CTA
├── generate_listing_hero       → AWS Marketplace product hero image
├── generate_partner_logo_lock  → Co-branded partner materials
├── generate_infographic        → Data visualization for content
├── generate_ad_creative        → Paid media banner variants
└── generate_presentation_slide → Sales deck visual assets

Enhanced User Story:

"As a demand gen marketer, I want to generate a LinkedIn social graphic, so that I can increase engagement on my product launch post by 30% with on-brand visuals that include our key value proposition."

Required Additions: - [ ] Add asset_type parameter with specialized prompts per type - [ ] Return usage_recommendations (optimal platforms, sizes, contexts) - [ ] Return brand_compliance_score checking logo usage, color palette, typography - [ ] Add campaign_context to align with GTM campaigns - [ ] Return variant_suggestions for A/B testing


3. AnalyzeContentCapability

Current User Story:

"As a content creator, I want to analyze content, so that I can... [undefined]"

Current Implementation Gaps: - Analysis without action - No threshold-based pass/fail - No integration with refinement workflow - No competitive benchmarking

Opportunity: Content Performance Predictor

Transform into actionable content scoring that predicts marketplace performance:

Proposed Operation Modes:
├── analyze_for_marketplace    → Predicts AWS Marketplace listing performance
├── analyze_for_cosell         → Scores partner enablement effectiveness
├── analyze_for_seo            → Technical SEO with competitor gap analysis
├── analyze_competitive_position → Battle card effectiveness scoring
└── audit_full                 → Comprehensive multi-dimensional analysis

Enhanced User Story:

"As a content strategist, I want to analyze my marketplace listing, so that I can identify the specific changes that will improve my listing's conversion rate by benchmarking against top-performing competitors."

Required Additions: - [ ] Implement SimulatableCapabilityInterface - Preview with SEO Specialist, Marketplace Expert personas - [ ] Add analysis_type parameter for specialized analysis modes - [ ] Return pass_fail_status with configurable thresholds - [ ] Return competitive_benchmark comparing to industry/competitor standards - [ ] Return estimated_impact with projected performance improvement - [ ] Return automated_fixes that can be applied via RefineContentCapability


4. RefineContentCapability

Current User Story:

"As a content editor, I want to refine content, so that I can... [undefined]"

Current Implementation Gaps: - Refinement without quality gates - No iteration tracking toward goal - No connection to analysis results - No before/after metrics

Opportunity: Quality Gate Enforcer

Transform into goal-driven content improvement that iterates until quality thresholds are met:

Proposed Operation Modes:
├── refine_to_quality_bar      → Iterate until brand_alignment >= 85
├── refine_for_persona         → Optimize for specific buyer persona
├── refine_for_keyword_density → Achieve target keyword integration
├── refine_competitive_gaps    → Address competitor advantages
└── refine_from_analysis       → Apply specific recommendations from AnalyzeContent

Enhanced User Story:

"As a content manager, I want to refine my blog post until it reaches 85% brand alignment, so that I can publish content that consistently meets our quality standards and supports our GTM goals."

Required Additions: - [ ] Add target_scores parameter with thresholds to achieve - [ ] Add max_iterations parameter to prevent infinite refinement - [ ] Return before_after_comparison with score improvements - [ ] Return refinement_log showing what changed and why - [ ] Accept output from AnalyzeContentCapability as input recommendations - [ ] Return publication_ready boolean when thresholds are met


5. GenerateMetaTagsCapability

Current User Story:

"As an SEO specialist, I want to generate meta tags, so that I can... [undefined]"

Current Implementation Gaps: - Generates tags without SEO intelligence - No keyword research integration - No competitive analysis - No click-through prediction

Opportunity: SEO-Optimized Metadata Generator

Transform into strategic metadata creation with performance prediction:

Proposed Operation Modes:
├── generate_marketplace_meta  → Optimized for AWS Marketplace search
├── generate_blog_meta         → Long-tail keyword optimized
├── generate_landing_page_meta → Conversion-focused meta
├── generate_from_competitors  → Beat competitor meta rankings
└── generate_variants          → A/B test variations

Enhanced User Story:

"As an SEO manager, I want to generate marketplace meta tags that outrank my top 3 competitors, so that I can increase organic search impressions by 40% for my target keywords."

Required Additions: - [ ] Integrate with KeywordResearchCapability for data-driven keyword selection - [ ] Add competitor_urls parameter to analyze and beat competitor meta - [ ] Return predicted_ctr based on meta tag quality - [ ] Return keyword_coverage showing which target keywords are included - [ ] Return serp_preview showing how meta will appear in search results - [ ] Add marketplace_optimization mode for AWS Marketplace search algorithm


6. GenerateContentSeriesCapability

Current User Story:

"As a content strategist, I want to generate a content series, so that I can... [undefined]"

Current Implementation Gaps: - Creates content without campaign strategy - No cross-content coordination - No performance tracking setup - No distribution recommendations

Opportunity: Campaign Content Orchestrator

Transform into strategic campaign planning with coordinated content:

Proposed Operation Modes:
├── plan_product_launch_series → Launch campaign content calendar
├── plan_thought_leadership    → Executive positioning content series
├── plan_partner_campaign      → Co-marketing content coordination
├── plan_event_content         → Conference/webinar content package
└── plan_nurture_sequence      → Email nurture content series

Enhanced User Story:

"As a demand gen director, I want to plan a product launch content series, so that I can execute a coordinated 6-week campaign that generates 500 MQLs through aligned messaging across blog, social, and email."

Required Additions: - [ ] Add campaign_type parameter with specialized content strategies - [ ] Return content_calendar with publication schedule - [ ] Return channel_distribution with optimal platforms for each piece - [ ] Return cross_linking_strategy for content interconnection - [ ] Return success_metrics with KPIs for each content piece - [ ] Add campaign_goals parameter (MQLs, traffic, engagement targets)


Priority Matrix

Based on business impact and effort to improve:

Capability Priority Effort Business Impact Recommended First
GenerateText → Marketplace Content P0 Medium High Yes - Core use case
AnalyzeContent → Performance Predictor P0 Medium High Yes - Enables quality gates
RefineContent → Quality Gate Enforcer P1 Low High After AnalyzeContent
GenerateMetaTags → SEO Optimizer P1 Medium Medium After KeywordResearch
GenerateImage → Marketing Assets P2 Medium Medium Nice to have
ContentSeries → Campaign Orchestrator P2 High Medium Future enhancement

Implementation Approach

Phase 1: Foundation (P0 Capabilities)

  1. Add SimulatableCapabilityInterface to GenerateText
  2. Create ContentGenerationSimulator with Marketing Lead, Product Marketing personas
  3. Add pre-generation preview of how content will serve GTM goals

  4. Transform AnalyzeContent into Actionable Insights

  5. Add pass_fail_status with configurable thresholds
  6. Connect output to RefineContentCapability input

  7. Create Feedback Loop

    ContentReadinessAnalyzer → GenerateText → AnalyzeContent → RefineContent → Publish
                     ↑__________________________________|
    

Phase 2: Specialization (P1 Capabilities)

  1. Add Operation Types to GenerateText
  2. listing_description, case_study, solution_brief, partner_pitch, battle_card

  3. Upgrade RefineContent to Goal-Driven

  4. Accept target scores from AnalyzeContent
  5. Iterate until quality thresholds met

  6. Integrate MetaTags with SEO Intelligence

  7. Connect to KeywordResearchCapability
  8. Add competitive analysis

Phase 3: Polish (P2 Capabilities)

  1. Specialize GenerateImage by Asset Type
  2. Build Campaign Orchestrator for ContentSeries

Success Metrics

After implementation, each capability should be measurable:

Capability Current Metric Target Metric
GenerateText Content generated (count) Content published that meets quality bar (%)
AnalyzeContent Analyses run (count) Content improved after analysis (%)
RefineContent Refinements made (count) Content passing quality gates (%)
GenerateMetaTags Tags generated (count) Keyword ranking improvements (position delta)
GenerateImage Images generated (count) Assets used in campaigns (%)

Appendix: User Story Templates

Complete User Story Format

As a [specific role in marketplace GTM],
I want to [specific capability action with operation type],
So that I can [measurable business outcome with success metric].

Acceptance Criteria:
- Output includes [actionable next steps]
- Output includes [quality scores with thresholds]
- Output includes [recommendations for improvement]
- Capability can [simulate/preview before execution]

Example: GenerateText Listing Description

As a Product Marketing Manager for an AWS Marketplace ISV,
I want to generate a marketplace listing description (operation: generate_listing_description),
So that I can improve my listing's click-through rate by 25%
by incorporating our 3 key differentiators and targeting our primary buyer persona (CTO).

Acceptance Criteria:
- Output includes brand_alignment_score >= 85
- Output includes next_steps for publishing workflow
- Output includes keyword_coverage showing target keyword integration
- Capability previews output with Marketing Lead simulation persona before generation

Conclusion

The gap between gold-standard co-sell capabilities and basic content capabilities is significant but addressable. The key transformation is shifting from "generate output" to "achieve business outcome with measurable results."

The co-sell capabilities demonstrate this pattern: 1. Multiple operation modes for different business needs 2. Simulation/preview before execution 3. Business intelligence in output (scores, recommendations, next steps) 4. Clear success criteria and quality gates

By applying this pattern to GenerateText, AnalyzeContent, RefineContent, and other capabilities, we can create a cohesive content generation system that directly supports marketplace GTM outcomes.


Implementation Notes (2026-01-14)

New Capabilities Implemented

Based on this audit, two new gold-standard capabilities have been implemented to address the knowledge gap where partners miss AWS announcements:

1. AWS Innovation Monitor (aws_innovation_monitor)

User Story:

"As a Partner Development Manager, I want to automatically discover AWS announcements relevant to my partners' product offerings, so that I can proactively recommend product enhancements before competitors capitalize on new AWS capabilities."

Key Insight Addressed:

"What typically happens is I meet with partners in my day job, and they don't know that something was released the prior month or even the prior quarter. The PDM assigned to the partner doesn't know, and the SA knows but can only work with so many partners, usually the very large ones."

Operation Modes: - discover_updates - Scan feeds and surface relevant updates for a partner - analyze_relevance - Deep analysis of how a specific AWS update affects a partner - generate_recommendations - Productization suggestions based on AWS updates - batch_process_feeds - Process all feeds and generate embeddings - find_similar - Semantic search using vector embeddings

Gold Standard Features: - [x] SimulatableCapabilityInterface for preview before execution - [x] Multiple operation modes for different business needs - [x] Weighted scoring (40% Product Fit, 35% Market Alignment, 25% Timing) - [x] Business intelligence output (scores, next_steps, recommendations) - [x] Cross-capability communication via text embeddings

Location: app/Extensions/ContentManager/System/Services/Capabilities/AwsInnovationMonitorCapability.php

2. Productization Recommendation Engine (productization_recommendation)

User Story:

"As a Partner Development Manager, I want to see which AWS innovations my partners should incorporate into their products, so that I can proactively suggest product enhancements before competitors capitalize on new AWS capabilities."

Operation Modes: - match_updates - Match AWS updates to partner product profile - generate_roadmap - Create product roadmap from AWS innovations - competitive_analysis - Analyze risk of not acting (including SA bias detection) - implementation_plan - Detailed implementation guidance - bulk_partner_match - Match single update across all partners

Gold Standard Features: - [x] SimulatableCapabilityInterface for preview before execution - [x] Same weighted scoring algorithm as CoSellMatchingCapability - [x] SA Bias Alert (flags when SA might recommend against due to unfamiliarity) - [x] Competitive urgency analysis - [x] Actionable next steps and implementation timelines

Location: app/Extensions/ContentManager/System/Services/Capabilities/ProductizationRecommendationCapability.php

Supporting Infrastructure

Component Purpose Location
AwsInnovationUpdate Model Stores AWS updates with embeddings app/Models/AwsInnovationUpdate.php
Database Migration Tables for updates, relevance, sync logs database/migrations/2026_01_14_000002_create_aws_innovation_updates_table.php
FetchAwsInnovationUpdatesJob Periodic RSS retrieval app/Jobs/FetchAwsInnovationUpdatesJob.php
AwsInnovationMonitorSimulator Dry-run preview app/Services/Capabilities/Simulators/AwsInnovationMonitorSimulator.php
ProductizationRecommendationSimulator Dry-run preview app/Services/Capabilities/Simulators/ProductizationRecommendationSimulator.php

Scoring Algorithm

Both capabilities use the same weighted scoring approach as CoSellMatchingCapability:

// AWS Innovation Monitor
WEIGHT_PRODUCT_FIT = 0.40;       // How well AWS update fits partner products
WEIGHT_MARKET_ALIGNMENT = 0.35; // Target market overlap
WEIGHT_TIMING_URGENCY = 0.25;   // How recent/urgent the update is

// Productization Recommendation
WEIGHT_PRODUCT_FIT = 0.40;       // AWS update alignment with products
WEIGHT_MARKET_ALIGNMENT = 0.35; // Market overlap
WEIGHT_FEASIBILITY = 0.25;      // Implementation feasibility

Cross-Capability Communication via Embeddings

Updates are converted to 1024-dimensional vectors using Amazon Nova Multimodal Embeddings:

// Text preparation for embedding
$textForEmbedding = implode(' | ', [
    $update->title,
    $update->description,
    'Services: ' . implode(', ', $update->aws_services),
    'Category: ' . $update->source_category,
]);

// Generate embedding
$embedding = $embeddingService->embedText($textForEmbedding, 'GENERIC_INDEX');

This enables: - Semantic search across all AWS updates - Partner profile to update similarity matching - Cross-capability queries (e.g., CoSellMatching can find relevant updates)

Scheduled Job Configuration

Add to app/Console/Kernel.php:

// High priority feeds: Every 4 hours
$schedule->job(new FetchAwsInnovationUpdatesJob(
    feedSources: ['aws_marketplace_blog', 'aws_apn_blog'],
    generateEmbeddings: true,
    computeRelevance: true
))->everyFourHours();

// Medium priority: Daily
$schedule->job(new FetchAwsInnovationUpdatesJob(
    feedSources: ['aws_whats_new'],
    generateEmbeddings: true,
    computeRelevance: false
))->daily();

Integration Points

The new capabilities integrate with existing infrastructure:

  1. MarketplaceAwarenessCapability - Can use AwsInnovationUpdate data for GTM insights
  2. CoSellMatchingCapability - Can find relevant updates for matched partners
  3. BedrockEmbeddingService - Provides vector embeddings for semantic search
  4. Partner Model - Leverages existing scoring methods

Next Steps

  1. Run migration: php artisan migrate
  2. Seed capabilities: php artisan db:seed --class=AgentCapabilitySeeder
  3. Configure scheduled jobs in Kernel.php
  4. Initial feed fetch: php artisan tinker then dispatch(new FetchAwsInnovationUpdatesJob())