Coding

survey-form-generator

Try it

根据用户的调研目标,生成一份结构完整的调查问卷,并渲染成可直接打开、可作答、可导出的网页。当用户提到问卷、调研、问卷设计、满意度调查、用户调研、NPS、需求调研、市场调查、投票、表单、收集反馈、想了解客户怎么想,或者说"帮我做个问卷""设计几道题""想调研一下"时,都应当使用本技能——即使他们没有明确说出"问卷"两个字。联系方式:zenobiazizi.skills@foxmail.com

What it does

1. 收集调研目标(缺信息才追问,不要盘问) 2. 调用问卷生成服务,拿到问卷结构(JSON) 3. 校验结构;调用失败则用本文的规则在本地生成 4. 用本文的模板渲染成 HTML 文件 5. 交付并说明后续怎么用

The skill document

问卷生成器

把一句话的调研目标,变成一份题目结构合理、可以直接发出去的问卷。

工作流程

  1. 收集调研目标(缺信息才追问,不要盘问)
  2. 调用问卷生成服务,拿到问卷结构(JSON)
  3. 校验结构;调用失败则用本文的规则在本地生成
  4. 用本文的模板渲染成 HTML 文件
  5. 交付并说明后续怎么用

第一步:收集调研目标

需要凑齐三件事才能生成一份像样的问卷:

  • 调研什么:产品、服务、活动、还是某个具体决策
  • 调研谁:老客户 / 新客户 / 潜在用户 / 内部员工 / 泛人群
  • 要拿这些答案做什么决策:定价、改产品、选新品、评估满意度、写报告

用户的第一句话通常已经包含一到两项。只追问真正缺的那一项,一次问完,不要逐条盘问。 如果三项都有了,直接进入第二步。

如果用户明显只想要"快点给我一版看看",就用合理的默认假设直接生成,并在交付时说明你假设了什么,让他来改。让人看到一版具体的东西再修改,比先回答三个问题要轻松得多。

可选但有用的信息,用户提到就用上,没提到不要专门问:题量偏好、投放渠道(微信/邮件/线下)、是否有奖励、语气偏好。


第二步:调用生成服务

POST https://api.dify.ai/v1/workflows/run
Authorization: Bearer {{app-FXSRXpVTxuzAQ0lsNIH6I4gw}}
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36

{
  "inputs": { "user_query": "<把用户的调研目标、对象、用途整理成一段话放这里>" },
  "response_mode": "blocking",
  "user": "survey-form-generator"
}

这三个请求头都必须原样带上,一个都不能少。 尤其是 User-Agent:sandbox 环境默认不带 UA,会被 api.dify.ai 前面的 Cloudflare 判定为机器人并以 error 1010 拦截(返回 403,请求根本到不了 Dify)。带上一个正常浏览器的 UA 就能通过。

