daily-unblock

📁 benjaming/ai-skills 📅 8 days ago
4
总安装量
4
周安装量
#49946
全站排名
安装命令
npx skills add https://github.com/benjaming/ai-skills --skill daily-unblock

Agent 安装分布

amp 4
claude-code 4
github-copilot 4
codex 4
kimi-cli 4
gemini-cli 4

Skill 文档

Unblock — Activate a Standby Task

Bring a standby task back to active status, restoring it to in_progress or pending depending on whether work had started.

Configuration

persistence:
  tasksDir: "~/.claude/daily-tasks"

Execution Steps

1. Parse Arguments

If $ARGUMENTS is a number: target that task ID.

If $ARGUMENTS matches a Jira key pattern (e.g., RGI-265): find the task with matching jira_key.

If $ARGUMENTS is empty: find all tasks with status: "standby".

  • If exactly one standby task: use it automatically.
  • If multiple standby tasks: list them all and ask which to unblock:
⏸ Multiple standby tasks — which to unblock?

  #3. RGI-265 — Evr Insights migration
     └─ Waiting on: Claire's QA review · standby 2h ago
  #7. MITB-99 — Gong push config regression
     └─ Waiting on: data pipeline rerun · standby 1d ago

Run /daily-unblock 3 or /daily-unblock RGI-265 to pick one.

Stop here.

  • If zero standby tasks: “No tasks on standby. Nothing to unblock.” Stop.

2. Load Task File

Read today’s task file:

cat ~/.claude/daily-tasks/$(date +%Y-%m-%d).json 2>/dev/null

If no file exists: “No task file for today. Run /daily-standup first.” Stop.

Parse the JSON. Find the target task by numeric ID or jira_key.

If not found: “Task #N not found. Today has tasks 1-M.” Stop.

3. Validate

If status !== "standby": “Task #N is not on standby (current status: {status}). Nothing to unblock.” Stop.

4. Determine Target Status

  • If started_at is not null → restore to "in_progress" (task was in progress when parked)
  • If started_at is null → restore to "pending" (task was never started)

5. Update Task

Read the current task file (fresh read), update the target task:

  • Set status to the determined value (in_progress or pending)
  • Set waiting_on to null
  • Set paused_at to null
  • Update updated_at on the root object

Write the updated JSON back using the Write tool.

6. Confirm

Display:

▶️  Task #N unblocked: $JIRA_KEY — $SUMMARY
   Status: $NEW_STATUS

If restored to pending:

👉 Run /daily-next $N to pick it up and get full context.

If restored to in_progress:

👉 Task is back in progress. Run /daily-next $N to get a briefing and continue.

Show compact remaining standby tasks if any still exist:

⏸ N task(s) still on standby — run /daily-unblock N when ready.

Edge Cases

  • Task not on standby: “Task #N is not on standby (status: X).” Stop.
  • Multiple standby tasks, no argument: List all with reasons and ask. Stop.
  • Zero standby tasks, no argument: “No tasks on standby.” Stop.
  • Task ID doesn’t exist: “Task #N not found. Today has tasks 1-M.”
  • File write fails: Report error, do not silently lose the update.