
Shaon
- 2 installs
- 2 repo stars
- Updated July 31, 2026
- avivsinai/shaon
shaon is a Claude Code skill for personal attendance, payslip, and salary self-service on the user's own Israeli Hilan employer portal.
About
shaon is a Claude Code skill for personal attendance, payslip, and salary self-service on the user's own Israeli Hilan employer portal. It maps user intents to the right read command (attendance overview, status, errors, salary) or write command (clock in/out, report day/range, auto-fill, resolve errors), across both a shaon MCP server and CLI. A developer or employee uses it to review or correct their own attendance and download payslips. Every write is preview-only by default and requires explicit user confirmation before submitting to the real employer system.
- Self-service attendance, payslip, and salary tasks on the user's own Israeli Hilan employer portal
- Human-attested writes: every attendance write runs --dry-run first and needs explicit user confirmation
- Offers both a shaon MCP server (14 tools) and a CLI, with guidance on picking the right surface
Shaon by the numbers
- 2 all-time installs (skills.sh)
- Ranked #1,839 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
shaon capabilities & compatibility
- Capabilities
- attendance automation · payroll self service · document download
- Use cases
- pdf parsing
- Runs
- Runs locally
- Pricing
- Free
What shaon says it does
Personal attendance, payslip, salary, and related self-service tasks on the user's own Hilan account.
Every write is **preview-only by default**.
npx skills add https://github.com/avivsinai/shaon --skill shaonAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 2 |
| Last updated | July 31, 2026 |
| Repository | avivsinai/shaon ↗ |
What it does
Reviewing and safely correcting one's own Hilan attendance and downloading payslips via the shaon CLI or MCP.
Who is it for?
Reviewing, reporting, and correcting your own Hilan attendance and downloading payslips through the shaon CLI or MCP.
Skip if: Acting on anyone else's account, or autonomous writes without explicit user confirmation.
When should I use this skill?
The user asks about their own attendance, clock in/out, payslip, salary, work hours, or corrections on their Hilan portal.
What you get
Correct read of attendance state and safe, user-confirmed corrections and payslip downloads.
- attendance overview and corrections
- downloaded payslips
- salary summaries
By the numbers
- 14 MCP tools
- auto-fill capped at --max-days 10 by default
Files
Shaon
Claude Code skill for the shaon repo and binary.
Tool Selection
- Prefer the MCP server when a tool already covers the domain operation.
- Fall back to the CLI for local-machine or interactive operations:
auth, payroll payslip view, reports show, cache refresh attendance-types, serve, and completions.
- Use this skill to pick the right surface, the right command/tool, and the
right safety flow.
Human-attested writes
All write commands (attendance report today/day/range, attendance auto-fill, attendance resolve) submit under the user's identity against their real employer's system. When driving these, ALWAYS:
1. Run with --dry-run (the default) first. 2. Show the resulting preview to the user. 3. Require the user to explicitly confirm in the conversation before rerunning with --execute.
Never autonomously rerun a write with --execute. Writes must be treated as user-authorized actions and must not be submitted without explicit user confirmation.
CLI Entry Point
If working from a repo checkout, prefer:
scripts/run.sh <command> [args]If installed globally:
shaon <command> [args]First-Time Setup
Create ~/.shaon/config.toml:
subdomain = "mycompany"
username = "123456789"
payslip_folder = "/path/to/payslips" # optional
payslip_format = "%Y-%m.pdf" # optionalThen authenticate:
shaon authIf stored credentials are stale and you want a deterministic refresh prompt:
shaon auth --force-promptPick The Right Read Command
| User intent | Use |
|---|---|
| "what's my current month state?" | shaon attendance overview --json |
| "show me the raw calendar / what did Hilan record per day?" | shaon attendance status --month YYYY-MM |
| "what errors do I need to fix?" | shaon attendance errors --month YYYY-MM |
| "what attendance types can I report?" | shaon attendance types |
| "what absence symbols mean?" | shaon attendance absences |
| "show the analyzed hours sheet" | shaon reports sheet |
| "show the manual correction log / audit trail" | shaon reports corrections |
| "show a named Hilan report page" | shaon reports show <name> |
| "download my payslip" | shaon payroll payslip download --month YYYY-MM |
| "open my payslip locally" | shaon payroll payslip view --month YYYY-MM |
| "how much did I earn recently?" | shaon payroll salary --months N |
attendance overview is usually the best first move for an agent because it bundles identity, summary, errors, missing days, and suggested actions.
JSON contract notes:
attendance status --jsonreturns{ month, employee_id, days[] }withday_name,entry_time,exit_time,attendance_type,total_hours,has_error,error_message, andsource.attendance overview --jsonreturnsmissing_daysas{ date, day_name }objects.suggested_actionsis keyed bykind; fields are top-level, not nested inside a genericparamsobject.attendance overview --json --detailedadds adays[]array using the same schema asattendance status --json.
Write Commands
Explicit reporting
| Intent | Command |
|---|---|
| clock in now | shaon attendance report today --in |
| clock out now | shaon attendance report today --out |
| report one explicit day | shaon attendance report day YYYY-MM-DD --type "regular" --hours 09:00-18:00 |
| report a range | shaon attendance report range --from YYYY-MM-DD --to YYYY-MM-DD --type "regular" --hours 09:00-18:00 |
| auto-fill missing days in a month | shaon attendance auto-fill --month YYYY-MM --type "regular" --hours 09:00-18:00 |
| resolve an existing error day | shaon attendance resolve YYYY-MM-DD --type "regular" --hours 09:00-18:00 |
Safety Model
- Every write is preview-only by default.
- The agent should show the preview summary to the user before rerunning with
--executeorexecute: true. - The agent must wait for explicit user confirmation before any live submit.
attendance report rangeandattendance auto-fillskip Fri/Sat unless explicitly overridden.attendance auto-fillis capped at--max-days 10by default to prevent accidental bulk edits.
MCP Coverage
Current MCP tools cover:
shaon_statusshaon_errorsshaon_typesshaon_clock_inshaon_clock_outshaon_fillshaon_auto_fillshaon_resolveshaon_payslip_downloadshaon_salaryshaon_sheetshaon_correctionsshaon_absencesshaon_overview
CLI-only features:
shaon authshaon payroll payslip viewshaon reports show <name>shaon cache refresh attendance-typesshaon serveshaon completions
Agent Workflows
Review the month first
shaon attendance overview --jsonFix an attendance error safely
shaon attendance errors --month 2026-04 --json
shaon attendance resolve 2026-04-09 --type "regular" --hours 09:00-18:00
# After explicit user confirmation:
shaon attendance resolve 2026-04-09 --type "regular" --hours 09:00-18:00 --executeFill a missing range safely
shaon attendance report range --from 2026-04-01 --to 2026-04-05 --type "regular" --hours 09:00-18:00
# After explicit user confirmation:
shaon attendance report range --from 2026-04-01 --to 2026-04-05 --type "regular" --hours 09:00-18:00 --executeHebrew payslip workflow
shaon payroll payslip download --month 2026-03
shaon payroll payslip view --month 2026-03Sensitive recovery command
shaon payroll payslip password --force-sensitive-output prints the current Hilan account password in plaintext to standard output. It does not recover historical passwords used for PDFs encrypted before a password change. Output may be captured by shells, terminals, logs, remote sessions, screenshots, and agent transcripts. Run it only on a private interactive terminal you control.
Troubleshooting
- CAPTCHA: the user must solve it in the browser first.
- Type resolution fails: run
shaon cache refresh attendance-typesor pass the numeric type code directly. - Session expired or stale stored credentials: rerun
shaon auth --force-promptto verify and replace the stored password.
Further Reading
- README.md
- ARCHITECTURE.md
- PROTOCOL.md
{
"skill_name": "shaon",
"evals": [
{
"id": 1,
"prompt": "I forgot to report my attendance for the past week at work. Can you check what days are missing and fill them in as regular work days, 9 to 6?",
"expected_output": "Agent should use shaon attendance overview --json or shaon attendance status --json to check the month, identify missing days, then use shaon attendance report range with --type and --hours to fill them. Should show dry-run first, then ask user to confirm before --execute."
},
{
"id": 2,
"prompt": "אני צריך להוריד את תלוש המשכורת של חודש שעבר",
"expected_output": "Agent should recognize the Hebrew request for last month's payslip and run shaon payroll payslip download --month YYYY-MM with the previous month. Should save to a reasonable path."
},
{
"id": 3,
"prompt": "my manager is asking about the attendance errors I have this month. can you show me what's wrong and fix the issues?",
"expected_output": "Agent should run shaon attendance errors --month YYYY-MM --json to get error details, present them clearly, then use shaon attendance resolve DATE in dry-run mode for each fixable error day before asking to execute."
}
]
}
Related skills
FAQ
Is it safe to let the agent report attendance automatically?
No. Every write is preview-only by default, must be shown to the user, and requires explicit confirmation before running with --execute.
Does it use an MCP server or a CLI?
Both. Prefer the MCP server when a tool covers the operation and fall back to the CLI for operations like auth, payslip view, and serve.