makloai

dashform

0
0
# Install this skill:
npx skills add makloai/dashform-agent-skills --skill "dashform"

Install specific skill from multi-skill repository

# Description

Create and manage AI-powered smart forms, surveys, and quizzes through the Dashform MCP server. Supports open-ended, single-choice, multiple-choice, and rating questions with AI-powered conversational experiences.

# SKILL.md


name: dashform
description: Create and manage AI-powered smart forms, surveys, and quizzes through the Dashform MCP server. Supports open-ended, single-choice, multiple-choice, and rating questions with AI-powered conversational experiences.
compatibility: Requires Dashform MCP server running locally at https://getaiform.com/api/mcp
metadata:
author: Dashform
version: "2.0.0"
website: https://getaiform.com


Dashform Form Creation Skill

Create intelligent forms through the Dashform MCP (Model Context Protocol) server. This skill enables you to build surveys, quizzes, and feedback forms using MCP tools.

When to Use This Skill

Use this skill when the user needs to:
- Create surveys, feedback forms, or questionnaires
- Design quizzes or personality tests
- Build conversational AI-powered forms
- Collect structured data from respondents

Prerequisites

IMPORTANT: This skill requires:

  1. Dashform MCP Server: The local development server must be running at https://getaiform.com
  2. User Authentication: User session token from https://getaiform.com

Workflow

Step 1: Check for Cached Credentials

When the user asks to create a form, ALWAYS check for cached credentials first:

cat .claude/skills/dashform/credentials.json
  • If credentials exist: Extract userId, organizationId, and userName, proceed to Step 4
  • If credentials don't exist: Continue to Step 2

Step 2: Request User Authentication

If credentials are not cached, guide the user to provide their session token:

"I need to authenticate you with Dashform first. Please follow these steps:

1. Sign in to https://getaiform.com
2. Open browser DevTools (F12)
3. Go to Application β†’ Cookies
4. Find 'better-auth.session_token'
5. Copy its value and send it to me

Once you provide the token, I'll cache your credentials automatically."

Step 3: Cache Credentials Automatically

When the user provides their session token, run the setup script with the token as an argument:

.claude/skills/dashform/scripts/setup-credentials.sh "user-provided-token"

Then read the cached credentials:

cat .claude/skills/dashform/credentials.json

Extract userId, organizationId, and userName for use in form creation.

Step 4: Ask About Form Requirements

Ask the user what kind of form they want to create, addressing them by their userName:

"Great, {userName}! Your credentials are cached. What kind of form would you like to create?

For example:
- Customer satisfaction survey
- Employee feedback form
- Event registration
- Quiz or personality test
- NPS survey

Please describe what you need."

Available MCP Tools

The Dashform MCP server provides the following tools:

1. create_form - Create a New Form

Creates a new form with full configuration support including questions, screens, theme, and branding.

Basic Parameters:
- organizationId (string, required): The organization ID to create the form in
- userId (string, required): The user ID creating the form
- name (string, required): The name of the form (1-255 characters)
- type (string, optional): Form type - "structured" (traditional, default) or "dynamic" (AI-powered conversational)
- description (string, optional): Description of the form
- tone (string, optional): Tone for the form (e.g., "friendly", "professional")

Advanced Configuration Parameters:
- welcomeScreen (object, optional): Welcome screen configuration (title, message, CTA)
- endScreen (object, optional): End screen configuration
- endScreenEnabled (boolean, optional): Whether to enable the end screen
- endings (array, optional): Multiple quiz endings for conditional selection
- questions (array, optional): List of questions for structured forms
- snippets (array, optional): Information snippets for AI to reference (dynamic forms)
- maxFollowUpQuestions (number, optional): Max follow-up questions (0-10, for dynamic forms)
- theme (object, optional): Visual theme (colors, fonts)
- branding (object, optional): Branding settings (logo, watermark)
- backgrounds (array, optional): Array of backgrounds (max 10)

Returns:

{
  "success": true,
  "formId": "uuid",
  "name": "Form Name",
  "type": "structured",
  "description": "Form description",
  "tone": "friendly",
  "questionsCount": 5,
  "createdAt": "2024-01-29T...",
  "shareUrl": "https://getaiform.com/r/abc123",
  "editUrl": "https://getaiform.com/forms/uuid"
}

2. create_reply - Create a Form Response

Creates a new reply/response for an existing form.

