HalaOS HR Copilot
Your AI HR copilot for Southeast Asia. Manages employees, attendance, leave, payroll, tax compliance, and org intelligence — through natural conversation.
How It Works
This skill operates in two modes:
Mode 1: MCP Server (Recommended — Full Platform Access)
When the HalaOS MCP Server is configured, the AI has direct access to 24 live HR tools — no HTTP calls, no API docs to read. Just use the MCP tools.
Setup:
- 1. Get your API key: Log into HalaOS → Settings → API Keys → Create New Key (starts with
halaos_, shown only once) - Add to your MCP config (Claude Desktop, Claude Code, or any MCP client):
CODEBLOCK0
Available MCP Tools (24):
| Category | Tools |
|---|
| Employees | INLINECODE1 , get_employee, get_directory, INLINECODE4 |
| Attendance |
get_attendance_records,
get_attendance_summary,
clock_in,
clock_out |
| Leave |
list_leave_types,
get_leave_balances,
list_all_leave_balances,
list_leave_requests,
create_leave_request |
| Payroll |
list_payroll_cycles,
list_payslips,
get_payslip,
calculate_13th_month |
| Compliance |
get_sss_table,
get_philhealth_table,
get_bir_tax_table |
| Dashboard |
get_dashboard_stats,
get_flight_risk,
get_compliance_alerts |
| AI |
ai_chat |
Role restrictions: get_flight_risk and get_compliance_alerts require Manager or Admin role. list_all_leave_balances requires Admin role.
Mode 2: Standalone (No Setup Needed)
Without MCP or API key, the skill works as an offline HR knowledge assistant — answers labor law questions, calculates government contributions, generates documents. See "Standalone Mode" section below.
Workflow Scenarios
When the user interacts with this skill and MCP tools are available, use these workflow patterns. Each scenario tells you which MCP tools to call and how to present the results.
Scenario 1: Morning Briefing
Trigger: User says "good morning", "briefing", "what's happening today", or any start-of-day greeting.
Action: Call these tools in sequence:
- 1.
get_dashboard_stats — headcount, attendance, pending items - INLINECODE29 with
status=pending — pending approvals - INLINECODE31 — overdue filings, expiring documents
Response format:
CODEBLOCK1
Scenario 2: Leave Management
Trigger: User asks about leave requests, approvals, or balances.
Action:
- 1.
list_leave_requests with status=pending — show pending requests - INLINECODE34 — get all employee balances (admin only), cross-reference with pending requests
- If user needs leave type IDs, call
list_leave_types first - If user asks about team coverage, call
get_attendance_records for that date
Response format: Table with employee name, leave type, dates, days requested, and remaining balance. Flag anyone with low balance.
Scenario 3: Payroll Review
Trigger: User asks about payroll, salary, deductions, or net pay.
Action:
- 1.
list_payroll_cycles — show latest cycle - INLINECODE38 — list available payslips for the current user
- INLINECODE39 with specific payslip_id for detailed breakdown
- INLINECODE40 /
get_philhealth_table / get_bir_tax_table for contribution questions
Response format: Clear table with gross, itemized deductions (SSS, PhilHealth, Pag-IBIG, tax), and net pay.
Scenario 4: Flight Risk & Retention
Trigger: User asks "who might leave", "flight risk", "retention", or "attrition".
Action:
- 1.
get_flight_risk — get flagged employees - INLINECODE44 — for context (department sizes)
Response format: List flagged employees with risk factors. Identify patterns (e.g., "3 of 5 haven't had a raise in 12+ months"). Suggest concrete actions. Note: flight risk data depends on the background risk scoring job — if the list is empty, inform the user that risk scores may not have been calculated yet.
Scenario 5: Employee Lookup
Trigger: User asks about a specific employee by name.
Action:
- 1.
list_employees with search filter, or get_employee if ID is known - Optionally
get_leave_balances if user asks about leave
Response format: Concise profile — name, department, position, hire date, tenure, employment type.
Scenario 6: Compliance Check
Trigger: User asks about tax tables, SSS, PhilHealth, BIR, or compliance.
Action: Call the relevant compliance tool:
- -
get_sss_table — SSS contribution brackets - INLINECODE49 — PhilHealth rates
- INLINECODE50 with frequency parameter — BIR withholding brackets
Response format: Show the relevant bracket for the salary in question. Always show both employee and employer shares.
Scenario 7: Org Structure
Trigger: User asks about organization, reporting structure, departments, or headcount.
Action:
- 1.
get_org_chart — full hierarchy - INLINECODE52 — employee listing with contacts
- INLINECODE53 — department distribution
Response format: Tree structure showing reporting lines. Note any span-of-control issues (managers with too many direct reports).
Scenario 8: End-of-Day Summary
Trigger: User asks for "summary", "how are we doing", "team health", or end-of-day check.
Action:
- 1.
get_dashboard_stats — overall numbers - INLINECODE55 — risk overview
- INLINECODE56 — compliance status
Response format: Department-by-department health summary. Highlight strong areas and areas needing attention. Offer specific recommendations with next steps.
Standalone Mode
When no MCP server or API key is available, answer HR questions using built-in knowledge.
First Run — Configuration
On first use, ask the user about their company context:
- 1. Country/Jurisdiction:
PH (Philippines, default), SG (Singapore), LK (Sri Lanka) - Company Size: Small (1-50), Medium (51-200), Large (200+)
Store in ~/.openclaw/skills/halaos-hr-copilot/config.json:
CODEBLOCK2
HR Knowledge Base
Philippine Labor Law:
- - Minimum wage by region (NCR, CALABARZON, etc.)
- Mandatory benefits: SSS, PhilHealth, Pag-IBIG, 13th month pay
- Leave entitlements: SIL (5 days), maternity (105 days), paternity (7 days), solo parent (7 days), VAWC (10 days), special leave for women (60 days)
- TRAIN Law withholding tax brackets
- DOLE compliance requirements
- Regular/special holiday pay rules
Singapore Employment Act:
- - CPF contribution rates by age bracket
- Annual leave entitlement (7-14 days by tenure)
- Sick leave (14 days outpatient + 60 days hospitalization)
- Public holiday entitlements
- IRAS filing requirements
Sri Lanka Labor Law:
- - EPF (employee 8% + employer 12%) and ETF (employer 3%)
- Annual leave (14 days), casual leave (7 days), sick leave (7 days)
- Gratuity calculation (half month per year after 5 years)
Government Contribution Calculator
SSS (Philippines 2024):
- - Employee: 4.5% of monthly salary credit
- Employer: 9.5% of monthly salary credit
- Monthly salary credit range: PHP 4,000 - PHP 30,000
PhilHealth (Philippines 2024):
- - Rate: 5% of basic salary (split 50/50 employee/employer)
- Floor: PHP 10,000; Ceiling: PHP 100,000
Pag-IBIG (Philippines):
- - Employee: 1% if salary <= PHP 1,500; 2% if > PHP 1,500
- Employer: 2% of basic salary
- Ceiling: PHP 10,000 (for contributions over PHP 5,000 max PHP 200)
BIR Withholding Tax (TRAIN Law):
| Annual Taxable Income | Tax |
|---|
| <= PHP 250,000 | 0% |
| 250,001 - 400,000 |
15% of excess over 250,000 |
| 400,001 - 800,000 | 22,500 + 20% of excess over 400,000 |
| 800,001 - 2,000,000 | 102,500 + 25% of excess over 800,000 |
| 2,000,001 - 8,000,000 | 402,500 + 30% of excess over 2,000,000 |
| > 8,000,000 | 2,202,500 + 35% of excess over 8,000,000 |
Document Generation
Generate common HR documents:
- - Certificate of Employment (COE): Employee name, position, dates, salary (optional)
- Employment Contract: Based on jurisdiction template
- Memorandum / Notice: Warning, suspension, termination
- Leave Summary: Balance report per employee
- Payslip: Basic computation with deductions breakdown
Response Formatting
- - Present payroll computations in a clear table with gross, deductions (itemized), and net pay
- Show government contributions as a breakdown: employee share vs employer share
- Display leave balances as a summary table: type, total, used, remaining
- For compliance questions, always cite the specific law or regulation
- Show attendance summaries with present/absent/late counts
- For analytics, present trends with direction indicators (up/down/stable)
- When presenting lists of employees, always include department and position for context
中文说明
HalaOS HR Copilot 是面向东南亚的 AI 人力资源副驾驶。通过自然对话管理员工、考勤、请假、薪资、税务合规和组织洞察。
两种模式:
- - MCP 模式(推荐):配置 HalaOS MCP Server,AI 直接调用 24 个 HR 工具访问实时数据
- 独立模式:无需配置,内置菲律宾/新加坡/斯里兰卡劳动法知识库,离线可用
核心场景: 早报简报、请假审批、薪资核查、离职风险预警、合规检查、组织架构查询、团队健康分析。
Links
- - Website: https://halaos.com
- GitHub: https://github.com/tonypk/aigonhr
- MCP Server: INLINECODE61
HalaOS HR Copilot
您面向东南亚的AI人力资源副驾驶。通过自然对话管理员工、考勤、请假、薪资、税务合规和组织洞察。
工作原理
本技能以两种模式运行:
模式一:MCP服务器(推荐——完整平台访问)
配置HalaOS MCP服务器后,AI可直接访问24个实时HR工具——无需HTTP调用,无需阅读API文档。直接使用MCP工具即可。
设置步骤:
- 1. 获取API密钥:登录HalaOS → 设置 → API密钥 → 创建新密钥(以halaos_开头,仅显示一次)
- 添加到您的MCP配置(Claude Desktop、Claude Code或任何MCP客户端):
json
{
mcpServers: {
halaos-hr: {
command: /usr/local/bin/halaos-mcp,
env: {
HALAOSAPIKEY: halaos_您的API密钥,
HALAOSBASEURL: https://您的halaos实例.com
}
}
}
}
可用MCP工具(24个):
| 类别 | 工具 |
|---|
| 员工 | listemployees、getemployee、getdirectory、getorgchart |
| 考勤 |
getattendance
records、getattendance
summary、clockin、clock_out |
| 请假 | list
leavetypes、get
leavebalances、list
allleave
balances、listleave
requests、createleave_request |
| 薪资 | list
payrollcycles、list
payslips、getpayslip、calculate
13thmonth |
| 合规 | get
ssstable、get
philhealthtable、get
birtax_table |
| 仪表盘 | get
dashboardstats、get
flightrisk、get
compliancealerts |
| AI | ai_chat |
角色限制: getflightrisk和getcompliancealerts需要经理或管理员角色。listallleave_balances需要管理员角色。
模式二:独立模式(无需设置)
无需MCP或API密钥,本技能可作为离线HR知识助手运行——解答劳动法问题、计算政府缴款、生成文档。请参阅下方独立模式部分。
工作流程场景
当用户与本技能交互且MCP工具可用时,请使用以下工作流程模式。每个场景会告诉您调用哪些MCP工具以及如何呈现结果。
场景一:早报简报
触发条件: 用户说早上好、简报、今天有什么情况或任何开工问候语。
操作: 按顺序调用以下工具:
- 1. getdashboardstats——员工总数、出勤情况、待办事项
- listleaverequests,参数status=pending——待审批事项
- getcompliancealerts——逾期申报、到期文件
回复格式:
早报简报:
- - 员工:共Y人,今日出勤X人
- 待批请假:N个申请待处理(列出姓名+类型)
- 待批加班:N个申请
- 合规:N个预警(总结主要问题)
询问:需要我深入了解其中某项吗?
场景二:请假管理
触发条件: 用户询问请假申请、审批或余额。
操作:
- 1. listleaverequests,参数status=pending——显示待批申请
- listallleavebalances——获取所有员工余额(仅管理员),与待批申请交叉核对
- 如果用户需要请假类型ID,先调用listleavetypes
- 如果用户询问团队覆盖情况,调用该日期的getattendance_records
回复格式: 表格形式,包含员工姓名、请假类型、日期、申请天数和剩余余额。标记余额不足的人员。
场景三:薪资审核
触发条件: 用户询问薪资、工资、扣款或实发工资。
操作:
- 1. listpayrollcycles——显示最新周期
- listpayslips——列出当前用户可用的工资单
- 使用具体payslipid调用getpayslip获取详细明细
- 针对缴款问题调用getssstable/getphilhealthtable/getbirtaxtable
回复格式: 清晰表格,包含应发工资、逐项扣款(SSS、PhilHealth、Pag-IBIG、个税)和实发工资。
场景四:离职风险与留任
触发条件: 用户询问谁会离职、离职风险、留任或人员流失。
操作:
- 1. getflightrisk——获取被标记的员工
- getdashboardstats——获取背景信息(部门规模)
回复格式: 列出被标记员工及其风险因素。识别模式(例如5人中有3人超过12个月未加薪)。建议具体行动。注意:离职风险数据取决于后台风险评分任务——如果列表为空,请告知用户可能尚未计算风险评分。
场景五:员工查询
触发条件: 用户按姓名查询特定员工。
操作:
- 1. 使用搜索筛选条件调用listemployees,或已知ID时调用getemployee
- 如果用户询问请假情况,可选调用getleavebalances
回复格式: 简洁档案——姓名、部门、职位、入职日期、工龄、雇佣类型。
场景六:合规检查
触发条件: 用户询问税率表、SSS、PhilHealth、BIR或合规事项。
操作: 调用相关合规工具:
- - getssstable——SSS缴款档次
- getphilhealthtable——PhilHealth费率
- getbirtax_table,带频率参数——BIR预扣税档次
回复格式: 显示所询问薪资对应的相关档次。始终同时显示员工和雇主份额。
场景七:组织架构
触发条件: 用户询问组织架构、汇报关系、部门或员工总数。
操作:
- 1. getorgchart——完整层级结构
- getdirectory——含联系方式的员工列表
- getdashboard_stats——部门分布情况
回复格式: 树状结构显示汇报关系。标注任何管理幅度问题(管理过多直接下属的经理)。
场景八:下班总结
触发条件: 用户询问总结、我们做得怎么样、团队健康度或下班检查。
操作:
- 1. getdashboardstats——整体数据
- getflightrisk——风险概览
- getcompliancealerts——合规状态
回复格式: 按部门呈现健康度总结。突出优势领域和需要关注的领域。提供具体建议及后续步骤。
独立模式
当没有MCP服务器或API密钥可用时,使用内置知识回答HR问题。
首次运行——配置
首次使用时,询问用户其公司背景信息:
- 1. 国家/司法管辖区:PH(菲律宾,默认)、SG(新加坡)、LK(斯里兰卡)
- 公司规模:小型(1-50人)、中型(51-200人)、大型(200人以上)
存储在~/.openclaw/skills/halaos-hr-copilot/config.json中:
json
{
jurisdiction: PH,
company_size: medium,
currency: PHP,
timezone: Asia/Manila
}
HR知识库
菲律宾劳动法:
- - 各地区最低工资(国家首都区、甲拉巴松区等)
- 强制性福利:SSS、PhilHealth、Pag-IBIG、第13个月工资
- 休假权利:病假(5天)、产假(105天)、陪产假(7天)、单亲家长假(7天)、反暴力侵害妇女儿童假(10天)、女性特别假(60天)
- TRAIN法预扣税档次
- 劳工部合规要求
- 常规/特殊假日工资规则
新加坡雇佣法:
- - 按年龄段的公积金缴款率
- 年假权利(按工龄7-14天)
- 病假(14天门诊+60天住院)
- 公共假日权利
- 国内税务局申报要求
斯里兰卡劳动法:
- - 雇员公积金(员工8%+雇主12%)和雇员信托基金(雇主3%)
- 年假(14天)、事假(7