tykimos/agent-native-agent/context-chips
Claude Code and agent skill by tykimos/agent-native-agent
- community
Checking that the SKILL.md file is still in the repository.
Port or rebuild ANA's context chips — the Chip mode toggle that lets the user tap any on-screen item to attach it to the next chat message, the ✎ draw button that lets them circle things on the screen and send an annotated screenshot plus the items under the marks, and the ⟳ rescan button that registers newly added UI elements as chip targets. Use when the user says "컨텍스트 칩", "칩 모드", "그리기 버튼", "화면에 표시해서 보내기", "annotation", "요소 추가", "새로고침 버튼으로 칩 등록", or when ana-update reports context-chips / context-draw missing.
Install
npx vskill@latest install tykimos/agent-native-agent/context-chipsSKILL.md
context-chips — point at the screen instead of describing it
The user shouldn't have to type "the second task on the Tasks tab". They switch on Chip, tap the thing, and it rides along with the next message. Or they draw on the screen.
UX spec
- Chip toggle: a switch. While on, chip-able items get a subtle affordance (outline on hover/tap target). Tapping an item adds a chip above the chat input:
[Task] Book the venue ✕. Tapping it again removes the chip. Chips are sent as aContext:block (- [Kind] text), and the chat log view turns them back into chips on the user's bubble. - Screen chip: there's always one chip describing the view: tab, scroll position, viewport size.
- ✎ Draw (annotation): covers the page with a canvas. The bar at the bottom has pen colors red `#FF0000`, magenta `#FF00FF`, blue `#0000FF`: pure hues the model recognizes reliably. Strokes are 5px color over a 9px white outline so they read on any background. Buttons: Undo / Cancel / Add to chat. Mostly used to circle things, like annotating a slide.
- Add to chat:
- Captures the page (
modern-screenshot, served locally at/vendor/modern-screenshot.mjs) and composites the strokes on top. - Uploads the result as
annotation-<tab>-<ts>.png(JPEG if > 8 MB). - Adds chips for the items under the marks (
drawTargetsUnder), with the draw layer set topointer-events: nonewhile probing withelementFromPoint. - The Screen chip says "red marks … annotated screenshot attached — look for the red pen marks (white-outlined)".
- On mobile the chat opens immediately.
- If capture fails, it falls back to the chips plus an error line; never a silent failure.
- ⟳ Rescan: the chip target list (
CAP) is hand-written, so UI added later isn't chip-able. Rescan walks every#main section.viewand finds "unit-looking" elements not covered byCAP(not containers, not control-only). It registers class-based selectors (selectorFor), so they survive re-renders, and stores them inlocalStorage['ana-chip-extra']. It then flashes the new ones (.chip-new) and toasts "N new element types".
Anchors / code (upstream dashboard.html)
| What | Anchors | |
|---|---|---|
| Toggle + buttons | #modeToggle, #drawBtn, #chipScanBtn, function setMode | |
| Chip state & message | contextChips, function renderChips, function addChip, function clearChips, function buildMessage | |
| Targets | const CAP = [...] (selector, kind, text getter), function applyChipAffordance, function scanChipTargets, function registerChipTarget, function loadChipExtra, function selectorFor, function isControlOnly, function coveredByCap | |
| Draw | #drawLayer, #drawCanvas, #drawUndo #drawCancel #drawDone, function openDraw, function closeDraw, function drawRepaint, function drawTargets, function drawTargetsUnder | |
| Server | /vendor/modern-screenshot.mjs route (serves node_modules/modern-screenshot/dist/index.mjs), npm dep modern-screenshot |
Porting into an existing ANA
npm i modern-screenshot, then add the/vendor/modern-screenshot.mjsroute to the extraApi module. Uploads need/api/upload; portchat-attachmentsfrom chat-window first if it's missing.- Copy the header buttons (
#modeToggle,#drawBtn,#chipScanBtn) into the target's header, before its profile button. Copy the CSS for.mode-toggle,.chip*,.draw-layer,.draw-bar,.chip-new. - Rewrite `CAP` for the target's own domain. das-ana has disks/volumes, not tasks. List the target's unit elements (cards, rows, KPIs) with a kind and a short text getter. This is the only part that is not copy-paste.
- Copy the JS blocks listed above.
buildMessage()must prepend theContext:block exactly as upstream, because the chat log view parses it back into chips. - Mobile header spacing: the Chip switch, ✎, ⟳, and profile keep 8px gaps. Their group sits at the right (
margin-left: autoon the toggle).
Verify
- Chip on → tap 3 different item kinds → 3 chips → send → the agent receives a
Context:block. The bubble shows the chips. - ✎ → circle an item in red → Add to chat → at 390px the chat opens, the thumbnail shows the red circle, and the chip for that item exists.
- Add a new kind of card to a view → ⟳ → toast says 1 new type → tapping it in Chip mode makes a chip, and it survives a reload.
- Chip off hides ✎, and ⟳ remains.
Sketch a screen
A blank pad for drawing a rough screen, separate from ✎ Draw (which marks up the live page). #sketchLayer with #skCanvas: pen, box, text, eraser, black / red / blue, Undo, Clear, Cancel, Send to ANA (PNG via attachFiles, input prefilled "Here is a rough sketch of a screen I want: "). Opened by any [data-sketch] button (PRD toolbar, the start card, the empty Work tab). The agent keeps sketches in the PRD as ; mdHtml shows images from /uploads/ only (.md-img).
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/context-chips/SKILL.md
Popularity
- Repository stars
- 73
- Repository forks
- 9
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/tykimos/agent-native-agent/context-chips)