Skip to content
cccskills
FreePublished on GitHub

policy-qa

Triage employee questions in an HR inbox against policies documented in Notion. Prepare Gmail drafts with policy references for routine questions, and route ambiguous, legal, personal, or compensation matters to HR through Slack.

OriginalShow the original description

Triage loop for inbound HR policy questions. Classifies each new question from the HR inbox as answerable from the documented Notion policy library or as needing HR's judgment, drafts a grounded Gmail reply for the former, and escalates the latter — anything ambiguous, legal, personal, or compensation-related — to {{hr_channel}} in Slack without attempting an answer.

Run score Not tested

See how to install

Good for

  • Drafting replies to routine HR policy questions
  • Routing sensitive employee questions to HR
  • Checking the HR inbox on a regular schedule
  • Reviewing why a question was escalated

Files included (1)

  • SKILL.md4.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<skill name="policy-qa"> <overview> Every 15 minutes, a fresh session checks the HR Gmail inbox for new employee questions, searches the documented policy library in Notion for the answer, and either drafts a grounded reply in Gmail for a human to send, or escalates the question to HR in {{hr_channel}} on Slack when it's ambiguous, legal, personal, or compensation-related. The agent never sends email itself and never answers with anything the library doesn't already document. </overview> <when-to-load> - The 15-minute cron fires the HR inbox check. - A human asks the agent to check the HR inbox now, re-triage a specific thread, or explain why a question was escalated instead of answered. </when-to-load> <workflow>

Step 1 — Pull new questions from the HR inbox (read-only)

Search the HR Gmail inbox for threads that don't yet carry a hr-qa/* label — these are the ones no prior run has processed. Since each run is a fresh session with no memory, Gmail's labels are the only record of what's already been handled; never rely on recollection of a prior run.

Step 2 — Classify the question

For each new thread, read the question and sort it into exactly one bucket:

BucketExamples
Answerable from policyPTO accrual/carryover, remote-work policy, expense limits, holiday schedule, standard parental-leave timeline, dress code, standard onboarding/offboarding steps
Escalate to HRA request for an exception; anything legal (accommodation requests, disputes, harassment/discrimination, termination questions); personal to one person's medical, family, or disciplinary situation; anything about compensation (salary, equity, bonus, raises, offer details); anything the library doesn't clearly cover

If a question could plausibly sit in either bucket, escalate it. Never guess to avoid an escalation.

Step 3 — Answer from the documented policy library (read-only)

For an answerable question, search Notion for the specific policy page or section that covers it. Quote the relevant text or paraphrase it closely enough that it can't drift from what's written. If the library only partially covers the question, or the answer depends on interpreting how a general policy applies to this employee's specific circumstances, move it to the escalate bucket instead — do not fill the gap yourself.

Step 4 — Draft the reply

Create a Gmail draft (never send) replying in the thread with:

  • A direct answer to the question.
  • The specific policy quoted or closely paraphrased, with a reference to the policy page.
  • A line inviting the employee to reach out to HR directly for anything more specific to their situation.

Apply the label hr-qa/drafted to the thread.

Step 5 — Escalate to HR

For an escalation, post to {{hr_channel}} in Slack:

  • The employee's question (or a summary if it contains sensitive detail best not repeated verbatim in a channel).
  • Why it's being escalated — ambiguous / legal / personal / compensation / not covered by the library.
  • A link to the email thread.

Apply the label hr-qa/escalated to the thread. Do not draft a reply to the employee for an escalated thread — HR owns that response entirely.

Step 6 — One pass, no double-processing

Because each run is a new session, the Gmail labels applied in Steps 4 and 5 are the only state carried forward. Only touch threads without an hr-qa/* label; leave every already-labeled thread untouched, even if it looks unresolved.

</workflow> <guardrails> - **Documented policy only.** Never invent, infer, or extend a policy beyond what's written in the Notion library, and never grant or imply an exception. - **Never send email.** Every reply is a Gmail draft; a human on HR sends it or doesn't. - **Escalate, don't answer, anything ambiguous, legal, personal, or compensation-related.** These go to {{hr_channel}} with no attempted answer, every time, without exception. - **Read-only into Notion.** The agent never edits the policy library. - **No memory between runs.** Gmail labels are the sole state; nothing about a prior run is assumed or recalled. - **Scoped secrets.** Gmail and Notion access is brokered through connectors; Slack posts go through the channel integration. No raw credential is shown to the model or written to logs. </guardrails> </skill>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

access-policy

FreeSummary

Review Slack access requests against Okta role and team information, then prepare narrowly scoped GitHub or AWS IAM permissions. Apply changes only after an eligible person's approval and record the grant, reasoning, approver, and timestamp.

  • Reviewing GitHub repository access requests from Slack
  • Preparing AWS IAM permissions for a specific task
  • Routing sensitive access requests for additional review
kortix-ai/suna20.3KUpdated Oct 23, 2026

account-research

FreeSummary

Research companies and people before outreach or meetings. Combines business profiles, recent news, hiring signals, and key contacts into a sourced brief with talking points and suggested questions, adding relationship history when CRM data is connected.

  • Research a prospective customer before outreach
  • Prepare background information for meeting attendees
  • Compare a competitor's products and positioning
kortix-ai/suna20.3KUpdated Oct 23, 2026

Review daily Google Ads and Meta Ads results for budget pacing, declining performance, and unusual activity. Get prioritized findings with supporting numbers and concrete recommendations for a marketing team to assess and carry out.

  • Checking whether campaign budgets are being spent on schedule
  • Investigating rising acquisition costs or falling ad returns
  • Finding ads and keywords that spend without converting
kortix-ai/suna20.3KUpdated Oct 23, 2026

agent-browser

FreeSummary

Automate website tasks such as navigating pages, filling forms, clicking buttons, taking screenshots, and extracting data. The skill also supports web app testing, with specialized guides for Electron desktop apps, Slack, and cloud browsers.

  • Automate form entry and page navigation
  • Capture screenshots and extract page data
  • Explore web apps for bugs
kortix-ai/suna20.3KUpdated Oct 23, 2026

ap-invoice-match

FreeSummary

Process emailed vendor invoices by extracting details, comparing them with purchase orders and invoice history, and recording duplicates, overcharges, or missing orders. Summarize results in Slack for human review; payment approval and execution remain with people.

  • Checking incoming invoices against purchase orders
  • Finding duplicate invoices and likely resends
  • Reviewing unit prices and remaining order balances
kortix-ai/suna20.3KUpdated Oct 23, 2026

billing

FreeSummary

Guide changes to Kortix billing code, admin controls, and pricing screens. Explain how plans, trials, enterprise contracts, and access exceptions should work, where pricing is defined, and which audited routes must handle account changes.

  • Update billing logic and its specification together
  • Review how trials and enterprise contracts are handled
  • Find the code that defines prices and allowances
kortix-ai/suna20.3KUpdated Oct 23, 2026

See all skills by kortix-ai

Report a problem with this skill