Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Agent Ui

Batteries-included agent component for React/Next.js from ui.inference.sh. One component with runtime, tools, streaming, approvals, and widgets built in. Cap...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
2 · 1.6k · 9 current installs · 11 all-time installs
byÖmer Karışman@okaris
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description match the instructions: this is a UI component for React/Next.js that uses an API proxy and an SDK. Declared runtime steps (npx shadcn template, install @inferencesh/sdk, add a Next.js proxy route) are coherent with building an agent UI.
Instruction Scope
SKILL.md instructs running npx to fetch a remote agent.json and npm install of @inferencesh/sdk and shows adding an .env.local INFERENCE_API_KEY and a Next.js proxy route. The instructions do not request unrelated system files or broad data exfiltration, but they do instruct pulling third-party code at install time and storing an API key in .env.local.
Install Mechanism
This is an instruction-only skill (no install spec). The install steps use npx shadcn@latest add https://ui.inference.sh/r/agent.json and npm install @inferencesh/sdk — pulling code from inference.sh and npm is expected for this purpose, but those are network operations that will fetch code into your project (review the fetched JSON/package before running).
!
Credentials
Registry metadata lists no required env vars, but SKILL.md explicitly instructs adding INFERENCE_API_KEY in .env.local. This mismatch reduces transparency. Also the example agent_config references an external model (openrouter/claude-haiku-45), which could require a different service key; the SKILL.md does not clearly state which credential(s) are required or their scope.
Persistence & Privilege
Skill does not request always:true, does not declare special config paths, and is user-invocable. It does not ask to modify other skills or system-wide settings.
Assessment
This appears to be a legitimate UI component for building agent interfaces, but check a few things before installing: (1) Verify the source URLs and npm package (@inferencesh/sdk) on the public registries (npm, the inference.sh domain) to ensure they are the expected projects. (2) Inspect the agent.json that npx will fetch (and any code it adds) before running it in your app. (3) The SKILL.md requires INFERENCE_API_KEY but the registry metadata doesn't declare it — confirm which API key is needed (inference.sh vs OpenRouter) and limit its scope. (4) Store API keys safely (use env or secrets manager) and rotate them if you later suspect misuse. (5) If you have security concerns, run the add/install steps in an isolated environment or review the fetched files in a code review before merging into a production codebase.

Like a lobster shell, security has layers — review code before you run it.

Current versionv0.1.5
Download zip
latestvk97b6w51jx9gpmftvr11m7c41581dxmr

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Agent Component

Batteries-included agent component from ui.inference.sh.

Agent Component

Quick Start

# Install the agent component
npx shadcn@latest add https://ui.inference.sh/r/agent.json

# Add the SDK for the proxy route
npm install @inferencesh/sdk

Setup

1. API Proxy Route (Next.js)

// app/api/inference/proxy/route.ts
import { route } from '@inferencesh/sdk/proxy/nextjs';
export const { GET, POST, PUT } = route;

2. Environment Variable

# .env.local
INFERENCE_API_KEY=inf_...

3. Use the Component

import { Agent } from "@/registry/blocks/agent/agent"

export default function Page() {
  return (
    <Agent
      proxyUrl="/api/inference/proxy"
      agentConfig={{
        core_app: { ref: 'openrouter/claude-haiku-45@0fkg6xwb' },
        description: 'a helpful ai assistant',
        system_prompt: 'you are helpful.',
      }}
    />
  )
}

Features

FeatureDescription
Runtime includedNo backend logic needed
Tool lifecyclePending, progress, approval, results
Human-in-the-loopBuilt-in approval flows
WidgetsDeclarative JSON UI from agent responses
StreamingReal-time token streaming
Client-side toolsTools that run in the browser

Client-Side Tools Example

import { Agent } from "@/registry/blocks/agent/agent"
import { createScopedTools } from "./blocks/agent/lib/client-tools"

const formRef = useRef<HTMLFormElement>(null)
const scopedTools = createScopedTools(formRef)

<Agent
  proxyUrl="/api/inference/proxy"
  config={{
    core_app: { ref: 'openrouter/claude-haiku-45@0fkg6xwb' },
    tools: scopedTools,
    system_prompt: 'You can fill forms using scan_ui and fill_field tools.',
  }}
/>

Props

PropTypeDescription
proxyUrlstringAPI proxy endpoint
namestringAgent name (optional)
configAgentConfigAgent configuration
allowFilesbooleanEnable file uploads
allowImagesbooleanEnable image uploads

Related Skills

# Chat UI building blocks
npx skills add inference-sh/skills@chat-ui

# Declarative widgets from JSON
npx skills add inference-sh/skills@widgets-ui

# Tool lifecycle UI
npx skills add inference-sh/skills@tools-ui

Documentation

Component docs: ui.inference.sh/blocks/agent

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…