Agent Intelligence Enhancements¶
Date: November 18, 2025
Branch: claude/review-webinar-campaign-01Jce2Emqdr9LsiNuSA5Etgf
Overview¶
This document describes comprehensive enhancements to the Vell agent system to transform it from a basic content generator into an intelligent, strategic GTM platform that:
- Makes knowledge usage visible - Explicit RAG in execution traces
- Evaluates strategically - Analysis tied to business goals, not just generic scores
- Refines iteratively - Automatic improvement loops to hit quality targets
- Generates coordinated series - True multi-piece campaigns, not single outputs
- Structures for handoff - Outputs ready for different team members
Problem Statement¶
The original webinar campaign execution (ID 35) showed: - ❌ No evidence of knowledge base usage (generic inputs) - ❌ Analysis disconnected from business goals (SEO: 40 but why?) - ❌ No refinement loop (generate → analyze → stop) - ❌ "Series" was a single email, not a sequence - ❌ No structured handoff (just text blobs)
Result: Indistinguishable from a basic "AI content generator" - not Vellocity-level intelligence.
Enhancements Made¶
1. Enhanced Workflow Planning (WorkflowPlanner)¶
File: app/Extensions/ContentManager/System/Services/AgentCore/WorkflowPlanner.php
Changes:
- Added instruction #4: Explicit KB queries - Plan query_knowledge_base steps BEFORE generate_text to make RAG transparent
- Added instruction #5: Refinement loops - Plan analyze_content → refine_content sequences for high-quality outputs
- Added instruction #6: Series generation - Use generate_content_series for coordinated sequences
- Added comprehensive examples showing KB queries, refinement, and series workflows
Impact: Agents now plan workflows that: - Query knowledge base explicitly (visible in trace) - Refine content iteratively until quality targets are met - Generate true series (3 emails, not 1 email)
Example Planned Workflow (webinar campaign):
{
"steps": [
{
"capability": "query_knowledge_base",
"parameters": {
"query": "webinar details event information product features"
}
},
{
"capability": "generate_content_series",
"parameters": {
"content_type": "social_post",
"series_count": 3,
"series_type": "social_campaign"
},
"depends_on": [0]
},
{
"capability": "analyze_content",
"parameters": {
"content": "social media series",
"target_seo_score": 70,
"target_brand_alignment": 80
},
"depends_on": [1]
}
]
}
2. Strategic Context in Company Model¶
File: app/Models/Company.php
Migration: database/migrations/2025_11_18_000001_add_strategic_context_to_companies_table.php
New Fields Added:
- target_keywords (JSON array) - SEO keywords for content optimization
- Example: ["AWS Marketplace", "co-sell", "B2B SaaS"]
- key_personas (JSON array of objects) - ICPs with pain points and goals
- Example: [{"title": "Alliance Manager", "pain_points": [...], "goals": [...]}]
- gtm_goals (JSON array) - Business outcomes to align content with
- Example: ["Drive webinar registrations", "Generate 50 MQLs"]
- market_positioning (text) - Positioning statement
- Example: "The only unified co-sell platform for AWS Marketplace sellers"
- competitive_differentiators (JSON array) - Unique advantages
- Example: ["Native AWS integration", "Automated partner matching"]
- value_propositions (JSON array of objects) - Value by segment
- Example: [{"segment": "ISVs", "value": "Close deals 3x faster"}]
Impact: Brand Voice now includes strategic GTM context, not just basic company info.
3. Enhanced Brand Voice Context Builder¶
File: app/Extensions/ContentManager/System/Services/AgentCore/BrandVoiceContextBuilder.php
Changes:
- Added strategic fields to buildBrandVoiceContext() method
- Enhanced formatForPrompt() to include:
- Market positioning
- Target keywords with SEO instruction
- Personas with pain points/goals
- GTM goals tied to business outcomes
- Competitive differentiators
- Value propositions by segment
Impact: All AI prompts now include strategic context, making generated content: - Aligned with market positioning - Optimized for target keywords - Addressing persona pain points - Driving toward GTM goals
Example Formatted Context:
# Brand Voice Context
Company: Vellocity
Market Position: The only unified co-sell platform for AWS Marketplace sellers
## Target Keywords (SEO)
AWS Marketplace, co-sell, B2B SaaS, cloud partnerships
IMPORTANT: Incorporate these keywords naturally into content for SEO optimization.
## Target Personas
- Alliance Manager
Pain Points: Manual partner tracking, No co-sell visibility
Goals: Close more co-sell deals, Automate partner workflows
## GTM Goals
IMPORTANT: Align content with these business outcomes:
- Drive webinar registration from AWS partners
- Generate 50 qualified leads from Marketplace sellers
- Close 3 co-sell deals by Q1
4. Strategic Content Analysis¶
File: app/Extensions/ContentManager/System/Services/Capabilities/AnalyzeContentCapability.php
Changes:
- Accept target quality scores as parameters (target_seo_score, target_brand_alignment, etc.)
- Evaluate content against strategic context:
- Which target keywords are present/missing
- Does content address persona pain points?
- Does content drive GTM goals?
- Are competitive differentiators highlighted?
- Return enhanced analysis with:
- meets_targets - Boolean flags for each metric
- strategic_evaluation - Keyword coverage, persona alignment, GTM alignment
- Action-oriented recommendations tied to business goals
Impact: Analysis is no longer generic scores - it's strategic evaluation against business outcomes.
Example Analysis Output:
{
"scores": {
"seo": 45,
"brand_alignment": 60
},
"meets_targets": {
"seo": false,
"brand_alignment": false,
"overall": false
},
"strategic_evaluation": {
"keywords_used": ["AWS Marketplace"],
"keywords_missing": ["co-sell", "B2B SaaS"],
"persona_alignment": "Does not address Alliance Manager pain points",
"gtm_goal_alignment": "Weak connection to webinar registration goal"
},
"recommendations": [
"Add 'co-sell' keyword naturally in CTA",
"Address pain point: manual partner tracking",
"Strengthen registration urgency to drive GTM goal"
]
}
5. New Capability: Refine Content¶
File: app/Extensions/ContentManager/System/Services/Capabilities/RefineContentCapability.php
Purpose: Iteratively refine content based on analysis feedback until quality targets are met.
Parameters:
- original_content - The content to refine
- analysis_results - Analysis feedback with scores and recommendations
- refinement_instructions - Optional guidance
How It Works: 1. Takes original content + analysis feedback 2. Builds refinement prompt with: - Strategic context (keywords, personas, GTM goals) - Analysis issues (missing keywords, low scores, strategic gaps) - Specific recommendations 3. Generates improved version addressing all identified issues 4. Returns refined content with improvements_applied list
Impact: Content is automatically improved until it meets quality standards.
Example Usage (in workflow):
{
"capability": "refine_content",
"parameters": {
"original_content": "from step 1",
"analysis_results": "from step 2",
"refinement_instructions": "Improve to meet target: SEO >= 80, Brand Alignment >= 85"
},
"depends_on": [1, 2]
}
6. New Capability: Generate Content Series¶
File: app/Extensions/ContentManager/System/Services/Capabilities/GenerateContentSeriesCapability.php
Purpose: Generate coordinated series of content pieces that work together as a campaign.
Parameters:
- content_type - Type of content (email, social_post, blog_post)
- topic - Subject matter
- series_count - Number of pieces (e.g., 3)
- series_type - Strategy type (email_sequence, social_campaign, webinar_sequence, blog_series)
- length - short | medium | long
Built-in Series Strategies:
- Email Sequence (e.g., 3 emails):
- Email #1: Announcement - Build awareness and interest
- Email #2: Value/Education - Deepen engagement, address objections
-
Email #3: Urgency/CTA - Create urgency, strong call-to-action
-
Social Campaign (e.g., 3 posts):
- Vary angles: educational → emotional → social proof → CTA
- Each post self-contained but consistent messaging
-
Progressive engagement
-
Webinar Sequence:
- Build anticipation and value
- Address different pain points/personas
- Progressive urgency as date approaches
Output Structure:
{
"success": true,
"series": [
{"piece_number": 1, "content": "...", "word_count": 150},
{"piece_number": 2, "content": "...", "word_count": 145},
{"piece_number": 3, "content": "...", "word_count": 160}
],
"series_count": 3,
"series_type": "email_sequence"
}
Impact: True multi-piece campaigns, not single outputs. Each piece has distinct angle but coordinated strategy.
7. Capability Registration¶
File: app/Extensions/ContentManager/System/Services/AgentCore/CapabilityRegistry.php
Added to Registry:
1. query_knowledge_base - Now explicit and visible in traces
2. refine_content - Iterative refinement
3. generate_content_series - Coordinated series generation
Impact: These capabilities are now available to all agents for intelligent workflows.
Migration Instructions¶
1. Run Database Migration¶
This adds strategic context fields to companies table.
2. Bootstrap New Capabilities¶
use App\Extensions\ContentManager\System\Services\AgentCore\CapabilityRegistry;
CapabilityRegistry::bootstrapDefaults();
This registers the new capabilities in the system.
3. Configure Company Strategic Context (Optional)¶
To enable full strategic intelligence, populate strategic fields for your company:
$company = Company::find(1);
$company->update([
'target_keywords' => ['AWS Marketplace', 'co-sell', 'cloud partnerships'],
'key_personas' => [
[
'title' => 'Alliance Manager',
'pain_points' => ['Manual partner tracking', 'No co-sell visibility'],
'goals' => ['Close more co-sell deals', 'Automate workflows']
],
[
'title' => 'PMM',
'pain_points' => ['Generic content', 'No differentiation'],
'goals' => ['Stand out in marketplace', 'Drive qualified leads']
]
],
'gtm_goals' => [
'Drive webinar registration from AWS partners',
'Generate 50 qualified leads',
'Close 3 co-sell deals by Q1'
],
'market_positioning' => 'The only unified co-sell platform built for AWS Marketplace sellers',
'competitive_differentiators' => [
'Native AWS integration',
'Automated partner matching',
'Deal tracking and attribution'
],
'value_propositions' => [
['segment' => 'ISVs', 'value' => 'Close deals 3x faster with automated co-sell'],
['segment' => 'Partners', 'value' => 'Discover qualified leads from mutual customers']
]
]);
4. Update Agents to Use New Capabilities¶
Enable new capabilities for agents:
$agent = Agent::find(1); // Product Launch Agent
$agent->capabilities = [
'query_knowledge_base',
'generate_text',
'generate_content_series',
'analyze_content',
'refine_content',
];
$agent->save();
Expected Behavior Changes¶
Before (Execution 35):¶
generate_text #1
Parameters: {"topic": "webinar promotion", "length": "short", "content_type": "social_post"}
Result: Generic post with no specific details
analyze_content #2
Result: "SEO: 40 - no keywords"
→ Dead end, no action taken
generate_text #3 (calls it "series")
Result: Single email, not a sequence
After (New Execution):¶
query_knowledge_base #1
Parameters: {"query": "webinar details event information product features target audience"}
Result: 5 relevant KB documents retrieved
→ Visible in trace!
generate_content_series #2
Parameters: {"content_type": "social_post", "series_count": 3, "series_type": "social_campaign"}
Result: 3 coordinated posts with distinct angles
→ True series!
analyze_content #3
Parameters: {"content": "series from #2", "target_seo_score": 70, "target_brand_alignment": 80}
Result: Strategic evaluation showing:
- Keywords used: ["AWS Marketplace", "webinar"]
- Keywords missing: ["co-sell"]
- Persona alignment: "Partially addresses Alliance Manager goals"
- GTM alignment: "Strong connection to webinar registration goal"
- meets_targets.overall: false (SEO: 55, Brand: 75)
refine_content #4 (conditional - only if targets not met)
Parameters: {"original_content": "series from #2", "analysis_results": "from #3"}
Result: Improved series with:
- Missing "co-sell" keyword added naturally
- Stronger persona pain point addressing
- Improved SEO: 78, Brand: 85
→ Iterative improvement!
generate_content_series #5
Parameters: {"content_type": "email", "series_count": 3, "series_type": "email_sequence"}
Result: 3-email drip sequence:
- Email #1: Announcement (build awareness)
- Email #2: Value (address objections)
- Email #3: Urgency (strong CTA)
Design Partner Validation¶
This enhancement addresses all 5 gaps identified by the design partner:
✅ A. Knowledge usage is now visible
- Explicit query_knowledge_base steps in workflow
- KB results shown in trace with source files and relevance scores
- Inputs enriched with KB context
✅ B. Analysis is strategically connected - Scores tied to target keywords, personas, GTM goals - Strategic evaluation shows business impact - Recommendations actionable and goal-oriented
✅ C. Refinement loop adds increasing value
- refine_content capability improves content iteratively
- Targets enforced (SEO >= 80, Brand >= 85)
- Analysis → Refinement → Re-analysis loop
✅ D. "Series" is actually a series
- generate_content_series creates coordinated sequences
- Built-in strategies (email sequence, social campaign, webinar)
- Each piece has distinct angle but consistent messaging
✅ E. Structured for handoff (partial) - Series returned as structured array with piece numbers - Each piece includes metadata (piece_number, total_pieces, series_type) - Next step: Export to ICS/task systems (future enhancement)
Future Enhancements¶
- Structured Output Schemas
- Define typed schemas (Campaign, Asset, PostSeries)
- Export to JSON/CSV for external systems
-
Integration with project management tools
-
Multi-Channel Orchestration
- Map series pieces to channels (LinkedIn, email, blog)
- Assign to team members (PMM, AE, Marketing)
-
Generate ICS files for scheduling
-
Performance Feedback Loop
- Track actual campaign performance (CTR, conversions)
- Feed back into future generations
-
Learn what works for each persona/goal
-
A/B Variant Generation
- Generate multiple variants for each piece
- Test different angles/CTAs
- Auto-select top performer
Testing Recommendations¶
- Test Webinar Campaign Again
- Run: "Generate a webinar promotion campaign with social posts and email series"
- Verify: KB query appears in trace
- Verify: Social series has 3 distinct posts
- Verify: Email series has 3 coordinated emails
- Verify: Analysis shows strategic evaluation
-
Verify: Refinement improves scores if targets not met
-
Test Strategic Context
- Add target keywords to a Company
- Generate content and verify keywords are incorporated
-
Check analysis shows keyword coverage
-
Test Refinement Loop
- Generate content with high quality targets (SEO: 85, Brand: 90)
- Verify workflow includes refinement step
- Verify refined content scores higher
Files Changed¶
Modified:¶
app/Extensions/ContentManager/System/Services/AgentCore/WorkflowPlanner.phpapp/Models/Company.phpapp/Extensions/ContentManager/System/Services/AgentCore/BrandVoiceContextBuilder.phpapp/Extensions/ContentManager/System/Services/Capabilities/AnalyzeContentCapability.phpapp/Extensions/ContentManager/System/Services/AgentCore/CapabilityRegistry.php
Created:¶
database/migrations/2025_11_18_000001_add_strategic_context_to_companies_table.phpapp/Extensions/ContentManager/System/Services/Capabilities/RefineContentCapability.phpapp/Extensions/ContentManager/System/Services/Capabilities/GenerateContentSeriesCapability.phpdocs/AGENT_INTELLIGENCE_ENHANCEMENTS.md(this file)
Summary¶
These enhancements transform the agent system from a basic content generator into an intelligent, strategic GTM platform. Agents now:
- Think strategically - Aligned with business goals, personas, and market positioning
- Use knowledge intelligently - Visible RAG with relevant context
- Improve iteratively - Refinement loops until quality targets are met
- Generate coordinated campaigns - True multi-piece series with distinct angles
- Evaluate against outcomes - Analysis tied to GTM goals, not just generic scores
The result: Vellocity-level intelligence that design partners can see and trust.