ワンクリックで
analyze-customer-feedback
analyzes customer feedback across Email, GitHub, NPS, and churn cancellations.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
analyzes customer feedback across Email, GitHub, NPS, and churn cancellations.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Analyzes git history from a repository to summarize recent development activity, features in progress, and engineering priorities. Use when asked about what the team is working on, recent code changes, development velocity, or to prepare for planning/roadmap discussions.
Projects a customer's cost from prior usage data across seat-based, usage-based, and hybrid SaaS pricing models. Use when asked to "project cost", "estimate BYO cost", "estimate spend", "how much will this cost", "size a deal", or to build an enterprise-style usage/cost projection.
Does research on competitive features and creates a report.
Reads the most recent weekly product briefing, identifies P0 issues, researches them in the codebase, and spawns cloud coding agents to fix each one. Use when asked to "fix P0s", "address critical issues", or "work on top priorities from the briefing."
Posts messages to Slack via webhook.
Reads content from a specific Google Doc by URL or document ID.
| name | analyze_customer_feedback |
| description | analyzes customer feedback across Email, GitHub, NPS, and churn cancellations. |
Use this skill to analyze and summarize customer feedback from multiple sources over the last 7 days (or a custom time period). The skill fetches raw data from GitHub issues, NPS survey responses, email feedback, and subscription cancellation comments for you to analyze.
Important: For all tasks in this skill, use METABASE_API_KEY from the environment for NPS data (Metabase API) and GOOGLE_OAUTH_TOKEN for Gmail.
This skill fetches raw feedback data. You (the agent) are responsible for organizing it into a factual report. Your job is to identify themes, count their frequency, and cite specific sources. Do NOT editorialize, speculate on root causes, assign severity/priority, or make recommendations.
Filter out noise — Ignore feedback that is not substantive:
Identify themes — Scan all four channels (GitHub issues, NPS comments, emails, churn cancellations) and group feedback items that describe the same topic into themes. A theme is any topic mentioned by 2+ users or across 2+ channels. Single-mention items should be listed under "Other" at the end.
Count frequency — For each theme, report:
Cite sources — For every item in a theme:
[#123](https://github.com/YOUR_ORG/YOUR_REPO/issues/123)) and the issue titleCancellation (build): "[verbatim quote]"Note cross-channel convergence — When a theme appears in 2+ channels, state that as a fact (e.g., "This theme appeared in 3 GitHub issues and 2 NPS detractor comments"). Do not interpret what the convergence means.
Track week-over-week changes — Read the most recent previous report from reports/customer_feedback_summaries/ and compare:
Format your report — Structure your output as described in the Output Format section below. Do not add sections beyond what is specified. Do not use emoji severity markers (🔴🟡🟢). Do not include sections titled "Recommended Actions," "Risks," "Open Questions," "Interpretation," or "Key Insight."
Use this skill when you need to:
FEEDBACK_EMAIL)prod.your_subscriptions_table, grouped by plan type. Uses the same METABASE_API_KEY as NPS.The gh CLI must be authenticated with access to YOUR_ORG/YOUR_REPO.
# Check authentication status
gh auth status
# Login if needed
gh auth login
The METABASE_API_KEY environment variable should be set in your ennvironment.
The script queries your-gcp-project-id.prod.your_nps_survey_responses_table via the Metabase API at https://your-metabase-instance.metabaseapp.com.
Gmail uses GOOGLE_OAUTH_TOKEN. The token needs gmail.readonly scope.
pip install -r requirements.txt
Note: The NPS fetcher uses only Python standard library (urllib.request), so no additional packages are needed for NPS data.
cd skills/analyze_customer_feedback
python analyze_feedback.py
python analyze_feedback.py --days 14 # Last 14 days
python analyze_feedback.py --days 30 # Last 30 days
python analyze_feedback.py --json
python analyze_feedback.py --skip-gmail # Skip Gmail if not set up
python analyze_feedback.py --skip-nps # Skip NPS if BigQuery not configured
python analyze_feedback.py --skip-github # Skip GitHub issues
python analyze_feedback.py --skip-churn # Skip churn cancellation comments
# GitHub issues only
python fetch_github_issues.py --days 7 --json
# NPS data only
python fetch_nps_data.py --days 7 --json
# Gmail feedback only
python fetch_gmail_feedback.py --days 7 --json
# Churn cancellations only
python fetch_churn_data.py --days 7 --json
The script outputs raw feedback data in a structured format:
You (the agent) should organize this data into the report format below.
Your report must follow this structure exactly. Do not add extra sections.
# Customer Feedback Report — [Date Range]
**Period:** [time period]
**Generated:** [date]
---
## Summary
- GitHub issues filed: [N]
- NPS responses with comments: [N] out of [N] total
- Emails received: [N] ([N] after filtering noise)
- Churn cancellations with comments: [N]
---
## Themes (ordered by total mention count)
### 1. [Theme Name] — [N] mentions
**Channels:** [N] GitHub issues, [N] NPS comments, [N] emails
**Previous report:** [Yes — N mentions / No]
- [#NNNN](link): [issue title] ([N] comments)
- [#NNNN](link): [issue title]
- NPS (score [N]): "[verbatim quote]"
- Email from [sender]: [brief description]
- Cancellation ([plan_type]): "[verbatim quote]"
### 2. [Theme Name] — [N] mentions
...
### Other (single-mention items)
- [#NNNN](link): [issue title]
- NPS (score [N]): "[verbatim quote]"
- ...
---
## NPS Comments
List all NPS responses that included a written comment, grouped by score band. Only include responses with non-empty comments. Include the score for context but do not calculate or report the NPS score itself.
### Scores 9-10
- (Score [N]): "[verbatim quote]"
- (Score [N]): "[verbatim quote]"
### Scores 7-8
- (Score [N]): "[verbatim quote]"
### Scores 0-6
- (Score [N]): "[verbatim quote]"
- (Score [N]): "[verbatim quote]"
---
## Churn Cancellation Comments
List all cancellation comments, grouped by plan type. Include only subscriptions canceled in the reporting period that have a non-empty comment.
### [plan_type] ([N] cancellations)
- "[verbatim quote]"
- "[verbatim quote]"
### [plan_type] ([N] cancellations)
- "[verbatim quote]"
---
## Email Summary
[N] emails received. [N] after filtering auto-replies, spam, and non-substantive messages.
1. **[sender name]** — [brief factual description of content]
2. **[sender name]** — [brief factual description of content]
...
---
## Week-over-Week
### New themes (not in previous report)
- [Theme Name] — [N] mentions
- [Theme Name] — [N] mentions
### Recurring themes (also in previous report)
- [Theme Name] — [N] mentions this week, [N] last week
- [Theme Name] — [N] mentions this week, [N] last week
### Themes from previous report that did not recur
- [Theme Name] — [N] mentions last week, 0 this week
After generating the report, you can:
# Verify METABASE_API_KEY is set
echo $METABASE_API_KEY | head -c 10
# Test the API connection
curl -s -w "\nHTTP_CODE:%{http_code}" -H "x-api-key: $METABASE_API_KEY" "https://your-metabase-instance.metabaseapp.com/api/user/current"
# Check token scopes
gh auth status
# Re-authenticate with required scopes
gh auth login --scopes read:org,repo
The script outputs raw structured data like this (you then organize it into the Report Output Format above):
# Customer Feedback Data
**Period:** Last 7 days
**Generated:** 2026-02-02 17:30 UTC
## Summary
- GitHub Issues: 23
- NPS Responses: 89
- Email Feedback: 30
- Churn Cancellations: 144
## GitHub Issues
### #21234: Agent mode freezes on large files
- **URL:** https://github.com/YOUR_ORG/YOUR_REPO/issues/21234
- **State:** open
- **Created:** 2026-02-01T10:30:00Z
- **Comments:** 8
- **Labels:** bug, agent-mode
- **Body:**
When I open a file larger than 10MB, the agent freezes...
## NPS Survey Responses
### Score: 10
- **OS:** macOS
- **Date:** 2026-02-01
- **Comment:** Love the new agent mode! Makes coding so much faster.
### Score: 4
- **OS:** Windows
- **Date:** 2026-02-01
- **Comment:** SSH keeps disconnecting after a few minutes.
...
## Churn Cancellation Comments
144 cancellations with comments.
### build (72 cancellations)
- [example comment about usage frequency vs. cost]
- [example comment about switching to another tool]
...
### pro (48 cancellations)
- [example comment about pricing vs. feature usage]
...
FEEDBACK_EMAIL