product-manager

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Product Manager

产品经理

Ensures features are not just implemented but actually user-accessible. Bridges the gap between "code complete" and "user can use it."
Integrates with:
  • prd-analyzer
    — Reads tasks.db, features.json, PROJECT.md
  • All implementation skills — Validates their output is user-facing
确保功能不仅完成代码实现,还能真正被用户访问使用。填补“代码完成”与“用户可使用”之间的差距。
集成工具:
  • prd-analyzer
    — 读取tasks.db、features.json、PROJECT.md
  • 所有实现类工具 — 验证其输出内容面向用户

The Problem This Solves

解决的问题

PRD says: "User can export analytics to Tableau"
Backend:   ✓ analytics-api.ts exists with Tableau endpoints
Frontend:  ✗ No /analytics route
Navigation: ✗ No menu item
Result:    Feature "done" in tasks.db, but users can't access it
PRD要求:"用户可将分析数据导出至Tableau"
后端:   ✓ 存在analytics-api.ts,包含Tableau端点
前端:  ✗ 无/analytics路由
导航: ✗ 无菜单项
结果:    tasks.db中标记该功能“已完成”,但用户无法访问

Core Workflow

核心工作流

1. DISCOVER   → Find project structure and framework
2. READ       → Load PRD features from prd-analyzer output
3. SCAN       → Search codebase for implementation evidence
4. AUDIT      → Check user-facing accessibility
5. ANALYZE    → Compare requirements vs reality
6. REPORT     → Generate gap analysis
7. REMEDIATE  → Create tasks for missing pieces

1. DISCOVER   → Find project structure and framework
2. READ       → Load PRD features from prd-analyzer output
3. SCAN       → Search codebase for implementation evidence
4. AUDIT      → Check user-facing accessibility
5. ANALYZE    → Compare requirements vs reality
6. REPORT     → Generate gap analysis
7. REMEDIATE  → Create tasks for missing pieces

Quick Start

快速开始

1. Discover Project

1. 识别项目

bash
undefined
bash
undefined

Identify framework and structure

Identify framework and structure

ls -la cat package.json

Look for:
- Framework indicators (next.config.js, vite.config.ts, expo.json, etc.)
- Source structure (src/, app/, pages/, etc.)
- Backend location (backend/, server/, api/, etc.)
ls -la cat package.json

检查以下内容:
- 框架标识文件(next.config.js、vite.config.ts、expo.json等)
- 源码结构(src/、app/、pages/等)
- 后端位置(backend/、server/、api/等)

2. Load PRD Context

2. 加载PRD上下文

bash
undefined
bash
undefined

From prd-analyzer output

From prd-analyzer output

cat .claude/PROJECT.md cat .claude/features.json sqlite3 .claude/tasks.db "SELECT id, title, status FROM epics"
undefined
cat .claude/PROJECT.md cat .claude/features.json sqlite3 .claude/tasks.db "SELECT id, title, status FROM epics"
undefined

3. Run Feature Audit

3. 运行功能审计

For each feature:
  1. Check backend implementation
  2. Check frontend implementation
  3. Check user accessibility
  4. Record findings
针对每个功能:
  1. 检查后端实现情况
  2. 检查前端实现情况
  3. 检查用户可访问性
  4. 记录审计结果

4. Generate Report

4. 生成报告

Output:
  • audit-report.md
    — Human-readable gap analysis
  • audit-results.json
    — Programmatic results
  • Updated
    tasks.db
    — Remediation tasks added

输出内容:
  • audit-report.md
    — 人类可读的差距分析报告
  • audit-results.json
    — 程序化输出结果
  • 更新后的
    tasks.db
    — 新增修复任务

Feature Completeness Model

功能完整性模型

Completeness Levels

完整性等级

LevelNameMeaning
0Not StartedNo implementation evidence
1Backend OnlyService/API exists, no frontend
2Frontend ExistsUI components exist, not accessible
3RoutableHas route/screen, not in navigation
4AccessibleIn navigation, users can reach it
5CompleteAccessible + documented + tested
等级名称含义
0未启动无实现痕迹
1仅后端实现服务/API已存在,无前端
2前端已存在UI组件已实现,但无法访问
3可路由有路由/页面,但未加入导航
4可访问已加入导航,用户可到达
5完全完成可访问 + 已文档化 + 已测试

Completeness Checklist

完整性检查清单

markdown
undefined
markdown
undefined

Feature: [Name]

Feature: [Name]

