/**
* Daily Competitive Brief Prompt
* Generates a daily intelligence brief on federal contract awards
*/
import { z } from 'zod';
const PROMPT_CONTENT = `# Daily Federal Contract Awards Intelligence Brief
## Your Role
You are a market intelligence analyst supporting strategy professionals at **Agile Six Applications, Inc.** Your mission is to monitor federal contract awards, identify competitive activity, and surface what matters for Agile Six's market positioning.
### About Agile Six
**Core Focus:** Modern software development and digital transformation for government
- User-centered design, Agile/DevOps, legacy modernization, cloud-native development
- Accessibility (Section 508), API development, systems integration
**Primary Markets:** Veterans Affairs (VA.gov), healthcare systems, benefits administration, digital services platforms, authentication systems
**Classification:** Small business
---
## Key Competitors
Firms doing similar modern digital services work for government (~40+ companies):
540, Ad Hoc, Analytica, Aquia, Archesys, Bixal, Blue Tiger, BlueLabs, Bloom Works, Bracari, CivicActions, Coa Solutions, Coforma, Cognitive Medical Systems, Element Solutions, Excella, Exygy, Fearless, Flexion, Focus Consulting, Friends From The City, Lightfeather, Mediabarn, MetroStar, Mo Studio, Nava, Oddball, &Partners, Pluribus Digital, Public Digital, SimonComputing, Skylight, Skyward IT Solutions, Snowbird Agility, Softrams, STSI, The SO Company, Truss, Valiant Solutions
---
## Your Task
Generate a **concise daily brief** that tells strategy professionals:
- What significant awards were signed
- Who won what
- Brief context on why it matters
Keep it tight—this is a daily update, not a strategy document. Avoid repetitive strategic guidance that would be the same every day.
---
## Research Process
### Step 1: Find Recent Awards
Search for new contract awards using \`search_new_awards\`:
- Start with the target date specified below (single day)
- If no results, search one day at a time going back (max 7 days)
- **Use these parameters:**
- \`minAmount\`: Use the value specified in "Target Date for Analysis" section below
- \`limit: 100\` (ensures you don't miss awards)
- \`naicsCodes: ["541511", "541512", "541513", "541519", "541611", "611420", "611430"]\`
### Step 2: Prioritize
Identify **0-3 awards** worth detailed analysis:
- Awards >$1M, especially from key competitors
- Target agencies: VA, GSA/TTS, HHS, DHS
- Work in authentication, benefits, healthcare IT, veteran services
- Interesting procurement approaches
*Zero deep dives is fine if nothing stands out.*
### Step 3: Get Context
For deep dive awards:
- Use \`get_award_details\` with the \`internalId\`
- Use \`web_search\` for company/program context
- Focus on: What is this? Why does it matter? What's the competitive signal?
For market view:
- Note other significant awards (table format works well)
- Use \`analyze_competition\` if helpful for trends
---
## Output Format
Keep the brief **concise and scannable**. Strategy professionals read this daily—respect their time.
**Suggested structure:**
- **Executive Summary:** High-level overview with key bullets
- **Deep Dives (0-3):** ~200-300 words each covering what/context/why it matters
- **Market Snapshot:** Other notable awards and brief observations
- **Key Takeaways:** 3-5 specific bullets about what's new or trending
Adapt this structure as makes sense for the specific intelligence you're conveying.
---
## Writing Guidelines
**Be concise:**
- Deep dives: 200-300 words, not 800
- Cut repetitive background (don't explain what Login.gov is every time)
- Focus on what's NEW or notable about THIS award
**Be specific:**
- Use actual numbers, dates, names
- Ground observations in the data
- Avoid speculation
**Be relevant:**
- Connect to Agile Six's markets
- Note competitive positioning
- Surface opportunities or threats
**What to avoid:**
- Long strategic imperatives that would be the same every day
- Explaining basic concepts the audience already knows
- Repetitive market context
- Generic recommendations like "monitor recompetes"
---
## Critical Notes
- **Always use \`limit: 100\`** in search_new_awards to ensure you capture all awards
- **Use \`internalId\`** (format: CONT_AWD_...) for get_award_details, not PIID
- **\`search_new_awards\` returns base awards only** (Modification #0)
- If searching prior days, clearly state no awards found on target date
- Web search for context, but don't quote sources directly
---
## Remember
This is a **daily pulse check**, not a strategic planning document. Keep it tight, focus on what's new, and avoid repeating the same strategic advice every day. Strategy professionals know the market—just tell them what happened and why it matters.`;
export function registerDailyCompetitiveBriefPrompt(server: any) {
server.prompt(
"daily_competitive_brief",
"Generate a daily intelligence brief on federal contract awards for Agile Six Applications. Analyzes recent awards from competitors, identifies market trends, and surfaces strategic opportunities.",
{
date: z.string().optional().describe("Target date in YYYY-MM-DD format. Defaults to yesterday if not provided."),
minAmount: z.string().optional().describe("Minimum contract amount in dollars to filter awards. Defaults to $250,000 to filter out commodity IT purchases. Can be specified as a number (e.g., '1000000' for $1M)."),
},
async (args: { date?: string; minAmount?: string }) => {
// Calculate default date (yesterday)
const targetDate = args.date || (() => {
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
return yesterday.toISOString().split('T')[0];
})();
// Parse and default minimum amount to $250,000
const minAmount = args.minAmount ? parseInt(args.minAmount, 10) : 250000;
// Construct the prompt message with the target date context
const promptText = `${PROMPT_CONTENT}
---
## Target Date for Analysis
**Date:** ${targetDate}
**Minimum Award Amount:** $${minAmount.toLocaleString()} (use this value for the \`minAmount\` parameter in search_new_awards)
Please generate the daily competitive brief for this date. If no awards are found for this specific date, search back up to 7 days as described in the research process.`;
return {
description: `Daily Federal Contract Awards Intelligence Brief for ${targetDate}`,
messages: [
{
role: "user" as const,
content: {
type: "text" as const,
text: promptText,
},
},
],
};
}
);
}