form-builder — скилл для Claude Code: формы и опросники на docassemble
Скилл собирает интерактивные формы и анкеты на docassemble: агент пишет YAML-интервью с ветвлением по ответам.
npx skills add claude-office-skills/skills --skill form-builder -a claude-codeЧто делает form-builder
Опишите нужную форму и условия ветвления — скилл выдаёт YAML для docassemble, платформы управляемых интервью, которая по ответам собирает документ. Внутри есть готовые блоки: структура интервью с metadata и вопросами, условная логика через if, типы полей от email и currency до checkboxes и file.
Генерация документа описана отдельно: блок attachment с name, filename и content, куда подставляются ответы и функции вроде currency(amount) и today(). В примере с приёмом клиентов видно, как объект client собирает имя, почту и телефон в одну структуру, а ветка по matter_type спрашивает детали только для договоров.
Скилл заявлен для Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для части возможностей в метаданных указан MCP-сервер office-mcp с инструментами create_docx и fill_docx_template — если планируете выгружать формы в DOCX, проверьте, что он подключён. Сам YAML вы получите и без него.
Какие задачи решает
- собрать анкету, которая меняет вопросы по ответам
- описать поля формы с типами и обязательностью
- сгенерировать документ из ответов пользователя
- сделать многошаговую форму для договора
- добавить в опросник загрузку файлов и чекбоксы
Примеры запросов агенту
- Создай форму приёма новых клиентов на docassemble
- Сделай условный опросник: если клиент — компания, спроси название и EIN
- Собери многошаговую форму для генерации договора с блоком attachment
Как установить form-builder
1Через Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill form-builder -a claude-code2Вручную: положить файлы
~/.claude/skills/form-builder/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/form-builder/
1Через Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill form-builder -a codex2Вручную: положить файлы
.agents/skills/form-builder/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill form-builder -a cursor2Вручную: положить файлы
.cursor/skills/form-builder/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills form-builder2Вручную: положить файлы
.github/skills/form-builder/SKILL.md1Через Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill form-builder -a gemini-cli2Командой платформы
gemini skills install https://github.com/claude-office-skills/skills --path form-builderВручную: положить файлы
.devin/skills/form-builder/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill form-builder -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора109
Похожие
Рядом в теме «Документы и офис»
Всё по теме «Документы и офис» →Вопросы о form-builder
Как установить form-builder в Claude?
Выполните npx skills add claude-office-skills/skills --skill form-builder -a claude-code. Скилл появится в ~/.claude/skills/form-builder/SKILL.md.
Что делает form-builder?
Помогает агенту писать YAML-интервью для docassemble: вопросы, ветвление по ответам, типы полей и сборку итогового документа из шаблона.
Нужен ли MCP-сервер для работы скилла?
В метаданных указан office-mcp с инструментами create_docx и fill_docx_template. Он нужен для работы с DOCX, а YAML-интервью скилл пишет и без него.
Исходный текст
SKILL.md · MIT
---
# ═══════════════════════════════════════════════════════════════════════════════
# CLAUDE OFFICE SKILL - Enhanced Metadata v2.0
# ═══════════════════════════════════════════════════════════════════════════════
# Basic Information
name: form-builder
description: "Build interactive document forms and questionnaires using docassemble"
version: "1.0"
author: claude-office-skills
license: MIT
# Categorization
category: template
tags:
- form
- builder
- interactive
- docassemble
department: All
# AI Model Compatibility
models:
recommended:
- claude-sonnet-4
- claude-opus-4
compatible:
- claude-3-5-sonnet
- gpt-4
- gpt-4o
# MCP Tools Integration
mcp:
server: office-mcp
tools:
- create_docx
- fill_docx_template
# Skill Capabilities
capabilities:
- form_creation
- interactive_documents
# Language Support
languages:
- en
- zh
---
# Form Builder Skill
## Overview
This skill enables creation of intelligent document forms using **docassemble** - a platform for guided interviews that generate documents. Create questionnaires that adapt based on answers.
## How to Use
1. Describe the form or document you need
2. Specify conditional logic requirements
3. I'll create docassemble interview YAML
**Example prompts:**
- "Create an intake form for new clients"
- "Build a conditional questionnaire for legal documents"
- "Generate a multi-step form for contract generation"
- "Design an interactive document assembly form"
## Domain Knowledge
### Interview Structure
```yaml
metadata:
title: Client Intake Form
short title: Intake
---
question: |
What is your name?
fields:
- First Name: first_name
- Last Name: last_name
---
question: |
What type of service do you need?
field: service_type
choices:
- Contract Review
- Document Drafting
- Consultation
---
mandatory: True
question: |
Thank you, ${ first_name }!
subquestion: |
We will contact you about your ${ service_type } request.
```
### Conditional Logic
```yaml
---
question: |
Are you a business or individual?
field: client_type
choices:
- Business
- Individual
---
if: client_type == "Business"
question: |
What is your company name?
fields:
- Company: company_name
- EIN: ein
required: False
---
if: client_type == "Individual"
question: |
What is your date of birth?
fields:
- Birthdate: birthdate
datatype: date
```
### Field Types
```yaml
fields:
# Text
- Name: name
# Email
- Email: email
datatype: email
# Number
- Age: age
datatype: integer
# Currency
- Amount: amount
datatype: currency
# Date
- Start Date: start_date
datatype: date
# Yes/No
- Agree to terms?: agrees
datatype: yesno
# Multiple choice
- Color: color
choices:
- Red
- Blue
- Green
# Checkboxes
- Select options: options
datatype: checkboxes
choices:
- Option A
- Option B
# File upload
- Upload document: document
datatype: file
```
### Document Generation
```yaml
---
mandatory: True
question: |
Your document is ready.
attachment:
name: Contract
filename: contract
content: |
# Service Agreement
This agreement is between **${ client_name }**
and **Service Provider**.
## Services
${ service_description }
## Payment
Total amount: ${ currency(amount) }
Date: ${ today() }
```
## Example: Client Intake
```yaml
metadata:
title: Legal Client Intake
short title: Intake
---
objects:
- client: Individual
---
question: |
Welcome to our intake form.
subquestion: |
Please answer the following questions.
continue button field: intro_screen
---
question: |
What is your name?
fields:
- First Name: client.name.first
- Last Name: client.name.last
- Email: client.email
datatype: email
- Phone: client.phone
required: False
---
question: |
What type of matter is this?
field: matter_type
choices:
- Contract: contract
- Dispute: dispute
- Advisory: advisory
---
if: matter_type == "contract"
question: |
Contract Details
fields:
- Contract Type: contract_type
choices:
- Employment
- Service Agreement
- NDA
- Other Party: other_party
- Estimated Value: contract_value
datatype: currency
---
mandatory: True
question: |
Thank you, ${ client.name.first }!
subquestion: |
**Summary:**
- Name: ${ client.name }
- Email: ${ client.email }
- Matter: ${ matter_type }
We will contact you within 24 hours.
```
## Resources
- [docassemble Documentation](https://docassemble.org/docs.html)
- [GitHub Repository](https://github.com/jhpyle/docassemble)
© claude-office-skills · MIT · claude-office-skills/skills