tine CLAUDE.md

tine CLAUDE.md is an instructions file for coding agents from smythp/tine. It costs 1,352 tokens per session, scanned A, original, Apache-2.0.

Developer instructions for Tine, a command-line tool that lets an AI agent read and control a Linux desktop running GNOME on Wayland. It uses accessibility information and screenshots to find interface elements, then sends keyboard and mouse input.

In plain words
What is it for?
Developing or debugging desktop automation, including reading visible controls, taking screenshots, selecting windows, typing, and moving the mouse.
Why use it?
They document the system architecture, important files, and design constraints for changing software that operates a real desktop.

Instructions file

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 instructions/smythp/tine/claude-md
Clone the repo
git clone --depth 1 https://github.com/smythp/tine

Wrote 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.

agentmods badge for tine CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/smythp/tine/claude-md.svg)](https://agentmods.dev/instructions/smythp/tine/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/smythp/tine/claude-md"><img src="https://agentmods.dev/badge/instructions/smythp/tine/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,352 This file is loaded in full into every session.
When invoked 1,352 The same file — it is already loaded in full.
Security scan A 0 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.01352 $0.01352
Opus 5 $0.00676 $0.00676
Sonnet 5 $0.00270 $0.00270
Haiku 4.5 $0.00135 $0.00135

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

Security

Grade A, and why

tine CLAUDE.md 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 5d 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.

CLAUDE.md · 83 lines

How it starts

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

Tine — Agent Guide

CLI tool that lets AI agents drive a GNOME Wayland desktop. Hybrid AT-SPI2 accessibility tree + vision approach.

This file is notes for agents (Claude Code, Codex, Aider, etc.) working inside this repo. For user-facing docs, see README.md.

What this is

Tine is the bridge between an AI coding agent and a physical Linux desktop. It reads the screen (screenshots + accessibility tree) and acts on it (keyboard/mouse injection). Think "Playwright for the desktop" but hybrid — structured accessibility data when available, vision fallback when not.

Architecture

Agent session (local or remote)
  └→ tine CLI (runs on target machine)
       ├→ AT-SPI2 (read UI element tree: roles, names, bounding boxes, states)
       ├→ GNOME Shell extension (screenshots, window enumeration, focus)
       ├→ python-evdev / uinput (keyboard + mouse injection, kernel level)
       └→ ref cache (element ID → bounding box mapping)

No portals, no consent dialogs. Input injection goes through /dev/uinput at the kernel level via python-evdev. Mouse uses EV_ABS, keyboard/typing use EV_KEY. Screenshots go through the bundled GNOME Shell extension's D-Bus API. AT-SPI2 is just D-Bus queries.

CLI surface

tine tree                      # AT-SPI2 tree with element refs
tine tree --app Firefox        # scoped to one app
tine screenshot                # full screen capture via extension
tine screenshot --annotate     # Set-of-Mark overlays
tine screenshot --grid         # labeled coordinate grid (default 5x3: A1..E3)
tine screenshot --grid 10x6    # denser grid — cols x rows
tine screenshot --annotate --grid
tine screenshot --ocr          # OCR text detection (ref_tN)
tine describe --ocr            # include OCR text refs in describe output
tine click ref_t3              # click center of OCR-detected text region
tine click ref_3               # click at ref_3's bounding box center
tine click B3                  # click center of grid cell B3
tine click 450,320             # click at pixel coordinates
tine type "hello world"        # type text via evdev key events
tine key ctrl+c                # key combo
tine activate ref_3            # invoke AT-SPI2 action (bypasses coordinate pipeline)
tine windows                   # list windows (title, position, size, focused)
tine focus Firefox             # raise + focus window via extension D-Bus
tine describe                  # screenshot + tree → combined context for agent

Read the full file on GitHub · 83 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. 5d ago First seen · 83 lines · 1,352 tokens per session scan A 5139e9da5c04

Subscribe to this mod's changes

tine CLAUDE.md is an instructions file published in the GitHub repository smythp/tine (21 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 1,352 tokens to every session, about $0.0068 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-30.