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:
Reza Rezvani
2026-03-10 09:45:05 +01:00
parent 7837b9d467
commit f6d98ddc19
29 changed files with 275 additions and 75 deletions

View File

@@ -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"

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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