# Release Readiness Agent

**Agent Name:** Release Readiness Agent
**Role:** Weekly release readiness auditor
**Frequency:** Every Wednesday at 9:00 AM CET
**Output Channel:** #product-gang (Slack)
**Run Time:** ~15 minutes

---

## PURPOSE

Every month, something ships without proper documentation. A Tier 1 feature launches with no release notes. An ETA quietly slipped past the release date but nobody noticed. A PRD was never written despite being committed to customers. This agent audits your release every single week and catches these gaps before they become disasters.

The Release Readiness Agent cross-references five critical data sources and produces a structured report that names specific gaps, identifies PMs responsible, and quantifies risk. It runs automatically, so release management becomes continuous rather than a last-minute scramble.

---

## DATA SOURCES

### 1. **Unified Backlog/Roadmap** (Jira/YouTrack/Linear)
**Query:**
- Filter: `GTM Month = [CURRENT_RELEASE_MONTH]` AND `Status != Cancelled` AND `Status != Backlog`
- Extract: Issue ID, Title, Assignee, ETA, ARR Impact, Customer Commitments, Feature Type (UI/API/Infra), Release Type (Major/Minor/Patch)
- Cross-check: Compare ETA against release date

**Extraction Rule:**
- If ETA is before or on release date = ON TRACK
- If ETA is after release date = SLIPPED (flag as CRITICAL)
- If ETA is missing = UNKNOWN (flag as HIGH)

### 2. **Release Notes Document** (Google Docs/Notion)
**Query:**
- Open current month's release notes
- Extract: All features listed, organized by Tier (1/2/3)
- Extract: Feature name, PM owner, feature description, customer impact statement
- Identify: Which features in the roadmap are NOT mentioned in release notes

**Extraction Rule:**
- Cross-reference against Roadmap filtered by GTM Month
- Any roadmap feature not in release notes = NOT REGISTERED (flag as HIGH)
- Missing fields in release notes entry = INCOMPLETE (flag as HIGH)

### 3. **PRD Repository** (Notion/Google Drive)
**Query:**
- Filter by: Release month + PM owner
- Check: Existence of PRD document, last modified date, completion status
- Extract: PRD status (Draft/In Review/Approved/Shipped), required fields present (Requirements, Success Metrics, GTM Plan, UI/UX specs, API changes)

**Extraction Rule:**
- PRD deadline = 2 weeks before release date
- If PRD is Draft or In Review AND deadline has passed = CRITICAL
- If PRD is missing entirely = CRITICAL
- If PRD is Approved but missing required sections = HIGH

### 4. **Codebase Feature Flags** (GitHub/GitLab)
**Query:**
- Scan all feature flag configuration files (typically in `/feature-flags`, `/flags`, or similar)
- Extract: Flag name, flag type (boolean/percentage/targeted), enabled status, linked PRD/feature
- Match flag name against shipping features

**Extraction Rule:**
- If feature is shipping but has no kill switch (no matching feature flag) = HIGH
- If feature flag exists but is always enabled (no ability to disable) = HIGH
- If feature flag logic does not match PRD launch plan = HIGH

### 5. **GTM Calendar & CRM Data**
**Query:**
- GTM Announcements: Internal Knowledge Article deadline, Customer announcement date, Sales enablement date
- Customer Commitments: ARR value, Named accounts, SLA dates, Beta program status
- Extract: Key dates and commitment deadlines

**Extraction Rule:**
- If Knowledge Article deadline is passed but article not published = HIGH
- If customer SLA date is before release date but feature is not ready = CRITICAL
- If Named accounts exist but sales not yet enabled = HIGH

---

## REPORT STRUCTURE

### 1. KEY DATES DASHBOARD

| Milestone | Target Date | Days Until | Status | Notes |
|---|---|---|---|---|
| PRD Approval Deadline | [DATE] | [N] | [🟢/🟡/🔴] | [N PRDs approved, M missing] |
| Internal Knowledge Article Deadline | [DATE] | [N] | [🟢/🟡/🔴] | [N articles published] |
| GTM Enablement Announcement | [DATE] | [N] | [🟢/🟡/🔴] | [Sales decks ready? Talking points?] |
| Release Go-Live Date | [DATE] | [N] | [🟢/🟡/🔴] | [Code freeze date: MMM DD] |

**Status Indicators:**
- 🟢 **ON TRACK**: Deadline not passed, or completed on time
- 🟡 **AT RISK**: Deadline is in next 3 days OR partially complete
- 🔴 **OVERDUE**: Deadline has passed and item not complete

---

### 2. CRITICAL GAPS / HIGH RISK ITEMS

