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.
npx agentmods add instructions/legate-dev/telegram-ai-bridge/copilot-instructionsgit clone --depth 1 https://github.com/legate-dev/telegram-ai-bridgeWhat 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 | $0.00921 | $0.00921 |
| Opus 5 | $0.00461 | $0.00461 |
| Sonnet 5 | $0.00184 | $0.00184 |
| Haiku 4.5 | $0.00092 | $0.00092 |
Grade A, and why
telegram-ai-bridge copilot-instructions.md scanned grade A with 1 finding 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 yesterday.
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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- **Dependencies:** prefer stdlib (`node:fs`, `node:path`, `node:child_process`) or deps already in `package.json`. Do not add new dependencies without explicit justification. When updating or adding versions, follow the How it starts
The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Copilot Coding Agent — Repository Instructions
Project context
This is a Telegram bridge that wraps multiple AI CLI backends (Claude Code, Codex, Kilo, Gemini, Copilot) behind a single bot interface. Node.js, ESM, Grammy (Telegram framework), better-sqlite3 for local state.
Code style
- ESM imports, no CommonJS
- No TypeScript — plain JS with JSDoc where helpful
node:test+node:assert/strictfor tests, no external test frameworks- Prefer
node:prefix for built-in modules - Trailing newline on all files
- No semicolons except where ASI is ambiguous
Architecture rules
- Each CLI backend is a class in
src/backends.jswith asendMessage()method - Chat bindings (which session is bound to which Telegram chat) live in SQLite via
src/db.js - Commands are registered in
src/commands.js, callback queries handled insrc/message-handler.js - Config comes from env vars via
src/config.js— never hardcode paths, ports, tokens, or thresholds - Session scanning (discovering CLI sessions on disk) lives in
src/cli-scanner.js
No hardcoding
This is non-negotiable:
- Never hardcode values that could change: URLs, ports, paths, feature flags, thresholds
- Environment variables for anything deployment-specific — define defaults in
src/config.js, document in.env.example - Credentials and secrets: never in source, never in commits, never in logs
Security awareness
AI-generated code has a 40-45% vulnerability rate in studies. Actively counter this:
- SQL: parameterize all queries. This project uses better-sqlite3 with named parameters (
@param). Never interpolate user input into SQL strings. - Input handling: all Telegram message text and callback data is untrusted user input. Validate and sanitize before using in file paths, shell args, or SQL.
- Shell execution: this project uses
execFile(notexec) for CLI spawning. Never construct shell command strings from user input. Pass arguments as array elements. - Secrets in logs: the
logmodule is used throughout. Never log tokens, API keys, session secrets, or user messages in full. UseredactString()fromsrc/log.jsfor sensitive values. - Dependencies: prefer stdlib (
node:fs,node:path,node:child_process) or deps already inpackage.json. Do not add new dependencies without explicit justification. When updating or adding versions, follow the existingpackage.jsonversioning convention rather than switching to exact pins. - Path traversal: when resolving directories from user input (e.g.,
/newcommand workspace path), always canonicalize and validate against allowed paths before use.
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.
- yesterday First seen · 66 lines · 921 tokens per session scan A c67c76dba7f1
telegram-ai-bridge copilot-instructions.md is an instructions file published in the GitHub repository legate-dev/telegram-ai-bridge (1 stars, last pushed 1mo ago), licensed MIT. It adds 921 tokens to every session, about $0.0046 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
spec-kitty AGENTS.md
Instructions for Priivacy-ai/spec-kitty, covering spec kitty development guidelines, ⚠️ critical: load the project charter first, ⚠️ critical: template source location, ⚠️ critical: use canonical sources, never improvise and ⚠️ critical: git workflow — no direct pushes to origin/main.
parallel-code CLAUDE.md
Instructions for johannesjo/parallel-code, covering parallel code, stack, commands, project structure and conventions.
PokeTokenBar CLAUDE.md
Instructions for chattymin/PokeTokenBar, covering poketokenbar — claude 프로젝트 지침, 참조 문서 (필요할 때 읽는다), 기여 언어 규약 (오픈소스 대비 — english first), 릴리스 (자연어 트리거) and 확장 규약 (새 프로바이더/툴 추가 시).
cc-statistics CLAUDE.md
Instructions for androidZzT/cc-statistics, covering claude.md, project, setup, usage and architecture.
SubFrame AGENTS.md
Instructions for Codename-11/SubFrame, covering subframe - subframe project, core working principle, relationship to native ai tools, session start and concurrent work & worktrees.
stagecraft AGENTS.md
Instructions for telus-labs/stagecraft, covering agents.md, start here (in order), test and lint commands, where things live and load-bearing contracts (do not break without an adr).