Skip to content

0xj7r/openloop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status: In Development

openloop

Surface what you've left unfinished, across every tool.

The problem

Knowledge work generates open loops everywhere. A Slack thread goes cold mid-decision. An idea in a Claude session never gets built. A Notion doc is half-written. A Codex task stalled without a PR. Gmail thread waiting on a reply.

No single tool surfaces all of them. You discover each one the hard way (someone asks, or a deadline slips, or you stumble on the old thread). Most are never discovered at all.

openloop is the unified detector: it ingests from every place you do knowledge work, and tells you what's still open.

What's shipped today

A Claude Code skill, /openloop, that reads your Claude session history (~/.claude/history.jsonl) and surfaces:

  • Unfinished work: tasks you said you'd come back to
  • Unactioned ideas: things you proposed building with enthusiasm but never started
  • Pending decisions: choices you deferred without resolving

It cross-references across sessions so that a TODO from Monday closed by a commit on Wednesday doesn't appear in Friday's report. Only the genuinely open items surface.

Runs manually (/openloop 14d for a custom lookback), or weekly via launchd every Sunday at 10AM, delivered as a Slack DM.

See examples/sample-report.md.

Roadmap

The Claude history integration is v0. The goal is cross-source coverage. See ROADMAP.md for the full list.

Short version:

  • v0 (shipped): Claude Code session history
  • v1: Slack (threads you've gone quiet on, DMs waiting for reply, decisions left unresolved)
  • v2: Notion (pages in draft status, TODOs in doc bodies, pages not updated past their target date)
  • v3: Codex / local git (branches ahead of main with no open PR, TODO/FIXME accumulation)
  • v4: Gmail (threads you've started and left unresponded)
  • v5: Linear / GitHub Issues (assigned tickets stale past their estimate)

The architecture target is a source-adapter pattern so new ingestors can be added without touching the detector core.

Install (Claude Code skill, v0)

Copy the skill into your user skills directory:

mkdir -p ~/.claude/skills/openloop
cp SKILL.md ~/.claude/skills/openloop/SKILL.md

Or via the open skills CLI:

npx skills add 0xj7r/openloop -g -y

Run manually

/openloop           # default 7-day lookback
/openloop 14d       # 2-week lookback

Run on a schedule

Save to ~/Library/LaunchAgents/com.openloop.weekly.plist, replacing the Claude CLI path with your own:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.openloop.weekly</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/claude</string>
        <string>-p</string>
        <string>/openloop</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Weekday</key><integer>0</integer>
        <key>Hour</key><integer>10</integer>
        <key>Minute</key><integer>0</integer>
    </dict>
    <key>StandardOutPath</key>
    <string>/tmp/openloop.log</string>
</dict>
</plist>

Load with launchctl load ~/Library/LaunchAgents/com.openloop.weekly.plist.

How detection works

For each session cluster in the lookback window, the detector scans for:

  • Verb-tense hedges: "I'll come back to", "let's figure that out later", "TODO"
  • Enthusiasm without follow-up: "we should build", ideas discussed in session N but absent from N+1, N+2, etc.
  • Unresolved decisions: "should we go with X or Y?" with no later commitment either way
  • Acknowledged failures that never got retried

Then it cross-references: if a later session contains a commit, a new skill, or a closure phrase referencing the earlier item, the loop is marked closed and suppressed from the report.

Status

v0 works and runs on my machine weekly. I am actively building this out. Contributions, source adapters, and open-loop heuristics welcome.

License

MIT. See LICENSE.

About

Surface what you've left unfinished across every tool. v0: Claude Code session history. Roadmap: Slack, Notion, Codex, Gmail.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors