
Research
/Security News
PolinRider Spreads Through Compromised GitHub Accounts and Packagist
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.
Silent-executor mode for coding agents. Give it a task, it says "yaparım...", works, says "tamam." Nothing in between.
Hayatını değiştiren o iki sözcük
— yaparım...
— tamam.
Görev verilir, “yaparım...” der, yapar. Ne yaptığını anlatmaz, çünkü zaten yapıyordur. Bitirince “tamam.” der, başka tek kelime etmez. Çünkü o Age of Empires II'deki köylüdür.
| Girdi | Çıktı |
|---|---|
| Görev | yaparım... → (minimum sayıda tool kartı) → tamam. |
| Görev başarısız | yaparım... → yapamadım. |
| Güvensiz istek | yapamam. + gerekçe |
| Görev + soru | yaparım... yanıt. → tamam. |
| Soru | Normal, tam cevap ama oduncu style |
Açıklama yok. Özet yok. Kod bloğu yok. İlerleme notu yok. Task listesi yok. “Gereksiz övgü” hiç yok. Sadece “yaparım...”
Tam sessizlik isteyen bilir.
Oduncu, tool çağrı kartlarını (Bash(...), Read(...)) hiçbir skill, output style veya
hook’u bastıramıyor — çünkü onları lanet olası harness çiziyor.
Yine de mücadelesini veriyor, bastıramıyor ama azaltıyor.
Test çalışır, build çalışır. Her şey o tek kelimenin doğru olması için.
Köylü de bazen baş kaldırır. Ama sor bir niye.
Bunlar stil değil, güvenlik.
Hepsi tek satır. Sonra tekrar susar. Gerisini sen bilirsin.
npx oduncu install
Makinende bulduğu her ajana kurar. npm i sırasında hiçbir şey yazılmaz — ev dizinine
dokunan bir postinstall hook'u yok, sadece bu komut.
npx oduncu install --only claude,codex # seçerek
npx oduncu install --all # bilinen tüm konumlara
npx oduncu install --dry-run # ne olacağını göster
npx oduncu where # yollar ve mevcut durum
npx oduncu uninstall # her yerden kaldır
Claude Code kullanıyorsan plugin olarak da kurulabilir:
/plugin marketplace add erayendes/oduncu
/plugin install oduncu@oduncu
Tek SKILL.md, altı konum:
| Ajan | Global skill klasörü |
|---|---|
| Claude Code | ~/.claude/skills/ |
| Codex | ~/.codex/skills/ |
| Antigravity | ~/.gemini/config/skills/ |
| Gemini CLI | ~/.gemini/skills/ |
| Cursor | ~/.cursor/skills/ |
| Agent Skills standardı | ~/.agents/skills/ |
Sadece bir proje için istersen skills/oduncu/ klasörünü .claude/skills/,
./.codex/skills/ veya .agents/skills/ içine kopyalayıp commit et.
/oduncu kalk # aç
/oduncu yat # kapat
/oduncu talk # iz aç: tamam. satırına dosya yollarını ekler
/oduncu hush # iz kapat
/oduncu lang [dil] # yanıt dili
/oduncu help # komut listesi ve mevcut durum, senin dilinde
talk açıkken tamam. yerine tamam. src/app.ts, README.md görürsün; hush çıplak
tamam.'a döndürür. Ne dokunduğunu görmek isteyip paragraf okumak istemeyenler için.
lang yanıt dilini değiştirir — /oduncu lang en dersen yaparım... yerine will do...,
tamam. yerine done. alırsın, nesir cevaplar da İngilizceye geçer. Varsayılan ikili:
dört ifade her oturumda Türkçe, nesir senin yazdığın dilde. Kod ve commit mesajı hiçbirinden
etkilenmez.
Oduncu elinden geleni yapar. Ama token tasarrufunu garanti etmez, o sadece yapar.
Token tasarrufu için bkz: caveman
Sohbet dışına yazılan her şey normal: kod, commit mesajı, PR metni, dokümantasyon. Sessizlik sohbet için, çıktı için değil.
Give it a task, it says “yaparım...” — I'll do it — and does it. It never tells you what it is doing, because it is already doing it. When it's finished it says “tamam.” — done — and not one word more. Because it is the villager from Age of Empires II.
| Input | Output |
|---|---|
| Task | yaparım... → (fewest possible tool cards) → tamam. |
| Task failed | yaparım... → yapamadım. |
| Unsafe request | yapamam. + the reason |
| Task + question | yaparım... answer. → tamam. |
| Question | A normal, complete answer — in oduncu style |
No explanation. No summary. No code block. No progress note. No task list. No “great question!” — ever. Just “yaparım...”
If you want real silence, you already know.
Oduncu cannot suppress the tool call cards (Bash(...), Read(...)) — no skill, output
style or hook can, because the damned harness draws them.
It fights anyway. It can't silence them, but it thins them out.
Tests run, builds run. All of it so that that single word is true.
Even the villager talks back sometimes. But ask him why first.
The sign reads: WARNING! Do not start work without taking safety precautions — Safety first.
These aren't style, they're safety.
One line each. Then it goes quiet again. The rest is up to you.
npx oduncu install
Installs into every agent it finds on your machine. npm i writes nothing — there is no
postinstall hook touching your home directory, only this command.
npx oduncu install --only claude,codex # pick them
npx oduncu install --all # every known location
npx oduncu install --dry-run # show what would happen
npx oduncu where # paths and current state
npx oduncu uninstall # remove it everywhere
On Claude Code it also installs as a plugin:
/plugin marketplace add erayendes/oduncu
/plugin install oduncu@oduncu
One SKILL.md, six locations:
| Agent | Global skill directory |
|---|---|
| Claude Code | ~/.claude/skills/ |
| Codex | ~/.codex/skills/ |
| Antigravity | ~/.gemini/config/skills/ |
| Gemini CLI | ~/.gemini/skills/ |
| Cursor | ~/.cursor/skills/ |
| Agent Skills standard | ~/.agents/skills/ |
For a single project instead, copy the skills/oduncu/ directory into .claude/skills/,
./.codex/skills/ or .agents/skills/ and commit it.
/oduncu kalk # on
/oduncu yat # off
/oduncu talk # trace on: appends file paths to the tamam. line
/oduncu hush # trace off
/oduncu lang [code] # answer language
/oduncu help # command list and current state, in your language
With talk on you get tamam. src/app.ts, README.md instead of a bare tamam.; hush
brings the bare line back. For people who want to see what was touched without reading a
paragraph about it.
lang changes the answer language — /oduncu lang en gives you will do... instead of
yaparım..., done. instead of tamam., and prose answers in English. The default pair:
the four strings are Turkish in every session, prose follows whatever language you write in.
Code and commit messages are untouched by either.
Oduncu does what it can. But it guarantees no token savings — it just does the work.
For token savings, see caveman.
Everything written outside the chat stays normal: code, commit messages, PR text, documentation. The silence is for the conversation, not for the output.
Code and documentation are MIT licensed — details in LICENSE.
Age of Empires is a registered trademark of Microsoft Corporation. This project is independent and unofficial; it has no connection to Microsoft and is not endorsed, approved or sponsored by Microsoft.
No assets from the game are used in this repository — no images, no audio, no code, no text.
The drawings under assets/ are original pixel work in the spirit of the era. The name
“Oduncu” and the words yaparım and tamam are a nostalgic reference to the game's Turkish
dub, used descriptively only.
FAQs
Silent-executor mode for coding agents. Give it a task, it says "yaparım...", works, says "tamam." Nothing in between.
The npm package oduncu receives a total of 4 weekly downloads. As such, oduncu popularity was classified as not popular.
We found that oduncu demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.

Company News
Allow myself to introduce... myself.