Implementation

Implementation

  • Backend service/API implemented
  • Database schema exists (if needed)
  • Frontend components exist
  • API integration complete
  • Backend service/API implemented
  • Database schema exists (if needed)
  • Frontend components exist
  • API integration complete

Accessibility

Accessibility

  • Route/screen exists
  • Reachable from navigation
  • Mobile responsive (if web)
  • Works on target platforms
  • Route/screen exists
  • Reachable from navigation
  • Mobile responsive (if web)
  • Works on target platforms

Polish

Polish

  • Error states handled
  • Loading states present
  • Empty states designed
  • Documented in help/docs
  • Error states handled
  • Loading states present
  • Empty states designed
  • Documented in help/docs

Verdict: Level [0-5]

Verdict: Level [0-5]


---

---

Framework Detection

框架检测

Automatic Detection

自动检测

javascript
// Detection order
const frameworkIndicators = {
  // Web Frameworks
  'next.config.js':     'nextjs',
  'next.config.mjs':    'nextjs',
  'next.config.ts':     'nextjs',
  'vite.config.ts':     'vite',
  'vite.config.js':     'vite',
  'remix.config.js':    'remix',
  'astro.config.mjs':   'astro',
  
  // React Router / TanStack
  'src/routes.tsx':     'react-router',
  'src/router.tsx':     'tanstack-router',
  'app/routes/':        'remix',
  
  // Mobile
  'app.json':           'expo',
  'expo.json':          'expo',
  'react-native.config.js': 'react-native',
  'ios/':               'react-native',
  'android/':           'react-native',
  
  // Backend
  'backend/':           'separate-backend',
  'server/':            'separate-backend',
  'api/':               'api-routes',
};
javascript
// Detection order
const frameworkIndicators = {
  // Web Frameworks
  'next.config.js':     'nextjs',
  'next.config.mjs':    'nextjs',
  'next.config.ts':     'nextjs',
  'vite.config.ts':     'vite',
  'vite.config.js':     'vite',
  'remix.config.js':    'remix',
  'astro.config.mjs':   'astro',
  
  // React Router / TanStack
  'src/routes.tsx':     'react-router',
  'src/router.tsx':     'tanstack-router',
  'app/routes/':        'remix',
  
  // Mobile
  'app.json':           'expo',
  'expo.json':          'expo',
  'react-native.config.js': 'react-native',
  'ios/':               'react-native',
  'android/':           'react-native',
  
  // Backend
  'backend/':           'separate-backend',
  'server/':            'separate-backend',
  'api/':               'api-routes',
};

Framework-Specific Patterns

框架特定模式

