Review Analysis
liangdabiao/amazon-sorftime-research-MCP-skill
对亚马逊商品评论进行深度分析,自动识别产品痛点、分析退货原因,生成改进建议和客服回复模板。Invoke when user uses /review-analysis command with a product ASIN.
Clean, recode, and prepare survey response data for analysis
$ npx skills add wentorai/research-plugins --skill survey-data-processing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install wentorai/research-plugins survey-data-processing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/analysis/wrangling/survey-data-processing .claude/skills/survey-data-processing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "survey-data-processing" agent skill from https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processing into .claude/skills/survey-data-processing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "survey-data-processing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add wentorai/research-plugins --skill survey-data-processing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install wentorai/research-plugins survey-data-processing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/analysis/wrangling/survey-data-processing .agents/skills/survey-data-processing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "survey-data-processing" agent skill from https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processing into .agents/skills/survey-data-processing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "survey-data-processing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wentorai/research-plugins --skill survey-data-processing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install wentorai/research-plugins survey-data-processing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/analysis/wrangling/survey-data-processing .cursor/skills/survey-data-processing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "survey-data-processing" agent skill from https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processing into .cursor/skills/survey-data-processing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "survey-data-processing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/wentorai/research-plugins.git --path skills/analysis/wrangling/survey-data-processing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add wentorai/research-plugins --skill survey-data-processing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install wentorai/research-plugins survey-data-processing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/analysis/wrangling/survey-data-processing .gemini/skills/survey-data-processing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "survey-data-processing" agent skill from https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processing into .gemini/skills/survey-data-processing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "survey-data-processing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install wentorai/research-plugins survey-data-processingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add wentorai/research-plugins --skill survey-data-processing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/analysis/wrangling/survey-data-processing .github/skills/survey-data-processing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "survey-data-processing" agent skill from https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processing into .github/skills/survey-data-processing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "survey-data-processing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wentorai/research-plugins --skill survey-data-processing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install wentorai/research-plugins survey-data-processing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wentorai/research-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/analysis/wrangling/survey-data-processing .opencode/skills/survey-data-processing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "survey-data-processing" agent skill from https://github.com/wentorai/research-plugins/tree/main/skills/analysis/wrangling/survey-data-processing into .opencode/skills/survey-data-processing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "survey-data-processing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
survey-data-processingClean, recode, and prepare survey response data for analysis
Survey Data Processing is an agent skill from wentorai/research-plugins. Clean, recode, and prepare survey response data for analysis
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Sales & Support, covering Customer feedback analysis. The repository describes itself as: 350+ academic research skills, MCP configs, and plugins for Research-Claw and AI agents. The licence is MIT.
Read from SKILL.md and the folder at commit bf44b3c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Survey Data Processing loads about 2.3k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 182 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from wentorai/research-plugins at commit bf44b3c, republished under its MIT licence (© wentorai). 182 words, ~2,286 tokens.
.claude/skills/survey-data-processing/SKILL.md (or your agent's skills folder).A skill for cleaning, recoding, and preparing survey response data for statistical analysis. Covers handling common survey data issues such as incomplete responses, attention check failures, reverse-coded items, scale construction, open-ended response coding, and export to analysis-ready formats compatible with SPSS, Stata, and R.
Survey data from platforms like Qualtrics, SurveyMonkey, REDCap, and Google Forms each have their own export formats and quirks. The first step is always standardization.
import pandas as pd
import numpy as np
def assess_survey_quality(df, duration_col="duration_seconds",
min_duration=60):
"""
Generate a survey data quality report.
Checks:
- Completion rates per question
- Response duration (speeders and slow responders)
- Straight-line responding patterns
- Attention check failures
"""
report = {}
# Overall completion
total_respondents = len(df)
complete = df.dropna(thresh=int(len(df.columns) * 0.8))
report["total_responses"] = total_respondents
report["substantially_complete"] = len(complete)
report["completion_rate"] = f"{len(complete)/total_respondents*100:.1f}%"
# Duration analysis
if duration_col in df.columns:
durations = df[duration_col].dropna()
report["median_duration_seconds"] = durations.median()
report["speeders"] = (durations < min_duration).sum()
report["speeder_pct"] = f"{(durations < min_duration).mean()*100:.1f}%"
# Missing data per question
missing_by_col = df.isna().sum().sort_values(ascending=False)
report["most_skipped_questions"] = missing_by_col.head(10).to_dict()
return reportdef detect_straightlining(df, likert_columns, threshold=0.9):
"""
Detect respondents who select the same answer for nearly
all Likert-scale questions (straight-line responding).
A respondent is flagged if the proportion of their most
common response exceeds the threshold.
"""
flagged = []
for idx, row in df[likert_columns].iterrows():
responses = row.dropna()
if len(responses) == 0:
continue
most_common_pct = responses.value_counts().iloc[0] / len(responses)
if most_common_pct >= threshold:
flagged.append(idx)
return flagged
def check_attention_items(df, attention_checks):
"""
Validate attention check (trap) questions.
Args:
attention_checks: dict of {column_name: correct_answer}
Example: {"q15_attention": 4, "q32_trap": "strongly agree"}
"""
failed = pd.Series(False, index=df.index)
for col, correct in attention_checks.items():
failed = failed | (df[col] != correct)
return df.index[failed].tolist()Many validated psychological scales include reverse-coded items to detect acquiescence bias. These must be recoded before computing scale scores.
def reverse_code(df, columns, scale_max, scale_min=1):
"""
Reverse-code specified columns for Likert-type scales.
Formula: reversed = (scale_max + scale_min) - original
Example for a 1-5 scale:
1 -> 5, 2 -> 4, 3 -> 3, 4 -> 2, 5 -> 1
"""
df_recoded = df.copy()
for col in columns:
df_recoded[col] = (scale_max + scale_min) - df[col]
return df_recoded
# Example usage with a Big Five personality scale
reverse_items = {
"extraversion": ["ext_2", "ext_4", "ext_6"],
"neuroticism": ["neur_1", "neur_3", "neur_5"],
"agreeableness": ["agree_3", "agree_5"],
}
# For a 1-7 Likert scale:
for construct, items in reverse_items.items():
df = reverse_code(df, items, scale_max=7, scale_min=1)def compute_scale_scores(df, scale_definitions, method="mean"):
"""
Compute composite scale scores from individual items.
Args:
scale_definitions: dict mapping scale name to list of columns
method: "mean" or "sum"
Returns:
DataFrame with new scale score columns
"""
for scale_name, items in scale_definitions.items():
if method == "mean":
df[scale_name] = df[items].mean(axis=1)
elif method == "sum":
df[scale_name] = df[items].sum(axis=1)
# Also compute Cronbach's alpha for reliability
alpha = cronbachs_alpha(df[items])
print(f"{scale_name}: alpha = {alpha:.3f} "
f"(n_items = {len(items)})")
return df
def cronbachs_alpha(item_df):
"""
Compute Cronbach's alpha for internal consistency reliability.
Values above 0.70 are generally considered acceptable.
"""
item_df = item_df.dropna()
n_items = item_df.shape[1]
if n_items < 2:
return np.nan
item_variances = item_df.var(axis=0, ddof=1)
total_variance = item_df.sum(axis=1).var(ddof=1)
alpha = (n_items / (n_items - 1)) * (
1 - item_variances.sum() / total_variance
)
return alphadef code_open_responses(df, text_column, codebook):
"""
Apply a predefined codebook to open-ended responses using
keyword matching. For research-quality coding, this should
be supplemented with manual coding by trained raters.
Args:
codebook: dict mapping code names to keyword lists
Example: {
"financial_concern": ["money", "cost", "expensive", "afford"],
"time_constraint": ["time", "busy", "schedule", "hours"],
"quality_issue": ["quality", "broken", "defect", "poor"],
}
"""
for code_name, keywords in codebook.items():
pattern = "|".join(keywords)
df[f"code_{code_name}"] = (
df[text_column]
.str.lower()
.str.contains(pattern, na=False)
.astype(int)
)
return dfWhen multiple coders classify open-ended responses:
Cohen's Kappa (2 raters):
- < 0.20: poor agreement
- 0.21-0.40: fair
- 0.41-0.60: moderate
- 0.61-0.80: substantial
- 0.81-1.00: almost perfect
Fleiss' Kappa (3+ raters):
- Same interpretation scale as Cohen's
- Use when more than two raters code the same responses
Process:
1. Develop codebook with definitions and examples
2. Train coders on 10-20 practice responses
3. Code 20% of responses independently (overlap set)
4. Calculate inter-rater reliability on the overlap set
5. If kappa < 0.70, discuss disagreements and refine codebook
6. Repeat until acceptable reliability is achieved
7. Divide remaining responses among codersSurvey data is typically exported in wide format (one row per respondent, one column per question). Many analyses require long format.
def reshape_repeated_measures(df, id_col, time_points,
measure_prefix):
"""
Reshape repeated-measures survey data from wide to long.
Example: columns q1_pre, q1_post -> long format with
time column ("pre", "post") and value column.
"""
value_vars = [f"{measure_prefix}_{t}" for t in time_points]
long_df = pd.melt(
df,
id_vars=[id_col],
value_vars=value_vars,
var_name="time_point",
value_name=measure_prefix
)
# Clean time_point column
long_df["time_point"] = (
long_df["time_point"]
.str.replace(f"{measure_prefix}_", "")
)
return long_dfExport formats by software:
SPSS (.sav):
- Use pyreadstat: pyreadstat.write_sav(df, "output.sav")
- Include variable labels and value labels
- Set measurement level (nominal, ordinal, scale)
Stata (.dta):
- Use pandas: df.to_stata("output.dta")
- Include variable labels via write_stata with labels dict
R (.csv with codebook):
- Export CSV plus a separate codebook document
- Or use pyreadstat to write .rds format
- Include factor level definitions
General best practices:
- Include a unique respondent ID column
- Use numeric codes for categorical variables (with labels)
- Document all recoding in a companion codebook
- Save both raw and processed versions
- Include a timestamp column for data versioningProper survey data processing is essential for valid statistical inference. Decisions made during cleaning and recoding directly affect research conclusions, making transparent documentation of every step a methodological requirement rather than a convenience.
© wentorai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/analysis/wrangling/survey-data-processing of wentorai/research-plugins.
Open the folder on GitHubat commit bf44b3c
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in wentorai/research-plugins, which our catalogue first saw on October 7, 2026.
Survey Data Processing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Survey Data Processing this skillwentorai/research-plugins | 298 | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Review Analysisliangdabiao/amazon-sorftime-research-MCP-skill | 940 | 1 repos | ~2.5k | Automated safety check: Pass | None | |
| Bggg Data Amazonbinggandata/bggg-skills | 603 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Zsxqunnoo/zsxq-skill | 304 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Roadtrip NavigatorWaybox-AI/roadtrip-skill | 126 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Always Compareai-analyst-lab/ai-analyst | 304 | — | ~1.4k | Automated safety check: Pass | MIT |
liangdabiao/amazon-sorftime-research-MCP-skill
对亚马逊商品评论进行深度分析,自动识别产品痛点、分析退货原因,生成改进建议和客服回复模板。Invoke when user uses /review-analysis command with a product ASIN.
binggandata/bggg-skills
Collect Amazon.com written product reviews at scale through Woot's public review AJAX route, retain every attempt and error log, reconcile partial runs, and normalize exact review text into…
unnoo/zsxq-skill
知识星球 CLI(zsxq-cli)与底层接口完整操作指南,涵盖星球和内容管理、Skill Pay 微信支付场景。当用户提到知识星球、zsxq、小密圈、星球、登录/认证、发帖、评论、回答、编辑、删除主题、定时发布/定时任务/定时回答、投票、问答主题、markdown 正文、AI…
Waybox-AI/roadtrip-skill
Generate North American road-trip itineraries as a map-first, offline-friendly single-file HTML page.
ai-analyst-lab/ai-analyst
Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.
nexscope-ai/eCommerce-Skills
Brand monitoring tool for tracking mentions across social media platforms.
wentorai/research-plugins
Craft structured research abstracts that maximize clarity and journal acceptance
wentorai/research-plugins
Manage academic citations across BibTeX, APA, MLA, and Chicago formats
wentorai/research-plugins
Summarize academic papers with structured extraction of key elements
wentorai/research-plugins
Evidence-based study techniques for academic learning and retention
wentorai/research-plugins
Adjust writing tone and register for academic audiences and venues
wentorai/research-plugins
Academic translation, post-editing, and Chinglish correction guide
Categories
Clean, recode, and prepare survey response data for analysis. Survey Data Processing is an agent skill from wentorai/research-plugins.
Survey Data Processing fits situations like: tasks that involve Customer feedback analysis.
Run `npx skills add wentorai/research-plugins --skill survey-data-processing -a claude-code`. Or copy the skill folder (skills/analysis/wrangling/survey-data-processing in wentorai/research-plugins) into .claude/skills/survey-data-processing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add wentorai/research-plugins --skill survey-data-processing -a codex`. Or copy the skill folder (skills/analysis/wrangling/survey-data-processing in wentorai/research-plugins) into .agents/skills/survey-data-processing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wentorai/research-plugins --skill survey-data-processing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/survey-data-processing, .gemini/skills/survey-data-processing, .github/skills/survey-data-processing and .opencode/skills/survey-data-processing in your project.
SKILL.md names no scripts, command-line tools or credentials: Survey Data Processing is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Survey Data Processing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Survey Data Processing: Review Analysis (liangdabiao/amazon-sorftime-research-MCP-skill, 940 stars), Bggg Data Amazon (binggandata/bggg-skills, 603 stars), Zsxq (unnoo/zsxq-skill, 304 stars) and Roadtrip Navigator (Waybox-AI/roadtrip-skill, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
wentorai (a GitHub user) maintains it in wentorai/research-plugins, which has 298 GitHub stars. The repository holds 428 skills in this directory. The repository was last updated on June 19, 2026.
Source: wentorai/research-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.