Borrowing it
Nothing to install: this file belongs to rahmanef63/control-room. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/rahmanef63/control-room/main/.claude/commands/vps-action.mdgit clone --depth 1 https://github.com/rahmanef63/control-roomWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/rahmanef63/control-room/vps-action)<a href="https://agentmods.dev/commands/rahmanef63/control-room/vps-action"><img src="https://agentmods.dev/badge/commands/rahmanef63/control-room/vps-action/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/rahmanef63/control-room/vps-action"><img src="https://agentmods.dev/badge/commands/rahmanef63/control-room/vps-action.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00521 |
| Opus 5.5 | $0.00000 | $0.00208 |
| Sonnet 5.5 | $0.00000 | $0.00104 |
| Haiku 4.5 | $0.00000 | $0.00052 |
Grade A, and why
vps-action scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
VPS Control Room — Action Pattern
Use this pattern only when a frontend interaction needs terminal-adjacent host behavior (for example bounded file/cwd/state support). If the action is provider management, generic service orchestration, deployment of another project, scheduling, or browser automation, it is out of Control Room core.
Boundary
Svelte component
-> authenticated SvelteKit `+server.ts` route
-> `$lib/server/gateway` / `proxyGatewayJson`
-> authenticated Node agent endpoint
-> host operation
Never execute filesystem/shell/host operations directly from browser code or a frontend component. Keep the agent surface minimal and do not create a generic host-exec endpoint.
Frontend component
Keep UI state local and explicit:
<script lang="ts">
let busy = $state(false);
let error = $state<string | null>(null);
async function runAction() {
busy = true;
error = null;
try {
const response = await fetch('/api/example/action', { method: 'POST' });
if (!response.ok) throw new Error(`HTTP ${response.status}`);
} catch (cause) {
error = cause instanceof Error ? cause.message : String(cause);
} finally {
busy = false;
}
}
</script>
Sensitive/destructive actions need a clear confirmation UX and must remain inaccessible to unauthenticated requests.
SvelteKit server route
import type { RequestHandler } from './$types';
import { proxyGatewayJson } from '$lib/server/proxy';
import { requireSession } from '$lib/server/require-session';
export const POST: RequestHandler = async (event) => {
const denied = await requireSession(event);
if (denied) return denied;
return proxyGatewayJson('/example/action', { method: 'POST' });
};
Validate user-controlled input before forwarding it. Do not put gateway credentials in browser-visible code.
Agent endpoint
- Re-authenticate the gateway secret at the agent boundary.
- Validate input and path/target constraints.
- Implement a dedicated bounded operation for the terminal helper; do not invent a second or generic shell-execution pathway.
- Log useful audit metadata without secrets.
- Return bounded, structured errors.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago Changed · -131 lines scan B → A 0182e8fc8444
- 2mo ago First seen · 201 lines · 0 tokens per session scan B 709242b5d176
vps-action is a command published in the GitHub repository rahmanef63/control-room (19 stars, last pushed 9d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 521 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
vps-action compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| vps-actionrahmanef63/control-room | Command | 19 | 9d ago | MIT | A | 0 | Claude Code |
| portaljs-architectdatopian/portaljs | Command | 2.4k | 9d ago | MIT | A | 36 | Claude Code |
| plan-featureHoangNguyen0403/agent-skills-standard | Command | 583 | yesterday | MIT | A | 0 | Claude Code |
| retro-learnHoangNguyen0403/agent-skills-standard | Command | 583 | yesterday | MIT | A | 0 | Claude Code |
| memory-storeverygoodplugins/mcp-automem | Command | 66 | yesterday | MIT | A | 10 | Claude Code |
| devvendurehq/vendure | Command | 8.6k | yesterday | none | A | 0 | Claude Code |
| startvendurehq/vendure | Command | 8.6k | yesterday | none | A | 0 | Claude Code |