Parameters:
- formId (string, required): The ID of the form to create a reply for
- organizationId (string, required): The organization ID the form belongs to
- respondentName (string, optional): Name of the person filling out the form
- respondentEmail (string, optional): Email of the person filling out the form
- respondentEmotion (string, optional): Initial emotional state - "neutral", "positive", or "negative". Defaults to "neutral"
- data (object, optional): Initial form data as key-value pairs (question key β†’ answer)

Returns:

{
  "success": true,
  "replyId": "uuid",
  "formVersionId": "uuid",
  "status": "partial",
  "respondentName": "John Doe",
  "respondentEmail": "[email protected]",
  "respondentEmotion": "neutral",
  "data": {},
  "createdAt": "2024-01-29T..."
}

Step 5: Generate Form Configuration

IMPORTANT: Read Documentation First

Before generating the form JSON configuration, ALWAYS read these files:

cat .claude/skills/dashform/references/SCHEMA.md
cat .claude/skills/dashform/references/API.md

This ensures correct structure and prevents MCP call errors.

Based on the user's requirements, generate a complete form JSON configuration.

CRITICAL RULES:

  1. Always create complete, production-ready forms with:
  2. βœ… Welcome screen (title, message, CTA)
  3. βœ… Questions (at least 2-3 relevant questions)
  4. βœ… End screen (thank you message)
  5. βœ… Theme (colors and fonts)

  6. DO NOT create minimal forms with only name and description

  7. Reference the examples/ directory for complete templates:

  8. customer-survey.json - Customer satisfaction survey
  9. quiz.json - Personality quiz with multiple endings
  10. employee-satisfaction-survey.json - Employee engagement survey
  11. event-registration.json - Event registration form
  12. nps-survey.json - NPS survey with AI follow-ups

  13. Reference the references/ directory for detailed documentation:

  14. SCHEMA.md - Complete form structure and question types
  15. API.md - API endpoint documentation

  16. Form Type Selection:

  17. Default: Use type: "structured" (or omit type parameter)
  18. Only use type: "dynamic" when user explicitly mentions:
    • "conversational form"
    • "AI-powered"
    • "follow-up questions"
    • "adaptive questions"

Save the JSON configuration:

Save the generated form configuration to the data/ directory with a descriptive filename:

# Filename format: {form-name}_{timestamp}.json
# Example: customer-survey_2024-01-30-143022.json

Note: Do NOT include userId or organizationId in the JSON file - these will be added automatically by the create-form script.

Step 6: Create the Form

Run the create-form script with the JSON file path:

.claude/skills/dashform/scripts/create-form.sh "path/to/form.json"

The script will:
1. Read cached credentials (userId, organizationId)
2. Merge credentials with form configuration
3. Call MCP create_form tool
4. Return the form URLs

Step 7: Inform the User

After successfully creating the form, provide:
- βœ… Success confirmation
- πŸ“‹ Share URL (for distributing to respondents)
- ✏️ Edit URL (for customizing the form)

Example response:

βœ… Form created successfully!

πŸ“‹ Share URL: https://getaiform.com/r/abc123
   (Share this link with your respondents)

✏️ Edit URL: https://getaiform.com/forms/uuid
   (Use this to customize your form)

Form Types

Type Description Use Case
structured Traditional fixed-question form (default) Contact forms, registrations, surveys with fixed questions
dynamic AI-powered conversational form Complex surveys, interviews, personality quizzes

Recommendation: Use "structured" for most cases with predefined questions. Use "dynamic" only when you need AI-powered conversational experiences with follow-up questions.

Question Types Supported

Type Key Description
Open-ended open-ended Free text input
Single Choice single-choice Radio buttons (one answer)
Multiple Choice multiple-choice Checkboxes (multiple answers)
Rating rating 1-5 star rating

Tips for Best Results

  1. Always include complete configuration: Don't create forms with just name and type
  2. Use appropriate form type: Dynamic for conversational, structured for traditional
  3. Add welcome screens: Set expectations and engage users
  4. Include end screens: Thank users and provide next steps
  5. Apply themes: Make forms visually appealing
  6. Reference examples: Use the examples/ directory as templates

Troubleshooting

MCP Server Not Running

If you get connection errors:
1. Check that the server is running at https://getaiform.com
2. Verify the MCP endpoint is accessible at /api/mcp

Invalid Credentials

If you get authentication errors:
1. Verify the Organization ID and User ID are correct
2. Check that the user has permission to create forms

Form Creation Fails

If form creation fails:
1. Check that all required fields are provided
2. Verify the form configuration matches the schema
3. Review the error message for specific issues

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.