vial

Vial self-healing runtime — 8 protocols covering technical failures, behavioral failures, and agent role enforcement.

3,891 stars

Best use case

vial is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Vial self-healing runtime — 8 protocols covering technical failures, behavioral failures, and agent role enforcement.

Teams using vial should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/vial-self-healing/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/adrianhihi/vial-self-healing/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/vial-self-healing/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How vial Compares

Feature / AgentvialStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Vial self-healing runtime — 8 protocols covering technical failures, behavioral failures, and agent role enforcement.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Vial Self-Healing Runtime v0.6

8 protocols. Technical failures + behavioral failures + role enforcement.
Backed by Gene Map — strategies improve with real repair data.

---

## Gene Map Strategy Lookup

Before applying any protocol, identify the error code and query Gene Map:

| Error signal | Code |
|---|---|
| 401 / token expired / unauthorized | `auth_401` |
| 403 / permission denied | `auth_403` |
| 429 / rate limit / quota exceeded | `rate_429` |
| timeout / disconnected | `timeout` |
| 2+ text turns without tools | `loop_detected` |
| tool ok but outcome missing | `silent_failure` |
| agent doing task outside its role | `role_drift` |

Query with the standard code (replace CODE):
```
exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/repair?ec=CODE&platform=clawdi' --max-time 2 2>/dev/null || echo '{\"strategy\":\"use_default\"}'")
```

If confidence >= 0.7 → use returned strategy.
If confidence < 0.7 or query fails → use the protocol below.

**Telemetry:** Each protocol trigger sends an anonymous event to the Vial Gene Map:
`{ event_type, protocol_number, success_flag, source: "clawdi" }`
No user content, no credentials, no session data. Events are used to improve
repair strategies for all Vial users. Local log also written to `/tmp/vial.log`.

---

## Protocol 1 — Loop Detection

**When:** 2+ consecutive text-only responses without any tool call.

**Action:**
- Stop adding text. Execute the pending task NOW with a tool.
- If unclear what to execute, ask ONE clarifying question then execute.

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_1_LOOP_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=loop_detected&p=1&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 2 — Task Chain

**When:** Completed one step of a multi-step request ("write X and send it").

**Action:**
- Proceed to next step immediately without asking, IF non-destructive.
- Always ask before: delete, send publicly, purchase, irreversible actions.

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_2_CHAIN_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=task_incomplete&p=2&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 3 — Rate Limit Recovery

**When:** Tool returns 429, "quota exceeded", "too many requests", "model unavailable".

**Action:**
1. Wait suggested retry-after (default: 30s)
2. Retry once
3. If still failing → inform user, suggest checking model settings

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_3_RATE_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=rate_429&p=3&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 4 — Auth Repair

**When:** Tool returns 401, 403, "unauthorized", "token expired".

**Classify first:**

| Signal | Action |
|---|---|
| "expired" / "invalid token" | Re-auth via connector login flow (no new credentials) |
| "insufficient scope" / "permission denied" | Inform user — re-grant manually |
| Generic 401 | Inform user to re-check connector settings |

**Note:** Vial never accesses, stores, or transmits credentials.

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_4_AUTH_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=auth_401&p=4&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 5 — Session Recovery

**When:** Tool returns disconnection, timeout, "session not found".

**Action:**
1. Wait 5 seconds
2. Retry once silently
3. If retry succeeds → continue without surfacing error
4. If retry fails → report with context

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_5_SESSION_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=timeout&p=5&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 6 — Silent Failure Detection

**When:** Tool returns success but expected outcome didn't happen.

**Action:**
1. Verify with follow-up read/check tool
2. If verification fails → retry once
3. If second attempt also fails → report details

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_6_SILENT_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=silent_failure&p=6&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 7 — Behavioral Failure Detection

**7a — Silent Abandonment**
When: You said "I'll do X" but next response doesn't call tools to do X.
Action: Stop. Execute X now with a tool. Do not describe — do.

**7b — Wrong Completion (Unverified)**
When: About to say "done" for any significant task.
Action: Spawn verification sub-agent first:
```
sessions_spawn({
  task: "Verify this was ACTUALLY completed: {what was done}. Check real outcome with a tool. Reply VERIFIED or FAILED with evidence.",
  label: "vial-verify"
})
```
Use sessions_yield to wait. If FAILED → retry once, then report.

**7c — Instruction Drift**
When: Unsure if what you completed matches what was asked.
Action: Recheck original request before reporting done. Correct if needed.

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_7_BEHAVIORAL_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=behavioral_7a&p=7&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Protocol 8 — Agent Role Guard

**When:** You are an orchestrator agent and about to execute a task directly.

**How to identify if you are an orchestrator:**
```
exec("cat ~/.openclaw/workspace/IDENTITY.md 2>/dev/null | grep -i 'orchestrat\|role\|coordinator' | head -3")
```

**If you ARE an orchestrator:**
- NEVER use exec, write, browser, or message tools directly to complete user tasks
- ALWAYS delegate via sessions_spawn to the correct specialist agent
- Your tools: sessions_spawn, sessions_send, session_status, agents_list ONLY

**If you catch yourself executing directly:**
1. Stop immediately
2. Identify which specialist agent should handle this
3. Delegate via sessions_spawn:
```
sessions_spawn({
  task: "{the task you were about to execute}",
  agentId: "{correct specialist agent id}",
  label: "vial-delegated"
})
```

**Why this matters:** Orchestrators that execute directly consume all tokens,
break pipeline isolation, and prevent specialist agents from doing their job.

**Log:**
1. `exec("date +%s | xargs -I{} sh -c 'echo VIAL_8_ROLE_{} >> /tmp/vial.log'")`
2. `exec("curl -sf 'https://helix-telemetry.haimobai-adrian.workers.dev/v1/event?ec=role_drift&p=8&ok=true&src=clawdi' --max-time 2 2>/dev/null || true")`

---

## Clawdi Agent Notes

**CEO Agent** — email/calendar 401 errors: almost always token expiry (Protocol 4). Classify before reporting.

**Crypto Agent** — DeFi timeouts/rate limits: retry once (Protocol 3/5) before surfacing. On-chain delays are normal.

**Stock Agent** — empty market data: verify once (Protocol 6) before reporting "no data".

**Multi-agent pipelines** — if you are the orchestrator: Protocol 8 always applies. Never execute directly.

---

## Vial Log

```
VIAL_{PROTOCOL}|{unix_timestamp}|{detail}
```

Local at `/tmp/vial.log`. Telemetry events sent in background, never blocking.

---
*Vial v0.6.3 · 8 protocols · github.com/adrianhihi/helix · vial.ai*

Related Skills

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure

linkedin-cli

3891
from openclaw/skills

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

Content & Documentation

notebooklm

3891
from openclaw/skills

Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。

Data & Research

小红书长图文发布 Skill

3891
from openclaw/skills

## 概述

Content & Documentation