Skip to main content
skill CX Codex

axiom-vision — Claude Code skill: computer vision on Vision framework

A skill for Vision framework work: subject segmentation, pose detection, OCR, barcodes. Useful when you build a recognition feature on Apple platforms.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add CharlesWiltgen/Axiom --skill axiom-vision -a claude-code
Open on GitHub

What axiom-vision does

The skill kicks in whenever a project touches computer vision on the Vision framework. It ships three references: skills/vision-framework.md for implementation, skills/vision-ref.md for the API, and skills/vision-diag.md for debugging. A symptom table and a decision tree route you to the right one.

Implementation covers subject segmentation with VisionKit, hand and body pose detection, text recognition in fast and accurate modes, barcode detection with symbology selection, document scanning, and live scanning through DataScannerViewController. Isolating an object while excluding hands gets its own pattern, as does CoreImage HDR compositing.

Diagnostics walks through the usual breakage: a subject missed at the frame edge, missing pose landmarks, low-confidence observations, a frozen UI during processing, coordinate conversion bugs. For grouping faces into people across a whole library the skill points you to axiom-media — Vision detects faces in a single image, while MediaIntelligence clusters identities. Running Vision on the main thread is called out as a mistake: on older devices the app freezes.

What it helps with

  • lift a subject out of a photo and keep hands out of the mask
  • read text from an image in accurate mode
  • scan QR codes live through the camera
  • find hand pose landmarks in an image
  • fix coordinate conversion between origin systems

Example prompts for the agent

  • How do I detect hand pose in an image?
  • Isolate the subject but exclude the user's hands
  • Text recognition returns wrong characters — help me debug it

How to install axiom-vision

1Skills CLI (Vercel)

npx skills add CharlesWiltgen/Axiom --skill axiom-vision -a claude-code

2Manually: put the files in place

~/.claude/skills/axiom-vision/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/axiom-vision/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about axiom-vision

How do I install axiom-vision in Claude?

Run npx skills add CharlesWiltgen/Axiom --skill axiom-vision -a claude-code. The skill lands at ~/.claude/skills/axiom-vision/SKILL.md.

What does axiom-vision do?

It tells you which Vision framework API fits the task and gives working patterns for segmentation, pose, OCR, barcodes and document scanning. A separate reference handles cases where recognition is already broken.

How is axiom-vision different from axiom-media?

Vision detects faces in one image. To cluster faces into people across a library or pull video key frames, the skill sends you to axiom-media.

Source text

SKILL.md · MIT
---
name: axiom-vision
description: Use when implementing ANY computer vision feature — image analysis, pose detection, person segmentation, subject lifting, text recognition, barcode scanning.
license: MIT
---

# Computer Vision

**You MUST use this skill for ANY computer vision work using the Vision framework.**

## Quick Reference

| Symptom / Task | Reference |
|----------------|-----------|
| Subject segmentation, lifting | See `skills/vision-framework.md` |
| Hand/body pose detection | See `skills/vision-framework.md` |
| Text recognition (OCR) | See `skills/vision-framework.md` |
| Barcode/QR code detection | See `skills/vision-framework.md` |
| Document scanning | See `skills/vision-framework.md` |
| DataScannerViewController | See `skills/vision-framework.md` |
| Structured document extraction (iOS 26+) | See `skills/vision-framework.md` |
| Isolate object excluding hand | See `skills/vision-framework.md` |
| Tap-to-segment any object `OS27` | See `skills/vision-ref.md` |
| Vision on watchOS `watchOS27` | See `skills/vision-ref.md` |
| Vision tools for Foundation Models (BarcodeReaderTool, OCRTool) `OS27` | See `skills/vision-ref.md` |
| Vision framework API reference | See `skills/vision-ref.md` |
| Visual Intelligence integration (iOS 26+, iPadOS27/macOS27) | See `skills/vision-ref.md` |
| Sensitive content classification (nudity/gore/violence), categorized via `detectedTypes` (`OS27`) | See `skills/vision-ref.md` |
| Group/cluster faces into people across a library, video highlights/key frames (`OS27`) | Use axiom-media (skills/media-intelligence.md) instead — MediaIntelligence clusters identities; Vision detects faces in one image |
| Subject not detected | See `skills/vision-diag.md` |
| Hand/body pose missing landmarks | See `skills/vision-diag.md` |
| Low confidence observations | See `skills/vision-diag.md` |
| UI freezing during processing | See `skills/vision-diag.md` |
| Coordinate conversion bugs | See `skills/vision-diag.md` |
| Text not recognized / wrong chars | See `skills/vision-diag.md` |
| Barcode not detected | See `skills/vision-diag.md` |
| DataScanner blank / no items | See `skills/vision-diag.md` |
| Document edges not detected | See `skills/vision-diag.md` |

