Skip to content
Agentmart
Submit a tool

context-drop

Skill by rudyalways

IndexedMIT★ 2
Write a review

Chalk Labs

Need help deploying context-drop?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/rudyalways-context-drop

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The publisher has not written a description yet.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions: not checked yet.

What's inside

Skill name
context-drop
Description
None
License
MIT
Instructions
41 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • missing YAML frontmatter
  • name: missing
  • description: missing

Files (6)

  • .gitignore
  • Package.swift
  • SKILL.md
  • main.swift · Sources/ax-read/
  • build.sh
  • manifest.json

SKILL.md (first lines)

# Context-Drop AX-Read

Tiny Swift CLI that reads the focused app's text selection via the macOS Accessibility API. Sutando.app's "drop context" action (hotkey configurable via `state/hotkeys.json`) shells out to this binary to capture what you have highlighted.

## What it does

Runs once per invocation and emits a single JSON line on stdout:

```json
{"app":"Discord","window_title":"@sutando — Discord","url":"","selected":"the highlighted text","path":"ax"}
```

`path` values:
- `"ax"` — `AXSelectedText` returned non-empty (native NSTextView path)
- `"clipboard"` — AX returned empty, Cmd+C fallback wrote new clipboard content
- `"none"` — both paths returned empty (or AX was denied)

The Cmd+C fallback uses `NSPasteboard.changeCount` to distinguish "Cmd+C actually wrote something" from "clipboard already had content" — otherwise the previous clipboard contents would be silently reported as the new selection. The prior pasteboard string is restored after the probe so a failed-copy attempt doesn't corrupt the clipboard.

## Build

```bash
bash skills/context-drop/build.sh
```

Produces `skills/context-drop/ax-read`. `src/startup.sh` runs this automatically when the binary is missing or older than the source.

## Why a separate binary instead of inlining in Sutando.app

LSUIElement=YES menu-bar agents (which Sutando.app is) have a TCC attribution chain that can misroute AX queries to the parent bundle even after a re-grant. A separately-signed CLI launched as a child gets its own clean trust binding, and the resulting AX queries succeed consistently. The binary is also reusable by any other tool that needs a one-shot selection read — voice agents, other hotkey handlers, automation scripts.

## Permissions

The first time `ax-read` runs it'll trigger the macOS Accessibility prompt for **Sutando.app** (its parent, who macOS attributes the AX queries to). Approve the prompt; the binding persists until the next codesign identity change. See PR #902 for the full TCC story.

## Relationship to the private `personal-deictic` skill

This skill emits the **shared text-selection subset** of `personal-deictic`'s richer output. The private package additionally captures a screenshot of the focused window and the cursor position for deictic phrases ("this", "here") — those fields stay private. Output schemas overlap on the five fields Sutando.app's `invokeAxRead` consumes (`app`, `window_title`, `url`, `selected`, `path`); `personal-deictic` adds `screenshot_path` and `cursor` for the voice agent's `read_selection` tool.

`Sutando.app::resolveAxReadPath()` tries the private path first (when available) and falls back to this public binary, so users with the private skill keep their richer deictic captures while public users get the text-only path. If anything other than Sutando.app's `dropContext` ever spawns this public binary, it should not assume `screenshot_path`/`cursor` will be present — the contract is the five-field subset only.

From rudyalways/PhonePcLiveAgentsV2, MIT.

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Aug 5, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from rudyalways

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get context-drop running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying context-drop?

CallGet help
Cite this page

context-drop skill. Agent Mart. https://agentmart.dev/skills/rudyalways-context-drop (last updated 2026-10-24)