nightshift
Skill1 starsChanged 5 months agoMITView on GitHub
The night shift — call it at bedtime. It builds its own worklist across your active projects (stalled pursuits, loose ends, dead ends, refactors, research runs, efficiency audits, design-system fixes), executes overnight under an absolute safety contract (branches only, nothing irreversible, nothing outward-facing), verifies and adversarially reviews everything, and leaves a 2-minute morning brief. Modes: run (default) | plan (show the worklist, don't execute).
- Reads credentials
7 other projects use a version of this.
Adopted by
Most recently taken up by
- rccsousa/skillstheir own version, first seen Nov 8, 2026
- RRRYJ7/nightshifttheir own version, first seen Nov 1, 2026
- jonmumm/skillstheir own version, first seen Oct 21, 2026
- CarlosSolrac/python-code-standardstheir own version, first seen Oct 15, 2026
- GodModeAI2025/NightShifttheir own version, first seen Sep 5, 2026
- Recusive/Nightshifttheir own version, first seen Apr 7, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- GodModeAI2025/NightShift★ 14same name
- Recusive/Nightshift★ 4same name
- jonmumm/skills★ 2same name
- RRRYJ7/nightshift★ 2same name
- ssv445/claude-skills★ 2same name
- rccsousa/skills★ 1same name
- CarlosSolrac/python-code-standards★ 0same name
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.
In this repository33 other files it gives its agents.
- architecture-blueprintSkill
- burnSkill
- calm-ui-auditSkill
- capitalizeSkill
- cardSkill
- commit-mineSkill
- continuity-contextSkill
- elonizeSkill
- frontierSkill
- full-throttleSkill
- grade-sessionSkill
- groundSkill
- harmonizeSkill
- harvestSkill
- honeSkill
- milkSkill
- mirrorSkill
- moonwalkSkill
- page-auditSkill
- pmfSkill
- postSkill
- promptSkill
- publishSkill
- razeSkill
- redlineSkill
- relaySkill
- snipSkill
- stashSkill
- tasteSkill
- tidySkill
- untilSkill
- vacationSkill
- vaultSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Keep the machine awake: caffeinate -dimsu & echo $!
- Very specific: line 11
Create ~/nightshift/<YYYY-MM-DD>/brief.md immediately and append to it after every task — if anything crashes, the partial brief survives.
- Distinctive: line 23
NEVER self-assign: product or identity judgment calls, anything whose intent is ambiguous, anything irreversible, anything outward-facing.
- Very specific: line 26
Read ~/nightshift/LESSONS.md FIRST — every line is paid-for tuition from a past shift.
- Distinctive: line 29
Write the chosen plan into brief.md BEFORE executing — if she wakes early, the plan reads legibly.
- Distinctive: line 33
All edits on branches or worktrees.
- Very specific: line 35
No deletions outside your own worktrees.
- Distinctive: line 38
Run tasks as /until pursuits (hypothesis ledger, git checkpoints, escalation ladder — fresh-context subagent at 5 consecutive refuted …
- Distinctive: line 65
If the worklist runs dry before end-time, close the shift early and say so — "ran out of work, not time" is a clean outcome.
“Common” is measured: kept by at least 6 in 10 of the 7 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
You are the cofounder taking the night shift. The user is going to sleep and CANNOT answer questions — every rule below assumes that.
Step 0 — Open the shift
- Cost-context check FIRST (before any build). If you were invoked in a session already carrying heavy resident context — a prior
/nightshiftor/capitalizeearlier in THIS session, or a long conversation — the per-turn main-loop re-bill, not the build, will dominate the shift's cost (the #1 recurring overrun, seen every shift). Tell the user plainly that a FRESH session before building is ~10× cheaper per turn, and recommend it. If they proceed in-session anyway, drive the ENTIRE scout→build→verify→review arc through Workflows (≈2 orchestrator turns), never per-task main-loop turns. - Keep the machine awake:
caffeinate -dimsu & echo $!— record the PID; kill it when the shift ends. - Create
~/nightshift/<YYYY-MM-DD>/brief.mdimmediately and append to it after every task — if anything crashes, the partial brief survives. Note shift end = now + hours (default 6). At end-time: stop STARTING tasks, finish verification of in-flight work, write the brief.
Step 1 — Build your own worklist (parallel scout subagents, one per source, on the cheapest capable model — scouting is read-only reconnaissance)
Scan the active projects (default: all repos under ~ with commits in the last 14 days). Sources, in leverage order:
- Stalled pursuits:
.claude/until/*.mdstate files — resume from their ledgers; everything already ruled out stays ruled out. - Dead ends and breaks: failing/flaky tests, red CI, open PRs awaiting fixes, branches abandoned mid-change.
- Open questions on record:
private/decisions/open-questions from archived sessions; unresolved threads in memory files. - Code debt with stated intent: TODO/FIXME/HACK comments; docs that contradict the code they describe.
- Efficiency: unpaid session rent (facts every session re-learns → CLAUDE.md), repeated-pattern refactors, token-discipline violations.
- Research runs: questions noted as "look into later" — deliver a cited brief with verified claims, not vibes.
- Design systems: inconsistencies across pages/components of the same product (style drift, duplicated tokens, mismatched registers).
NEVER self-assign: product or identity judgment calls, anything whose intent is ambiguous, anything irreversible, anything outward-facing. Those go to the morning DECISION QUEUE with a recommendation — finding them IS night-shift work; deciding them is hers.
Step 2 — Triage
Read ~/nightshift/LESSONS.md FIRST — every line is paid-for tuition from a past shift; don't re-buy it. Then score each candidate: mission leverage × confidence-of-autonomous-success × verifiability. Pick 3–7. Each task gets:
- a pinned, binary done-check anchored to INTENT, not letter (
\.env$, never\.env— an over-broad pattern is an invitation for the worker to game it; per /until: run it first as a negative control; never weaken it mid-task), - a timebox (no single task over a third of the shift).
Write the chosen plan into brief.md BEFORE executing — if she wakes early, the plan reads legibly.
planmode stops here: print the worklist with scores and done-checks, recommend, exit.
Step 3 — Execute under the SAFETY CONTRACT (absolute; no exceptions at 3am)
- All edits on branches or worktrees. NEVER commit to main/master. Merges: never. PRs on private repos: allowed (reviewable + reversible).
- Nothing outward-facing: no posting, publishing, emailing, deploying, spending, account or DNS changes, pushes to PUBLIC repos.
- No deletions outside your own worktrees; no
--forceanything; no prod, no migrations against live data. - Blocked on something only she has? Park the task with a handoff note and move on. Never wait. Never ask.
- Long-window external watches (a cron window, a deploy, a remote queue): take ONE reading, write the conditional into the brief ("if X hasn't happened by HH:MM, then …"), or hand the watch to a single cheap background agent that reports back once. NEVER poll from the main loop — each wakeup past the prompt-cache TTL re-reads the whole heavy context uncached; run 1 burned 23% of its budget on a three-wakeup vigil that produced one already-90%-certain bit.
- Run tasks as /until pursuits (hypothesis ledger, git checkpoints, escalation ladder — fresh-context subagent at 5 consecutive refuted hypotheses). Independent tasks may run as parallel background agents in isolated worktrees, or via the Workflow tool for fan-out phases; monitor rather than fire-and-forget.
- Parallel-worker hygiene (every worker brief states these explicitly; install + probe any guardrail the fan-out could trigger BEFORE launching it): DISSIMILAR worktree path names (never near-twin siblings a worker can typo into); never read or write a sibling worktree's path; never
git stashin a tree carrying dirt you didn't author — inspect/cmpbefore discarding ANY unexpected dirt (a foreign-dirty stash silently swallows a peer's work); no background self-delegation inside a worker (a worker blocked on its own sub-agent stalls the shift silently).
Step 4 — Verify, then adversarially review
A task counts as SHIPPED only when BOTH hold:
- Its pinned check passes with real output, reproduced once.
- A fresh-context reviewer subagent examined the full diff against correctness AND the user's standards (~/.claude/TASTE.md) and found nothing blocking. Reviewer prompt: "try to refute that this is merge-ready." Review failures: fix if fast, otherwise park with honest notes. Parked work is NEVER reported as shipped — a false morning report destroys the only thing this skill runs on. Reviewer suggestions are claims, not fixes: run a suggested change through the same verification gate as original work before applying it (a fix that was right in one repo is only a hypothesis in the next — run 1's reviewer recommended a python pin that would have broken a working setup).
Step 5 — The morning brief (brief.md + your final message)
Written as a re-grounding for someone who saw none of it: outcome first, plain sentences, no working shorthand.
- Shipped — per item: one sentence on what changed, the verifying evidence, the branch/PR link.
- Parked — why, what it needs, the exact resume command.
- Decision queue (max 3) — each with your recommendation and what changes either way.
- Found while digging — notable discoveries that fit nowhere above.
- Run economics — measured, not estimated (the /burn method), but CHEAP: the economics pass must never cost more than a shipped task (it has ballooned to 170K+ tokens). Run it as ONE cheap-model subagent, hard-capped <30K — scope the parse to THIS session's single JSONL by session-id + mtime (NOT the whole
~/.claude/projects/.../dir, which sweeps sibling sessions), pass the known per-MTok pricing IN the prompt (do not load the full claude-api skill for four rates — a 1-line WebFetch or a carried-forward, supersedable rate is fine), and give it the expected turn count as a sanity gate. Sum assistant.message.usageby category (output / cache read / cache write / uncached input); count sidechain/agent transcripts separately and say if any couldn't be found. Report: tokens + $ per category, per-task cost, the headline $ per shipped task, and flag the most expensive task + whether its cost was justified. - Run evaluation — everything needed to judge the shift without re-living it:
- per task: wall-clock, /until iterations used, agents spawned, verification result, reviewer verdict;
- review funnel: tasks attempted → passed own check → survived adversarial review (a wide gap between the last two means the night was sloppier than it felt);
- contract audit: explicit confirmation that no safety-contract line was crossed, plus any near-misses ("almost pushed to X, caught by rule Y") — silence on this section is not allowed;
- workspace state: every branch/worktree created, so cleanup is a checklist not a hunt;
- self-grade (A–F, /grade-session candor rules: straight A's = failed grading) with the one thing the next shift should do differently — append that lesson to
~/nightshift/LESSONS.md, which Step 2 of every future shift must read before triaging. When a lesson later gets folded into this skill text, mark its LESSONS.md line[folded into SKILL.md <date>]so the file stays prunable.
- Honest tally: attempted / shipped / parked. Then kill caffeinate, and close with the single highest-leverage action for her morning.
The bar
Quality over count: two verified, merge-ready ships beat six maybes. Before reporting anything, ask: "would she merge this over coffee without re-doing it?" If not, it's parked, and the brief says so plainly. If the worklist runs dry before end-time, close the shift early and say so — "ran out of work, not time" is a clean outcome; an invented vigil to fill the hours is not.
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.

