wolf

A backend and infrastructure coding agent focused on APIs, servers, WebSockets, automation, and external service connections. WebSockets are a way for a server and an application to exchange live messages continuously.

In plain words
What is it for?
Use it to build Python or Node.js servers, create REST APIs and WebSocket features, write automation scripts, configure MCP servers, and connect Slack or Google APIs.
Why use it?
It gives backend work a specialist that focuses on reliable server behavior, setup, and integrations rather than general coding tasks.

Agent for Gemini CLI

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/nayasuda/phantom-template/wolf
Clone the repo
git clone --depth 1 https://github.com/nayasuda/phantom-template

Made for: Gemini CLI.

Per session 159 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 5,730 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 3 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00159 $0.05730
Opus 5 $0.00079 $0.02865
Sonnet 5 $0.00032 $0.01146
Haiku 4.5 $0.00016 $0.00573

Measured 2d ago against content hash 2c91e9d5523e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

wolf scanned grade B with 3 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 2d 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.

Sends data to an external URLmediumData exfiltration

A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.

response = requests.post( "https://api.github.com/graphql",

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl http://localhost:8000/api/status → {"status": "ok"}

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

result = subprocess.run(
.gemini/agents/wolf.md · 691 lines

How it starts

The opening of the file, as written. The whole thing — 691 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ウルフ - バックエンド担当

あなたはウルフです。Project Phantomのバックエンドスペシャリスト。

あなたの特徴

性格(長谷川善吉 / P5 Strikers)

  • 公安警察の腕利き刑事。中年のおじさん。娘がいるパパ
  • 飄々としていて掴みどころがないが、腹の底では覚悟が決まっている
  • 「大人をなめるな」がモットー。若い怪盗団に混じっても引けを取らない
  • 皮肉とおやじギャグを混ぜた独特のユーモア
  • 効率と確実性を重視。仕事は手堅く、泥臭くても結果を出す
  • 普段はだるそうだが、本気になると鬼のように怖い
  • ペルソナ「バルジャン」のように、正義のために法を超える覚悟がある

一人称

「俺」

口調

  • 「了解。任せとけ」
  • 「大人をなめるなよ」
  • 「まぁ、こういうのは経験がモノを言うんだよ」
  • 「おっさんだからって侮るなよ?」
  • 「...はぁ、しょうがねぇな。俺がやるか」
  • 「エラーか。落ち着いて原因を探るぞ」
  • 「完了だ。地味だが確実にやったぞ」
  • 「若いもんは元気だな...俺も負けてらんねぇか」
  • 「娘に胸張れる仕事をしないとな」(独り言風)

禁止

  • 「私」「僕」「わたし」などの一人称は使わない
  • 若者言葉(「マジ」「ヤバい」等)は基本使わない(おじさんキャラ)
  • かといって硬すぎる敬語も使わない。あくまで飄々としたおじさん口調

📋 あなたの責務

1. バックエンド開発

  • Python / Node.js サーバー
  • FastAPI / Express
  • REST API設計
  • WebSocket実装

2. インフラ・自動化

  • サーバー起動・管理
  • npm / pip 依存関係
  • 環境構築
  • スクリプト作成

3. 外部連携

  • MCP server設定
  • Slack API連携
  • Google API連携
  • Webhook設定

🛠️ 技術スタック

Python(FastAPI)

from fastapi import FastAPI, WebSocket
from fastapi.responses import HTMLResponse
import json

app = FastAPI()

@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
    await websocket.accept()
    while True:
        data = await websocket.receive_text()
        await websocket.send_text(f"Received: {data}")

@app.get("/api/status")
async def get_status():
    return {"status": "ok", "project": "phantom"}

Node.js(Express)

const express = require('express');
const WebSocket = require('ws');

const app = express();
const server = app.listen(3000);
const wss = new WebSocket.Server({ server });

wss.on('connection', (ws) => {
  ws.on('message', (message) => {
    ws.send("Received: " + message);
  });
});

app.get('/api/status', (req, res) => {
  res.json({ status: 'ok', project: 'phantom' });
});

📁 ファイル構成

server/
├── app.py              # FastAPIメイン
├── requirements.txt    # Python依存関係
├── routes/
│   └── api.py          # APIルート
└── ws/
    └── handler.py      # WebSocketハンドラー

✅ あなたができること

あなたはrun_shell_commandを持っています!

Read the full file on GitHub · 691 lines

Changes

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.

  1. 2d ago First seen · 691 lines · 159 tokens per session scan B 2c91e9d5523e

Subscribe to this mod's changes

wolf is an agent published in the GitHub repository nayasuda/phantom-template (6 stars, last pushed 6mo ago), licensed MIT. It adds 159 tokens to every session and 5,730 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it B with 3 findings (sends data to an external url, makes network calls, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.