request-leave
Skill1 starsChanged 44 days agoMITView on GitHub
File leave in Jobcan and do what the user's company expects around it — announce it in the team's chat channel following the channel's own rules, and block the time on the user's calendar — with one preview and one confirmation. Use when the user asks to take, request, file or submit leave, a day off, a half day, hourly leave, or time off on given dates.
In this repository4 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- backfillSkill
- cancel-leaveSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 40
Add the preset's reaction to the post if the rules ask for one.
- Very specific: line 41
Create the calendar event (references/gcal.md or references/outlook.md) carrying jobcan:<request id>, so the three can be found from each …
- Distinctive: line 48
Every write needs the user's yes on the exact preview.
- Distinctive: line 53
Never invent a reason silently: when Jobcan needs one and the user gave none, the tool reuses the user's usual one and marks it.
- Distinctive: line 55
Do not post to any channel or calendar not named in the preset.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
jobcan:request-leave
Turns "I'm off on the 6th" into a Jobcan request, a channel post, and a calendar block, in that order, with a single preview before anything is sent. Company-specific details never live in this skill: they come from the user's preset.
Needs
- The
jobcanMCP server (toolsjobcan_*), started with writes enabled. - The user's preset at
~/.config/jobcan-agent/preset.md. Read it first. If it is missing, stop and runjobcan:setup(or ask the user for the channel and its rules) before doing anything else. - Chat and calendar connectors as available. A missing connector skips its step with a one-line note; it never blocks the Jobcan request.
Procedure
- Understand the request. Dates (expand "next Monday" with
jobcan_get_today), whole day or part of it, and the reason if the user gave one. Map wording to a leave type withjobcan_list_leave_typesand the preset's defaults ("day off" → which type; a half day at a company with hourly leave → that many hours, at the time the preset says). Ask only what the preset and the tools cannot answer. - Check the calendar for the dates (read-only) and mention conflicts in the preview.
- Plan in Jobcan:
jobcan_request_leavewithoutconfirm. Present the plan: dates filed, dates skipped and why, balance before → after, the reason to be sent and where it came from. If the balance is short, present the options and let the user choose. Never pick. - Draft the announcements from the preset, before anything is sent:
- the channel message, using the preset's template, mentions and language;
- the calendar event: out-of-office, auto-declining meetings, whole day for full days, only the hours off for a half or hourly day.
- One confirmation. Show the Jobcan plan, the message text and the event in one preview and ask
once. Then, in this order:
jobcan_request_leavewithconfirm: true. Stop here if it fails.- Post the message (
references/slack.mdorreferences/teams.md). Put the request id in it only if the preset's template has a place for it; otherwise keep it in the calendar event. - Add the preset's reaction to the post if the rules ask for one.
- Create the calendar event (
references/gcal.mdorreferences/outlook.md) carryingjobcan:<request id>, so the three can be found from each other later.
- Report what was done, with the request id, the message link and the event, and anything that was skipped.
Rules
- Every write needs the user's yes on the exact preview. One yes covers the three steps of that preview, nothing else.
- Sudden absences: the preset may say to post first and file in Jobcan within a deadline. Follow it, and say when the Jobcan step is due.
- Changes and cancellations are
jobcan:cancel-leave, not this skill. - Never invent a reason silently: when Jobcan needs one and the user gave none, the tool reuses the user's usual one and marks it; say so in the preview.
- Do not post to any channel or calendar not named in the preset.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

