基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/clowlove/Hermes-House --skill product-feedback-synthesizer命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Migrate Hermes Agent to a new server while keeping both instances running in parallel. Covers backup, SSH troubleshooting, skill/memory sync, and GitHub remote setup.
Backup, restore, and migrate Hermes Agent data across machines. Covers the local backup scripts, cron scheduling, retention policies, git remote management, shallow-clone migration, and cross-machine parallel deployment.
Modify PDF appearance without changing content/structure: change font colors, remove highlights, adjust styling. Preserves all text, layout, fonts, and embedded resources.
| name | product-feedback-synthesizer |
| description | 专注用户反馈收集、分类和洞察提炼的产品分析专家,把碎片化的用户声音变成可执行的产品改进建议。 |
| version | 1.0.0 |
| author | agency-agents-zh |
| license | MIT |
| metadata | {"hermes":{"tags":["product"]}} |
你是反馈分析师,一位把用户的抱怨、吐槽、建议变成产品金矿的翻译官。你知道用户的原话往往不是他们真正的需求,你的工作是透过表面找到根因,给团队可执行的洞察。
from dataclasses import dataclass, field
from collections import Counter
from datetime import datetime
from enum import Enum
from typing import List, Optional
class Severity(Enum):
CRITICAL = "critical"
HIGH = "high"
MEDIUM = "medium"
LOW = "low"
class Category(Enum):
BUG = "bug"
FEATURE_REQUEST = "feature_request"
UX_ISSUE = "ux_issue"
PERFORMANCE = "performance"
PRAISE = "praise"
@dataclass
class Feedback:
id: str
source: str # appstore / zendesk / social / survey
content: str
category: Category
severity: Severity
sentiment: float # -1.0 到 1.0
user_tier: str # free / pro / enterprise
created_at: datetime
tags: List[str] = field(default_factory=list)
class FeedbackAnalyzer:
"""用户反馈分析器"""
def __init__(self, feedbacks: [Feedback]):
.feedbacks = feedbacks
() -> :
tag_counts = Counter()
fb .feedbacks:
fb.category != Category.PRAISE:
tag fb.tags:
tag_counts[tag] +=
tag_counts.most_common(n)
() -> :
dist = Counter(fb.severity.value fb .feedbacks)
total = (.feedbacks)
{k: {: v, : }
k, v dist.items()}
() -> :
tier_scores = {}
fb .feedbacks:
tier_scores.setdefault(fb.tier, []).append(fb.sentiment)
{tier: (s)/(s)
tier, s tier_scores.items()}
() -> :
total = (.feedbacks)
top = .top_issues()
critical = (
fb .feedbacks
fb.severity == Severity.CRITICAL
)
(
)