release: v2.1.2 — landing page TSX output, brand voice integration, docs update
- Landing page generator defaults to Next.js TSX + Tailwind CSS (4 design styles) - Brand voice analyzer integrated into landing page generation workflow - CHANGELOG, CLAUDE.md, README.md updated for v2.1.2 - All 13 plugin.json + marketplace.json bumped to 2.1.2 - Gemini/Codex skill indexes re-synced - Backward compatible: --format html preserved, no breaking changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "product-skills",
|
||||
"description": "8 product skills: product manager toolkit (RICE, PRDs), agile product owner, product strategist, UX researcher designer, UI design system, competitive teardown, landing page generator, and SaaS scaffolder",
|
||||
"version": "2.1.1",
|
||||
"version": "2.1.2",
|
||||
"author": {
|
||||
"name": "Alireza Rezvani",
|
||||
"url": "https://alirezarezvani.com"
|
||||
|
||||
@@ -29,7 +29,17 @@ python3 product-team/product-strategist/scripts/okr_cascade_generator.py --help
|
||||
| Landing pages | landing-page-generator |
|
||||
| SaaS boilerplate | saas-scaffolder |
|
||||
|
||||
## Cross-Domain Workflows
|
||||
|
||||
**Landing page + brand voice:** Before generating landing pages, run the brand voice analyzer to match copy tone:
|
||||
```bash
|
||||
python3 marketing-skill/content-production/scripts/brand_voice_analyzer.py brand_copy.txt --format json
|
||||
python3 product-team/landing-page-generator/scripts/landing_page_scaffolder.py config.json --format tsx
|
||||
```
|
||||
Voice profile maps to design styles: formal+professional→enterprise, casual+friendly→bold-startup, professional+authoritative→dark-saas, casual+conversational→clean-minimal.
|
||||
|
||||
## Rules
|
||||
|
||||
- Load only 1-2 skills per request — don't bulk-load
|
||||
- Use Python tools for scoring and analysis
|
||||
- Landing page scaffolder defaults to TSX output (Next.js + Tailwind). Use `--format html` for standalone HTML.
|
||||
|
||||
@@ -175,11 +175,54 @@ python competitive-teardown/scripts/competitive_matrix_builder.py competitors.js
|
||||
|
||||
### 8. Landing Page Scaffolder (`landing-page-generator/scripts/landing_page_scaffolder.py`)
|
||||
|
||||
**Purpose:** Landing page template generation
|
||||
**Purpose:** Generate production-ready landing pages as Next.js/React TSX components with Tailwind CSS (default) or plain HTML.
|
||||
|
||||
**Features:**
|
||||
- TSX output (default): Next.js 14+ App Router components with Tailwind classes
|
||||
- 4 design styles: `dark-saas`, `clean-minimal`, `bold-startup`, `enterprise`
|
||||
- 7 section generators: nav, hero, features, testimonials, pricing, CTA, footer
|
||||
- Copy frameworks: PAS, AIDA, BAB
|
||||
- SEO metadata export
|
||||
- HTML output preserved via `--format html`
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
python landing-page-generator/scripts/landing_page_scaffolder.py config.json
|
||||
# TSX output (default) with design style
|
||||
python landing-page-generator/scripts/landing_page_scaffolder.py config.json --format tsx
|
||||
|
||||
# HTML output
|
||||
python landing-page-generator/scripts/landing_page_scaffolder.py config.json --format html
|
||||
|
||||
# JSON manifest (dry run)
|
||||
python landing-page-generator/scripts/landing_page_scaffolder.py config.json --format json
|
||||
```
|
||||
|
||||
**Config JSON format:**
|
||||
```json
|
||||
{
|
||||
"product_name": "Acme",
|
||||
"tagline": "Ship faster. Break less.",
|
||||
"design_style": "dark-saas",
|
||||
"copy_framework": "PAS",
|
||||
"sections": ["nav", "hero", "features", "pricing", "cta", "footer"],
|
||||
"features": [
|
||||
{"title": "Fast deploys", "description": "Zero-downtime deployments"}
|
||||
],
|
||||
"pricing": [
|
||||
{"name": "Free", "price": "$0/mo", "features": ["5 projects"]},
|
||||
{"name": "Pro", "price": "$29/mo", "features": ["Unlimited"], "highlighted": true}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Brand Voice Integration:** Before generating copy, run the brand voice analyzer to establish tone and formality:
|
||||
```bash
|
||||
# 1. Analyze existing brand content to establish voice profile
|
||||
python ../marketing-skill/content-production/scripts/brand_voice_analyzer.py brand_samples.txt --format json > voice_profile.json
|
||||
|
||||
# 2. Use the voice profile (formality, tone, perspective) to guide copy framework selection
|
||||
# 3. Generate landing page with matching style
|
||||
python landing-page-generator/scripts/landing_page_scaffolder.py config.json --format tsx
|
||||
```
|
||||
|
||||
### 9. Project Bootstrapper (`saas-scaffolder/scripts/project_bootstrapper.py`)
|
||||
@@ -236,6 +279,31 @@ python agile-product-owner/scripts/user_story_generator.py sprint $CAPACITY
|
||||
python product-manager-toolkit/scripts/rice_prioritizer.py features.csv --output json > priorities.json
|
||||
```
|
||||
|
||||
### Workflow 4: Brand-Aligned Landing Page
|
||||
|
||||
This workflow connects the marketing brand voice skill with the landing page generator to ensure copy consistency.
|
||||
|
||||
```bash
|
||||
# 1. Analyze existing brand content for voice profile
|
||||
python ../marketing-skill/content-production/scripts/brand_voice_analyzer.py website_copy.txt --format json > voice.json
|
||||
# Output: formality (formal/casual), tone (professional/friendly), perspective (authoritative/conversational)
|
||||
|
||||
# 2. Map voice profile to design style + copy framework:
|
||||
# - formal + professional → enterprise style, AIDA framework
|
||||
# - casual + friendly → bold-startup style, BAB framework
|
||||
# - professional + authoritative → dark-saas style, PAS framework
|
||||
# - casual + conversational → clean-minimal style, BAB framework
|
||||
|
||||
# 3. Generate design tokens for brand consistency
|
||||
python ui-design-system/scripts/design_token_generator.py "#0066CC" modern css
|
||||
|
||||
# 4. Generate the landing page
|
||||
python landing-page-generator/scripts/landing_page_scaffolder.py config.json --format tsx
|
||||
|
||||
# 5. Run competitive teardown to refine positioning
|
||||
python competitive-teardown/scripts/competitive_matrix_builder.py competitors.json
|
||||
```
|
||||
|
||||
## Integration Patterns
|
||||
|
||||
### Jira Integration
|
||||
@@ -273,28 +341,28 @@ python ux-researcher-designer/scripts/persona_generator.py --output json > perso
|
||||
- Standard library only (minimal dependencies)
|
||||
- Actionable recommendations
|
||||
|
||||
## Roadmap
|
||||
## Cross-Domain Integration
|
||||
|
||||
**Current (Phase 2):** 8 skills deployed with 9 tools, 4 agents, 5 commands
|
||||
### Brand Voice → Landing Page
|
||||
|
||||
**Next:** Product analytics
|
||||
- A/B test analyzer
|
||||
- Funnel conversion tracker
|
||||
- Cohort retention analyzer
|
||||
- Product-market fit assessment
|
||||
- Revenue impact calculator
|
||||
The landing page generator integrates with the marketing brand voice analyzer (`marketing-skill/content-production/scripts/brand_voice_analyzer.py`) to ensure copy on generated pages matches the brand's established voice. The analyzer outputs formality, tone, and perspective dimensions which map to design style and copy framework choices. See Workflow 4 above.
|
||||
|
||||
See `product_team_implementation_guide.md` for detailed plans.
|
||||
### Design Tokens → Landing Page
|
||||
|
||||
Design tokens from `ui-design-system/scripts/design_token_generator.py` can be generated alongside landing pages to ensure consistent color, typography, and spacing across the product.
|
||||
|
||||
### Competitive Teardown → Landing Page
|
||||
|
||||
Competitive positioning from `competitive-teardown/scripts/competitive_matrix_builder.py` informs landing page messaging — use SWOT analysis to identify differentiation points and translate them into hero copy and feature sections.
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- **Implementation Guide:** `product_team_implementation_guide.md`
|
||||
- **Real-World Scenario:** `REAL_WORLD_SCENARIO.md` (if exists)
|
||||
- **Main Documentation:** `../CLAUDE.md`
|
||||
- **Marketing Brand Voice:** `../marketing-skill/content-production/scripts/brand_voice_analyzer.py`
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** March 9, 2026
|
||||
**Last Updated:** March 10, 2026
|
||||
**Skills Deployed:** 8/8 product skills production-ready
|
||||
**Total Tools:** 9 Python automation tools
|
||||
**Agents:** 4 | **Commands:** 5
|
||||
|
||||
@@ -110,6 +110,7 @@ python saas-scaffolder/scripts/project_bootstrapper.py config.json
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** March 2026
|
||||
**Last Updated:** March 10, 2026
|
||||
**Version:** v2.1.2
|
||||
**Skills Deployed:** 8/8 production-ready
|
||||
**Total Tools:** 9 Python automation tools
|
||||
|
||||
@@ -30,11 +30,16 @@ Generate high-converting landing pages from a product description. Output comple
|
||||
Follow these steps in order for every landing page request:
|
||||
|
||||
1. **Gather inputs** — collect product name, tagline, audience, pain point, key benefit, pricing tiers, design style, and copy framework using the trigger format below. Ask only for missing fields.
|
||||
2. **Select design style** — map the user's choice (or infer from context) to one of the four Tailwind class sets in the Design Style Reference.
|
||||
3. **Apply copy framework** — write all headline and body copy using the chosen framework (PAS / AIDA / BAB) before generating components.
|
||||
4. **Generate sections in order** — Hero → Features → Pricing → FAQ → Testimonials → CTA → Footer. Skip sections not relevant to the product.
|
||||
5. **Validate against SEO checklist** — run through every item in the SEO Checklist before outputting final code. Fix any gaps inline.
|
||||
6. **Output final components** — deliver complete, copy-paste-ready TSX files with all Tailwind classes, SEO meta, and structured data included.
|
||||
2. **Analyze brand voice** (recommended) — if the user has existing brand content (website copy, blog posts, marketing materials), run it through `marketing-skill/content-production/scripts/brand_voice_analyzer.py` to get a voice profile (formality, tone, perspective). Use the profile to inform design style and copy framework selection:
|
||||
- formal + professional → **enterprise** style, **AIDA** framework
|
||||
- casual + friendly → **bold-startup** style, **BAB** framework
|
||||
- professional + authoritative → **dark-saas** style, **PAS** framework
|
||||
- casual + conversational → **clean-minimal** style, **BAB** framework
|
||||
3. **Select design style** — map the user's choice (or infer from brand voice analysis) to one of the four Tailwind class sets in the Design Style Reference.
|
||||
4. **Apply copy framework** — write all headline and body copy using the chosen framework (PAS / AIDA / BAB) before generating components. Match the voice profile's formality and tone throughout.
|
||||
5. **Generate sections in order** — Hero → Features → Pricing → FAQ → Testimonials → CTA → Footer. Skip sections not relevant to the product.
|
||||
6. **Validate against SEO checklist** — run through every item in the SEO Checklist before outputting final code. Fix any gaps inline.
|
||||
7. **Output final components** — deliver complete, copy-paste-ready TSX files with all Tailwind classes, SEO meta, and structured data included.
|
||||
|
||||
---
|
||||
|
||||
@@ -183,3 +188,11 @@ Inject `FAQPage` JSON-LD via `<script type="application/ld+json" dangerouslySetI
|
||||
- CTA copy too vague — "Get started" beats "Learn more"; "Start free trial" beats "Sign up"
|
||||
- Pricing page missing trust signals — add money-back guarantee and testimonials near CTA
|
||||
- No above-the-fold CTA on mobile — ensure button is visible without scrolling on 375px viewport
|
||||
|
||||
---
|
||||
|
||||
## Related Skills
|
||||
|
||||
- **Brand Voice Analyzer** (`marketing-skill/content-production/scripts/brand_voice_analyzer.py`) — Run before generation to establish voice profile and ensure copy consistency
|
||||
- **UI Design System** (`product-team/ui-design-system/`) — Generate design tokens from brand color before building the page
|
||||
- **Competitive Teardown** (`product-team/competitive-teardown/`) — Competitive positioning informs landing page messaging and differentiation
|
||||
|
||||
Reference in New Issue
Block a user