
Self Nudge Loop
Build a deadline-preserving same-session autonomy loop using Kiro Crew's AutoNudgeService.
Install
npx skills add kirodotdev/KiroCrew --skill self-nudge-loop -g -a claude-code -y- Repository
- kirodotdev/KiroCrew4.7k
- Category
- Engineering
- Updated
- 3d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- Yes, review before use
What it does
Build a deadline-preserving same-session autonomy loop using Kiro Crew's AutoNudgeService. One long-lived session keeps working toward a goal; each completed loop turn schedules the next nudge, while user turns defer but do not reset that deadline. Survives tab close, logout, and gateway restart. Use when user says "continuous improvement session", "keep going on its own", "same session loop", "self-nudge", or "north star loop". NOT for fresh-session crons, parallel work, or external-system callbacks.
Self-Nudge Loop
Overview
AutoNudgeService (in kiro_crew.autonudge) keeps a single chat session working toward a goal by re-feeding a nudge on its persisted deadline, deferred while a user turn is active. Unlike cron_add, the nudge runs in the same session, warm memory, same tools, same conversation history. State persists across gateway restarts via ~/.kiro/crew/autonudge.json.
Usage
Use when the user wants:
- "continuous improvement" that doesn't die between chats
- one long-lived session that auto-resumes whenever idle
- a north-star / roadmap / tasks anchor-file pattern driving autonomous work
- the loop to survive logout and gateway restart
Do NOT use for:
- work best run in fresh isolated session → use plain
cron_add - parallel independent tasks → use
spawn_run - external-system callbacks → use
register_hook
Feature flag
On by default. To disable:
export KIROCREW_AUTONUDGE=0 # add to systemd unit Environment= or ~/.kiro/crew/env
kirocrew restart
When disabled, the REST API returns 503 and the UI popover surfaces the error.
Core Concepts
Deadline-preserving timer, after a loop turn completes, the service stores an absolute next_due_ts and arms a per-slot timer. A user turn cancels the pending timer task so it cannot race the human, but does not move the deadline; when that turn ends, the timer resumes toward the same deadline and may fire shortly afterward if already due. A delivered loop turn starts the next full interval from that turn's end.
Three files the agent owns (convention, not enforced):
| File | Role |
|---|---|
north_star.md | Immutable goal. Why the loop exists. |
roadmap.md | Phases / milestones. Agent may edit as it learns. |
tasks.md | Active checklist. Agent checks off / adds items each cycle. |
