Bug: Custom Automations Execute "Use Case Refresh" Instead of Skill File

Summary

Custom automations with a skill file (filePath) never execute the agent/skill. Instead, the automation pipeline routes them through a “use case refresh system automation” path, which refreshes an internal use case index and reports “success” — without ever invoking the agent, reading the skill file, or creating a conversation.

Environment

  • Rebel version: 0.4.13 (also reproduced on 0.4.12 and 0.4.9)

  • Platform: macOS (Apple Silicon, darwin 25.2.0 arm64)

  • Channel: stable

Steps to Reproduce

  1. Create a custom automation with a valid skill file:

    • Name: “Daily Briefing”

    • File: Chief-of-Staff/skills/workflow/daily-briefing/SKILL.md

    • Schedule: Weekdays at 10:50

    • Catch-up enabled

    • 17 pre-approved tool grants (Asana, Super-MCP router, Read, Glob, Grep, Bash, Task, WebFetch)

  2. Wait for the scheduled trigger (or use “Run Now”)

  3. Check conversations list — no new conversation is created

  4. Check rebel_automations_list — shows “Last run: success”

Expected Behaviour

The automation should:

  1. Create a new conversation

  2. Send the skill file content as a prompt to the agent

  3. Execute the skill (making tool calls, producing output)

  4. Show the conversation in the conversations list

Actual Behaviour

The automation:

  1. Starts execution

  2. Immediately enters a “use case refresh” pipeline instead of agent execution

  3. Refreshes 3 use cases (takes ~5 minutes)

  4. Reports “pipeline completed” and “success”

  5. No conversation is created, no agent is invoked, no skill file is read

Log Evidence

Today’s run (5 Mar 2026, v0.4.13):

08:50:00.073Z  "Automation execution started"          trigger: "schedule"
08:50:00.102Z  "Starting use case refresh system automation"   ← WRONG PATH
08:54:59.648Z  "Use case refresh completed successfully"       useCaseCount: 3
08:54:59.654Z  "Automation pipeline completed"
08:54:59.684Z  "Automation rescheduled after run"

Yesterday’s scheduled run (4 Mar, v0.4.12) — also failed:

10:34:27.931Z  "Starting use case refresh system automation"   ← same wrong path
10:40:04.218Z  "Use case refresh failed"  error: "Use case formatting timed out"
10:40:04.218Z  "Automation pipeline completed"

Yesterday’s manual run (4 Mar, v0.4.12) — also failed identically:

10:55:48.870Z  "Automation execution started"          trigger: "manual"
10:55:48.876Z  "Starting use case refresh system automation"   ← same wrong path
11:00:24.286Z  "Use case refresh completed successfully"       useCaseCount: 3
11:00:24.294Z  "Automation pipeline completed"

For comparison — Source Capture automation (works correctly):

10:30:00.014Z  "Automation execution started"          trigger: "schedule"
10:30:00.024Z  "Running automation with approved access rules (hooks will apply bypass)"  ← CORRECT PATH
10:30:21.812Z  "Automation pipeline completed"

The key difference: working automations log "Running automation with approved access rules" and create conversations. The broken automation logs "Starting use case refresh system automation" — a completely different code path.

Additional Context

  • The skill file works perfectly when run manually — typing “run daily briefing” in a conversation triggers the skill and produces a full briefing with Asana data, calendar, email, Slack, and PRs. All tool grants are verified working.

  • All 17 tool grants are correctly configured (verified via rebel_automations_list_tool_grants)

  • The automation was created by repurposing an existing empty “Daily Briefing Refresh” automation (originally had no skill file, was set to 17:00). The skill file path was added later. It’s possible the automation is “stuck” in the use-case-refresh pipeline from its original empty state and doesn’t pick up the skill file change.

  • System automations (Source Capture, Daily Wins & Learnings) work correctly — they follow the "Running automation with approved access rules" path and create conversations.

  • The bug persists across app versions (0.4.9, 0.4.12, 0.4.13) and across app restarts.

  • Two orphaned “New Agent Run” conversations with 0 messages were found — possibly failed attempts by the system to create automation conversations.

Possible Root Cause

The automation pipeline appears to have two execution paths:

  1. Use case refresh — refreshes an internal use case index (no agent invoked)

  2. Agent execution — reads skill file, creates conversation, runs agent with tool grants

Custom automations with a filePath should take path 2, but this automation is consistently routed to path 1. This may be because:

  • The automation was originally created without a skill file and the pipeline routing was cached

  • There’s a condition check that incorrectly classifies this automation as a “system” automation

  • The filePath is not being read/respected when determining which pipeline to use

Suggested Investigation

  1. Check what determines the routing between “use case refresh” and “agent execution” pipelines

  2. Check whether updating filePath on an existing automation correctly updates the pipeline routing

  3. Check if deleting and recreating the automation (rather than updating) fixes the routing

Hey @astergiakis — thanks for the detailed reports on both of these (this one and the invisible conversations bug). The repro steps and log evidence are really helpful.

Both are being looked into — they look related (custom automations routing differently from system automations). I’ll update here when we have more to share.

Appreciate the thorough bug reporting :folded_hands:

1 Like

Hi @astergiakis, thanks for the detailed report — and apologies for the delayed response.

We’ve investigated and confirmed this is a real bug. Here’s what’s happening:

During onboarding, Rebel creates a system automation called “Daily Briefing Refresh” which is internally tagged as a system automation. This automation has no skill file — it uses a special code path to refresh your personalised suggestions.

The problem: when you edit this automation to point at your own skill file, those internal system tags are never cleared. So when the automation runs, the routing logic sees the system tags first and sends it down the use-case-refresh pipeline — completely ignoring your skill file.

Fix: This is fixed and will ship in v0.4.17. The routing now prioritises your skill file over system tags, and editing a system automation to add a file path automatically converts it to a custom automation.

Workaround until then: Create a brand new automation from scratch with your skill file rather than editing the existing “Daily Briefing Refresh”. New automations won’t have the system tags, so they’ll execute correctly. You can disable the original if you don’t need it.

Thanks again for the clear repro — it made investigation much faster.