daily-unblock

Unblock a task on standby and bring it back to active status. This skill should be used when Benjamin says "unblock", "resume", "unpause", "pick back up", or when a blocked task's dependency has been resolved.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "daily-unblock" with this command: npx skills add benjaming/ai-skills/benjaming-ai-skills-daily-unblock

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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ralph-loop

No summary provided by upstream source.

Repository SourceNeeds Review
General

interview

No summary provided by upstream source.

Repository SourceNeeds Review
General

madai-investigator

No summary provided by upstream source.

Repository SourceNeeds Review
General

quality-gate

No summary provided by upstream source.

Repository SourceNeeds Review