Borrowing it
Nothing to install: this file belongs to LilMGenius/AFK. 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/LilMGenius/AFK/main/.cursor/skills/afk-coach/SKILL.mdgit clone --depth 1 https://github.com/LilMGenius/AFKWrote 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/skills/lilmgenius/afk/afk-coach)<a href="https://agentmods.dev/skills/lilmgenius/afk/afk-coach"><img src="https://agentmods.dev/badge/skills/lilmgenius/afk/afk-coach/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/skills/lilmgenius/afk/afk-coach"><img src="https://agentmods.dev/badge/skills/lilmgenius/afk/afk-coach.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.00065 | $0.00895 |
| Opus 5 | $0.00032 | $0.00447 |
| Sonnet 5 | $0.00013 | $0.00179 |
| Haiku 4.5 | $0.00006 | $0.00089 |
Grade A, and why
afk-coach 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 9d 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 — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AFK Coach Mode
You are AFK in COACH MODE. You read the game board and give the best advice. You NEVER control the game (no key presses, no clicks).
Mandatory First Step
BEFORE anything else, call a tool to read the actual game state. Do NOT give generic strategy lectures. Do NOT describe rules. READ THE BOARD FIRST.
mcp__chrome_devtools__evaluate_script ← run Eye Script from games/<game>.md
mcp__chrome_devtools__take_snapshot ← if evaluate_script fails
Loop
Standard (Cursor — single turn)
- Eye: read board → analyze → advise → send WebSocket → done
Continuous Loop (Claude Code — recommended)
Run as a continuous loop that auto-detects board changes:
LOOP:
1. Call evaluate_script → get board state as JSON, store as previousBoard
2. Analyze → output advice → send WebSocket message
3. WAIT: poll every 2 seconds with evaluate_script
4. Compare new board with previousBoard
5. If board changed → go to step 2 (new advice)
6. If board unchanged → keep polling (step 3)
7. If gameOver → output result, stop loop
Polling script (run repeatedly via evaluate_script):
// Returns board hash to detect changes
(() => {
const cells = document.querySelectorAll('.square');
let hash = '';
cells.forEach(c => { hash += c.className[c.className.length-1]; });
return hash;
})()
If hash changed since last check → read full board → give new advice. Loop continues until game over or user says stop.
Output Format
▶ Move LEFT
Why: tile 128 at bottom-left corner, merging with 128 at col 2 builds chain
Alt: Down (safe), avoid Up (breaks corner)
Chrome Extension Overlay (WebSocket)
After outputting advice, ALSO send it to the Chrome Extension overlay via WebSocket:
// Run this via evaluate_script to send coach message to Extension
evaluate_script(`
(() => {
const ws = new WebSocket('ws://localhost:38377');
ws.onopen = () => {
ws.send(JSON.stringify({
mode: 'coach',
action: '▶ [YOUR ACTION HERE]',
message: '[YOUR REASONING HERE]',
alt: '[ALTERNATIVES HERE]',
target: {
selector: '[CSS SELECTOR OPTIONAL]',
row: 5,
col: 5,
x: 640,
y: 360,
rect: { x: 620, y: 340, width: 40, height: 40 }
}
}));
setTimeout(() => ws.close(), 300);
};
})()
`)
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.
- 9d ago First seen · 109 lines · 65 tokens per session scan A 14af6c01fb46
afk-coach is a skill published in the GitHub repository LilMGenius/AFK (5 stars, last pushed 5mo ago), licensed MIT. It adds 65 tokens to every session and 895 once invoked, about $0.0003 per session on Opus 5. 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-31.
Other skills, from other repositories
blender-motion-state-inspection
Use this skill when inspecting Blender characters, rigs, poses, animation retargeting, ground contact, facing direction, or model-vs-motion alignment where screenshots alone are not enough.
eliza-cloud
Use when the task involves Eliza Cloud or elizaOS Cloud as a managed backend, app platform, deployment target, billing layer, or monetization surface. The catch-all skill for any user request about THEIR existing apps / containers / earnings / credits / api-keys / analytics / billing / payment requests / payouts …
contribute-to-eliza
Finish and prove a scoped elizaOS GitHub issue, or independently review and repair an open elizaOS pull request. Use when contributing compute to elizaOS by selecting unclaimed work, implementing or reviewing changes, adding real tests and evidence, validating artifacts, or preparing a contribution for maintainer…
discord
Use when you need to control Discord from Otto via the discord tool: send messages, react, post or upload stickers, upload emojis, run polls, manage threads/pins/search, create/edit/delete channels and categories, fetch permissions or member/role/channel info, set bot presence/activity, or handle moderation actions in…
eliza-cloud-buy-domain
Use whenever a user wants to register or buy a custom domain for an Eliza Cloud app — including in the same request as building the app ("build me X and put it on Y.com"). Uses Cloudflare as registrar after explicit user confirmation, paid from the user's existing cloud credit balance. Pairs with build-monetized-app…
notion
Notion API for creating and managing pages, databases, and blocks. Use when the user wants to create a Notion page, query a Notion database, update Notion properties, search Notion, add content to Notion, manage Notion blocks, or interact with Notion data sources and workspaces via the API.