skills/hrsd/persona-assistant/SKILL.md
Provide persona-based HR assistance tailored to employee role, department, and history with routing to appropriate HR services and personalized policy guidance
npx skillsauth add happy-technologies-llc/happy-servicenow-skills persona-assistantInstall 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.
This skill provides personalized HR assistance by adapting responses and service routing based on the employee's role, department, location, tenure, and interaction history. It helps you:
When to use: When an HR agent or virtual agent needs to provide tailored HR assistance that accounts for the employee's full context, or when designing persona-driven service catalog experiences.
sn_hr_core.case_writer, sn_hr_core.agent, or sn_hr_core.managercom.sn_hr_service_delivery (HR Service Delivery), com.sn_hr_service_portal (HR Service Portal, optional)sn_hr_core_profile, sn_hr_core_case, sn_hr_le_case_type, sn_hr_core_service, kb_knowledge, and cmn_departmentRetrieve the full employee HR profile to determine persona attributes.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: user=[employee_sys_id]
fields: sys_id,user,department,location,employment_type,hire_date,manager,job_title,cost_center,building,employee_type,benefits_eligible,pay_group,schedule,work_schedule,vip
limit: 1
Using REST API:
GET /api/now/table/sn_hr_core_profile?sysparm_query=user=[employee_sys_id]&sysparm_fields=sys_id,user,department,location,employment_type,hire_date,manager,job_title,cost_center,building,employee_type,benefits_eligible,pay_group,schedule,work_schedule,vip&sysparm_display_value=true&sysparm_limit=1
Get supplementary details from the user record and department hierarchy.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_user
query: sys_id=[employee_sys_id]
fields: sys_id,name,email,phone,title,department,location,manager,company,time_zone,preferred_language,roles
limit: 1
Tool: SN-Query-Table
Parameters:
table_name: cmn_department
query: sys_id=[department_sys_id]
fields: sys_id,name,parent,dept_head,company,description,business_unit
limit: 1
Using REST API:
GET /api/now/table/sys_user/[employee_sys_id]?sysparm_fields=sys_id,name,email,phone,title,department,location,manager,company,time_zone,preferred_language,roles&sysparm_display_value=true
GET /api/now/table/cmn_department/[department_sys_id]?sysparm_fields=sys_id,name,parent,dept_head,company,business_unit&sysparm_display_value=true
Classify the employee into one or more persona categories based on profile attributes:
=== PERSONA CLASSIFICATION ===
Employee: Jane Smith
Determined Persona(s): [Primary] Mid-Career Individual Contributor
[Secondary] Remote Worker
--- Persona Rules ---
| Attribute | Value | Persona Signal |
|------------------------|----------------------|--------------------------|
| Tenure | 4.8 years | Established employee |
| Employment Type | Full-time | Regular employee |
| Job Title | Senior Engineer | Individual contributor |
| Direct Reports | 0 | Non-manager |
| Location | Remote - US | Remote worker |
| Benefits Eligible | Yes | Full benefits access |
| VIP | No | Standard service tier |
--- Persona Categories ---
NEW_HIRE: hire_date within last 90 days
MANAGER: has direct reports or manager role
EXECUTIVE: C-level title or VIP flag
IC_EARLY: 0-2 years tenure, non-manager
IC_MID: 2-7 years tenure, non-manager
IC_SENIOR: 7+ years tenure, non-manager
CONTRACTOR: employment_type = Contractor
REMOTE_WORKER: location contains "Remote"
INTERNATIONAL: location outside primary country
PART_TIME: schedule indicates part-time
TRANSITIONING: active transfer or LOA case
Fetch HR policies and knowledge articles relevant to the employee's location.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: cmn_location
query: sys_id=[location_sys_id]
fields: sys_id,name,country,state,city,time_zone,parent,company
limit: 1
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^kb_knowledge_base.titleLIKEHR^textLIKE[location_country]^ORshort_descriptionLIKE[location_state]
fields: sys_id,short_description,number,kb_category,valid_to,text
limit: 10
Using REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^kb_knowledge_base.titleLIKEHR^short_descriptionLIKECalifornia&sysparm_fields=sys_id,short_description,number,kb_category,valid_to&sysparm_display_value=true&sysparm_limit=10
Fetch HR services applicable to the employee's persona and eligibility.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_service
query: active=true^ORDERBYorder
fields: sys_id,name,description,category,hr_service_center,active,employee_visible,order
limit: 50
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_le_case_type
query: active=true^employee_visible=true
fields: sys_id,name,description,hr_service_center,category,fulfillment_group,sla,confidentiality
limit: 50
Using REST API:
GET /api/now/table/sn_hr_core_service?sysparm_query=active=true^ORDERBYorder&sysparm_fields=sys_id,name,description,category,hr_service_center,employee_visible&sysparm_display_value=true&sysparm_limit=50
Review the employee's recent HR interactions to provide continuity-aware assistance.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_case
query: subject_person=[employee_sys_id]^active=true^ORDERBYDESCopened_at
fields: sys_id,number,short_description,state,hr_service,assigned_to,assignment_group,opened_at,priority
limit: 10
Using REST API:
GET /api/now/table/sn_hr_core_case?sysparm_query=subject_person=[employee_sys_id]^active=true^ORDERBYDESCopened_at&sysparm_fields=sys_id,number,short_description,state,hr_service,assigned_to,assignment_group,opened_at,priority&sysparm_display_value=true&sysparm_limit=10
Determine which Center of Excellence should handle the inquiry based on persona and topic.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_le_center_of_excellence
query: active=true
fields: sys_id,name,description,assignment_group,location,supported_case_types,manager
limit: 20
Using REST API:
GET /api/now/table/sn_hr_le_center_of_excellence?sysparm_query=active=true&sysparm_fields=sys_id,name,description,assignment_group,location,supported_case_types,manager&sysparm_display_value=true&sysparm_limit=20
Compose a persona-aware response with relevant services, policies, and routing:
=== PERSONALIZED HR ASSISTANCE ===
Employee: Jane Smith
Persona: Mid-Career IC | Remote Worker | California
Greeting: "Hi Jane, welcome back to HR Services."
--- Active Cases ---
You have 1 open case:
- HRC0012456: Benefits enrollment question (In Progress, assigned to Sarah Lee)
Status: Awaiting your response - please check your email
--- Contextual Services (Based on Your Persona) ---
For Remote Workers in California:
1. Home Office Equipment Request
-> Self-Service: Employee Portal > Workplace > Equipment
-> COE: Workplace Services
2. California-Specific Leave Policies
-> KB: KB0067891 - California Paid Family Leave Guide
-> KB: KB0067903 - CA Sick Leave Requirements
-> COE: Leave Administration - West Region
3. Remote Work Agreement Renewal
-> Self-Service: Employee Portal > Workplace > Remote Work
-> Note: Your agreement expires in 45 days
For Mid-Career Employees (4+ years):
4. Career Development & Internal Mobility
-> Self-Service: Employee Portal > Career > Job Board
-> COE: Talent Development
5. Sabbatical Eligibility (5-year tenure milestone approaching)
-> KB: KB0078234 - Sabbatical Program Guidelines
-> COE: Benefits Administration
6. Stock Vesting & Equity Questions
-> Self-Service: Employee Portal > Compensation > Equity
-> COE: Total Rewards
--- Quick Actions ---
- Update personal information: Portal > Profile > Personal Details
- View pay stubs: Portal > Pay > Pay History
- Request time off: Portal > Time Off > New Request
- Contact your HR partner: [HR_Partner_Name] ([email])
--- Routing Decision ---
Topic: [employee_inquiry]
Recommended COE: [matched_coe]
Assignment Group: [fulfillment_group]
Expected SLA: [sla_target]
If the inquiry requires case creation, open it with the persona context pre-populated.
Using MCP:
Tool: SN-Create-Record
Parameters:
table_name: sn_hr_core_case
data:
subject_person: [employee_sys_id]
short_description: [inquiry_summary]
hr_service: [matched_case_type_sys_id]
contact_type: chat
priority: 3
description: "Persona: Mid-Career IC, Remote Worker (CA). Inquiry: [details]. Employee tenure: 4.8 years. Open cases: 1."
Using REST API:
POST /api/now/table/sn_hr_core_case
Content-Type: application/json
{
"subject_person": "[employee_sys_id]",
"short_description": "[inquiry_summary]",
"hr_service": "[matched_case_type_sys_id]",
"contact_type": "chat",
"priority": "3",
"description": "Persona: Mid-Career IC, Remote Worker (CA). Inquiry: [details]."
}
| Tool | When to Use |
|------|-------------|
| SN-Query-Table | Retrieve profiles, services, policies, cases, COE configuration |
| SN-NL-Search | Find relevant KB articles using natural language queries |
| SN-Get-Record | Fetch detailed single records for specific lookups |
| SN-Create-Record | Create HR cases with persona context pre-populated |
| SN-Add-Work-Notes | Document persona classification and routing rationale |
| Endpoint | Method | Purpose |
|----------|--------|---------|
| /api/now/table/sn_hr_core_profile | GET | Employee HR profile and persona attributes |
| /api/now/table/sys_user | GET | User account details |
| /api/now/table/cmn_department | GET | Department hierarchy context |
| /api/now/table/cmn_location | GET | Location details for policy matching |
| /api/now/table/sn_hr_core_service | GET | Available HR services |
| /api/now/table/sn_hr_le_case_type | GET | Case types and eligibility |
| /api/now/table/sn_hr_le_center_of_excellence | GET | COE routing configuration |
| /api/now/table/kb_knowledge | GET | HR policy knowledge articles |
| /api/now/table/sn_hr_core_case | GET/POST | Employee case history and creation |
employment_typeCause: New hires or contingent workers may not have HR profiles created yet
Solution: Fall back to sys_user for basic details. Create a minimal persona from user record fields (department, location, title)
Cause: Some inquiry topics span multiple COEs (e.g., relocation involves Benefits + Workplace) Solution: Use the primary topic to select the lead COE and note secondary COEs in the case description for collaboration
Cause: KB articles may not be tagged with location metadata
Solution: Search by policy topic combined with location keywords in the article text. Check sn_hr_sp_content for portal content that may be location-filtered
Cause: Eligibility rules may be configured at the catalog item level, not in the service record
Solution: Check sn_hr_le_case_type for employee_visible and any associated user criteria records that restrict access
Input: "Help new employee who started 5 days ago"
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: user=[new_hire_sys_id]
fields: sys_id,user,department,location,hire_date,manager,job_title,employment_type,benefits_eligible
limit: 1
Persona: NEW_HIRE (tenure < 90 days)
Personalized Response: "Welcome to the team! Here are your priority onboarding tasks:
Input: Manager asks about team leave policies
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: manager=[manager_sys_id]
fields: sys_id,user,department,location,employment_type,hire_date,job_title
limit: 50
Persona: MANAGER (has direct reports)
Personalized Response includes:
Input: "What benefits am I eligible for?" from employee in Germany
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^kb_knowledge_base.titleLIKEHR^textLIKEGermany^ORshort_descriptionLIKEEMEA
fields: sys_id,short_description,number,kb_category
limit: 10
Persona: INTERNATIONAL (location: Munich, Germany)
Route to EMEA Benefits COE with Germany-specific policy articles and local HR partner contact.
hrsd/case-summarization - Summarize case history for persona contexthrsd/chat-reply-recommendation - Generate persona-aware chat replieshrsd/sentiment-analysis - Incorporate sentiment into persona-based routinghrsd/resume-skill-extraction - Support internal mobility persona needscatalog/item-creation - Create persona-specific service catalog itemstesting
Manage supplier onboarding, qualification, performance monitoring, and offboarding with auditable lifecycle controls
tools
Identify emerging risks, prioritize intake signals, and route candidates into formal GRC risk assessment workflows
documentation
Screen inbound documents for completeness, policy risk, and routing readiness before extraction or case workflows
testing
Generate concise task summaries with status, timeline, blockers, SLA risk, and recommended next actions