FrameworkRoutes LocationNavigationAPI Calls
Next.js (pages)
pages/**/*.tsx
components/nav
lib/api
,
services/
Next.js (app)
app/**/page.tsx
app/layout.tsx
app/api/
,
lib/
React Router
src/routes.tsx
src/components/
src/api/
,
src/services/
TanStack Router
src/routes/
src/components/
src/lib/
Remix
app/routes/
app/root.tsx
app/routes/*.server.ts
React Native
src/screens/
src/navigation/
src/api/
,
src/services/
Expo Router
app/
app/_layout.tsx
src/api/
Detailed patterns: See references/framework-patterns.md

框架路由位置导航API调用
Next.js (pages)
pages/**/*.tsx
components/nav
lib/api
,
services/
Next.js (app)
app/**/page.tsx
app/layout.tsx
app/api/
,
lib/
React Router
src/routes.tsx
src/components/
src/api/
,
src/services/
TanStack Router
src/routes/
src/components/
src/lib/
Remix
app/routes/
app/root.tsx
app/routes/*.server.ts
React Native
src/screens/
src/navigation/
src/api/
,
src/services/
Expo Router
app/
app/_layout.tsx
src/api/
详细模式: 参见 references/framework-patterns.md

Scanning Process

扫描流程

Backend Scan

后端扫描

Find evidence of implementation:
bash
undefined
查找实现痕迹:
bash
undefined

Services

Services

find backend/src/services -name "*.ts" | head -20 grep -l "export.*class|export.function" backend/src/services/.ts
find backend/src/services -name "*.ts" | head -20 grep -l "export.*class|export.function" backend/src/services/.ts

API routes/handlers

API routes/handlers

find . -path "/api/" -name ".ts" | head -20 find . -path "/handlers/" -name ".ts" | head -20
find . -path "/api/" -name ".ts" | head -20 find . -path "/handlers/" -name ".ts" | head -20

Database models/schema

Database models/schema

find . -name "schema.ts" -o -name "models.ts" -o -name "*.model.ts"
undefined
find . -name "schema.ts" -o -name "models.ts" -o -name "*.model.ts"
undefined

Frontend Scan

前端扫描

Find UI implementation:
bash
undefined
查找UI实现:
bash
undefined

Routes/pages (framework-dependent)

Routes/pages (framework-dependent)

find . -path "/pages/" -name ".tsx" 2>/dev/null find . -path "/app/" -name "page.tsx" 2>/dev/null find . -path "/screens/" -name ".tsx" 2>/dev/null find . -path "/routes/" -name "*.tsx" 2>/dev/null
find . -path "/pages/" -name ".tsx" 2>/dev/null find . -path "/app/" -name "page.tsx" 2>/dev/null find . -path "/screens/" -name ".tsx" 2>/dev/null find . -path "/routes/" -name "*.tsx" 2>/dev/null

Components

Components

find . -path "/components/" -name "*.tsx" | grep -i "FEATURE_NAME"
find . -path "/components/" -name "*.tsx" | grep -i "FEATURE_NAME"

Navigation

Navigation

grep -r "href=|to=|navigate|Link" --include="*.tsx" src/components/nav/
undefined
grep -r "href=|to=|navigate|Link" --include="*.tsx" src/components/nav/
undefined

API Integration Scan

API集成扫描

Verify frontend calls backend:
bash
undefined
验证前端是否调用后端:
bash
undefined

Find API calls

Find API calls

grep -r "fetch|axios|useMutation|useQuery" --include="*.tsx" src/
grep -r "fetch|axios|useMutation|useQuery" --include="*.tsx" src/

Find service imports

Find service imports

grep -r "import.*from.*services|import.*from.api" --include=".tsx" src/
undefined
grep -r "import.*from.*services|import.*from.api" --include=".tsx" src/
undefined

Navigation Scan

导航扫描

Check if feature is reachable:
bash
undefined
检查功能是否可访问:
bash
undefined

Find navigation components

Find navigation components

find . -name "nav" -o -name "sidebar" -o -name "menu" | grep -E ".(tsx|jsx)$"
find . -name "nav" -o -name "sidebar" -o -name "menu" | grep -E ".(tsx|jsx)$"

Check for links to feature

Check for links to feature

grep -r "/FEATURE_ROUTE" --include="*.tsx" src/

---
grep -r "/FEATURE_ROUTE" --include="*.tsx" src/

---

Audit Output

审计输出

Audit Report Structure

审计报告结构

markdown
undefined
markdown
undefined

Feature Audit Report

Feature Audit Report

Project: VoiceForm AI Audit Date: 2026-01-12 Framework: Next.js (App Router) + Separate Backend
Project: VoiceForm AI Audit Date: 2026-01-12 Framework: Next.js (App Router) + Separate Backend

Summary

Summary

MetricCount
Total Features30
Fully Complete (L5)12
Accessible (L4)5
Routable (L3)3
Frontend Exists (L2)2
Backend Only (L1)8
Not Started (L0)0
Overall Completion: 40% fully user-accessible
MetricCount
Total Features30
Fully Complete (L5)12
Accessible (L4)5
Routable (L3)3
Frontend Exists (L2)2
Backend Only (L1)8
Not Started (L0)0
Overall Completion: 40% fully user-accessible

Critical Gaps (P0 Features)

Critical Gaps (P0 Features)

FeatureLevelMissing
F028 Analytics APIL1Frontend route, Navigation, UI
F029 Tenant IsolationL1Settings UI, BYOK config screen
FeatureLevelMissing
F028 Analytics APIL1Frontend route, Navigation, UI
F029 Tenant IsolationL1Settings UI, BYOK config screen

All Features

All Features

F001: Survey Studio

F001: Survey Studio

Level: 5 - Complete ✅
Evidence:
  • Backend:
    backend/src/services/survey-studio.ts
  • Route:
    app/surveys/new/page.tsx
  • Navigation: Sidebar "Create Survey" link ✓
  • Documentation: Help article exists ✓

Level: 5 - Complete ✅
Evidence:
  • Backend:
    backend/src/services/survey-studio.ts
  • Route:
    app/surveys/new/page.tsx
  • Navigation: Sidebar "Create Survey" link ✓
  • Documentation: Help article exists ✓

F028: Analytics API

F028: Analytics API

Level: 1 - Backend Only 🔴
Evidence:
  • Backend:
    backend/src/services/analytics-api.ts
  • Route: ❌ No
    /analytics
    route found
  • Navigation: ❌ No analytics link in navigation
  • Documentation: ❌ No help article
Remediation Required:
  1. Create
    app/analytics/page.tsx
  2. Add Analytics to main navigation
  3. Build dashboard components
  4. Document analytics features

[...continues for all features...]
undefined
Level: 1 - Backend Only 🔴
Evidence:
  • Backend:
    backend/src/services/analytics-api.ts
  • Route: ❌ No
    /analytics
    route found
  • Navigation: ❌ No analytics link in navigation
  • Documentation: ❌ No help article
Remediation Required:
  1. Create
    app/analytics/page.tsx
  2. Add Analytics to main navigation
  3. Build dashboard components
  4. Document analytics features

[...continues for all features...]
undefined

JSON Output

JSON输出

json
{
  "audit_date": "2026-01-12",
  "project": "VoiceForm AI",
  "framework": {
    "frontend": "nextjs-app",
    "backend": "separate",
    "mobile": null
  },
  "summary": {
    "total_features": 30,
    "by_level": {
      "L5_complete": 12,
      "L4_accessible": 5,
      "L3_routable": 3,
      "L2_frontend_exists": 2,
      "L1_backend_only": 8,
      "L0_not_started": 0
    }
  },
  "features": [
    {
      "id": "F028",
      "title": "Analytics API",
      "level": 1,
      "level_name": "backend_only",
      "evidence": {
        "backend": {
          "found": true,
          "files": ["backend/src/services/analytics-api.ts"]
        },
        "frontend": {
          "found": false,
          "files": []
        },
        "route": {
          "found": false,
          "path": null
        },
        "navigation": {
          "found": false,
          "location": null
        }
      },
      "remediation": [
        {
          "type": "create_route",
          "description": "Create analytics page",
          "path": "app/analytics/page.tsx"
        },
        {
          "type": "add_navigation",
          "description": "Add Analytics to sidebar"
        }
      ]
    }
  ]
}

json
{
  "audit_date": "2026-01-12",
  "project": "VoiceForm AI",
  "framework": {
    "frontend": "nextjs-app",
    "backend": "separate",
    "mobile": null
  },
  "summary": {
    "total_features": 30,
    "by_level": {
      "L5_complete": 12,
      "L4_accessible": 5,
      "L3_routable": 3,
      "L2_frontend_exists": 2,
      "L1_backend_only": 8,
      "L0_not_started": 0
    }
  },
  "features": [
    {
      "id": "F028",
      "title": "Analytics API",
      "level": 1,
      "level_name": "backend_only",
      "evidence": {
        "backend": {
          "found": true,
          "files": ["backend/src/services/analytics-api.ts"]
        },
        "frontend": {
          "found": false,
          "files": []
        },
        "route": {
          "found": false,
          "path": null
        },
        "navigation": {
          "found": false,
          "location": null
        }
      },
      "remediation": [
        {
          "type": "create_route",
          "description": "Create analytics page",
          "path": "app/analytics/page.tsx"
        },
        {
          "type": "add_navigation",
          "description": "Add Analytics to sidebar"
        }
      ]
    }
  ]
}

Remediation Task Generation

修复任务生成

Task Creation

任务创建

For each gap, generate tasks in tasks.db:
sql
-- New story for missing frontend
INSERT INTO stories (id, epic_id, title, description, status)
VALUES (
  'story-028-frontend',
  'epic-028',
  'Analytics Frontend Implementation',
  'Create user-facing analytics dashboard',
  'todo'
);

-- Tasks for the story
INSERT INTO tasks (id, story_id, title, task_type, estimate_hours, status)
VALUES 
  ('task-028-f01', 'story-028-frontend', 'Create /analytics route', 'frontend', 4, 'todo'),
  ('task-028-f02', 'story-028-frontend', 'Build analytics dashboard components', 'frontend', 8, 'todo'),
  ('task-028-f03', 'story-028-frontend', 'Add Analytics to navigation', 'frontend', 1, 'todo'),
  ('task-028-f04', 'story-028-frontend', 'Connect to analytics API', 'frontend', 4, 'todo');
针对每个差距,在tasks.db中生成任务:
sql
-- New story for missing frontend
INSERT INTO stories (id, epic_id, title, description, status)
VALUES (
  'story-028-frontend',
  'epic-028',
  'Analytics Frontend Implementation',
  'Create user-facing analytics dashboard',
  'todo'
);

-- Tasks for the story
INSERT INTO tasks (id, story_id, title, task_type, estimate_hours, status)
VALUES 
  ('task-028-f01', 'story-028-frontend', 'Create /analytics route', 'frontend', 4, 'todo'),
  ('task-028-f02', 'story-028-frontend', 'Build analytics dashboard components', 'frontend', 8, 'todo'),
  ('task-028-f03', 'story-028-frontend', 'Add Analytics to navigation', 'frontend', 1, 'todo'),
  ('task-028-f04', 'story-028-frontend', 'Connect to analytics API', 'frontend', 4, 'todo');

Priority Assignment

优先级分配

Gap TypePriorityRationale
P0 feature backend-onlyP0Critical feature unusable
P1 feature backend-onlyP1Important feature unusable
Missing navigationP1Feature exists but hidden
Missing documentationP2Feature works but undiscoverable
Missing error statesP2Polish issue

差距类型优先级理由
P0功能仅后端实现P0关键功能无法使用
P1功能仅后端实现P1重要功能无法使用
缺少导航P1功能存在但隐藏
缺少文档P2功能可用但用户无法发现
缺少错误状态处理P2体验优化问题

Integration with prd-analyzer

与prd-analyzer的集成

Reading PRD Context

读取PRD上下文

python
import sqlite3
import json

def load_prd_context(project_path: str):
    """Load features from prd-analyzer output"""
    
    # Load features.json
    with open(f"{project_path}/.claude/features.json") as f:
        features = json.load(f)
    
    # Load from tasks.db
    conn = sqlite3.connect(f"{project_path}/.claude/tasks.db")
    conn.row_factory = sqlite3.Row
    
    epics = conn.execute("""
        SELECT e.*, 
               COUNT(s.id) as story_count,
               SUM(CASE WHEN s.status = 'done' THEN 1 ELSE 0 END) as done_count
        FROM epics e
        LEFT JOIN stories s ON s.epic_id = e.id
        GROUP BY e.id
    """).fetchall()
    
    return {
        "features": features,
        "epics": [dict(e) for e in epics]
    }
python
import sqlite3
import json

def load_prd_context(project_path: str):
    """Load features from prd-analyzer output"""
    
    # Load features.json
    with open(f"{project_path}/.claude/features.json") as f:
        features = json.load(f)
    
    # Load from tasks.db
    conn = sqlite3.connect(f"{project_path}/.claude/tasks.db")
    conn.row_factory = sqlite3.Row
    
    epics = conn.execute("""
        SELECT e.*, 
               COUNT(s.id) as story_count,
               SUM(CASE WHEN s.status = 'done' THEN 1 ELSE 0 END) as done_count
        FROM epics e
        LEFT JOIN stories s ON s.epic_id = e.id
        GROUP BY e.id
    """).fetchall()
    
    return {
        "features": features,
        "epics": [dict(e) for e in epics]
    }

Updating Task Status

更新任务状态

When audit finds discrepancies:
sql
-- Mark feature as needing frontend work
UPDATE epics 
SET status = 'needs_frontend', 
    updated_at = datetime('now')
WHERE id = 'epic-028';

-- Add audit metadata
INSERT INTO epic_metadata (epic_id, key, value)
VALUES ('epic-028', 'audit_level', '1'),
       ('epic-028', 'audit_date', '2026-01-12'),
       ('epic-028', 'audit_gaps', 'route,navigation,documentation');

当审计发现差异时:
sql
-- Mark feature as needing frontend work
UPDATE epics 
SET status = 'needs_frontend', 
    updated_at = datetime('now')
WHERE id = 'epic-028';

-- Add audit metadata
INSERT INTO epic_metadata (epic_id, key, value)
VALUES ('epic-028', 'audit_level', '1'),
       ('epic-028', 'audit_date', '2026-01-12'),
       ('epic-028', 'audit_gaps', 'route,navigation,documentation');

Running an Audit

运行审计

Full Audit Command

完整审计命令

bash
undefined
bash
undefined

In Claude Code session:

In Claude Code session:

1. Read project structure

1. Read project structure

cat package.json ls -la src/ app/ pages/ 2>/dev/null
cat package.json ls -la src/ app/ pages/ 2>/dev/null

2. Load PRD context

2. Load PRD context

cat .claude/features.json sqlite3 .claude/tasks.db "SELECT id, title, priority FROM epics ORDER BY id"
cat .claude/features.json sqlite3 .claude/tasks.db "SELECT id, title, priority FROM epics ORDER BY id"

3. For each feature, scan for evidence

3. For each feature, scan for evidence

(Claude does this systematically)

(Claude does this systematically)

4. Generate report

4. Generate report

Outputs to .claude/audit-report.md and .claude/audit-results.json

Outputs to .claude/audit-report.md and .claude/audit-results.json

undefined
undefined

Quick Audit (Single Feature)

快速审计(单个功能)

bash
undefined
bash
undefined

Audit just F028

Audit just F028

1. Find backend

1. Find backend

find . -name "analytics" -type f
find . -name "analytics" -type f

2. Find frontend

2. Find frontend

find . -path "app" -o -path "pages" | xargs grep -l "analytics" 2>/dev/null
find . -path "app" -o -path "pages" | xargs grep -l "analytics" 2>/dev/null

3. Check navigation

3. Check navigation

grep -r "analytics" --include="*.tsx" src/components/nav/ app/layout.tsx
grep -r "analytics" --include="*.tsx" src/components/nav/ app/layout.tsx

4. Report finding

4. Report finding

echo "F028: Level 1 - Backend only, no frontend route"

---
echo "F028: Level 1 - Backend only, no frontend route"

---

Anti-Patterns

反模式

Audit Anti-Patterns

审计反模式

Anti-PatternProblemFix
Trusting tasks.db status"Done" ≠ user-facingAlways verify in codebase
Only checking file existenceFile may be empty/stubCheck for real implementation
Ignoring navigationFeature unreachableVerify menu/nav links
Skipping mobileDesktop-only isn't completeCheck responsive/native
No documentation checkUsers can't discoverVerify help/docs exist
反模式问题修复方案
信任tasks.db状态“已完成” ≠ 面向用户始终在代码库中验证
仅检查文件存在性文件可能为空/是占位符检查真实实现内容
忽略导航功能无法被用户找到验证菜单/导航链接
跳过移动端适配仅桌面端实现不算完整检查响应式/原生实现
跳过文档检查用户无法发现功能验证帮助文档存在性

Remediation Anti-Patterns

修复反模式

Anti-PatternProblemFix
Generic tasks"Add frontend" too vagueSpecific: "Create /analytics route"
Missing dependenciesFrontend before backendCheck implementation order
Overloading50 tasks at oncePrioritize by P-level
No estimatesCan't planAdd hour estimates

反模式问题修复方案
通用任务“添加前端”过于模糊具体化:“创建/analytics路由”
忽略依赖关系先做前端再做后端检查实现顺序
任务过载一次性分配50个任务按优先级P等级排序
无工时估算无法规划添加工时估算

Checklist: Running Product Audit

检查清单:运行产品审计

Before Audit

审计前

  • prd-analyzer has run (tasks.db exists)
  • Project structure understood
  • Framework identified
  • Backend location known
  • Frontend location known
  • 已运行prd-analyzer(tasks.db已存在)
  • 已理解项目结构
  • 已识别框架
  • 已明确后端位置
  • 已明确前端位置

During Audit

审计中

  • Each feature checked systematically
  • Backend evidence recorded
  • Frontend evidence recorded
  • Route existence verified
  • Navigation links verified
  • Level assigned (0-5)
  • 已系统检查每个功能
  • 已记录后端实现证据
  • 已记录前端实现证据
  • 已验证路由存在性
  • 已验证导航链接
  • 已分配完整性等级(0-5)

After Audit

审计后

  • Report generated (markdown)
  • Results saved (JSON)
  • Remediation tasks created
  • tasks.db updated
  • Priorities assigned

References:
  • references/framework-patterns.md — Scanning patterns for each framework
  • references/completeness-criteria.md — Detailed level definitions
  • references/gap-analysis.md — Analysis methodology
  • references/remediation-templates.md — Task templates for common gaps
  • 已生成报告(Markdown格式)
  • 已保存结果(JSON格式)
  • 已创建修复任务
  • 已更新tasks.db
  • 已分配任务优先级

参考资料:
  • references/framework-patterns.md — 各框架扫描模式
  • references/completeness-criteria.md — 详细等级定义
  • references/gap-analysis.md — 差距分析方法
  • references/remediation-templates.md — 常见差距任务模板