Sales Pipeline Report Generator
Tier 0 Doctrine
- Tier: Master (standalone — no subagents, no orchestrator dependency)
- Authority: Owns the pipeline report structure, grade bands, methodology weights, health rating thresholds, and all report sections. Prospect data is consumed read-only.
- Determinism first: All scoring uses declared weights. Grade bands, health ratings, and stage classifications are mechanical lookups. No LLM interpretation of scores or pipeline health.
- No fabrication: Every data point must originate from a prospect file on disk. Absence is marked "N/A," never invented.
IMO (Top-Level)
| Layer |
Responsibility |
| Ingress |
Working directory path (schema validation only: must be readable directory; reject if inaccessible) |
| Middle |
Glob scan for prospect files; data extraction per prospect; pipeline stage classification; score distribution computation; health metric aggregation; prospect ranking; 8-section report assembly; empty-pipeline handling |
| Egress |
SALES-REPORT.md + terminal summary (read-only structured output) |
Constants
| Constant |
Value |
Authority |
| Invocation |
/sales report |
Skill registry |
| Input |
None (scans current working directory) |
Skill contract |
| Output file |
SALES-REPORT.md |
Skill contract |
| Prospect file: primary analysis |
PROSPECT-ANALYSIS.md |
File discovery spec |
| Prospect file: company research |
COMPANY-RESEARCH.md |
File discovery spec |
| Prospect file: lead qualification |
LEAD-QUALIFICATION.md |
File discovery spec |
| Prospect file: decision makers |
DECISION-MAKERS.md |
File discovery spec |
| Prospect file: outreach sequence |
OUTREACH-SEQUENCE.md |
File discovery spec |
| Alt pattern: prospect analysis |
*-prospect-analysis.md |
File discovery spec |
| Alt pattern: company research |
*-company-research.md |
File discovery spec |
| Pipeline stage: New |
URL identified, no analysis files |
Stage classification table |
| Pipeline stage: Researched |
COMPANY-RESEARCH.md exists |
Stage classification table |
| Pipeline stage: Qualified |
PROSPECT-ANALYSIS.md exists with score |
Stage classification table |
| Pipeline stage: Contacted |
OUTREACH-SEQUENCE.md exists |
Stage classification table |
| Pipeline stage: Meeting |
Meeting reference in any file |
Stage classification table |
| Pipeline stage: Proposal |
Proposal reference in any file |
Stage classification table |
| Pipeline stage: Negotiation |
Negotiation reference in any file |
Stage classification table |
| Pipeline stage: Closed Won |
Closed-won reference in any file |
Stage classification table |
| Pipeline stage: Closed Lost |
Closed-lost reference in any file |
Stage classification table |
| Grade A+ |
90-100 |
Grade band table |
| Grade A |
75-89 |
Grade band table |
| Grade B |
60-74 |
Grade band table |
| Grade C |
40-59 |
Grade band table |
| Grade D |
0-39 |
Grade band table |
| Weight: Company Fit |
0.25 |
Methodology spec |
| Weight: Contact Access |
0.20 |
Methodology spec |
| Weight: Opportunity Quality |
0.20 |
Methodology spec |
| Weight: Competitive Position |
0.15 |
Methodology spec |
| Weight: Outreach Readiness |
0.20 |
Methodology spec |
| Component scores |
Company Fit, Contact Access, Opportunity Quality, Competitive Position, Outreach Readiness |
Methodology spec |
| Report sections |
8: Executive Summary, Pipeline Dashboard, Score Distribution, Top 5 Prospects, Action Items, Outreach Status, Pipeline Health Metrics, Weekly Focus |
Report structure |
| Executive Summary length |
3-5 paragraphs |
Report structure |
| Dashboard sort order |
Score descending (highest first) |
Report structure |
| Top Prospects shown |
5 (or all if fewer than 5) |
Report structure |
| Action item timeframes |
Immediate (This Week), Short-Term (Next 2 Weeks), Pipeline Building |
Report structure |
| Weekly focus count |
Top 3 prospects |
Report structure |
| Weekly focus: Priority 1 breakdown |
Mon-Tue / Wed-Thu / Fri |
Report structure |
| Weekly focus criteria |
1) Highest uncontacted score, 2) Time-sensitive trigger, 3) One-action-from-advancing |
Report structure |
| Health rating: Excellent |
All metrics above target |
Health rating table |
| Health rating: Good |
Most metrics above target |
Health rating table |
| Health rating: Needs Attention |
Multiple metrics below target |
Health rating table |
| Health rating: Critical |
Majority metrics below target |
Health rating table |
| Health metrics |
Total Prospects, Average Score, A-Grade count/%, Pipeline Coverage ratio, Avg Component Spread, Highest Score, Lowest Score, Score Std Deviation |
Health dashboard spec |
| Report length target |
250-350 lines of substantive content |
Quality standard |
| Empty pipeline handling |
Pipeline Empty notice + getting started instructions + example workflow |
Empty pipeline spec |
Variables
| Variable |
Source |
Runtime |
prospect_files[] |
Glob scan of working directory |
Per-run |
prospect_data[] |
Extracted per prospect: name, url, score, grade, component scores, stage, pain points, contacts, next action, outreach status, est. value |
Per-run |
pipeline_stage |
Classified per prospect from file presence via stage classification table |
Per-run |
score_distribution |
Computed grade band counts and percentages |
Per-run |
pipeline_health_metrics |
Computed aggregates: total, average, A-grade count/%, coverage, spread, high, low, std dev |
Per-run |
health_rating |
Derived from metrics via health rating table |
Per-run |
action_items[] |
Prioritized list partitioned by timeframe |
Per-run |
weekly_focus[] |
Top 3 prospects selected by focus criteria |
Per-run |
report_date |
System date at invocation |
Per-run |
total_prospects |
Count of discovered prospect files |
Per-run |
average_score |
Mean of all prospect scores |
Per-run |
outreach_status[] |
Per-prospect: sequence created, type, first touch, status, response |
Per-run |
top_prospects[] |
Top 5 (or fewer) ranked by score descending |
Per-run |
Workflow
BLOCK 1: File Discovery & Data Extraction
Governed by: C&V
Constants: Prospect file names (5 types), alternative file patterns (2), pipeline stage classification table (9 stages), component score names (5).
Variables: prospect_files[], prospect_data[], pipeline_stage, total_prospects.
Ingress: Receive working directory path. Validate: directory exists and is readable. Reject immediately if inaccessible.
Middle:
- Glob scan working directory and immediate subdirectories for all 5 prospect file types:
**/PROSPECT-ANALYSIS.md, **/COMPANY-RESEARCH.md, **/LEAD-QUALIFICATION.md, **/DECISION-MAKERS.md, **/OUTREACH-SEQUENCE.md. Also scan for alternative patterns: *-prospect-analysis.md, *-company-research.md.
- Group files by prospect using parent directory as prospect key.
- Handle empty pipeline: If zero prospect files found, write SALES-REPORT.md with Pipeline Empty notice, getting started instructions (
/sales prospect <url>, /sales icp), example workflow, and exit. No further blocks execute.
- Extract data from each prospect file: company name (from heading), website/URL (from metadata), overall score (0-100), grade (from grade band table), 5 component scores, key pain points (top 2-3), decision makers (names and titles), recommended next action, outreach status (OUTREACH-SEQUENCE.md presence), estimated deal value (if present).
- Mark missing data as "N/A" -- never guess or fabricate.
- Classify pipeline stage per prospect by checking which files exist against the stage classification table. Assign highest applicable stage.
- Handle malformed files: If a prospect file is malformed or missing key data, include the prospect with missing-data annotation rather than excluding it.
Egress: prospect_files[], prospect_data[] (one entry per prospect with all extracted fields), total_prospects.
Go/No-Go: At least one prospect file must be found (empty pipeline is handled inline, not as failure). All discovered prospects must appear in prospect_data[] -- no silent exclusion.
BLOCK 2: Pipeline Analysis & Classification
Governed by: IMO
Constants: Grade band table (5 bands), methodology weights (5), health rating thresholds (4 levels), health metrics list (8 metrics).
Variables: prospect_data[], score_distribution, pipeline_health_metrics, health_rating, average_score, top_prospects[], weekly_focus[], action_items[].
Ingress: Receive prospect_data[] from BLOCK 1. Validate: each prospect has at minimum a name and a score (or "N/A" annotation).
Middle:
- Compute score distribution by counting prospects in each grade band (A+ 90-100, A 75-89, B 60-74, C 40-59, D 0-39). Calculate percentage of pipeline per band and average score per band.
- Compute pipeline health metrics:
- Total Prospects: count.
- Average Score: mean of all prospect scores.
- A-Grade Prospects: count and percentage scoring 75+.
- Pipeline Coverage: ratio of total prospects to target (assess if healthy or needs more).
- Avg Component Spread: average range between highest and lowest component score per prospect.
- Highest Score: max score with company name.
- Lowest Score: min score with company name.
- Score Std Deviation: standard deviation of all scores.
- Derive health rating from metrics via health rating table: Excellent, Good, Needs Attention, or Critical.
- Rank prospects by score descending. Select top 5 (or all if fewer than 5) for detailed snapshots.
- Select weekly focus top 3 using criteria: (1) highest score not yet contacted, (2) prospect with time-sensitive trigger event, (3) prospect where one action could advance the stage.
- Generate action items partitioned into three timeframes: Immediate (This Week) -- urgent actions tied to specific companies; Short-Term (Next 2 Weeks) -- follow-up sequences and deeper research; Pipeline Building -- actions to strengthen weak areas. Every action must be company-specific and executable (not generic).
Egress: score_distribution, pipeline_health_metrics, health_rating, average_score, top_prospects[], weekly_focus[], action_items[].
Go/No-Go: Score distribution must account for 100% of prospects. Health metrics must all be computable. Every prospect must be ranked -- no omissions.
BLOCK 3: Report Compilation
Governed by: Circle
Constants: 8 report sections (in order), Executive Summary length (3-5 paragraphs), dashboard sort order (score descending), report length target (250-350 lines), weekly focus Priority 1 daily breakdown (Mon-Tue / Wed-Thu / Fri).
Variables: All variables from BLOCKs 1-2 assembled into 8 report sections.
Ingress: Receive all computed values: prospect_data[], score_distribution, pipeline_health_metrics, health_rating, top_prospects[], action_items[], weekly_focus[], outreach_status[], report_date. Validate: all 8 sections have sufficient data to render (partial data is acceptable with annotation).
Middle:
Assemble SALES-REPORT.md content in exact section order:
- Executive Summary (3-5 paragraphs): Total prospect count, score distribution overview, top opportunity highlight (highest-scoring prospect and why), biggest risk or gap, one-sentence recommendation for immediate focus.
- Pipeline Dashboard: Full prospect table sorted by score descending with columns: #, Company, Score, Grade, Stage, Key Pain Point, Next Action, Est. Value. Include ALL prospects -- no omissions.
- Score Distribution: Grade band table with columns: Grade, Count, % of Pipeline, Avg Score, Prospects. Add commentary on distribution health -- top-heavy vs. bottom-heavy, ideal vs. current, improvement actions.
- Top 5 Prospects (detailed snapshots per prospect): Why they score well (2-3 sentences), component score table (5 dimensions with score and one-line assessment), key contacts, primary pain point, recommended approach, risk factors.
- Action Items: Three timeframes (Immediate / Short-Term / Pipeline Building). Each item: company name, specific action, urgency rationale. Specific enough to execute -- not "follow up" but "send personalized email to [Name] referencing [topic]."
- Outreach Status: Tracking table with columns: Company, Outreach Created, Sequence Type, First Touch, Status, Response. Guidance on which prospects need sequences, which are ready to execute, recommended outreach order.
- Pipeline Health Metrics: Dashboard table (8 metrics with value and assessment) + Pipeline Health Assessment paragraph: overall rating, key strengths, key gaps, specific recommendations.
- Weekly Focus: Top 3 prospects with actions. Priority 1: why focus now, Mon-Tue actions, Wed-Thu actions, Fri review. Priority 2-3: why focus now, key action.
Append Methodology footer: 5 component weights with descriptions. Report generation attribution.
Egress: Complete SALES-REPORT.md content string validated against 8-section structure. Length within 250-350 lines of substantive content.
Go/No-Go: All 8 sections must be present. Dashboard must include every prospect. No section may be empty (use "No data available" annotation if source data is insufficient). Report length within target range.
BLOCK 4: Output Assembly & Delivery
Governed by: CTB
Constants: Output file name (SALES-REPORT.md), report header format (title, generated date, prospect count, average score).
Variables: Complete report content from BLOCK 3, report_date, total_prospects, average_score, health_rating.
Ingress: Receive final report content from BLOCK 3. Validate: content is non-empty and contains all 8 section headers.
Middle:
- Write SALES-REPORT.md to current working directory using Write tool. Header format:
# Sales Pipeline Report
> Generated on [date] | Prospects Analyzed: [count] | Average Score: [X]/100
- Verify completeness: Confirm file was written, all 8 sections present, no truncation.
- Report summary to user in terminal: total prospects, average score, health rating, top prospect name and score, single most important next action. Confirm file location.
- Handle large pipelines: If more than 20 prospects, include all but note that segmentation (by stage, grade, or industry) would improve focus.
Egress: SALES-REPORT.md written to disk. Terminal summary displayed. No further mutations.
Go/No-Go: File must be writable. If write fails, display full report in terminal as fallback. Terminal summary must render without error.
Rules
- Never write the report before reading ALL prospect files -- full scan must complete before any output.
- Never exclude a prospect -- every prospect found must appear in the Pipeline Dashboard.
- Never fabricate scores, contacts, pain points, or any data -- use only what exists in prospect files; mark absence as "N/A."
- Never sugarcoat a weak pipeline -- if the pipeline is full of C-grade prospects, say so with honest assessment.
- Never write generic action items -- every action must name a specific company and be executable without further research.
- Never sort tables by anything other than score descending (highest first).
- Never silently drop malformed prospect files -- include them with missing-data annotation.
- Never exceed 350 lines or fall below 250 lines of substantive report content.
- Never use LLM judgment to override grade band assignment, health rating, or stage classification -- all are mechanical lookups.
- Never modify methodology weights at runtime -- weights are Constants.
Reference Pointers
| Reference |
Location |
| Prospect analysis skill |
skills/sales-prospect/SKILL.md |
| Company research skill |
skills/sales-research/SKILL.md |
| Contact intelligence skill |
skills/sales-contacts/SKILL.md |
| Lead qualification skill |
skills/sales-qualify/SKILL.md |
| Outreach strategy skill |
skills/sales-outreach/SKILL.md |
| Competitive intelligence skill |
skills/sales-competitors/SKILL.md |
| Architecture doctrine |
templates/doctrine/ARCHITECTURE.md |
| Tool doctrine |
templates/integrations/TOOLS.md |
1---2name: sales-report3description: Sales Pipeline Report Generator — scans the working directory for prospect analysis files and compiles them into a unified, executive-ready pipeline report (SALES-REPORT.md). Synthesizes scores, classifies pipeline stages, computes health metrics, and produces prioritized action items. Industry-agnostic engine.4---56# Sales Pipeline Report Generator78## Tier 0 Doctrine910- **Tier:** Master (standalone — no subagents, no orchestrator dependency)11- **Authority:** Owns the pipeline report structure, grade bands, methodology weights, health rating thresholds, and all report sections. Prospect data is consumed read-only.12- **Determinism first:** All scoring uses declared weights. Grade bands, health ratings, and stage classifications are mechanical lookups. No LLM interpretation of scores or pipeline health.13- **No fabrication:** Every data point must originate from a prospect file on disk. Absence is marked "N/A," never invented.1415---1617## IMO (Top-Level)1819| Layer | Responsibility |20|-------|---------------|21| **Ingress** | Working directory path (schema validation only: must be readable directory; reject if inaccessible) |22| **Middle** | Glob scan for prospect files; data extraction per prospect; pipeline stage classification; score distribution computation; health metric aggregation; prospect ranking; 8-section report assembly; empty-pipeline handling |23| **Egress** | SALES-REPORT.md + terminal summary (read-only structured output) |2425---2627## Constants2829| Constant | Value | Authority |30|----------|-------|-----------|31| Invocation | `/sales report` | Skill registry |32| Input | None (scans current working directory) | Skill contract |33| Output file | `SALES-REPORT.md` | Skill contract |34| Prospect file: primary analysis | `PROSPECT-ANALYSIS.md` | File discovery spec |35| Prospect file: company research | `COMPANY-RESEARCH.md` | File discovery spec |36| Prospect file: lead qualification | `LEAD-QUALIFICATION.md` | File discovery spec |37| Prospect file: decision makers | `DECISION-MAKERS.md` | File discovery spec |38| Prospect file: outreach sequence | `OUTREACH-SEQUENCE.md` | File discovery spec |39| Alt pattern: prospect analysis | `*-prospect-analysis.md` | File discovery spec |40| Alt pattern: company research | `*-company-research.md` | File discovery spec |41| Pipeline stage: New | URL identified, no analysis files | Stage classification table |42| Pipeline stage: Researched | COMPANY-RESEARCH.md exists | Stage classification table |43| Pipeline stage: Qualified | PROSPECT-ANALYSIS.md exists with score | Stage classification table |44| Pipeline stage: Contacted | OUTREACH-SEQUENCE.md exists | Stage classification table |45| Pipeline stage: Meeting | Meeting reference in any file | Stage classification table |46| Pipeline stage: Proposal | Proposal reference in any file | Stage classification table |47| Pipeline stage: Negotiation | Negotiation reference in any file | Stage classification table |48| Pipeline stage: Closed Won | Closed-won reference in any file | Stage classification table |49| Pipeline stage: Closed Lost | Closed-lost reference in any file | Stage classification table |50| Grade A+ | 90-100 | Grade band table |51| Grade A | 75-89 | Grade band table |52| Grade B | 60-74 | Grade band table |53| Grade C | 40-59 | Grade band table |54| Grade D | 0-39 | Grade band table |55| Weight: Company Fit | 0.25 | Methodology spec |56| Weight: Contact Access | 0.20 | Methodology spec |57| Weight: Opportunity Quality | 0.20 | Methodology spec |58| Weight: Competitive Position | 0.15 | Methodology spec |59| Weight: Outreach Readiness | 0.20 | Methodology spec |60| Component scores | Company Fit, Contact Access, Opportunity Quality, Competitive Position, Outreach Readiness | Methodology spec |61| Report sections | 8: Executive Summary, Pipeline Dashboard, Score Distribution, Top 5 Prospects, Action Items, Outreach Status, Pipeline Health Metrics, Weekly Focus | Report structure |62| Executive Summary length | 3-5 paragraphs | Report structure |63| Dashboard sort order | Score descending (highest first) | Report structure |64| Top Prospects shown | 5 (or all if fewer than 5) | Report structure |65| Action item timeframes | Immediate (This Week), Short-Term (Next 2 Weeks), Pipeline Building | Report structure |66| Weekly focus count | Top 3 prospects | Report structure |67| Weekly focus: Priority 1 breakdown | Mon-Tue / Wed-Thu / Fri | Report structure |68| Weekly focus criteria | 1) Highest uncontacted score, 2) Time-sensitive trigger, 3) One-action-from-advancing | Report structure |69| Health rating: Excellent | All metrics above target | Health rating table |70| Health rating: Good | Most metrics above target | Health rating table |71| Health rating: Needs Attention | Multiple metrics below target | Health rating table |72| Health rating: Critical | Majority metrics below target | Health rating table |73| Health metrics | Total Prospects, Average Score, A-Grade count/%, Pipeline Coverage ratio, Avg Component Spread, Highest Score, Lowest Score, Score Std Deviation | Health dashboard spec |74| Report length target | 250-350 lines of substantive content | Quality standard |75| Empty pipeline handling | Pipeline Empty notice + getting started instructions + example workflow | Empty pipeline spec |7677---7879## Variables8081| Variable | Source | Runtime |82|----------|--------|---------|83| `prospect_files[]` | Glob scan of working directory | Per-run |84| `prospect_data[]` | Extracted per prospect: name, url, score, grade, component scores, stage, pain points, contacts, next action, outreach status, est. value | Per-run |85| `pipeline_stage` | Classified per prospect from file presence via stage classification table | Per-run |86| `score_distribution` | Computed grade band counts and percentages | Per-run |87| `pipeline_health_metrics` | Computed aggregates: total, average, A-grade count/%, coverage, spread, high, low, std dev | Per-run |88| `health_rating` | Derived from metrics via health rating table | Per-run |89| `action_items[]` | Prioritized list partitioned by timeframe | Per-run |90| `weekly_focus[]` | Top 3 prospects selected by focus criteria | Per-run |91| `report_date` | System date at invocation | Per-run |92| `total_prospects` | Count of discovered prospect files | Per-run |93| `average_score` | Mean of all prospect scores | Per-run |94| `outreach_status[]` | Per-prospect: sequence created, type, first touch, status, response | Per-run |95| `top_prospects[]` | Top 5 (or fewer) ranked by score descending | Per-run |9697---9899## Workflow100101### BLOCK 1: File Discovery & Data Extraction102103**Governed by: C&V**104105**Constants:** Prospect file names (5 types), alternative file patterns (2), pipeline stage classification table (9 stages), component score names (5).106107**Variables:** `prospect_files[]`, `prospect_data[]`, `pipeline_stage`, `total_prospects`.108109**Ingress:** Receive working directory path. Validate: directory exists and is readable. Reject immediately if inaccessible.110111**Middle:**1121131. **Glob scan** working directory and immediate subdirectories for all 5 prospect file types: `**/PROSPECT-ANALYSIS.md`, `**/COMPANY-RESEARCH.md`, `**/LEAD-QUALIFICATION.md`, `**/DECISION-MAKERS.md`, `**/OUTREACH-SEQUENCE.md`. Also scan for alternative patterns: `*-prospect-analysis.md`, `*-company-research.md`.1142. **Group files by prospect** using parent directory as prospect key.1153. **Handle empty pipeline:** If zero prospect files found, write SALES-REPORT.md with Pipeline Empty notice, getting started instructions (`/sales prospect <url>`, `/sales icp`), example workflow, and exit. No further blocks execute.1164. **Extract data from each prospect file:** company name (from heading), website/URL (from metadata), overall score (0-100), grade (from grade band table), 5 component scores, key pain points (top 2-3), decision makers (names and titles), recommended next action, outreach status (OUTREACH-SEQUENCE.md presence), estimated deal value (if present).1175. **Mark missing data** as "N/A" -- never guess or fabricate.1186. **Classify pipeline stage** per prospect by checking which files exist against the stage classification table. Assign highest applicable stage.1197. **Handle malformed files:** If a prospect file is malformed or missing key data, include the prospect with missing-data annotation rather than excluding it.120121**Egress:** `prospect_files[]`, `prospect_data[]` (one entry per prospect with all extracted fields), `total_prospects`.122123**Go/No-Go:** At least one prospect file must be found (empty pipeline is handled inline, not as failure). All discovered prospects must appear in `prospect_data[]` -- no silent exclusion.124125---126127### BLOCK 2: Pipeline Analysis & Classification128129**Governed by: IMO**130131**Constants:** Grade band table (5 bands), methodology weights (5), health rating thresholds (4 levels), health metrics list (8 metrics).132133**Variables:** `prospect_data[]`, `score_distribution`, `pipeline_health_metrics`, `health_rating`, `average_score`, `top_prospects[]`, `weekly_focus[]`, `action_items[]`.134135**Ingress:** Receive `prospect_data[]` from BLOCK 1. Validate: each prospect has at minimum a name and a score (or "N/A" annotation).136137**Middle:**1381391. **Compute score distribution** by counting prospects in each grade band (A+ 90-100, A 75-89, B 60-74, C 40-59, D 0-39). Calculate percentage of pipeline per band and average score per band.1402. **Compute pipeline health metrics:**141 - Total Prospects: count.142 - Average Score: mean of all prospect scores.143 - A-Grade Prospects: count and percentage scoring 75+.144 - Pipeline Coverage: ratio of total prospects to target (assess if healthy or needs more).145 - Avg Component Spread: average range between highest and lowest component score per prospect.146 - Highest Score: max score with company name.147 - Lowest Score: min score with company name.148 - Score Std Deviation: standard deviation of all scores.1493. **Derive health rating** from metrics via health rating table: Excellent, Good, Needs Attention, or Critical.1504. **Rank prospects** by score descending. Select top 5 (or all if fewer than 5) for detailed snapshots.1515. **Select weekly focus** top 3 using criteria: (1) highest score not yet contacted, (2) prospect with time-sensitive trigger event, (3) prospect where one action could advance the stage.1526. **Generate action items** partitioned into three timeframes: Immediate (This Week) -- urgent actions tied to specific companies; Short-Term (Next 2 Weeks) -- follow-up sequences and deeper research; Pipeline Building -- actions to strengthen weak areas. Every action must be company-specific and executable (not generic).153154**Egress:** `score_distribution`, `pipeline_health_metrics`, `health_rating`, `average_score`, `top_prospects[]`, `weekly_focus[]`, `action_items[]`.155156**Go/No-Go:** Score distribution must account for 100% of prospects. Health metrics must all be computable. Every prospect must be ranked -- no omissions.157158---159160### BLOCK 3: Report Compilation161162**Governed by: Circle**163164**Constants:** 8 report sections (in order), Executive Summary length (3-5 paragraphs), dashboard sort order (score descending), report length target (250-350 lines), weekly focus Priority 1 daily breakdown (Mon-Tue / Wed-Thu / Fri).165166**Variables:** All variables from BLOCKs 1-2 assembled into 8 report sections.167168**Ingress:** Receive all computed values: `prospect_data[]`, `score_distribution`, `pipeline_health_metrics`, `health_rating`, `top_prospects[]`, `action_items[]`, `weekly_focus[]`, `outreach_status[]`, `report_date`. Validate: all 8 sections have sufficient data to render (partial data is acceptable with annotation).169170**Middle:**171172Assemble SALES-REPORT.md content in exact section order:1731741. **Executive Summary** (3-5 paragraphs): Total prospect count, score distribution overview, top opportunity highlight (highest-scoring prospect and why), biggest risk or gap, one-sentence recommendation for immediate focus.1752. **Pipeline Dashboard**: Full prospect table sorted by score descending with columns: #, Company, Score, Grade, Stage, Key Pain Point, Next Action, Est. Value. Include ALL prospects -- no omissions.1763. **Score Distribution**: Grade band table with columns: Grade, Count, % of Pipeline, Avg Score, Prospects. Add commentary on distribution health -- top-heavy vs. bottom-heavy, ideal vs. current, improvement actions.1774. **Top 5 Prospects** (detailed snapshots per prospect): Why they score well (2-3 sentences), component score table (5 dimensions with score and one-line assessment), key contacts, primary pain point, recommended approach, risk factors.1785. **Action Items**: Three timeframes (Immediate / Short-Term / Pipeline Building). Each item: company name, specific action, urgency rationale. Specific enough to execute -- not "follow up" but "send personalized email to [Name] referencing [topic]."1796. **Outreach Status**: Tracking table with columns: Company, Outreach Created, Sequence Type, First Touch, Status, Response. Guidance on which prospects need sequences, which are ready to execute, recommended outreach order.1807. **Pipeline Health Metrics**: Dashboard table (8 metrics with value and assessment) + Pipeline Health Assessment paragraph: overall rating, key strengths, key gaps, specific recommendations.1818. **Weekly Focus**: Top 3 prospects with actions. Priority 1: why focus now, Mon-Tue actions, Wed-Thu actions, Fri review. Priority 2-3: why focus now, key action.182183Append Methodology footer: 5 component weights with descriptions. Report generation attribution.184185**Egress:** Complete SALES-REPORT.md content string validated against 8-section structure. Length within 250-350 lines of substantive content.186187**Go/No-Go:** All 8 sections must be present. Dashboard must include every prospect. No section may be empty (use "No data available" annotation if source data is insufficient). Report length within target range.188189---190191### BLOCK 4: Output Assembly & Delivery192193**Governed by: CTB**194195**Constants:** Output file name (`SALES-REPORT.md`), report header format (title, generated date, prospect count, average score).196197**Variables:** Complete report content from BLOCK 3, `report_date`, `total_prospects`, `average_score`, `health_rating`.198199**Ingress:** Receive final report content from BLOCK 3. Validate: content is non-empty and contains all 8 section headers.200201**Middle:**2022031. **Write SALES-REPORT.md** to current working directory using Write tool. Header format:204 ```205 # Sales Pipeline Report206 > Generated on [date] | Prospects Analyzed: [count] | Average Score: [X]/100207 ```2082. **Verify completeness:** Confirm file was written, all 8 sections present, no truncation.2093. **Report summary to user** in terminal: total prospects, average score, health rating, top prospect name and score, single most important next action. Confirm file location.2104. **Handle large pipelines:** If more than 20 prospects, include all but note that segmentation (by stage, grade, or industry) would improve focus.211212**Egress:** SALES-REPORT.md written to disk. Terminal summary displayed. No further mutations.213214**Go/No-Go:** File must be writable. If write fails, display full report in terminal as fallback. Terminal summary must render without error.215216---217218## Rules2192201. Never write the report before reading ALL prospect files -- full scan must complete before any output.2212. Never exclude a prospect -- every prospect found must appear in the Pipeline Dashboard.2223. Never fabricate scores, contacts, pain points, or any data -- use only what exists in prospect files; mark absence as "N/A."2234. Never sugarcoat a weak pipeline -- if the pipeline is full of C-grade prospects, say so with honest assessment.2245. Never write generic action items -- every action must name a specific company and be executable without further research.2256. Never sort tables by anything other than score descending (highest first).2267. Never silently drop malformed prospect files -- include them with missing-data annotation.2278. Never exceed 350 lines or fall below 250 lines of substantive report content.2289. Never use LLM judgment to override grade band assignment, health rating, or stage classification -- all are mechanical lookups.22910. Never modify methodology weights at runtime -- weights are Constants.230231---232233## Reference Pointers234235| Reference | Location |236|-----------|----------|237| Prospect analysis skill | `skills/sales-prospect/SKILL.md` |238| Company research skill | `skills/sales-research/SKILL.md` |239| Contact intelligence skill | `skills/sales-contacts/SKILL.md` |240| Lead qualification skill | `skills/sales-qualify/SKILL.md` |241| Outreach strategy skill | `skills/sales-outreach/SKILL.md` |242| Competitive intelligence skill | `skills/sales-competitors/SKILL.md` |243| Architecture doctrine | `templates/doctrine/ARCHITECTURE.md` |244| Tool doctrine | `templates/integrations/TOOLS.md` |