calendar
Skill0 starsChanged 2 months agoMITView on GitHub
View or edit the spend statusline's calendar — the work week, holidays, PTO and closures that the daily allowance is spread over. Use when the user wants to add time off ("I'm off next week", "add PTO"), change which days they work ("we work Sunday to Thursday", "I have Fridays off"), add or remove a holiday, change how holidays on non-workdays are observed, or see the calendar ("show my spend calendar", "how many workdays are left this month").
32 other projects use a version of this.
Adopted by
Most recently taken up by
- t128n/skillstheir own version, first seen Nov 8, 2026
- sidmanale643/pekka-bottheir own version, first seen Nov 8, 2026
- pietz/skillstheir own version, first seen Nov 8, 2026
- yourbeckett/beckett-for-claudetheir own version, first seen Nov 1, 2026
- staskh/trading_skillstheir own version, first seen Nov 1, 2026
- bks-lab/open-bridgetheir own version, first seen Oct 30, 2026
Used with
Projects with it also use contacts, reminders and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
seahycSkillcontacts
Look up employee information via Lark - find colleagues by ID, list department members, search users by name, search departments. Use when user asks about a person, colleague, job title, department, or org structure.
Also in 3 projects that use this
MicrosoftSkillreminders
Use when an employee asks something like \"Is there anything else I should know about my benefits or time off before the end of the year\"
Also in 4 projects that use this
OpenAISkillemail
Email sending integration guidance — Resend (native Vercel Marketplace) with React Email templates. Covers API setup, transactional emails, domain verification, and template patterns. Use when sending emails from a Vercel-deployed application.
Also in 6 projects that use this
QuixiAISkilltrello
List Trello boards, lists, and cards and create or update cards with explicit approval
Also in 3 projects that use this
AnthropicSkillaccess
Manage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.
Also in 3 projects that use this
claude-office-skillsSkillmeeting-notes
>
Also in 3 projects that use this
Other versions32 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 32
- kellyvv/PhoneClaw★ 1.3ksame name
- QuixiAI/agi-memory★ 623same name
- QuixiAI/Hexis★ 623same name
- staskh/trading_skills★ 405same name
- QuantConnect/Documentation★ 268same name
- k1p1l0/claude-telegram-supercharged★ 144same name
- adagradschool/cc-gtd★ 35same name
- rainday/smart-blog-skills★ 35same name
- wulaosiji/skills★ 28same name
- bks-lab/open-bridge★ 13same name
22 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 25 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 31
Show the current state: Run the listing, with any inline knobs from the statusLine command in front, and show the user its output:
- Very specific: line 46
When the work week changes, check the observe line with the user: nearest adapts automatically, but explicit DOW=MODE overrides may now …
- Very specific: line 56
Do not edit the plugin's copy of calendar.conf or the script itself.
- Distinctive: line 57
Do not write without showing the exact lines first (unless told not to ask).
- Distinctive: line 58
Do not invent holidays the user did not ask for, and do not rewrite lines that are not part of the request.
- Distinctive: line 59
Do not skip the verification listing.
“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Edit the spend calendar
The statusline spreads the month's remaining budget over the remaining workdays, and calendar.conf defines what a workday is. This skill translates what the user wants into the file's grammar, edits the installed copy, and shows the resulting calendar so mistakes are visible immediately.
Where the file is
Read statusLine.command in $CFG/settings.json (CFG="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"). It names the installed script, normally written as "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/statusline/spend-statusline.sh" (shell text that resolves to $CFG/statusline/spend-statusline.sh; older installs spell out an absolute path), and may carry inline knobs such as CLAUDE_SPEND_CALENDAR=... or CLAUDE_SPEND_TZ=... before it, and names the interpreter (bash; older macOS installs name an absolute path such as /opt/homebrew/bin/bash). Run the listing with exactly those knobs, that interpreter and that script path, and it prints calendar: <path> on its first line: that path is the file to edit. Without an override it is $CFG/statusline/config/calendar.conf. Do not edit the plugin's own statusline/config/calendar.conf: it is the shipped default and is replaced on every plugin update. If the listing reports no file or the script is not installed, say so and point the user at /spend-statusline:install.
The grammar
One entry per line, # starts a comment, names run to the end of the line:
| Line | Meaning |
workdays DAYS | the days the user works: a wrapping range (mon-fri, sun-thu), a list (mon,tue,wed,thu), a mix (mon-wed,fri) or all. Default mon-fri. Last line wins |
observe MODE [DOW=MODE ...] | how a yearly holiday on a non-workday is observed: nearest (nearest workday, ties forward; the default), next, prev, none. DOW=MODE overrides one day. Substitutes skip days already yearly holidays, not once days |
fixed MM-DD name | yearly holiday on a fixed date |
nth N DOW MM name | Nth weekday of a month (nth 4 thu 11 Thanksgiving Day) |
last DOW MM name | last weekday of a month |
once YYYY-MM-DD[..YYYY-MM-DD] name | a one-off date or inclusive range. Never shifted; one on a non-workday has no effect |
Yearly rules follow the observe policy. once lines are literal, so a PTO range may include a weekend without side effects.
Steps
- Show the current state. Run the listing, with any inline knobs from the
statusLinecommand in front, and show the user its output:
It prints the calendar path, the work week, the observe policy, this year's holidays with their observed dates, warnings for lines that don't parse, and this month's total and remaining workday counts. Pass a year ([KNOBS] [BASH] "$CFG/statusline/spend-statusline.sh" --calendar--calendar 2027) to check another year. For a pure "show me" request, stop here. Translate the request into exact lines. Resolve relative dates against today's date on the spend clock (
CLAUDE_SPEND_TZif set, else local). Typical translations:- "I'm off the 14th through the 18th" →
once 2026-09-14..2026-09-18 PTO - "Company closed Dec 24" →
once 2026-12-24 Office closed - "I don't work Fridays" →
workdays mon-thu - "We work Sunday to Thursday" →
workdays sun-thu - "Add Boxing Day" →
fixed 12-26 Boxing Day - "UK rules for weekend holidays" →
observe next - Removing a holiday → delete its line (or comment it out with
#if the user may want it back).
When the work week changes, check the
observeline with the user:nearestadapts automatically, but explicitDOW=MODEoverrides may now name workdays (the listing warns) or be missing for the new off days.- "I'm off the 14th through the 18th" →
- Confirm before writing. Show the exact lines to add, change or remove, and where in the file. Write only after the user agrees, unless the user has already said not to ask. Append
oncelines at the end of the file; keepworkdaysandobservenear the top where the shipped file has them. - Verify. Rerun the listing from step 1 and show the output. Every warning must be either resolved or explained; a new entry must appear on the expected date with the expected tag. If something is wrong, fix the line and rerun.
- Report what changed in one or two sentences. The bar reads the calendar on its next successful usage refresh (every
CLAUDE_SPEND_REFRESHseconds, default 60, and only when the fetch succeeds), no restart needed.
Do not
- Do not edit the plugin's copy of
calendar.confor the script itself. Edit the path the listing prints. - Do not write without showing the exact lines first (unless told not to ask).
- Do not invent holidays the user did not ask for, and do not rewrite lines that are not part of the request.
- Do not skip the verification listing.
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.

