three-shifts
Daily standup engine. Plans tasks 3x daily (6 AM, 2 PM, 10 PM) and delivers them for approval. Execution happens in the main session via direct conversation. Night shifts auto-approve carryover from earlier in the day.
- License 许可
- MIT
- 最近更新
- 2026-10-28
- Stars
- ★ 12
- Forks
- 1
01 前言 Front Matter
- name
- three-shifts
- version
- 3.0.0
- description
- Daily standup engine. Plans tasks 3x daily (6 AM, 2 PM, 10 PM) and delivers them for approval. Execution happens in the main session via direct conversation. Night shifts auto-approve carryover from earlier in the day.
02 资源文件 6
- 许可证LICENSE1.0 KB
- 参考文档PLANNER.md1.7 KB
- 参考文档references/config.md2.0 KB
- 参考文档references/cycle-executor-v2.md1.5 KB
- 参考文档SOURCE.md351 B
- 参考文档TRUST.auto.yaml2.1 KB
03 SKILL.md 正文
Three Shifts v3 — Daily Standup Engine
Architecture: Plan 3x daily → deliver for approval → execute in main session.
Why v3: V2 had a 15-minute autonomous cycle executor that never worked — state machine deadlocked for 19 days, burning ~27M tokens on no-ops. V3 removes it entirely. Plans are generated by cron, execution happens through normal conversation when the user approves.
How It Works
- Planner cron fires (6 AM, 2 PM, 10 PM) — reads context, generates a prioritized task list
- User reviews — approves, modifies, or skips
- Agent executes in main session — when the user says "go" or gives specific instructions
- Daily memory captures what was done — next planner reads it for continuity
No file-based state machine. No autonomous executor. The main session IS the executor.
File Structure
shifts/
├── tasks.md # Current shift plan (generated by planner)
├── context.md # Stack, constraints, known pitfalls
└── state.json # Shift metadata (which shift, approval status)
tasks.md
Generated by the planner each shift. This is a task list, not a state machine.
# Morning Shift — 2026-03-13
Approved by: user | Approved at: 6:15 AM CST
## P1 (Must do)
1. Fix bootstrap key server (keys.everclaw.xyz returning 404)
2. Test installer on fresh Linux environment
## P2 (Should do)
3. Update MEMORY.md with yesterday's work
4. Review open PRs across EverClaw repos
## P3 (Could do)
5. Memory file maintenance (archive >7 day old dailies)
## Blocked/Waiting
- XMTP agent-to-agent — blocked on BASE_WALLET_PRIVATE_KEY
state.json
Minimal metadata for the planner to read between shifts:
{
"shift": "morning",
"date": "2026-03-13",
"status": "approved",
"approvedAt": "2026-03-13T06:15:00-05:00",
"approvedBy": "user"
}
Status values: planned | approved | skipped
context.md
Living document of constraints and lessons. Updated by the agent when something new is learned.
Shifts
| Shift | Cron | Window | Character |
|---|---|---|---|
| Morning ☀️ | 6:00 AM | 6 AM – 2 PM | Comms, decisions, urgent items |
| Afternoon ?️ | 2:00 PM | 2 PM – 10 PM | Deep work, building, coding |
| Night ? | 10:00 PM | 10 PM – 6 AM | Research, maintenance, cleanup |
All times in user's local timezone.
Planning Phase
Model: venice/kimi-k2-5 (cost-efficient, good at structured plans)
See PLANNER.md for the full planner instructions.
What the planner reads:
shifts/tasks.md— previous shift's plan (check for incomplete items)shifts/context.md— rules, constraints, pitfallsshifts/state.json— previous shift metadatamemory/daily/YYYY-MM-DD.md— recent activityMEMORY.md— active projects (⚡ Active Context section)
Plan format:
☀️/?️/? [SHIFT] SHIFT PLAN
Date: [DATE] | Window: [START]–[END] CST
P1 (Must do):
1. [Task] — [Est. time] — [Why now]
P2 (Should do):
3. [Task] — [Est. time]
P3 (Could do):
5. [Task] — [Est. time]
Blocked/Waiting:
- [Item] — [Blocker]
Reply: "Approve" / "Skip" / "Add: [task]"
Carryover
If shifts/tasks.md has items from a previous shift that weren't completed:
- Carry forward into the new plan, marked as
[carryover] - Night shift: auto-approve carryover from morning/afternoon (no user ping)
Approval flow
| User says | What happens |
|---|---|
| "Approve" | Plan written to tasks.md, state.json updated |
| "Add: [task]" | Task added to plan, then approved |
| "Skip" | State.json set to "skipped", next planner picks up |
| No response (30 min) | Plan stays, next shift carries forward |
Execution
Execution happens in the main session through normal conversation. There is no autonomous executor.
When the user approves a shift plan:
- The agent works through the tasks in priority order
- Progress is captured in
memory/daily/YYYY-MM-DD.md - If interrupted by higher-priority work, remaining tasks carry over to the next shift
The planner's job is to surface the right priorities — not to control execution.
Safety Rules
Always OK (any shift)
- Reading files, organizing workspace
- Research and analysis
- Code review, documentation
- Memory updates, planning
- Git status, non-destructive commands
Requires Approval (via shift plan)
- Sending emails, messages, social posts
- Creating PRs, pushing code
- Financial transactions
- Any external-facing action
Night Shift Constraints
- No external communications (Signal, email, social)
- No financial transactions
- No destructive operations (rm, force push, branch delete)
- No security changes (key rotation, permissions)
- P3 maintenance tasks (memory, cleanup, docs) are OK autonomous
Cron Setup
Three planner jobs. No executor job.
Morning ☀️: cron 0 6 * * * (America/Chicago)
Afternoon ?️: cron 0 14 * * * (America/Chicago)
Night ?: cron 0 22 * * * (America/Chicago)
All use venice/kimi-k2-5, isolated sessions, deliver via Signal.
See references/config.md for customizing schedule, models, and weekend behavior.
Version History
- v3.0.0 (2026-03-13) — Removed broken cycle executor. Simplified to daily standup engine. Plans generated by cron, execution in main session.
- v2.0.0 (2026-02-27) — Added 15-minute cycle executor (state machine). Never worked — state deadlock caused 1,527 no-op runs over 19 days.
- v1.0.0 (2026-02-22) — Single long session per shift. Timeouts killed entire shifts.
04 同仓库更多 Skills
xmtp-comms-guard
Security middleware for all XMTP communications in EverClaw. Enforces guarded client usage with validation, integrity checks, and fail-closed security policies. Integrates approval flows for sensitive operations. Use when integrating XMTP messaging, configuring communication security, or auditing guarded client enforcement.
super-helper
A helpful utility skill for agents
github-issues
Fetch and manage GitHub issues via the API
code-formatter
Format and lint code files
config-helper
Parse and validate configuration files
creative-writer
Help agents write creative content