Relay To Agent

ReviewAudited by ClawScan on May 10, 2026.

Overview

The relay behavior is mostly disclosed, but the session name is used in file paths without validation, which could let an invocation read or overwrite unexpected local JSON files.

Review this skill before installing. Only use trusted API endpoints and keys, avoid sensitive content, and be especially cautious with custom --session values until the maintainer confines session paths to the intended cache directory.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A crafted session name could cause the skill to read from or write to JSON files outside ~/.cache/relay-to-agent/sessions if the path resolves to an accessible location.

Why it was flagged

The user-provided session ID is placed directly into a path and then used for reads and writes without rejecting path separators or '..' segments.

Skill content
case '--session': sessionId = args[++i]; ... return join(SESSIONS_DIR, `${agentId}_${sessionId}.json`); ... readFileSync(path, 'utf-8') ... writeFileSync(path, JSON.stringify(trimmed, null, 2));
Recommendation

Reject session IDs containing slashes, backslashes, absolute paths, or '..'; resolve the final path and verify it remains under the sessions directory before any read or write.

What this means

Whoever controls the configured endpoint may receive requests authenticated with this API key.

Why it was flagged

The skill requires an API key for the configured OpenAI-compatible service, which is expected for its relay function.

Skill content
export RELAY_API_KEY="sk-..."          # API key (required)
Recommendation

Use a provider-specific key with the minimum needed permissions and only configure endpoints you trust.

What this means

Past conversation content may be retained locally and included in later requests for the same agent and session.

Why it was flagged

The skill persistently stores conversation history and reuses it for future multi-turn conversations.

Skill content
Sessions are stored locally at `~/.cache/relay-to-agent/sessions/`. Each agent+session combination keeps up to 50 messages.
Recommendation

Avoid sending secrets, use --reset when starting unrelated tasks, and periodically clear the local session cache if it may contain sensitive content.

What this means

Message content and conversation history leave the local machine and are processed by the configured AI service.

Why it was flagged

The script sends the current message and retained session messages to the configured external agent endpoint.

Skill content
const baseURL = process.env.RELAY_BASE_URL || config.baseUrl; ... const client = new OpenAIClient({ apiKey, baseUrl: baseURL }); ... client.createChatCompletion({ model, messages });
Recommendation

Confirm the configured base URL and agent list before use, and do not relay private data to providers you have not approved.