templates/forms/.agents/skills/form-responses/SKILL.md
How to view, export, and analyze form responses. Use when the user asks about submitted data, wants to export responses, or needs response analytics.
npx skillsauth add BuilderIO/agent-native form-responsesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use list-responses to see submissions for a specific form:
pnpm action list-responses --form <form-id> [--limit 50]
This shows each response with field labels and values, ordered by submission date (newest first).
Use export-responses to export to CSV or JSON:
# CSV export (default)
pnpm action export-responses --form <form-id> --output data/export.csv
# JSON export
pnpm action export-responses --form <form-id> --output data/export.json --format json
The CSV includes headers derived from field labels. Array values (multiselect) are joined with semicolons.
Each response is stored in the responses SQL table:
| Column | Type | Description |
| ------------ | ------ | ------------------------------------ |
| id | text | Unique response ID |
| formId | text | Foreign key to the form |
| data | text | JSON string of field ID -> value map |
| submittedAt| text | ISO timestamp |
The data JSON maps field IDs to values:
{
"name": "Alice Smith",
"email": "[email protected]",
"rating": 5,
"interests": ["design", "development"]
}
To analyze responses, the workflow is:
list-forms to find the form IDlist-responses --form <id> to get the dataFor advanced queries, use the core db-query script:
pnpm action db-query --sql "SELECT data FROM responses WHERE formId = '<id>'"
| User request | What to do |
| ------------------------ | --------------------------------------------- |
| "How many responses?" | list-responses --form <id> --limit 1 (shows total count) |
| "Export to CSV" | export-responses --form <id> --output data/export.csv |
| "Summarize feedback" | list-responses, then analyze the data |
| "Average rating" | list-responses, compute from rating fields |
| "Who submitted today?" | list-responses, filter by submittedAt |
tools
Public booking flow — the state machine, animations, and URL/app-state sync.
tools
Trigger-based automations — reminders, follow-ups, webhooks — across the booking lifecycle.
tools
Team event types, round-robin assignment, collective bookings, host weights, and no-show calibration.
development
The pure `computeAvailableSlots` function — inputs, outputs, invariants, and debugging guide.