AgentStack
SKILL verified MIT Self-run

Policy Question Miner

skill-igptai-skills-policy-question-miner · by igptai

Finds every HR policy question, benefits inquiry, and employee request buried in email — questions that were asked, answered, unanswered, or repeatedly asked by multiple people. Use when HR wants to understand what employees are confused about or to build an FAQ from real questions. Triggers on "policy questions from employees", "what are employees asking about", "HR FAQ", "benefits questions", "…

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-igptai-skills-policy-question-miner

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Policy Question Miner? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Policy Question Miner

Prerequisites

This skill needs the iGPT MCP at https://mcp.igpt.ai/.

If the MCP tools aren't available or return an auth error, tell the user to install the iGPT plugin (/plugin marketplace add igptai/skills) or add https://mcp.igpt.ai/ as a connector, then complete OAuth and say "ready". Retry once after they confirm. Never invent tokens or OAuth URLs. For deeper troubleshooting: https://raw.githubusercontent.com/igptai/skills/main/shared/mcp-guard.md


What This Skill Does

Scans email threads for HR policy questions, benefits inquiries, and employee requests — identifying what employees are confused about, what questions are being asked repeatedly, and what unanswered questions need a response. Output can be used directly to build or improve an HR FAQ.


Workflow

  1. Before calling any tool, collect these values from the user. Offer the

defaults and let the user override them; do not invent values they did not give.

  • [time_range] — what window of email to scan. The user may give this

in any form ("last 6 months", "the last 90 days", "May 2024", "since the policy update"). Default: the last 6 months. Keep the user's natural phrasing for use in the ask input; convert to ISO dates separately for the search call.

  • [policy_scope] — either "all" (default) or a specific policy area

to focus on (e.g. "benefits", "leave", "expense reimbursement").

  • [policyclause] — derived. When [policyscope] is not "all", set

to " focused on [policyscope]". When [policyscope] is "all", set to empty string.

  1. Call search with:
  • query: policy question benefits vacation leave parental sick pay

expense reimbursement how do I what is the process (if [policy_scope] is not "all", append the policy area to the query)

  • datefrom: ISO start date derived from [timerange]
  • dateto: ISO end date derived from [timerange] (or today if open-ended)
  1. Call ask with:
  • input: Review all email threads from [timerange][policyclause] that involve HR policy questions, benefits inquiries, or employee requests for process guidance. For each question identify: what was asked, who asked it, when, what policy area it relates to, whether it was answered, and whether the same or similar question has been asked by multiple people. Identify any questions that were never answered.
  • output_format:

{ "strict": true, "schema": { "type": "object", "description": "HR policy question analysis mined from employee email threads", "additionalProperties": false, "properties": { "periodfrom": { "type": "string", "description": "ISO8601 start date of the period scanned" }, "periodto": { "type": "string", "description": "ISO8601 end date of the period scanned" }, "questions": { "type": "array", "description": "List of every HR policy question found in email", "items": { "type": "object", "description": "A single policy question with context and status", "additionalProperties": false, "properties": { "question": { "type": "string", "description": "The policy question as asked or closely paraphrased" }, "policyarea": { "type": "string", "description": "The HR policy area this question relates to", "enum": [ "vacationandleave", "parentalleave", "sickleave", "compensation", "benefits", "expensereimbursement", "remotework", "performancereview", "onboarding", "offboarding", "codeofconduct", "other" ] }, "askedby": { "type": "string", "description": "Name or role of the employee who asked this question" }, "dateasked": { "type": "string", "description": "ISO8601 date when this question was first asked" }, "timesasked": { "type": "number", "description": "Number of times this or a very similar question was asked across all employees" }, "answered": { "type": "boolean", "description": "Whether this question received a clear answer in email" }, "answersummary": { "type": "string", "description": "Brief summary of the answer given, empty string if not answered" }, "faqcandidate": { "type": "boolean", "description": "Whether this question is a good candidate for inclusion in an HR FAQ based on frequency or importance" } }, "required": [ "question", "policyarea", "askedby", "dateasked", "timesasked", "answered", "answersummary", "faqcandidate" ] } }, "unansweredcount": { "type": "number", "description": "Total number of policy questions that were never answered" }, "toppolicyareas": { "type": "array", "description": "The policy areas with the most questions, ordered by frequency", "items": { "type": "object", "description": "A policy area and its question count", "additionalProperties": false, "properties": { "policyarea": { "type": "string", "description": "Name of the policy area" }, "questioncount": { "type": "number", "description": "Number of questions asked about this policy area" } }, "required": ["policyarea", "questioncount"] } }, "faqcandidatescount": { "type": "number", "description": "Number of questions identified as strong FAQ candidates" }, "summary": { "type": "string", "description": "One or two sentence summary of policy question patterns and top areas of confusion" } }, "required": [ "periodfrom", "periodto", "questions", "unansweredcount", "toppolicyareas", "faqcandidates_count", "summary" ] } }

  1. Present unanswered questions first, then FAQ candidates ordered by times

asked. Lead with unanswered count and the top policy area by question volume.

  1. Ask: "Would you like me to draft FAQ answers for the most frequently

asked questions?"

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.