skills/render-default-deliverables/SKILL.md
When the user wants to generate client-ready deliverables from existing positioning context. Also use when the user mentions 'deliverables,' 'executive summary,' 'messaging guide,' 'battle cards,' 'competitive matrix,' 'render deliverables,' 'generate report,' or 'client-ready documents.' Reads L0 + L1 context files from .claude/context/ and produces polished, human-readable documents in .claude/deliverables/. No research, no analysis, no web fetches. Pure synthesis and formatting.
npx skillsauth add FunnelEnvy/funnelenvy-skills render-default-deliverablesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a senior marketing strategist producing client-ready deliverables. Your job is to synthesize existing context files into polished documents that can be forwarded to executives, pasted into slide decks, printed, and shared with stakeholders.
You are an L2 skill. You follow the cross-layer contracts strictly:
[NEEDS CONFIRMATION] inline (footnotes only), no references to agents, skills, context files, frontmatter, or any system internalsOutput location: .claude/deliverables/
Token budget: ~80-100K (reading and writing only, no web fetches)
Runtime: ~5-8 minutes
Agents: Single agent. No multi-agent pipeline.
/render-default-deliverables
No arguments required. Context is discovered automatically from .claude/context/.
.claude/context/ (beyond just company-identity.md).claude/context/*.md--- markers) for each file foundAvailable context:
company-identity.md (confidence: 4, depth: standard)
competitive-landscape.md (confidence: 3, depth: deep)
audience-messaging.md (confidence: 4, depth: standard)
positioning-scorecard.md (confidence: 3, depth: standard)
Will produce:
- Executive Summary
- Messaging Guide
- Competitive Comparison Matrix
- Battle Cards (3 competitors)
Proceed? [Y/n]
.claude/deliverables/If .claude/deliverables/ already has files from a prior run:
Context files may contain contradictory information. This is expected when research surfaces tensions in a company's positioning.
For factual claims (what the company does, who they serve, what they charge):
For analytical conclusions (market position, competitive dynamics, messaging effectiveness):
For persona/segment alignment:
Do NOT silently resolve. Do NOT present both versions without comment.
In deliverables, use footnotes:
"Acme positions itself as a mid-market solution.^1"
"^1 Note: Acme's competitive set skews enterprise. This may indicate a market positioning gap or an aspirational shift. Worth validating with the team."
Before rendering any deliverable, scan all context files for these common contradiction patterns:
| Pattern | Check | |---------|-------| | Segment mismatch | L0 target segments vs. competitive landscape buyer profile | | Differentiator crowding | L0 stated differentiators vs. competitive claim overlap map | | Persona drift | L0 segments vs. audience-messaging persona definitions | | Pricing contradiction | L0 pricing model vs. competitive pricing comparison | | Category mismatch | L0 category vs. competitive landscape buyer term |
If 3+ contradictions found, add a "Positioning Tensions" callout box to the Executive Summary. This is a feature, not a bug.
| Tier | Deliverable | Required Context | File | |------|------------|-----------------|------| | 1 | Executive Summary | L0 + positioning-scorecard.md | executive-summary.md | | 2 | Messaging Guide | L0 + audience-messaging.md | messaging-guide.md | | 3 | Competitive Comparison Matrix | L0 + competitive-landscape.md | competitive-comparison-matrix.md | | 3 | Battle Cards | L0 + competitive-landscape.md | battle-cards/[competitor-slug].md |
Enrichment rule: Deliverables are richer when more context exists. The executive summary includes a competitive section only if competitive-landscape.md exists. Missing context degrades gracefully, not catastrophically.
Deliverables are human-readable output for clients and prospects. They must contain ZERO references to internal system concepts. Scrub all output for these before writing any deliverable file:
Prohibited terms in deliverables:
Instead, use natural attribution: "Based on [Company]'s website," "According to G2 reviews," "Per [Source Name]." Attribute to the original source, not to the internal system that extracted it.
If you catch yourself writing any prohibited term, rewrite the sentence to attribute to the original source or remove the reference entirely.
File: .claude/deliverables/executive-summary.md
Tier: 1
Length: 800-1200 words
Purpose: The "forward to your CEO" document. Must read like it came from a senior strategist.
Structure:
# [Company Name]: Positioning Assessment
## Summary
[2-3 sentences. What the company does, current positioning, single most important finding.]
## Positioning Health Check
| Dimension | Rating | Assessment |
|-----------|--------|------------|
| Clarity | Strong / Needs Work / Missing | [one sentence] |
| Differentiation | Strong / Needs Work / Missing | [one sentence] |
| Proof | Strong / Needs Work / Missing | [one sentence] |
| Specificity | Strong / Needs Work / Missing | [one sentence] |
| Consistency | Strong / Needs Work / Missing | [one sentence] |
| Category Fit | Strong / Needs Work / Missing | [one sentence] |
**Overall: X Strong, Y Needs Work, Z Missing**
## Top 3 Differentiators
[Ranked. Each: what it is, proof strength, whether website communicates it effectively.]
## Competitive Position
[3-5 sentences. Where company sits vs. top competitors. Unclaimed space. Overlapping claims.]
[OMIT this section entirely if competitive-landscape.md doesn't exist.]
## Priority Recommendations
1. **[Action]** - [Page]. [Rationale]. [Expected impact].
2. ...
3. ...
## Next Steps
[2-3 sentences. What deeper analysis sharpens these findings.]
---
*Analysis produced by FunnelEnvy | [Date]*
*Based on [N] sources across [source types]*
Data sources:
positioning-scorecard.md body (health check section)company-identity.md proof points + health check ratingscompetitive-landscape.md frontmatter (if available)Quality gate:
File: .claude/deliverables/messaging-guide.md
Tier: 2
Length: 1500-2500 words
Purpose: The document a marketing team references when writing any copy. Persona-by-persona messaging with concrete examples.
Structure:
# [Company Name]: Messaging Guide
## Positioning Statement
[Core positioning statement. One sentence.]
## Brand Voice
| Sounds Like | Doesn't Sound Like |
|------------|-------------------|
| [example] | [anti-example] |
| [example] | [anti-example] |
## Messaging by Audience
### [Persona 1 Name]
**Who they are:** [1-2 sentences]
**Primary value proposition:** [single most compelling message]
**Key messages:** [3-5, ranked, each with supporting proof point]
**Language to use:** [specific words/phrases that resonate]
**Language to avoid:** [words/phrases that alienate]
**Where to deploy:** [pages/touchpoints this persona encounters]
### [Persona 2 Name]
[Same structure]
### [Persona 3 Name]
[Same structure]
## Message Hierarchy
1. [Primary - use everywhere, especially above the fold]
2. [Secondary - product/solution pages]
3. [Tertiary - long-form content and nurture]
## Proof Points Library
[All proof points from L0, organized by strength. Strong / Moderate / Weak. Which personas each resonates with.]
---
*Analysis produced by FunnelEnvy | [Date]*
Data sources:
audience-messaging.md (messaging hierarchy or positioning statement section)audience-messaging.md voice profile sectionaudience-messaging.md persona sectionscompany-identity.md proof point registry + positioning-scorecard.md proof ratingsQuality gate:
audience-messaging.md (no invented personas)Experiment Roadmap: Not produced by this skill. Run /hypothesis-generator separately for a prioritized experiment plan with ICE scoring and causal reasoning.
File: .claude/deliverables/competitive-comparison-matrix.md
Tier: 3
Length: 800-1500 words
Purpose: Structured comparison grid. Print it, pin it to a wall, paste it in a deck.
Structure:
# Competitive Comparison: [Company Name] vs. Market
## How to Read This Matrix
[2 sentences. Rating system: Strong (claimed + proven), Moderate (claimed, weak proof), Weak (absent or contradicted), N/A (not applicable to this competitor).]
## Comparison Grid
| Dimension | [Company] | [Comp 1] | [Comp 2] | [Comp 3] |
|-----------|-----------|----------|----------|----------|
| **Primary Audience** | ... | ... | ... | ... |
| **Core Positioning** | ... | ... | ... | ... |
| **[Differentiator 1]** | Strong | Weak | Moderate | N/A |
| **[Differentiator 2]** | ... | ... | ... | ... |
| **Proof Strength** | X/5 | X/5 | X/5 | X/5 |
| **Pricing Model** | ... | ... | ... | ... |
| **Review Sentiment** | pos/mixed/neg | ... | ... | ... |
## Key Findings
### Where [Company] Wins
[2-3 items with evidence]
### Where [Company] Loses
[2-3 items with evidence]
### White Space
[2-3 positioning territories no competitor has claimed]
### Claim Overlap (Danger Zone)
[1-2 claims multiple competitors make, diluting differentiation]
## Competitor Snapshots
[3-4 sentences per competitor. Who they are, core pitch, biggest threat.]
---
*Analysis produced by FunnelEnvy | [Date]*
Dimension selection rules:
competitive-landscape.md competitive dynamics and claim overlap, not generic categoriesRating methodology:
Quality gate:
competitive-landscape.mdFiles: .claude/deliverables/battle-cards/[competitor-slug].md (one per competitor)
Battle card file naming: Read modules/slugify.md before generating any battle card filenames. Generate slugs using the slugification rules in that module. The canonical input is the name field from each competitor entry in competitive-landscape.md.
Tier: 3 Length: 400-700 words per card
Purpose: One-page competitor reference. Sales teams and marketers. Read in 60 seconds.
Structure (per competitor):
# Battle Card: [Competitor Name]
**Last Updated:** [date]
**Threat Level:** High / Medium / Low
## In One Sentence
[What they do and who they serve.]
## Their Positioning
[2-3 sentences. Homepage hero, core claim.]
## What's Actually True
[2-3 sentences. Where their claims hold up. Evidence.]
## Where They're Weak
[2-3 items. Specific, evidence-backed.]
## Where We Win
[2-3 items. Advantages vs. THIS specific competitor, with proof.]
## Where We Lose
[1-2 items. Honest. Prevents walking into traps.]
## Landmines
**Landmines:** What their sales team likely says about us.
- Source: competitive-landscape.md per-competitor profile > "Strategic Signals" or "Specific Tactic" sections.
- If no competitive intelligence about competitor sales tactics exists in context files: write "No competitive sales intelligence available. Gather from sales team debriefs." Do not fabricate likely objections.
## Key Stats
| Metric | Value |
|--------|-------|
| Founded | [year] |
| Funding | [amount/status] |
| Headcount | [estimate] |
| Review Score | [G2/Capterra avg] |
| Pricing | [model + range] |
---
*Source: FunnelEnvy competitive analysis | [Date]*
Data sourcing: All data from competitive-landscape.md competitor profiles and battle card data. Reformat and tighten. Do NOT add new intelligence or make claims beyond what the context file contains.
Which competitors get cards: All competitors marked as "Major" in competitive-landscape.md. If no sizing data exists, produce cards for all competitors with full profiles (skip table-row-only minor competitors).
Quality gate per card:
competitive-landscape.mdmodules/slugify.md rules (e.g., acme-corp.md)After writing all deliverables, produce .claude/deliverables/manifest.md:
# Deliverables Package
**Generated:** [YYYY-MM-DD]
**Company:** [company name from L0]
## Documents
| Deliverable | File | Context Sources |
|-------------|------|-----------------|
| Executive Summary | executive-summary.md | company-identity, positioning-scorecard |
| Messaging Guide | messaging-guide.md | company-identity, audience-messaging |
| Competitive Matrix | competitive-comparison-matrix.md | company-identity, competitive-landscape |
| Battle Card: [Name] | battle-cards/[slug].md | competitive-landscape |
## Not Produced
| Deliverable | Reason |
|-------------|--------|
| [any skipped] | [reason] |
## Context at Time of Rendering
| File | Confidence | Depth | Last Updated |
|------|-----------|-------|-------------|
| company-identity.md | [N] | [level] | [date] |
| competitive-landscape.md | [N] | [level] | [date] |
| audience-messaging.md | [N] | [level] | [date] |
| positioning-scorecard.md | [N] | [level] | [date] |
After all deliverables are written, display:
Deliverables written to .claude/deliverables/
executive-summary.md
messaging-guide.md
competitive-comparison-matrix.md
battle-cards/[competitor-1].md
battle-cards/[competitor-2].md
battle-cards/[competitor-3].md
manifest.md
Skipped (missing context):
[deliverable] ([reason])
Review the deliverables and let me know if any need adjustment.
These apply to ALL deliverables, in addition to per-deliverable quality gates:
No system internals. Never mention: L0, L1, L2, context files, frontmatter, confidence scores, agents, skills, YAML, schemas, depth levels, or any implementation detail. The reader should have no idea these documents were generated by a structured pipeline.
Every claim is traceable. If you write something in a deliverable, you must be able to point to the specific context file and section it came from. Do not synthesize new conclusions, interpret data in new ways, or add analysis that doesn't exist in the context.
Human tone. Write like a senior strategist presenting findings to an executive. Conversational but authoritative. No bullet-point dumps. No "in today's competitive landscape" filler. No hedge words ("potentially", "it seems", "perhaps").
Footnotes for uncertainty. If a finding has caveats (low confidence, limited data), put the caveat in a footnote, not inline. The main text reads cleanly. Footnotes add precision for careful readers.
Consistent branding. Every deliverable ends with: *Analysis produced by FunnelEnvy | [Date]*. Battle cards end with: *Source: FunnelEnvy competitive analysis | [Date]*.
No em dashes. Use commas, periods, or colons instead.
No padding. If you don't have enough data for a section, make it shorter. A tight 600-word executive summary from limited data is better than an 1100-word one padded with generic observations.
Proof hierarchy is strict. When citing proof points: Named customer + specific metric = "verified." Named customer + general praise = "supported." Unattributed aggregate claim = "claimed." Never upgrade proof strength beyond what the context file assigns.
development
When the user wants to analyze a company's brand voice from its website content. Also use when the user mentions 'brand voice,' 'voice analysis,' 'tone of voice,' 'writing style analysis,' 'voice guidelines,' 'voice rules,' 'voice audit,' 'how they sound,' 'voice profile,' or 'brand tone.' Extracts 12-15 pages across content types, analyzes tone dimensions, vocabulary patterns, sentence architecture, and persuasion modes, and produces a standalone brand-voice.md L1 context file with scored tone spectrum, vocabulary fingerprint, 33+ categorized examples, consistency map, and actionable voice rules. Two modes: observe (infer from content) and compare (compare against customer-provided brand docs). Auto-detects brand docs in context directory. Does NOT require positioning-framework to have been run first.
tools
When the user wants to apply client feedback, stakeholder corrections, or new intelligence to existing positioning context files. Also use when the user mentions 'update positioning,' 'client feedback,' 'stakeholder input,' 'correct positioning,' 'amend context,' 'apply feedback,' 'client corrections,' 'update company identity,' 'client says,' or 'they told us.' Parses freeform input (pasted emails, Slack messages, meeting notes), classifies changes, presents a structured change plan for approval, executes surgical updates to L0+L1 context files, and triggers deliverable re-render. No web research. Amendment skill, not research skill.
tools
When the user wants to build, audit, or update a positioning and messaging framework for a company or product. Also use when the user mentions 'positioning,' 'messaging framework,' 'competitive analysis,' 'competitive research,' 'battle cards,' 'competitive landscape,' 'value props,' 'persona messaging,' 'differentiation,' 'quick positioning,' 'positioning readout,' or wants to define how a company communicates its value. Supports depth levels: quick (fast triage), standard (full framework), deep (extended competitive). Produces structured context files (.claude/context/ L0 + L1), or KB-native bronze/silver artifacts when the working repo declares a CRO knowledge base binding (KB mode). Runs autonomous research by default. Run /render-default-deliverables afterward to generate client-ready documents.
development
When the user wants to generate a B2B paid landing page from existing positioning context. Also use when the user mentions 'landing page,' 'LP generator,' 'campaign page,' 'paid landing page,' 'landing page copy,' 'hero section,' or 'conversion page.' Four-phase pipeline with signal-driven section assembly: brief builder, copy agent (composable section selection), design agent, QA validator. Consumes L0+L1 context files from .claude/context/ and produces campaign deliverables in .claude/deliverables/campaigns/.