安装方式
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add luongnv89/skills --skill website-improvement-prd Generate an approval-gated improvement PRD from a report and baseline, with evidence-backed what/why/value changes and measurable targets. Use for rebuild proposals. Don't use for task breakdown, coding, implementation, or unapproved persistence.
34
下载量
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add luongnv89/skills --skill website-improvement-prd name: website-improvement-prd
description: Generate an approval-gated improvement PRD from a report and baseline, with evidence-backed what/why/value changes and measurable targets. Use for rebuild proposals. Don't use for task breakdown, coding, implementation, or unapproved persistence.
license: MIT
effort: high
metadata:
version: 1.4.0
author: "Luong NGUYEN <luongnv89@gmail.com>"Turns an approved end-user report into a full improvement proposal with measurable value metrics. Writes prd.md after user approval.
Trigger when the user asks to:
Do not use for implementation planning or coding — those are separate phases.
analysis.json) and the approved Phase 2 report — ask for their paths if not supplied.Write tool is available; if it is not, stop with a descriptive error.$PROJECT_DIR/prd.md or the ~/workspace/clones/YYYY_MM_DD_slug/prd.md fallback) is writable before drafting.The approved prd.md is persisted with Write. When that output path lives inside a git worktree, sync before the write to avoid clobbering remote work:
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"
If the working tree is dirty: stash → sync → pop. If origin is missing or a conflict occurs: stop and ask the user. Skip this section only when the output path is outside any git repository.
1. Read the approved report (Phase 2) and analysis (Phase 1)
2. Identify improvement opportunities per dimension
3. For each change: define what, why, and expected value
4. Assemble into prd.md
5. Present to user for review
6. Incorporate edits (loop until approved)
7. Persist prd.md
# Improvement Proposal: <site name>
**Source URL:** <url>
**Date:** <date>
**Version:** 1.0
---
## Executive Summary
2–3 sentences summarizing the main improvement themes and expected impact.
## Current State
Brief summary of the baseline from Phase 1 analysis:
- Category and audience
- Current performance highlights
- Current SEO standing
- Current security posture
## Proposed Improvements
### Change 1: <Title>
**What:** Specific, scoped description of the change.
Example: "Replace the current hero section with a centered layout featuring a clear headline, subtext, and primary CTA button above the fold."
**Why:** Problem being solved, evidence from Phase 1 analysis.
Example: "The current hero burying the CTA below two content sections. Users must scroll past unrelated content before seeing the sign-up option (Phase 1 UI/UX friction point: 'CTA not immediately visible')."
**Expected Value:** Measurable impact.
Example: "If Phase 1 measured a primary CTA scroll distance, make the CTA visible without scrolling (scroll distance to CTA: <measured distance> → 0px). Click-through/conversion impact is not measurable from a static crawl; measure it after launch."
---
Repeat for each change. Group changes by dimension:
### UI/UX Improvements
### Performance Improvements
### SEO Improvements
### Security Improvements
### Style Enhancements
## Metrics Summary
| Metric | Current | Target | Delta |
|--------|---------|--------|-------|
| LCP | 4.3s | ≤ 2.0s | -53% |
| CLS | 0.18 | ≤ 0.05 | -72% |
| SEO Score | 62/100 | ≥ 90/100 | +45% |
| Page Weight | 2.1 MB | ≤ 800 KB | -62% |
## Next Steps
Reference Phase 4 (implementation plan) — the approved proposal feeds into `tasks.md` for phased execution.
---
*This proposal is based on analysis of a single crawl of the source site. Actual improvements may vary based on implementation decisions.*
Read the approved report and analysis:
Read file <path-to-report.md>
Read file <path-to-analysis.json>
If either is missing, ask for paths. The orchestrator should have already produced both.
For each dimension, identify specific, actionable improvements:
Each improvement must include:
Compare current metrics from Phase 1 against realistic targets:
| Current | Target Logic |
|---|---|
| LCP > 3s | Target ≤ 2.0s (good) or ≤ 1.5s (excellent) |
| CLS > 0.1 | Target ≤ 0.05 (good) |
| SEO < 80 | Target ≥ 90 |
| Page weight > 1 MB | Target ≤ 800 KB |
Assemble the proposal using the structure above.
Present the draft to the user:
"Here is the improvement proposal. Please:
If edits requested:
Do not persist until explicit approval.
Persist the assembled content using the Write tool with literal content only. If the Write tool is unavailable, stop with a descriptive error and do not use shell persistence or another output path.
Default: $PROJECT_DIR/prd.md or ~/workspace/clones/YYYY_MM_DD_slug/prd.md.
If $ARGUMENTS includes --output <path>, use that.
Confirm:
prd.md saved to: <absolute-path>
STATUS: approved
When invoked by the website-cloner umbrella (Phase 3 gate), the orchestrator
gates Phase 4 on this skill's outcome. The contract:
| Outcome | Signal |
|---|---|
| approved | prd.md exists at the resolved output path AND final line of stdout reads STATUS: approved |
| pending | no prd.md written; final line reads STATUS: pending (user still iterating) |
| aborted | no prd.md written; final line reads STATUS: aborted (user declined) |
The orchestrator MUST NOT advance to Phase 4 unless the outcome is approved.
A standalone invocation may ignore the status line, but the file-existence rule
still holds: no approval, no prd.md.
Verify the complete proposal before requesting approval:
prd.md contains executive summary, current state, grouped improvements, metrics summary, next steps, and source-data caveat.STATUS: approved; pending or aborted outcomes write no file.◆ Website Improvement PRD
··································································
Inputs validated: √ pass | × fail ([reason])
Changes evidenced: √ pass ([count])
Targets measurable: √ pass
User approved: √ pass | × pending
prd.md saved: √ pass ([absolute path]) | — not approved
Result: PASS | BLOCKED | FAIL
Report PASS only when the return contract's file and final status-line conditions both hold.
| Failure | Behavior |
|---|---|
| No input files provided | Ask for report.md and analysis.json paths |
| Invalid input format | Report error and ask for valid files |
| Report and analysis conflict | Cite both values and ask which approved baseline governs |
| Missing baseline metric | Propose a qualitative change or mark the target unavailable; never invent a number |
| User never approves | Keep looping; do not auto-save |