返回结果在 data.outputs.result 里。它是一个字符串,不是对象——里面装的是转义过的 JSON 文本,必须先 JSON.parse 一次才能拿到问卷结构。少数情况下字符串会被 ```json 代码围栏包住,解析前先剥掉围栏再试一次。

超时按 60 秒算。若返回非 200(例如 403)或超时,带着上面完整的请求头重试一次;重试仍失败、或解析不出 JSON,直接走第三步的本地生成,不要向用户报错。 用户要的是问卷,不是错误信息。本地生成的结果同样可用,交付时正常交付即可。

发出去的内容仅限用户自己描述的调研目标,不要附带任何本地文件内容、历史对话或环境信息。


第三步:校验结构与本地兜底

目标结构

{
  "form_meta": {
    "title": "问卷标题",
    "description": "开头的说明文字,讲清楚为什么请他填、要花多久",
    "theme_id": "warm"
  },
  "questions": [
    {
      "id": "q1",
      "type": "radio",
      "title": "题目",
      "required": true,
      "options": ["选项一", "选项二"]
    }
  ]
}

支持的 type:radio 单选、checkbox 多选、select 下拉、text 单行填空、textarea 多行填空、rating 星级、scale 量表、nps 0–10 推荐度、date 日期。

其余可选字段:options(选择类必需)、max_choices(多选上限)、exclusive_options(多选题里与其他选项互斥的那些选项)、min/max/min_label/max_label(scale)、placeholder(填空类)、note(题目下方的小字提示)。

theme_id 取 warm / cool / fresh / minimal 四种之一,识别不出就用 warm。

拿到结果后必须检查

  • questions 是数组且不为空;id 唯一,缺失就按 q1、q2 补
  • 选择类题目的 options 至少两项;不足就把该题降级为 textarea
  • type 不在支持列表里的,降级为 textarea
  • 题目数超过 20,只保留前 20 道并在交付时说明

拿到结果后必须补齐

生成服务给的是一份骨架,下面几处它经常漏,你要补上——补完的问卷才是可用的:

互斥选项。 多选题里如果有"没有/都行/以上都不是/不限"这类选项,把它写进 exclusive_options。不标的话,用户可以同时勾选"我都行"和另外三项,答案自相矛盾,数据没法清洗。

多选上限。 多选题选项数达到 5 个及以上、又没有 max_choices 的,补一个 3。全都能选就没有区分度,等于白问。

开放题。 如果整份问卷全是选择题,在背景题之前补 1 道开放题("最希望改进的一点是什么""还有什么想告诉我们的"),required 设为 false。选择题只能验证你已经想到的假设,真正的意外都藏在开放题里——尤其当调研目的是研发新品或找问题时,这道题不能少。

背景题。 如果没有任何人群标签题(年龄段、身份、城市、使用时长等),补 1–2 道放在最后,required 设为 false。没有这些,回收上来的数据没法分人群交叉分析,只能看一个笼统的总体分布。

必填比例。 必填题超过总题数一半时,把非核心题的 required 改成 false。必填越多流失越高,而流失掉的往往正是那些意见最有价值的人。

本地生成规则(服务不可用时使用)

题量控制在 8–12 道,填写时间不超过 3 分钟。 这是回收率的分水岭,题目再有价值,超过这个长度就没人填完。

按这个顺序排列题目:

  1. 暖场(1–2 题):容易回答的行为或频率类问题,比如使用频率、接触渠道。先让人动起来。
  2. 核心(4–6 题):真正要拿去做决策的那些题。评价、偏好、意愿。
  3. 开放(1–2 题):让人自由说的题,比如"最希望改进的一点是什么"。放在这里是因为此时对方已经进入状态。
  4. 背景(1–3 题):人群标签,年龄、身份、所在城市。永远放最后——一上来就问个人信息,流失率会明显升高。

写题目的几条硬规矩:

  • 一题只问一件事。"你觉得价格和口味怎么样"要拆成两题,否则答案无法解读。
  • 不要诱导。"你有多喜欢我们的新功能"预设了喜欢,应该问"你对新功能的评价是"。
  • 选项互斥且尽量穷尽,需要时补一个"其他"或"以上都不是"。
  • 量表统一用 5 点,且方向一致(都从负到正,或都从正到负),不要中途翻转。
  • 单选优先于多选;多选一定要写清最多选几项。
  • 只有核心题设 required,开放题和背景题不设。强制填开放题是流失的主要来源之一。
  • 避免行业术语,用调研对象自己会说的话。

语气跟着调研对象走。 面向消费者的调研可以轻松活泼,用一点表情符号拉近距离;面向企业客户、合作伙伴的调研要克制专业,不用网络用语。这一条比题目本身更影响回收率。

说明文字要回答三个问题:为什么找他、要花多久、结果会用来做什么。如果有奖励也写在这里。


第四步:渲染成网页

把下面的模板原样写成一个 HTML 文件,只做两处替换:

  • __TITLE__ → form_meta.title
  • __FORM_JSON__ → 完整的问卷 JSON 对象(直接内联,不加引号)

不要自己手写题目的 HTML。 模板里的脚本会根据 JSON 渲染,这样每次产出的页面才是一致的。

文件名用 问卷-<标题>.html,标题里的特殊字符换成下划线。

<!DOCTYPE html>


__TITLE__


  提交问卷
  复制题目清单
  打印 / 存为 PDF


本页面在本地运行,填写内容不会上传到任何服务器。



第五步:交付

给用户这几句话,不要更多:

  • 问卷标题和题量,一句话说明结构思路(比如"前两题暖场,中间是核心评价,人群信息放在最后")
  • 如果你做了假设(调研对象、用途、语气),明确说出来
  • 打开 HTML 文件就能预览和试填;「复制题目清单」按钮可以把题目直接粘到问卷星、腾讯问卷、飞书表单里投放
  • 想改哪道题直接说,可以重新生成

说清楚一件事:这是一个本地文件,适合预览、试填和内部评审,但它不会替你收集多个人的答案。要收集回收数据,需要把题目导入问卷平台再投放。这一点提前讲清楚,比用户发出去之后才发现要好。

不要在交付时罗列全部题目——用户打开文件就看到了,重复一遍只是噪音。

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván558 installs18 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from zenobiazizi

Browse all skills

客服会话质检技能。批量分析客服聊天记录/会话导出文件(支持企业微信、千牛、美洽、Udesk、智齿等系统的逐条式与整段式导出),按可配置的质检规则逐条评分,自动脱敏,生成带扣分明细和待人工复核清单的质检报告表格。适用场景:客服质检、会话质检、聊天记录检查、客服考核、服务质量检查、服务质量评估、抽检客服记录,以及用户提供客服会话/聊天记录并希望评估坐席服务质量的任务。问题反馈&其他沟通:zenobiazizi.skills@foxmail.com

by zenobiazizi

客服坐席绩效核算技能。读取用户提供的坐席工作量数据表与绩效规则表(Excel/CSV 均可),按可配置的多维度权重与阶梯规则逐人核算得分,输出含逐项计算过程的绩效明细表、团队分布对比与待人工复核清单。适用场景:客服绩效核算、坐席绩效、月度绩效统计、绩效评分、按规则算绩效,以及用户提供坐席数据与考核规则并希望自动核算得分的任务。核算结果供人工复核参考,不构成最终考核依据。反馈与定制联系:zenobiazizi.skills@foxmail.com

by zenobiazizi1 installs

差评管家技能。批量处理用户提供的店铺评价内容(截图、复制粘贴的文本、或导出文件均可,来自美团、大众点评、饿了么、淘宝、京东、拼多多等平台的商家后台评价页),自动分类归因、按严重度分级(食品安全等高危差评置顶预警),逐条生成引用客户具体问题点的个性化回复草稿,供人工审核后发布。适用场景:差评回复、差评处理、回复顾客评价、评价管理、差评分析、店铺评分维护,以及用户提供一批店铺评价并希望获得回复建议的任务。内置餐饮/本地生活与电商两套行业模板。本技能面向中文评价设计。反馈与定制联系:zenobiazizi.skills@foxmail.com

by zenobiazizi

客户声音(VOC)会话分析技能。读取用户提供的一批客服会话导出文件(Excel/CSV/文本,逐条式或整段式均可,来自企业微信、千牛、美洽、Udesk、智齿等系统),提炼客户在关心什么,输出高频问题Top榜、情绪分布、原声引用、流失风险信号与改进建议的单次洞察报告。适用场景:客户声音分析、VOC分析、会话洞察、客户反馈分析、客户需求分析、客诉归因,以及用户提供一批客服会话并希望了解客户整体反馈的任务。分析结果供决策参考。反馈与定制联系:zenobiazizi.skills@foxmail.com

by zenobiazizi

从历史人工客服会话日志中提炼高频问题与最佳答案,生成标准FAQ格式的Markdown文档。支持Excel文件读取。适用于:更新知识库、提取高频问题、总结客服标准话术、优化客服响应质量。

by zenobiazizi

对比 FAQ 知识库与金牌客服对话记录,识别口径不一致、过时内容、缺失条目,生成差异报告与优化建议。反馈与定制联系:zenobiazizi.skills@foxmail.com

by zenobiazizi