Table of features with blockers. Format:

| Feature | PM | Tier | PRD | Release Notes | ETA Status | Risk Level | Days Since Slip |
|---|---|---|---|---|---|---|---|
| [Name] | @[PM] | 1/2/3 | 🔴 Draft | ✓ Registered | 🔴 After release | **CRITICAL** | 5 days |
| [Name] | @[PM] | 2 | ✓ Approved | 🔴 Not registered | ✓ On track | **HIGH** |, |

**Only show items with CRITICAL or HIGH risk.** If nothing to show, write: "✓ All features on track."

---

### 3. FULL RELEASE INVENTORY

Complete table of all features shipping this month:

| PRJ ID | Feature | PM | ETA | ARR Impact | Customers | PRD | RN | Risk |
|---|---|---|---|---|---|---|---|---|
| [ID-123] | [Name] | @[PM] | MMM DD | $[K] | [N] | ✓ | ✓ | 🟢 |
| [ID-456] | [Name] | @[PM] | MMM DD | $[K] | [N] | 🔴 | ✓ | 🔴 |

**Columns:**
- PRJ ID: Issue key in backlog system
- Feature: Human-readable name
- PM: Assigned PM
- ETA: Ship date
- ARR Impact: Expected annual recurring revenue
- Customers: Number of named accounts
- PRD: ✓ Approved, 🔴 Draft/Missing
- RN: ✓ Registered in release notes, 🔴 Missing
- Risk: 🟢 ON TRACK, 🟡 AT RISK, 🔴 CRITICAL

**Sort by:** Risk level (CRITICAL first), then by ETA (soonest first)

---

### 4. ITEMS NOT REGISTERED IN RELEASE NOTES

These features will ship with zero customer-facing communication.

| Feature | PM | PRD Status | Why Missing | Action |
|---|---|---|---|---|
| [Name] | @[PM] | ✓ Approved | Not in RN doc | Add to RN + KB article |
| [Name] | @[PM] | 🔴 Draft | PRD not done | Finish PRD, then add to RN |

**Action Column Options:**
- Add to release notes document
- Write knowledge article
- Create customer announcement
- Add talking points to sales enablement deck

---

### 5. DRAFT RELEASE NOTES

Current state of release notes, organized by tier. Include:

```
# Release Notes, [MONTH] [YEAR]

## Tier 1 Features (Tier 1 customers get these first)
- **[Feature Name]** (PM: @[Name])
  - Status: [Complete/Draft/Needs KB article/Needs sales talking points]
  - Customer impact: [1-sentence value statement]
  - Known gaps: [Missing description? No KB article? No screenshots?]

- **[Feature Name]** (PM: @[Name])
  - Status: Complete
  - Customer impact: [...]
  - Known gaps: None

## Tier 2 Features
[Same format]

## Tier 3 Features
[Same format]
```

---

### 6. PM ACTION ITEMS

Structured by urgency:

#### IMMEDIATE (Overdue, act today)
- @PM1: PRD for Feature X still in Draft, deadline was 3 days ago → Finish PRD or descope
- @PM2: Feature Y ETA is MMM DD but release is MMM DD → Slip ETA or commit to on-time

#### REGISTRATION REQUIRED (Register in release notes by end of week)
- @PM3: Feature Z not in release notes → Add description + customer impact statement
- @PM4: Feature W needs knowledge article → Link KB article to release notes

#### VERIFICATION REQUIRED (Confirm these are correct by end of week)
- @PM5: Feature V's ETA changed last week, confirm it's still shipping this month
- @PM6: Feature U shows zero customers but high ARR, verify account list is correct

---

### 7. RISK SUMMARY

```
CRITICAL RISK: 2 items
  - 1× PRD missing past deadline
  - 1× ETA after release date

HIGH RISK: 3 items
  - 3× Features not in release notes

ON TRACK: 12 items
  - All PRDs approved
  - All registered in release notes
  - All ETAs on track
```

---

### 8. FEATURE FLAG STATUS

| Feature | Flag Name | Flag Status | Config Type | Can Be Disabled? | Risk |
|---|---|---|---|---|---|
| [Feature Name] | `feature.pricing_v2` | Enabled | Percentage-based | ✓ Yes | 🟢 |
| [Feature Name] | `feature.new_dashboard` | Enabled | Boolean | 🔴 No | 🔴 |
| [Feature Name] |, |, |, | 🔴 No flag exists | 🔴 |

**Rules:**
- Every shipping feature must have a kill switch (feature flag)
- Kill switch must allow you to disable it without code deploy
- Flags that are always-enabled (no off position) = no safety net = CRITICAL risk
- If feature is shipping but no matching flag exists = HIGH risk

