Orchestrator that runs all sales-agents skills in sequence — weekly deal review, battle cards, help center gaps — and compiles a unified weekly pipeline report. Supports full or partial runs.
Run all sales-agents skills in sequence, compile a unified weekly report. This is the "one command" entry point for your weekly sales review.
| Argument | Required | Default | Description |
|---|---|---|---|
meeting_notes_path | No | $MEETING_NOTES_PATH env var, then ./meeting-notes/ | Directory containing .md meeting notes |
--config | No | full | Run mode (see below) |
--format | No | markdown | Output format: markdown or notion |
Run modes:
| Mode | Skills Run |
|---|---|
full |
| weekly-deal-review → battle-cards → help-center-gaps |
review-only | weekly-deal-review only |
compete-only | battle-cards only |
docs-only | help-center-gaps only |
Before running any skill, verify the environment:
1. NOTES PATH
- Resolve meeting_notes_path (argument → $MEETING_NOTES_PATH → ./meeting-notes/)
- Glob for *.md files
- Report: "Found [N] meeting notes in [path]"
- If 0 files: STOP with clear error
2. AVAILABLE TOOLS (check once, share with sub-skills)
- Notion MCP: check if mcp__plugin_Notion_notion__notion-search is available
- WebSearch: check if WebSearch tool is available
- GitHub CLI: check if `gh --version` succeeds
- Report:
✅ Notion MCP — available (will create Notion pages)
❌ WebSearch — not available (battle cards will use notes only)
✅ GitHub CLI — available (can create issues)
3. DOCS PATH (for help-center-gaps)
- Check $DOCS_PATH env var
- If set: verify directory exists
- If not: note "No docs path — gap analysis will skip cross-reference"
4. Print pre-flight summary and proceed
If config is "full" or "review-only":
1. Invoke /weekly-deal-review with:
- meeting_notes_path: [resolved path]
- --format: [user's format choice]
- --range: 7d (default weekly)
2. Capture output as DEAL_REVIEW
3. Extract key metrics:
- deal_count: number of active deals
- pipeline_value: total budget range
- deals_needing_followup: count
- stages: breakdown by stage
If config is "full" or "compete-only":
1. Invoke /battle-cards with:
- meeting_notes_path: [resolved path]
- --format: [user's format choice]
2. Capture output as BATTLE_CARDS
3. Extract key metrics:
- competitor_count: unique competitors detected
- high_threat: competitors at 🔴 level
- most_mentioned: top competitor name
If config is "full" or "docs-only":
1. Invoke /help-center-gaps with:
- meeting_notes_path: [resolved path]
- --docs: $DOCS_PATH if available
- --format: [user's format choice]
- --issues: false (don't auto-create issues in orchestrated mode)
2. Capture output as DOC_GAPS
3. Extract key metrics:
- p1_gaps: count of P1 documentation gaps
- p2_gaps: count of P2 gaps
- total_questions: total questions extracted
# Weekly Sales Pipeline Report — [DATE]
## Executive Summary
| Metric | Value |
|--------|-------|
| Active Deals | [deal_count] |
| Pipeline Value | [pipeline_value] |
| Deals Needing Follow-up | [deals_needing_followup] |
| Competitors Tracked | [competitor_count] |
| High-Threat Competitors | [high_threat] |
| P1 Doc Gaps | [p1_gaps] |
| Prospect Questions Logged | [total_questions] |
## Key Actions This Week
Based on all analyses, prioritized actions:
1. **[Most urgent deal action]** — from deal review
2. **[Competitive response needed]** — from battle cards
3. **[Documentation to write]** — from gap analysis
4. [Additional actions...]
## Pipeline by Stage
| Stage | Deals | Value | Trend |
|-------|-------|-------|-------|
| Discovery | [N] | [range] | [↑↓→] |
| Qualification | [N] | [range] | [↑↓→] |
| Proposal | [N] | [range] | [↑↓→] |
| Negotiation | [N] | [range] | [↑↓→] |
---
## Full Deal Review
[DEAL_REVIEW output here]
---
## Competitive Intelligence
[BATTLE_CARDS output here]
---
## Documentation Gaps
[DOC_GAPS output here]
Markdown (default):
pipeline-report-YYYY-MM-DD.md in current directoryNotion (--format notion):
To run this automatically every Monday:
# In Claude Code, use:
/cron create "Every Monday at 9am" "/sales-pipeline --config full"
This skill is designed to be convertible to an OpenClaw scheduled workflow. The orchestrator's sequential skill invocation maps directly to OpenClaw's step-based execution model:
# Example OpenClaw trigger (future)