## Decision Tree

```dot
digraph vision {
    start [label="Computer vision task" shape=ellipse];
    what [label="What do you need?" shape=diamond];

    start -> what;
    what -> "skills/vision-framework.md" [label="implement feature"];
    what -> "skills/vision-ref.md" [label="API reference"];
    what -> "skills/vision-ref.md" [label="Visual Intelligence"];
    what -> "skills/vision-ref.md" [label="tap-to-segment / watchOS / FM tools (27)"];
    what -> "skills/vision-diag.md" [label="something broken"];
}
```

1. Implementing (pose, segmentation, OCR, barcodes, documents, live scanning)? → `skills/vision-framework.md`
2. Visual Intelligence system integration (camera/screenshot search; iOS 26+, iPadOS27/macOS27)? → `skills/vision-ref.md` (Visual Intelligence section)
3. Tap-to-segment, Vision on watchOS, or Vision tools for Foundation Models (27 cycle)? → `skills/vision-ref.md`
4. Need API reference / code examples? → `skills/vision-ref.md`
5. Debugging issues (detection failures, confidence, coordinates)? → `skills/vision-diag.md`

## Critical Patterns

**Implementation** (`skills/vision-framework.md`):
- Decision tree for choosing the right Vision API
- Subject segmentation with VisionKit
- Isolating objects while excluding hands (combining APIs)
- Hand/body pose detection (21/19 landmarks)
- Text recognition (fast vs accurate modes)
- Barcode detection with symbology selection
- Document scanning and structured extraction (iOS 26+)
- Live scanning with DataScannerViewController
- CoreImage HDR compositing

**Diagnostics** (`skills/vision-diag.md`):
- Subject detection failures (edge of frame, lighting)
- Landmark tracking issues (confidence thresholds)
- Performance optimization (frame skipping, downscaling)
- Coordinate conversion (lower-left vs top-left origin)
- Text recognition failures (language, contrast)
- Barcode detection issues (symbology, size, glare)
- DataScanner troubleshooting (availability, data types)

## Anti-Rationalization

| Thought | Reality |
|---------|---------|
| "Vision framework is just a request/handler pattern" | Vision has coordinate conversion, confidence thresholds, and performance gotchas. vision-framework.md covers them. |
| "I'll handle text recognition without the skill" | VNRecognizeTextRequest has fast/accurate modes and language-specific settings. vision-framework.md has the patterns. |
| "Subject segmentation is straightforward" | Instance masks have HDR compositing and hand-exclusion patterns. vision-framework.md covers complex scenarios. |
| "Visual Intelligence is just the camera API" | Visual Intelligence is a system-level feature requiring IntentValueQuery and SemanticContentDescriptor. vision-ref.md has the integration section. |
| "I'll just process on the main thread" | Vision blocks UI on older devices. Users on iPhone 12 will experience frozen app. 15 min to add background queue. |

## Example Invocations

User: "How do I detect hand pose in an image?"
→ See `skills/vision-framework.md`

User: "Isolate a subject but exclude the user's hands"
→ See `skills/vision-framework.md`

User: "How do I read text from an image?"
→ See `skills/vision-framework.md`

User: "Scan QR codes with the camera"
→ See `skills/vision-framework.md`

User: "Subject detection isn't working"
→ See `skills/vision-diag.md`

User: "Text recognition returns wrong characters"
→ See `skills/vision-diag.md`

User: "Show me VNDetectHumanBodyPoseRequest examples"
→ See `skills/vision-ref.md`

User: "How do I make my app work with Visual Intelligence?"
→ See `skills/vision-ref.md`

User: "Let users tap an object in a photo to cut it out"
→ See `skills/vision-ref.md` (Iterative Segmentation)

User: "Can I use Vision in my watchOS app?"
→ See `skills/vision-ref.md` (Vision on watchOS)

User: "RecognizeDocumentsRequest API reference"
→ See `skills/vision-ref.md`

User: "Group faces into people across my library" / "cluster faces on-device into persons"
→ Use `axiom-media` (`skills/media-intelligence.md`) — identity clustering across assets, not per-image detection

© CharlesWiltgen · MIT · CharlesWiltgen/Axiom

Similar skills

Everything for Mobile →

From the same set27

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor