← FormHugCONTENT HISTORY

Update to FormHug

Snapshot Oct 24, 2026 · 12:51 UTC · version 2.0.1

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save FormHug and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Analyze FormHug submissions and survey responses by filtering entries, summarizing answers, comparing segments, identifying patterns, and producing concise response reports. Use when the user asks questions about collected FormHug entries, respondents, ratings, choices, trends, or open-text feedback. Do not use to modify or submit entries.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 476
    }
  ],
  "name": "formhug-analyze-responses",
  "skill_md_contents": "---\nname: formhug-analyze-responses\ndescription: Analyze FormHug submissions and survey responses by filtering entries, summarizing answers, comparing segments, identifying patterns, and producing concise response reports. Use when the user asks questions about collected FormHug entries, respondents, ratings, choices, trends, or open-text feedback. Do not use to modify or submit entries.\n---\n\n# Analyze FormHug responses\n\nProduce a traceable analysis whose scope and completeness are clear.\n\n## Workflow\n\n1. Resolve the target and its field definitions through the correct ownership path:\n   - For a form the user owns, use `list_forms` if needed, then `get_form` to map field and choice api_codes to human-readable labels.\n   - For a form the user submitted to but does not own, use `list_participated_forms`, then `get_published_form` for its public field definitions. Private fields are unavailable on this path.\n   - When discovery does not find the target on the first page, follow `next_cursor` until it is found or the list is exhausted. Prefer the `list_forms` name filter for owned forms when a name is known.\n2. Restate the analytical question in operational terms: population, date range, segments, metrics, and whether the user needs all matching entries or a sample.\n3. Read `formhug://entries-filter` before constructing filters. If direct resource access is unavailable, call `read_reference` with the same URI. Remember that all filter conditions are ANDed, choice filters usually use choice api_codes, and nested fields have special reference syntax.\n   - To implement OR logic, run separate paginated queries for each branch, merge the results, and deduplicate them by `serial_number`. Track completeness for every branch rather than treating a partial union as complete.\n4. Fetch entries with `list_entries` for an owned form. Use `list_my_entries` only for the authenticated user's own submissions to a participated form; never imply that it returns other respondents' entries.\n5. Handle pagination deliberately:\n   - Use a limit up to 100 and pass each `next_cursor` into the next call.\n   - Continue until `next_cursor` is null when the user needs a complete result.\n   - If a complete pull is impractical, analyze a clearly identified sample and state its size and selection method.\n   - Use `pagination.total` as the matching count, not as proof that every matching record was fetched.\n6. Normalize values with the form definition:\n   - Translate choice api_codes back to labels.\n   - Distinguish missing values from numeric zero, false, and an intentionally empty selection.\n   - Count every selected option for multi-select fields.\n   - Interpret dates in the form's timezone and state the reporting period explicitly.\n   - Treat free-text themes as qualitative coding; show representative paraphrases rather than exposing unnecessary raw text.\n7. Check data quality before drawing conclusions. Report missingness, small groups, inconsistent field usage, duplicate-looking submissions, unsupported comparisons, and any incomplete pagination.\n8. Present the answer in this order: direct answer, supporting metrics, notable segments or themes, data-quality caveats, and the analysis scope. Include the FormHug entries URL for an owned form when the user may want to inspect records or built-in reports; do not imply that a participant can access the owner's entries page.\n\n## Privacy and safety\n\n- If FormHug tools are unavailable, pause and ask the user to connect the FormHug app. On an authentication or authorization error, ask the user to reconnect or reauthorize rather than repeatedly retrying. Never fabricate inaccessible entries or analysis results.\n- Minimize personal data. Aggregate names, emails, phone numbers, addresses, attachment URLs, and other identifiers unless the user explicitly needs individual records for an authorized purpose.\n- Do not reproduce access passwords, credentials, payment-card data, government identifiers, health information, or private free text in a general report.\n- Do not infer protected traits, diagnoses, intent, or causation from response correlations.\n- Do not call `submit_entry` or any form-update or deletion tool during analysis.\n- State when a conclusion is directional rather than statistically reliable.\n"
}

SHA-256 of public snapshot: 57fe1045474742d93f27a3baa79fcf3b59de3eed5c3e890fd052f5796681c3fc