Files
pm-claude-skills/templates/pm-launch-agent/tests/smoke-test.md
T
mohitagw15856 59c4510055 feat: v9.0.0 — three new agent templates (Discovery, Stakeholder Comms, Launch)
This release adds three new agent templates to the library, bringing the total to four.

New templates:
- PM Discovery Agent: synthesises customer interviews from Notion or Google Drive,
  identifies cross-interview themes, scores assumption confidence, generates follow-up questions
- PM Stakeholder Comms Agent: detects audience type (executive/investor/stakeholder/board),
  pulls activity from Linear/Jira/Drive, drafts in audience-appropriate format
- PM Launch Agent: end-to-end launch coordination with channel-specific content,
  calendar, success metrics, and launch checklist

Each template follows the established pattern: README, AGENT.md, orchestrate.sh,
2 subagents, connectors with example configs, examples, smoke test.

Total file count: 37 new files across 3 templates.

Updated README to position library as 4-template collection.
Bumped marketplace.json from v8.0.0 to v9.0.0.
2026-05-07 22:30:34 +01:00

3.3 KiB

Smoke Test — PM Launch Agent

The Launch Agent is the simplest of the four templates to test because it doesn't require any connectors by default.

Step 1: Run the dry-run

cd templates/pm-launch-agent

bash orchestrate.sh \
  --feature-name "Test Feature" \
  --launch-date "2026-12-01" \
  --feature-summary "A test feature for verifying the launch agent setup" \
  --dry-run

Expected output: Configuration banner with feature name, launch date, days-to-launch calculation, channel list for the launch tier, and "✓ Dry-run complete."

Step 2: Run dry-run for each launch tier

# Minor tier (in-product + internal only)
bash orchestrate.sh \
  --feature-name "Minor Test" \
  --launch-date "2026-12-01" \
  --feature-summary "Minor launch test" \
  --launch-tier minor \
  --dry-run

# Major tier (full content + media pitch)
bash orchestrate.sh \
  --feature-name "Major Test" \
  --launch-date "2026-12-01" \
  --feature-summary "Major launch test" \
  --launch-tier major \
  --dry-run

# Flagship tier (maximum coverage)
bash orchestrate.sh \
  --feature-name "Flagship Test" \
  --launch-date "2026-12-01" \
  --feature-summary "Flagship launch test" \
  --launch-tier flagship \
  --dry-run

For each, verify the channel list expands appropriately:

  • minor: in-product, internal
  • major: email, in-product, linkedin, x, blog, sales-enablement, internal
  • flagship: adds media-pitch, customer-webinar, partner-comms

Step 3: Test invalid inputs are caught

# Missing feature name should fail
bash orchestrate.sh --launch-date "2026-12-01" --feature-summary "x" 2>&1 | grep -q "feature-name is required" && echo "✓ Validates feature-name"

# Invalid launch tier should fail
bash orchestrate.sh \
  --feature-name "Test" \
  --launch-date "2026-12-01" \
  --feature-summary "x" \
  --launch-tier "invalid" 2>&1 | grep -q "must be 'minor', 'major', or 'flagship'" && echo "✓ Validates launch-tier"

Step 4: Test Notion connector (optional)

If you've set up the Notion connector:

bash orchestrate.sh \
  --feature-name "Notion Test" \
  --launch-date "2026-12-01" \
  --feature-summary "Test posting to Notion" \
  --post-to-notion true \
  --dry-run

Should validate Notion config without errors.

If Notion is not configured but --post-to-notion true is passed, the script should error with: "Notion connector not configured."

Step 5: Run a real launch plan generation

bash orchestrate.sh \
  --feature-name "Smart Search" \
  --launch-date "2026-06-15" \
  --feature-summary "AI-powered semantic search across documents and conversations" \
  --target-audience "knowledge workers at mid-market companies" \
  --launch-tier major

Expected: Eight steps complete with ✓ indicators. Output file at output/launch-smart-search-plan.md.

Common issues

Issue Fix
"Days-to-launch is negative" Launch date is in the past — use a future date
"Launch tier must be minor, major, or flagship" Typo in --launch-tier value
Output file has spaces in name Feature name had spaces — they're auto-converted to dashes, no action needed
Notion connector required but missing Either set up Notion connector or remove --post-to-notion true

Reporting issues

If something fails that the table doesn't cover, open an issue.