amazing-psycoder-skills
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 30 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in .github/workflows/reliability.yml
- rm -rf — Recursive force deletion command in amazing-psycoder/install.sh
- eval() — Dynamic code execution via eval() in amazing-psycoder/psy-exp-coder/jspsych/demo/_raw/antisaccade__antisaccade.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
AI skills for psychology experiment programming and data analysis, from task design and code generation to reproducible statistical workflows.
📖 为什么做这个项目
🔍 心理学研究从设计到分析的常见困难
🔬 研究想法要转化为可用于收集数据的实验程序,研究者往往还需要掌握 Python、JavaScript 或 MATLAB。
📦 实验室已有代码可能因运行环境变化而无法使用,依赖关系和核心逻辑也常常难以维护。
📊 如果统计方法主要依照惯例选择,研究者可能难以说明方法与研究问题、变量类型和数据结构之间的关系。
🔁 如果没有记录软件版本和依赖环境,分析结果可能难以在其他电脑上复现。
✂️ 如果实验设计与分析计划彼此脱节,可能在数据收集后才发现现有设计无法支持原定分析。
🧱 研究进行中的两类主要困难
第一类:实验编程。 为了检验一个假设,需要把实验设计转化为程序。PsychoPy Builder 在部分复杂设计中可能不够灵活,使用 Coder 需要 Python;jsPsych 需要 JavaScript 和时间线逻辑;Psychtoolbox 需要 MATLAB 和显示同步知识。反应时从哪个画面开始计算、按键如何映射、程序中断后怎样保留数据,都需要明确设计并逐项检查。
第二类:数据分析。 分析方案最好在数据收集前就开始规划,并在获得数据后根据实际结构落实。被试内设计应使用配对 t 检验还是混合模型?正确率接近上限时应如何建模?为什么选择这个方法?换一台电脑后能否复现相同结果?这些问题需要结合研究目标、数据层级和软件环境回答。
这些困难不仅涉及编程,也涉及实验设计、统计推断、数据管理和研究复现。
✨ Amazing PsyCoder 如何提供帮助
你可以先描述实验想法、已有设计或现有数据。Amazing PsyCoder 会逐步协助你确认研究规则、生成代码并检查问题;在需要时,你仍需提供配置、数据说明、排除依据和运行记录。系统不会仅凭 AI 输出就宣称“可以收数据”或“可以发表”:实验仍要在正式电脑上试跑,分析也必须真正运行并检查结果。
Amazing PsyCoder 由 7 个 Skill 组成——1 个总入口加 6 个专业 Skill。它遵循 agentskills.io 开放标准,可安装到 Claude Code、Codex、Hermes 和 OpenClaw 这四个 AI Agent 中。
把时间还给研究本身。
👥 适合这些人
- 🎓 正在或准备写实验代码的心理学本科生、研究生
- 🧠 做认知、行为、社会心理实验的研究者
- 😵💫 经常遇到反应时、随机化或条件表问题,希望系统化检查常见风险
- 📊 收完数据不确定该用什么统计方法,希望有系统化分析方案
- 🐍 PsychoPy · 🌐 jsPsych · 🧮 Psychtoolbox / MATLAB 用户
如果只是问一个 API、改一行普通代码或了解一个统计概念,直接提问即可,不需要启动完整流程。
⚡ 安装
推荐使用仓库自带的安装脚本。它会先检查全部 7 个 Skill;如果中途失败,会恢复原来的文件。
git clone https://github.com/soupandpsy/amazing-psycoder-skills
cd amazing-psycoder-skills/amazing-psycoder
Claude Code
./install.sh claude
安装后使用 /amazing-psycoder。默认安装到 ${CLAUDE_CONFIG_DIR:-~/.claude}/skills。
Codex
./install.sh codex
安装后使用 $amazing-psycoder。默认安装到 ~/.agents/skills。
Hermes
./install.sh hermes
安装后使用 /amazing-psycoder。默认安装到 ~/.hermes/skills。
OpenClaw
./install.sh openclaw
安装后直接描述任务,由 OpenClaw Agent 匹配 Skill。默认安装到 ~/.openclaw/skills。
./install.sh --scope project --project-dir /path/to/repo claude
./install.sh --scope project --project-dir /path/to/repo codex
./install.sh --scope project --project-dir /path/to/workspace openclaw
./install.sh --check codex
Hermes 当前没有稳定的项目级目录,因此只提供用户级安装。更多说明见PLATFORMS.md。
🚀 快速开始
安装后,在对应的 AI Agent 中调用 Amazing PsyCoder,并直接描述你想做什么:
“我要做一个 Stroop 任务,红绿蓝三色,按键判断墨色” → 自动进入实验设计
“帮我分析 Stroop 数据,一致和不一致条件的反应时有没有差异” → 自动进入分析设计
“帮我检查这份实验代码,重点看反应时起点和数据保存” → 自动进入代码检查
通常不需要指定应该使用哪个专业 Skill。总入口会根据任务内容选择设计、代码生成或代码检查;如果请求不足以判断是在设计实验还是分析数据,它会先向你确认。
下面是实验编程和数据分析的详细介绍,每个部分末尾都有完整的交互 Demo。
🧪 实验编程
从想法到可以开始试跑的实验代码,分三步——设计、生成、检查。
技能
| # | 技能 | 功能 |
|---|---|---|
| ① | 设计编排 psy-exp-designer |
把实验想法变成完整说明,逐步确认画面、按键、条件、顺序和保存内容 |
| ② | 代码生成 psy-exp-coder |
根据已确认设计生成平台代码,并拦截阻塞等待、只在结尾保存等常见问题 |
| ③ | 代码检查 psy-exp-reviewer |
检查代码与设计是否一致;没有正式电脑试跑记录时,不会说“可以收数据” |
平台
| 平台 | 适合什么 |
|---|---|
| 🐍 PsychoPy | 在实验室电脑上运行的 Python 实验;实际计时仍需在目标设备验证 |
| 🌐 jsPsych | 浏览器或在线实验;需要在实际浏览器和设备上测试 |
| 🧮 Psychtoolbox | MATLAB/Octave 实验;适合精细控制显示和设备,但必须做同步与硬件校准 |
实验设计参考
38 个实验设计参考,每个按统一思路整理:何时使用 → 核心逻辑 → 必须确认 → 不要假设 → 试次画面顺序 → 条件表 → 数据分析 → 变体与参考。
这里的 38 个参考用于帮助你把实验想清楚,不等于 38 × 3 个已经在三种平台实机验证过的生成器。
| 类别 | 范式 |
|---|---|
| 🎯 注意与抑制控制 | Stroop · Eriksen Flanker · Simon · Go/No-go · Stop-signal · ANT · Posner Cuing · Visual Search · Dot-probe · Navon · CPT · Antisaccade |
| 🧠 记忆与工作记忆 | N-back · Sternberg · Corsi Blocks · Change Detection · Drag and Drop |
| 🔄 执行功能与认知灵活性 | Task Switching · WCST · Choice RT |
| 👥 社会认知与情绪 | Cyberball · Climate Reflection · Phone a Friend · Rating · Priming · IAT · EAST |
| 💰 决策与奖励 | BART · Delay Discounting · Rating to Choice · Ultimatum Game |
| 👁️ 感知与心理物理 | Psychophysics Staircase · Multisensory Nature · Mental Rotation |
| 🌱 发展与个体差异 | Children Flanker · Bilingual Stroop · Numerical Stroop · Writing Distraction |
🎬 Demo:做一个 Stroop 实验
“我要做一个 Stroop,红绿蓝三色文字,按键判断墨色,50:50 一致不一致,2 个正式 block,每个 60 试次”
用户 ❯ 我要做一个 Stroop 任务
Amazing PsyCoder ❯ 🟢 第 1/5 阶段 · 了解需求
确认使用 PsychoPy?
用户 ❯ 对,PsychoPy。
Amazing PsyCoder ❯ 🟢 第 2/5 阶段 · 试次画面和反应规则
墨色红绿蓝 → f=红 j=绿 k=蓝。试次顺序:
画面 1: 注视点 画面 2: 刺激呈现 画面 3: 空屏等待
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ │ │ │ │ │
│ + │ → │ 红色“绿” │ → │ │
│ │ │ │ │ │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
500ms 最长 2000ms 400–800ms
不接收反应 f / j / k 不接收反应
← 反应时起点
画面 4: 练习反馈
┌──────────────────────┐
│ 正确! │ 仅练习阶段出现
└──────────────────────┘
1000ms
✅ 画面顺序和按键已确认
用户 ❯ 时间线和按键没问题。空屏 400–800ms 随机。
Amazing PsyCoder ❯ 🟢 第 3/5 阶段 · 条件表
一致:不一致 = 60:60,共 120 个正式试次。✅
Amazing PsyCoder ❯ 🟢 第 4/5 阶段 · Block 结构
练习阶段有反馈;2 个正式 block × 60 试次,不提供反馈。✅
Amazing PsyCoder ❯ 🟢 第 5/5 阶段 · 最终确认
┌──────────────────────────────────────────────┐
│ 已确认内容 │
│ 平台 PsychoPy ← 用户确认 │
│ 按键 f/j/k · 一致:不一致 50:50 ← 用户确认 │
│ 空屏 400–800ms 随机 ← 用户确认 │
│ 试次顺序和练习反馈 ← 用户确认 │
└──────────────────────────────────────────────┘
✅ 可以生成代码
用户 ❯ 生成。
Amazing PsyCoder ❯ ✅ stroop_task.py + README.md 已生成
参数集中设置 · 中文字体方案 · 每试次及时保存
Amazing PsyCoder ❯ 🔍 代码检查没有发现必须修的问题
现在可以在正式电脑上试跑,但还不能直接开始收数据。
请完成:启动退出、短程完整运行、数据完整性和中断恢复检查。
用户 ❯ 已在正式采集电脑完成并保存这些检查记录,全部通过。
Amazing PsyCoder ❯ 🔍 已检查试跑记录和数据文件
当前状态:ready_for_collection
可以开始正式采集。
📊 数据分析
分析方案既可以在数据收集前规划,也可以在获得数据后进一步落实,分三步——设计分析方案、生成代码、检查运行结果。
技能
| # | 技能 | 功能 |
|---|---|---|
| ④ | 分析设计 psy-ana-designer |
先明确真正要回答的问题,再结合数据结构选择方法并记录备选方案 |
| ⑤ | 分析代码 psy-ana-coder |
生成 R/Python 脚本、报告和软件版本记录 |
| ⑥ | 分析检查 psy-ana-reviewer |
区分“代码看起来没问题”和“结果已经实际运行并检查过” |
分析语言与环境
| 语言与环境 | 适合什么 |
|---|---|
| 📊 R | 统计建模和学术报告,可按需要使用 lme4、ggplot2、Quarto/R Markdown 等 |
| 🐍 Python | 通用数据处理、统计分析、可视化和 Jupyter 工作流 |
分析方法
60 个方法参考、48 个图表参考用于寻找候选方案,不是自动处方。选择方法时先看研究问题、结果变量是什么类型,以及同一被试、刺激或会话中的数据是否彼此相关。
| 类别 | 方法举例 |
|---|---|
| 均值比较 | 配对/独立 t 检验、被试内/间 ANOVA、混合 ANOVA、ANCOVA、MANOVA |
| 混合模型 | 线性混合模型(LMM)、逻辑混合模型(GLMM)、Gamma GLMM、交叉随机效应 |
| 中介调节 | 中介分析、调节分析、有调节的中介、结构方程模型 |
| 回归与纵向 | 多元回归、分位数回归、增长曲线、交叉滞后面板、时间序列 |
| 相关与分类 | Pearson/Spearman 相关、重复测量相关、卡方检验、典型相关 |
| 非参数与稳健方法 | Wilcoxon、Friedman、置换检验、Bootstrap、稳健回归 |
| 贝叶斯 | 贝叶斯 t 检验、贝叶斯 ANOVA、贝叶斯混合模型 |
| 测量与量表 | 信度分析(α/ω/ICC)、探索性/验证性因子分析、多维标度法 |
| 信号检测与诊断 | d'、ROC 曲线、心理测量函数 |
| 反应时与决策建模 | Ex-Gaussian 分布、漂移扩散模型(DDM) |
| 元分析与效力 | 元分析、效力分析、等效性检验 |
| 专项方法 | 多重插补、LASSO/Ridge、网络分析、聚类分析、潜在类别分析 |
🎬 Demo:分析一组 Stroop 数据
“帮我分析 Stroop 数据,一致和不一致条件的反应时有没有差异”
用户 ❯ 帮我分析 Stroop 数据,一致和不一致反应时有没有差异
Amazing PsyCoder ❯ 🟢 第 1/5 阶段 · 了解实验和研究问题
请提供实验配置,或者描述实验设计。
用户 ❯ 被试内设计。条件是一致/不一致,结果是反应时和正确率,共 30 个被试。
Amazing PsyCoder ❯ 🟢 第 2/5 阶段 · 了解数据
数据怎么存?每个被试一个文件,还是已经合并?
用户 ❯ 每个被试一个 CSV。
列是 subject_id, stimulus, condition, rt, acc, trial。
Amazing PsyCoder ❯ 这些 stimulus 是每个被试各自不同,还是同一组刺激会被多人看到?
用户 ❯ 同一组 60 个颜色词组合会被所有被试看到,每个被试都有重复试次。
Amazing PsyCoder ❯ ✅ 已确认:30 个被试,每人一个文件,每行一个试次;
数据同时按被试和刺激重复。
Amazing PsyCoder ❯ 🟢 第 3/5 阶段 · 明确要估计什么,再选择方法
主要问题定义为:总体上,不一致条件相对一致条件的平均 RT 差异。
因为同一被试有很多试次,同一刺激也会被多人看到,
不能把所有行当成互不相关。
建议:
· RT 主分析:
rt ~ condition + (1 + condition | subject_id) + (1 | stimulus)
· 正确率补充分析:用二项分布混合模型,同时考虑被试和刺激;
· 配对 t 检验可作为更简单的备选方案,但它回答的是按被试汇总后的问题。
如果随机效应结构无法稳定估计,会记录诊断并按预先写明的顺序简化,
不会看到结果后临时换模型。
用户 ❯ 确认这个问题、公式和数据层级。RT 用线性混合模型,
正确率作为补充分析。
Amazing PsyCoder ❯ ✅ 方法、公式和数据层级已确认。
Amazing PsyCoder ❯ 🟢 第 4/5 阶段 · 清理规则、运行环境和输出
请提供任务说明或预注册中的反应时、缺失和被试排除规则。
如果没有依据,不自动套用“150–2000ms”或“±2.5 SD”。
每一步会记录删掉多少行,并保留原始数据。
用户 ❯ 预注册规定:RT 主分析只用正确且 RT 非缺失的试次;
不做固定 RT 上下限或 ±SD 剔除,也不自动排除被试;
另做 log-RT 敏感性分析。实验室环境是 R 4.4.1,
依赖用 renv.lock 固定,报告用 R Markdown。
Amazing PsyCoder ❯ 🟢 第 5/5 阶段 · 最终确认
┌──────────────────────────────────────────────┐
│ 已确认内容 │
│ 问题:一致 vs 不一致反应时 ← 用户确认 │
│ 公式:被试随机斜率 + 刺激随机截距 ← 用户确认 │
│ 清理:按预注册规则并记录每步数量 ← 用户确认 │
│ 环境:R 4.4.1 + renv.lock ← 用户确认 │
│ 输出:条件差、区间、诊断和图表 ← 用户确认 │
└──────────────────────────────────────────────┘
✅ 保存 analysis_config.yaml,可以生成代码
用户 ❯ 生成。
Amazing PsyCoder ❯ ✅ analysis.R + report.Rmd + renv.lock 已生成
已记录软件版本并完成代码检查。
Amazing PsyCoder ❯ 🔍 当前状态:ready_for_execution
可以运行,但还不能说结果已经适合写入论文。
用户 ❯ 已在新环境运行,提供运行记录、结果表、图和软件版本。
Amazing PsyCoder ❯ 🔍 已检查运行结果
当前状态:ready_for_publication
可以进入报告和论文写作阶段。
📂 文件结构
amazing-psycoder-skills/
├── amazing-psycoder/ ← 总入口(v1.4.0)
│ ├── SKILL.md ← 任务分流和全局规则
│ ├── PLATFORMS.md · install.sh ← 平台说明和安装器
│ ├── STANDALONE.md ← 在 Agent 中直接使用
│ ├── PSYCODER_STUDIO.md ← 网站接入说明
│ ├── runtime/ ← 网站使用的数据格式和能力范围
│ ├── scripts/ · tests/ ← 自动检查
│ ├── requirements-dev.txt ← 完整检查所需的软件版本
│ │
│ │ # 🧪 实验编程
│ ├── psy-exp-designer/ ← ① 实验设计(5 阶段 + 38 个设计参考)
│ ├── psy-exp-coder/ ← ② 实验代码生成(PsychoPy/jsPsych/Psychtoolbox)
│ └── psy-exp-reviewer/ ← ③ 实验代码检查
│ │
│ │ # 📊 数据分析
│ ├── psy-ana-designer/ ← ④ 分析设计(60 个方法参考 + 48 个图表参考)
│ ├── psy-ana-coder/ ← ⑤ 分析代码生成(R/Python)
│ └── psy-ana-reviewer/ ← ⑥ 分析代码与结果检查
│
├── docs/ ← 多语言 README(繁/英/日/德/法)
├── .github/ ← 自动测试
└── README.md ← 简体中文项目首页
💡 有想法或建议?欢迎来信 [email protected]
🪄 Made by soupandpsy · MIT License
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found