**Recommendation:** If any feature lacks a kill switch, recommend either (1) add flag before shipping, or (2) descope until next release.

---

### 9. GTM READINESS CHECKLIST

| Criterion | Status | Owner | Notes |
|---|---|---|---|
| **C1: Products launching on time?** | ✓ On track / ⚠ At risk / 🔴 No | [PM] | [N] features at risk of slip |
| **C2: Sufficient discovery done?** | ✓ Yes / ⚠ Partial / 🔴 No | [GTM] | [List any features without competitive analysis, customer testing, or usage data] |
| **C3: Roadmap visibility?** | ✓ Yes / ⚠ Partial / 🔴 No | [Product] | [Are customers aware this is shipping? Any surprises?] |
| **C4: GTM knowledge ready?** | ✓ Yes / ⚠ Partial / 🔴 No | [GTM] | [All PRDs finalized? Release notes done? Knowledge articles? Sales decks? Talking points?] |

**Go/No-Go Decision:** Release is GO if all criteria are ✓. If any is 🔴, recommend deferring release or descoping blocker features.

---

### 10. REQUIRED FIELDS AUDIT

Matrix showing which features have complete information. Blank cells = gaps to fill:

| Feature | ARR Impact | Customer Testing | Competitive Analysis | Screenshots | Release Type | PRD | Release Notes | Knowledge Article | Feature Flag |
|---|---|---|---|---|---|---|---|---|---|
| Feature A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Feature B | ✓ | ✓ |, |, | ✓ | ✓ | ✓ | 🔴 Missing | ✓ |
| Feature C |, | ✓ | ✓ | ✓ | ✓ | 🔴 Draft |, |, |, |

**Interpretation:**
- ✓ = Field complete and current
-, = Field missing or empty
- 🔴 = Field incomplete (Draft, In Review, or out of date)

---

### 11. SUMMARY & NEXT STEPS

```
This month's release includes [N] features across Tier 1/2/3.

HEADLINE RISK:
[Summarize the top 2-3 risks in plain language. E.g., "3 features lack kill switches" or "2 PRDs are overdue."]

RECOMMENDED GO/NO-GO:
[GO: Release is ready to ship if these 3 items are completed by end of week]
[NO-GO: Hold release until: (1) PRD is approved, (2) ETA is confirmed, (3) KB articles are done]

IMMEDIATE ACTIONS (by EOD today):
1. @PM1: Finish PRD for Feature X
2. @PM2: Confirm ETA for Feature Y
3. @GTM: Publish KB article for Feature Z

WEEK-END CHECKLIST (by Friday EOD):
- [ ] All PRDs approved
- [ ] All features registered in release notes
- [ ] All ETAs confirmed on or before release date
- [ ] All knowledge articles published
- [ ] All feature flags configured and tested
- [ ] Sales enablement deck finalized
- [ ] Customer communication plan finalized

Next Release Readiness Report: [DATE] at 9:00 AM CET
```

---

## RISK CLASSIFICATION RULES

### CRITICAL
- **PRD Missing Past Deadline:** PRD is Draft, In Review, or missing AND PRD deadline has passed
- **ETA After Release Date:** Feature ETA is after the scheduled release date
- **Customer SLA at Risk:** Named customer SLA date is before feature ETA
- **No Feature Flag:** Feature is shipping but has no kill switch in codebase
- **Kill Switch Disabled:** Feature flag exists but is always-enabled with no off state

### HIGH
- **Not Registered in Release Notes:** Feature is in roadmap for this release but not listed in release notes document
- **Incomplete Release Notes Entry:** Feature is listed in release notes but missing customer impact, description, or tier
- **Knowledge Article Not Started:** Feature requires customer documentation but KB article not published
- **Missing ARR Impact:** Feature is shipping but ARR value not entered in roadmap
- **Customer List Empty:** Feature has business impact but zero customer accounts named

### ON TRACK
- PRD approved and all required sections complete
- Feature registered in release notes with full details
- ETA is on or before release date
- Knowledge articles published or scheduled for release day
- Feature flag configured and tested
- All required fields populated and current

---

## SCHEDULING

### Weekly Runs
```
Frequency: Every Wednesday
Time: 9:00 AM CET
Output: Post full report to #product-gang Slack channel
Retention: Archive report to shared drive for historical tracking
```

### Automated Alerts (Optional)
- If any CRITICAL items exist: @mention relevant PMs in Slack
- If PM action items exist: Send reminder message to responsible PM
- If release date is < 7 days away: Escalate to exec sponsor

---

## CUSTOMIZATION FOR YOUR RELEASE CADENCE

