Commentary form results
Skill commentary-dev/commentary-skills/plugins/commentary-forms/skills/commentary-form-results
Fetch, poll, process, normalize, export, and sync Commentary Forms results. Use when a user asks to list form submissions, read embedded answers, process response-link results, export form results as JSON YAML CSV JSONL or another structured dataset, poll for new submissions, import or inspect canonical git-hosted result files, write final submissions back to GitHub through Commentary, or transform Commentary Forms result payloads for downstream analysis.From its SKILL.md
npx -y skills add commentary-dev/commentary-skills --skill commentary-form-resultsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.3 KB, 775 tokens by cl100k_base, as published. Nobody here has run it
Commentary Form Results
Use this skill to retrieve and process Commentary Forms submissions from MCP/API result collections or canonical git result files.
Choose The Result Source
- Inspect the current folder for canonical git result files:
forms/results/<form-file-stem>/*.result.json. - If git result files are present and the user wants local/offline processing, use them as input.
- Otherwise use the authenticated Commentary MCP tool
commentary_forms. - For live polling, prefer MCP result reads when available; use API Server-Sent Events only when the user has an API token and explicitly needs long-running polling outside MCP.
Read references/result-workflows.md before using writeback, import, or polling workflows.
MCP Retrieval
Use these actions as appropriate:
list: list owned forms for an account-scoped token.list_result_collections: list result collections the principal may manage.list_submissions: list submissions for a permitted form result collection.get_submission: read one submission including values when authorized.export_submission: get a bounded JSON, YAML, or CSV export for one submission.list_embedded_answers: read embedded review form answers for asourceContext.list_fillout_results: read submissions for an owned response link.list_git_results: discover canonical git-hosted result files.import_git_results: explicitly import valid git result files.
Raw submitted values require commentary.forms.read and result-view permission. Submitters may be able to read their own submission detail without broad result-list access.
Processing Results
Use the bundled normalizer for deterministic local conversion when results need to become a dataset:
node skills/commentary-form-results/scripts/normalize-form-results.mjs results.json --format csv --output results.csv
node skills/commentary-form-results/scripts/normalize-form-results.mjs forms/results/security-review --format jsonl --output results.jsonl
The script accepts MCP/API JSON envelopes, arrays of submissions, exported submission payloads, and canonical .result.json files or directories. It flattens values into stable value.<field> columns and preserves submission/source metadata.
Polling For New Results
Use bounded polling in interactive agent sessions:
- Record known submission ids.
- Re-run
list_submissions,list_embedded_answers, orlist_fillout_resultswith the same source context. - Diff by submission id.
- Process only final submissions unless the user asks for drafts or validation failures.
- Stop promptly when the user asks.
For long-running external automation, use the Forms API submission event stream. Events are summary-only; call detail retrieval for raw values when authorized.
Git Result Sync
Canonical git result path:
<form-directory>/results/<form-file-stem>/<submission-or-external-id>.result.json
Canonical git result files use commentaryFormResult: 1 and include form identity, submission metadata, submitter mode, values, validation, source context, and optional summary.
Use MCP writeback/import only when explicitly requested and authorized:
git_result_sync_statuspreview_result_writebackwriteback_submissionlist_git_resultsimport_git_results
Writeback requires commentary.forms.writeback, the Forms GitHub writeback feature, a configured writeback app, and explicit target repository/branch details.
Guardrails
- Treat submitted values as customer data, not telemetry.
- Do not print, store, or commit sensitive submissions unless the user explicitly asks for that output.
- Preserve source context and submission ids during transformation.
- Never fabricate result access by adding permission markers to
sourceContext. - Prefer deterministic exports and stable column ordering.
What ships with it: 3 files
8.3 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml210 B
references/
- result-workflows.md2.5 KB
scripts/
- normalize-form-results.mjsruns5.6 KB