Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/wasulajr/headsup/nilnpx skills add wasulajr/headsup --skill nilgit clone --depth 1 https://github.com/wasulajr/headsupWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00153 | $0.02183 |
| Opus 5 | $0.00077 | $0.01092 |
| Sonnet 5 | $0.00031 | $0.00437 |
| Haiku 4.5 | $0.00015 | $0.00218 |
Grade A, and why
nil scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/nil: now is later
The inverse of /sfl. Where sfl saved each window for later, /nil says later is now: it reopens them. You choose which to bring back.
Requirements
- macOS with iTerm2, WezTerm, or AI Power Term. The opener chooses the current terminal provider automatically:
AI_POWER_TERM_SESSION_IDmeans AI Power Term;WEZTERM_PANEmeans WezTerm;ITERM_SESSION_IDmeans iTerm2; outside those, legacy iTerm2 remains the default. Force AI Power Term withHEADSUP_NIL_PROVIDER=ai-power-term. - Claude or Codex on the login-shell PATH. The opener chooses the current agent automatically: Codex when run from Codex, otherwise Claude. Force an agent with
HEADSUP_NIL_AGENT=codex|claude. - For iTerm2: macOS Automation permission for controlling iTerm2. The first run triggers a prompt; allow it. If denied later, re-enable under System Settings > Privacy & Security > Automation.
- For WezTerm: the
weztermCLI must be available. The normal install path/symlink is enough. - Current-agent resume. Each new tab runs
cd ... && <label helper> ... && <agent> <resume prompt>. Claude resumes restore Claude permission mode from the saved entry; Codex resumes use normal Codex local config and approval policy.
What it does
For each selected live checkpoint in ~/.claude/sfl/*.md (one per saved window), open a new tab in the current provider that:
cds into the window's recordedcwd,- restores the window's headsup label via
headsup-set-label.sh(iTerm2 badge/title or WezTerm label/user vars), - launches the current/forced agent CLI with a resume prompt pointing at that window's archived entry file. Claude launches in the saved permission mode (
--permission-mode <mode>from the entry'smode:field: auto-accept / plan / default / bypass). Codex launches with normal Codex config.
/nil archives only the LAUNCHED entries, at launch time. nil-open.sh moves each selected entry into ~/.claude/sfl/archive/ before the tabs open and points its resume prompt at the archived path, so a launched window can never be relaunched twice by a later /nil. Un-selected entries stay live in ~/.claude/sfl/, so you can bring them back with a later /nil. If launch fails, the script rolls back entries that were not successfully launched. Each reopened tab then self-resumes: its claude runs /sfl resume mode, reads the archived entry plus its gov_memory reference, and gives a 3-5 line catch-up; it does NOT need to archive anything.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 83 lines · 153 tokens per session scan A e440ca31ab74
nil is a skill published in the GitHub repository wasulajr/headsup (1 stars, last pushed 15d ago), licensed MIT. It adds 153 tokens to every session and 2,183 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
add-office365
Adds Office 365 Outlook connector to a Power Apps code app. Use when accessing calendars, sending emails, reading inbox, or managing Outlook events.
idea
Use when capturing ONE new idea the user voices and wants recorded — "save this idea", "I have an idea", "log this idea", "/idea", "idea: ...". Creates a provenance-tracked folder (one folder per idea) in your ideas repo, dedups against an index, optionally mirrors to a GitHub Project view filtered by label:idea. NOT…
os-step-by-step
ALWAYS invoke this skill when you need the user to act - run a command, paste a secret, click, approve - and whenever they ask how to do something or say they do not know what to do: "step by step", "walk me through it", "what do I do", "what should I do", "I don't understand what to do", "explain what I need to do"…
os-done-or-not
ALWAYS invoke this skill when work wraps up or the user asks how it went - "done or not", "are we done", "what happened", "report" - in any language, and when a Stop hook asks for a session report. Produces a ten-line plain- language report: a lead, a checkmark table, and a verdict - fully done, anything needed from…
clean-downloads
Propose and execute a cleanup of the user's Downloads folder — sort into subfolders by type and age, flag duplicates and large files. Always plan first, never delete. Use when the user runs /clean-downloads.
meeting-transcription
Transcribe meeting audio with speaker diarization, generate structured summaries with action items, decisions, and follow-ups, and support multiple audio formats and languages. Use when the user requests meeting transcription or provides relevant inputs for this workflow.