From shaon
Personal attendance, payslip, salary, and related self-service tasks on the user's own Hilan account. Trigger on shaon, attendance, clock in/out, payslip, salary slip, work hours, תלוש, תלוש שכר, משכורת, דוח נוכחות, corrections log, forgot to clock in, forgot to report, or any request about the user's own Israeli employer self-service portal.
npx claudepluginhub avivsinai/skills-marketplace --plugin shaonThis skill uses the workspace's default tool permissions.
Claude Code skill for the `shaon` repo and binary.
Automates Workday HR tasks: list/search workers, create time off requests, check absence balances, validate eligibility via natural language tools.
Executes BambooHR API workflows for time off requests, PTO balances, benefits administration, employee files, photos, goals, and training records.
Provides freee API references and MCP tools for accounting, HR/payroll, invoicing, project time tracking, sales, and e-signatures. Use to query or operate freee data directly from AI.
Share bugs, ideas, or general feedback.
Claude Code skill for the shaon repo and binary.
auth, payroll payslip view, reports show, cache refresh attendance-types,
serve, and completions.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:
--dry-run (the default) first.--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.
If working from a repo checkout, prefer:
scripts/run.sh <command> [args]
If installed globally:
shaon <command> [args]
Create ~/.shaon/config.toml:
subdomain = "mycompany"
username = "123456789"
payslip_folder = "/path/to/payslips" # optional
payslip_format = "%Y-%m.pdf" # optional
Then authenticate:
shaon auth
If stored credentials are stale and you want a deterministic refresh prompt:
shaon auth --force-prompt
| 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 --json returns { month, employee_id, days[] } with day_name, entry_time, exit_time, attendance_type, total_hours, has_error, error_message, and source.attendance overview --json returns missing_days as { date, day_name } objects.suggested_actions is keyed by kind; fields are top-level, not nested inside a generic params object.attendance overview --json --detailed adds a days[] array using the same schema as attendance status --json.| 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 |
--execute or execute: true.attendance report range and attendance auto-fill skip Fri/Sat unless explicitly overridden.attendance auto-fill is capped at --max-days 10 by default to prevent accidental bulk edits.Current MCP tools cover:
shaon_statusshaon_errorsshaon_typesshaon_clock_inshaon_clock_outshaon_fillshaon_auto_fillshaon_resolveshaon_payslip_downloadshaon_salaryshaon_sheetshaon_correctionsshaon_absencesshaon_overviewCLI-only features:
shaon authshaon payroll payslip viewshaon reports show <name>shaon cache refresh attendance-typesshaon serveshaon completionsshaon attendance overview --json
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 --execute
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 --execute
shaon payroll payslip download --month 2026-03
shaon payroll payslip view --month 2026-03
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.
shaon cache refresh attendance-types or pass the numeric type code directly.shaon auth --force-prompt to verify and replace the stored password.