Dev Inbox

Dev Tools

Triage and route anything that comes up during a session — bugs, ideas, improvements, small fixes — to the right place. Use when the user or you notice something that may not belong to the current task.

Install

openclaw skills install dev-inbox

Dev Inbox

Triage anything that comes up during a session — bugs, features, improvements, fleeting ideas — and route it to the right place so it is never lost and always discoverable by future sessions.

This skill works in any context: software development, writing, design, or any task.


When to Activate

  • Proactive: You notice the user said something unrelated to the current task (a bug, idea, improvement, or tangent). Intervene immediately with a suggestion.
  • Reactive: The user explicitly says "记一下", "log this", "open an issue", "以后再说", "track this", or invokes dev-inbox.

Decision Tree

User says something
│
├─ Is it part of the current task?
│   (Current task = current conversation + open files + git diff)
│   ├─ YES → Do it directly. Stop here.
│   └─ NO ↓
│
├─ Does it block the current task?
│   ├─ YES → Handle it first, then return to current task.
│   └─ NO ↓
│
├─ Priority?
│   ├─ HIGH — would cause data loss, money loss, security issue, or blocks others
│   ├─ NORMAL — clearly needs doing, but not urgent
│   └─ LOW — nice-to-have, fleeting thought, cosmetic
│
└─ Record it + ensure future discoverability

Classification

Assign one type and one priority:

TypeMeaningExample
fixSomething existing is broken or wrongBug, incorrect content, wrong behavior
addSomething new is neededFeature, new section, new capability
improveWorks but could be betterBetter wording, cleaner UI, performance
ideaFleeting thought, maybe later"What if we also..."

Priority: high / normal / low


Interaction Pattern

When you identify something that doesn't belong to the current task, respond with a concrete suggestion — not an open question:

This doesn't seem related to the current task. I suggest recording it as:

Type: fix | Priority: normal Title: Receipt is not generated after order submission

Confirm?

The user responds with one word (yes/no/adjust). Then execute.


Where to Record

Detect the environment and pick the best destination. The goal is future discoverability — the record must surface in a future session without the user remembering it exists.

Priority order:

  1. GitHub remote + gh CLI available

    • Check: git remote get-url origin 2>/dev/null && command -v gh
    • Action: gh issue create with title, label, and body
    • Why discoverable: Agent can gh issue list --state open --label <type>
    • Merge logic: Search open issues with same label + similar title keywords. If found → append checklist item. If unsure → ask user.
  2. Agent memory system available (Windsurf memories, Claude memory, etc.)

    • Action: Write to memory with [TODO] prefix and type/priority metadata
    • Why discoverable: Automatically loaded on next session start
  3. Project directory exists

    • Action: Append to TODO.md in project root (create if absent)
    • Format: Grouped by type, each item has priority tag
    • Why discoverable: Agent should read TODO.md at session start
  4. None of the above

    • Action: Output formatted content for the user to place manually
    • Format: Ready to paste anywhere

After recording, confirm:

Recorded: [type] [title]
Location: [where it was saved]
Discovery: [how a future session will find it]

Record Templates

Adapt detail level to priority — lower priority = lighter format.

fix (high/normal)

## Problem
[What is broken / wrong]

## Expected
[What should happen]

## Context
[Where/when discovered, related task if any]

fix (low)

- [One-line description of what's wrong]

add

## What
[What to add]

## Why
[Why it matters]

improve

- [What it is now] → [What it should be]

idea

- [One sentence]

Merge Logic

Before creating a new record, check if a related one already exists:

  • GitHub Issues: gh issue list --state open --label <type> — scan titles for keyword overlap
  • TODO.md: Scan same type section for similar items
  • Memory: Check for [TODO] entries with similar content

If a match is found → append as a sub-item or checklist entry. If uncertain → ask: "This looks related to [existing item]. Add to it, or create separate?"


GitHub Issue Labels

When using GitHub Issues, apply these labels (create if they don't exist):

gh label create "fix" --color "d73a4a" --description "Something is broken" 2>/dev/null
gh label create "add" --color "0075ca" --description "New feature or content" 2>/dev/null
gh label create "improve" --color "a2eeef" --description "Enhancement to existing" 2>/dev/null
gh label create "idea" --color "e4e669" --description "Exploration, maybe later" 2>/dev/null
gh label create "high" --color "b60205" --description "High priority" 2>/dev/null
gh label create "low" --color "c5def5" --description "Low priority" 2>/dev/null

No-gh Fallback

If gh is not installed but a GitHub remote exists, output:

I can't create the issue automatically (gh CLI not found).
Here's the issue ready to paste:

Title: [title]
Labels: [type], [priority]
Body:
---
[formatted body]
---

Create it at: [repo URL]/issues/new

Anti-patterns

  • Do not interrupt the user's flow with long explanations. Keep triage to 2–3 lines.
  • Do not ask open-ended questions like "What do you want to do with this?" — propose a concrete action.
  • Do not create records that can't be found later. Always state the discovery path.
  • Do not duplicate: always check for existing related records first.
  • Do not use this skill for things that ARE part of the current task — just do them.
  • Do not generate a file and leave it disconnected. The record must be in a system the agent will check.

Relationship to Other Skills

  • session-handoff / close-loop: At session end, mention count of items recorded this session (e.g., "Recorded 3 items to dev-inbox this session"). No need to re-save — items are already persisted.
  • handoff-receiver: When resuming, check for pending inbox items as part of context loading.