### **Monthly Release (e.g., first Monday of each month)**
- PRD Deadline: 2 weeks before release
- Release Notes Deadline: 1 week before release
- Knowledge Article Deadline: 3 days before release (or release day)
- Sales Enablement Deadline: 1 day before release (internal only)
- **Agent Run:** Every Wednesday at 9 AM, starting 4 weeks before release

### **Bi-Weekly Release (e.g., 1st & 3rd Monday)**
- PRD Deadline: 10 days before release
- Release Notes Deadline: 5 days before release
- Knowledge Article Deadline: 2 days before release
- Sales Enablement Deadline: 1 day before release
- **Agent Run:** Every Tuesday at 9 AM

### **Quarterly Release (e.g., last Friday of Q)**
- PRD Deadline: 6 weeks before release
- Release Notes Deadline: 2 weeks before release
- Knowledge Article Deadline: 1 week before release
- Sales Enablement Deadline: 3 days before release
- **Agent Run:** Every Monday at 9 AM, starting 8 weeks before release

**To Customize:**
1. Set `RELEASE_DATE` variable to your next release date
2. Calculate all deadline dates backward from release date
3. Set agent to run 4 weeks (or number of sprints) before release
4. Update all Slack channel names, Jira query filters, and document URLs to match your workspace

---

## DATA SOURCE CONNECTIONS

### Jira/YouTrack/Linear
```
Jira Query:
  project = "PRODUCT" AND
  labels = "GTM_[MONTH_YEAR]" AND
  status in (In Progress, In Review, Ready for Release) AND
  assignee in (PM_GROUP)

Order by: ETA, then ARR Impact (descending)
```

### Google Docs Release Notes
```
URL: [INSERT YOUR RELEASE NOTES DOC URL]
Parse: Extract all features listed under "Tier 1", "Tier 2", "Tier 3" headings
Method: Google Docs API or manual copy-paste + parsing
```

### Notion PRD Repository
```
Database: [INSERT YOUR NOTION DATABASE URL]
Filter: [Release Month] = [CURRENT_MONTH] AND [Status] != Archived
Properties to extract: Title, Status, PM, Last Edited, Required Fields Completion %
```

### GitHub/GitLab Feature Flags
```
Repo: [INSERT REPO URL]
File paths to scan: /src/flags/*, /flags/*, /config/feature-flags/*
Regex pattern: feature\. or FLAG_ or flag.
Extract: Flag name, value (boolean/percentage), comments, linked issues
```

### Slack Channel for Output
```
Channel: #product-gang (or your product/release management channel)
Message format: Full report as thread, with emoji reactions for risk levels
Mention: @[PM_GROUP] if CRITICAL items exist
```

---

## EXAMPLE TEST PROMPT

```
Run Release Readiness Agent for March 2026 release (ship date: March 31, 2026).

Use this test data:
- 15 features total in roadmap, 12 for March, 3 deferred
- 10 features have PRDs (all approved)
- 2 features missing PRDs (Feature X and Feature Y)
- 9 features registered in release notes
- 3 features not in release notes
- 1 feature has ETA of April 2 (slipped past release)
- 2 features have no feature flags
- All knowledge articles completed except Feature Z

Output: Full 11-section report with risk summary, action items, and go/no-go recommendation.

Expected outcome: CRITICAL risk due to missing PRD + late ETA. HIGH risk due to 3 unregistered features + 2 missing flags.
Go/No-Go: CONDITIONAL GO, Release can proceed if (1) missing PRDs approved by Friday, (2) 3 features either descoped or registered in RN, (3) feature flags added.
```

---

## NOTES FOR IMPLEMENTATION

- **Manual or Automated:** This agent can run as a manual weekly prompt or be fully automated with API integrations to your backlog, docs, and code repositories.
- **Permissions:** Ensure the agent/bot has read access to Jira, Google Docs, Notion, GitHub, and Slack.
- **Customization:** Replace all placeholders (`[INSERT YOUR URL]`, `[PM]`, etc.) with your actual system details.
- **Escalation:** If any CRITICAL items exist, escalate to release sponsor or VP Product at end of report.
- **Historical Tracking:** Archive each week's report to a shared folder so you can analyze patterns over time (e.g., "Which PMs miss PRD deadlines most often?").

---

## CLOSING

This agent removes the guesswork from release management. Run it every week, and you'll never again ship a feature without proper documentation, a kill switch, or customer communication. It names PMs, flags gaps early, and creates accountability for delivery.

The three gaps it catches, missing PRDs, slipped ETAs, unregistered features, account for 90% of release disasters. Stop living in chaos. Let this agent do the audit for you.
