# sumsub-create-questionnaire

Turns a short spec into a Sumsub KYC questionnaire definition, pushes it to the API and hands back the id for level wiring.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1200 installs · ★ 7
- Author: sumsub
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/sumsub/agent-skills/tree/HEAD/skills/sumsub-create-questionnaire/SKILL.md
- Updated: 2026-10-02
- HTML: https://affpapa.org/en/nevibecode/skills/sumsub-create-questionnaire

## What it does

The skill takes a compact list of sections and questions, expands it into the full JSON payload and sends it to Sumsub. New questionnaires go through `POST /resources/api/agent/questionnaires`, updates through `PATCH` on the same path, and `GET /resources/api/agent/questionnaires/{id}` reads one back. The work sits in `build_questionnaire.py`, `post_questionnaire.sh`, `patch_questionnaire.sh` and `get_questionnaire.sh`; the spec arrives on stdin, so you never hand-write the localized payload.

Before anything else it checks tenant entitlements with `sumsub-check-permissions`: `QUESTIONNAIRE` has to appear in `allowedChecks`. Miss it and the skill stops, pointing you at your CSM or Sumsub support. Auth uses an App Token plus secret, and only sandbox pairs are accepted — the helper script rejects tokens that do not start with `sbx:`. A production token gets refused, so this is not the route for a live tenant.

POST and PATCH are strict now. POST returns `409 CONFLICT` when the `id` is taken, PATCH returns `404 NOT_FOUND` for an unknown one. Unsure whether the questionnaire exists? Call `get_questionnaire.sh` first. The response carries `id` and `clientId`, which the skill turns into a sandbox dashboard link.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add sumsub/agent-skills --skill sumsub-create-questionnaire -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/sumsub-create-questionnaire/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/sumsub-create-questionnaire/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add sumsub/agent-skills --skill sumsub-create-questionnaire -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/sumsub-create-questionnaire/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add sumsub/agent-skills --skill sumsub-create-questionnaire -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/sumsub-create-questionnaire/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install sumsub/agent-skills sumsub-create-questionnaire
```

2. **Manually: put the files in place**
- File: `.github/skills/sumsub-create-questionnaire/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add sumsub/agent-skills --skill sumsub-create-questionnaire -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/sumsub/agent-skills --path skills/sumsub-create-questionnaire
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/sumsub-create-questionnaire/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add sumsub/agent-skills --skill sumsub-create-questionnaire -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/sumsub/agent-skills/tree/HEAD/skills/sumsub-create-questionnaire/SKILL.md

## When to use it
- build a KYC questionnaire definition from a list of questions
- update an existing Sumsub questionnaire by its id
- read a questionnaire back and check what landed
- wire conditional questions to real section and item ids
- get a sandbox link to the questionnaire for review

## Example prompts
- create a Sumsub questionnaire with a source-of-funds section and a salary question
- update the source-of-funds questionnaire and add an other-source question
- read the source-of-funds questionnaire and show me what is in it now

## Similar
- [to-questionnaire](https://affpapa.org/en/nevibecode/skills/to-questionnaire.md) — skill · 498319 installs
- [connect-required-verification-information](https://affpapa.org/en/nevibecode/skills/connect-required-verification-information.md) — skill · 1400 installs
- [create-tool](https://affpapa.org/en/nevibecode/skills/create-tool.md) — skill · 925 installs
- [create-squad](https://affpapa.org/en/nevibecode/skills/create-squad.md) — skill · 884 installs
- [chainlink-ace-skill](https://affpapa.org/en/nevibecode/skills/chainlink-ace-skill.md) — skill · 310 installs
- [x-ray-a-company](https://affpapa.org/en/nevibecode/skills/x-ray-a-company.md) — skill · 2100 installs

From the same set: [sumsub/agent-skills](https://affpapa.org/en/nevibecode/by/sumsub/agent-skills.md) — 11 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
