Agent skill

Egohos Segmentation

by wu-yc in wu-yc/LabClaw

Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos.

MITAuto-check passed

Install Egohos Segmentation

skills CLI
$ npx skills add wu-yc/LabClaw --skill egohos-segmentation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install wu-yc/LabClaw egohos-segmentation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/wu-yc/LabClaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vision/egohos-segmentation .claude/skills/egohos-segmentation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
egohos-segmentation
GitHub stars
1.1k
Used in
1 other repo
Token cost
~2.7k tokens
SKILL.md length
506 words
Files
1
Skills in repo
68
Repo updated
First seen
Licence
MIT

At a glance

Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos.

  • Works in 4 steps: Pixel-Level Segmentation → Video Processing with Mask Overlay → Hand-Object Interaction Analysis → …
  • SKILL.md covers Overview, When to Use This Skill, Core Capabilities and Installation and Setup, plus 7 more sections
  • Calls pip, python and git; reaches github.com

What it does

Egohos Segmentation is an agent skill from wu-yc/LabClaw. Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos. Outputs fine-grained segmentation masks with hand regions highlighted. Specialized for hand-object interaction scenarios with pixel-accurate masks. Ideal for detailed interaction analysis.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: LabClaw – Operating Layer for LabOS (Stanford-Princeton AI Co-Scientists). The licence is MIT.

Example prompts

  • “/egohos-segmentation”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pixel-Level Segmentation
  2. Video Processing with Mask Overlay
  3. Hand-Object Interaction Analysis
  4. Batch Processing

What it can do on your machine

Read from SKILL.md and the folder at commit df37802. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip
    • python
    • git
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Egohos Segmentation loads about 2.7k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 506 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from wu-yc/LabClaw at commit df37802, republished under its MIT licence (© wu-yc). 506 words, ~2,710 tokens.

Download SKILL.mdSave it as .claude/skills/egohos-segmentation/SKILL.md (or your agent's skills folder).
name
egohos-segmentation
description
Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos. Outputs fine-grained segmentation masks with hand regions highlighted. Specialized for hand-object interaction scenarios with pixel-accurate masks. Ideal for detailed interaction analysis.
license
MIT license
metadata.skill-author
K-Dense Inc.
metadata.original-repo
https://github.com/owenzlz/EgoHOS
metadata.skill-category
Computer Vision
metadata.tags
hand-segmentation, object-segmentation, egocentric-vision, pixel-level-masks, hand-object-interaction

EgoHOS - Egocentric Hand-Object Segmentation

Overview

Fine-grained hand-object segmentation system designed for egocentric (first-person) videos. EgoHOS provides pixel-level segmentation masks that precisely separate hands from objects and background, enabling detailed analysis of hand-object interactions. The system outputs colorful mask overlays that make hand regions visually distinct and easy to analyze.

Key advantage: Pixel-level accuracy for understanding hand-object boundaries and contact regions, surpassing bounding box or keypoint approaches for interaction understanding.

When to Use This Skill

This skill should be used when:

  • Need pixel-accurate hand and object masks in egocentric videos
  • Analyzing hand-object manipulation and interactions
  • Studying contact regions between hands and objects
  • Creating training data for segmentation models
  • Applications requiring precise hand shape and outline
  • Research in fine-grained activity recognition
  • Building systems that need to understand hand-object contact
  • Generating annotated videos with segmentation overlays

Choose this when: You need pixel-level segmentation of hands and objects, not just bounding boxes or keypoints.

Consider alternatives:

  • For hand detection only: Use victordibia-handtracking
  • For 3D pose estimation: Use hands-3d-pose
  • For multi-view 3D tracking: Use facebookresearch-hot3d

Core Capabilities

1. Pixel-Level Segmentation

Per-pixel classification with multiple classes:

  • Hand pixels (left/right hand)
  • Object pixels (manipulated objects)
  • Background
  • Optional: Multiple object instances

Mask format:

python
masks = {
    'hand_mask': np.array(H, W),      # Binary mask for hand
    'object_mask': np.array(H, W),    # Binary mask for objects
    'combined_mask': np.array(H, W),  # Multi-class mask
    'hand_bbox': [x, y, w, h],        # Hand bounding box
    'object_bbox': [x, y, w, h],      # Object bounding box
}
2. Video Processing with Mask Overlay

Generate annotated videos with colorful segmentation overlays:

bash
# Clone repository
git clone https://github.com/owenzlz/EgoHOS.git
cd EgoHOS

# Install dependencies
pip install torch torchvision opencv-python numpy pillow

# Download pre-trained models
bash scripts/download_models.sh

# Run segmentation on video
python demo.py \
    --video egocentric_video.mp4 \
    --output_dir ./output \
    --overlay_masks \
    --save_video

Output features:

  • Hand regions colored (e.g., blue/cyan)
  • Object regions colored (e.g., red/orange)
  • Semi-transparent overlay on original video
  • Smooth masks across video frames
  • Edge refinement for clean boundaries
3. Hand-Object Interaction Analysis

Identify contact regions between hands and objects:

  • Compute overlap between hand and object masks
  • Detect grasping and manipulation moments
  • Track contact regions over time
  • Analyze hand pose relative to objects
python
def analyze_contact(hand_mask, object_mask):
    """Analyze hand-object contact"""
    overlap = hand_mask & object_mask
    contact_area = np.sum(overlap)

    # Compute contact metrics
    hand_coverage = contact_area / np.sum(hand_mask)
    object_coverage = contact_area / np.sum(object_mask)

    return {
        'contact_pixels': contact_area,
        'hand_coverage': hand_coverage,
        'object_coverage': object_coverage,
    }
4. Batch Processing

Process multiple videos efficiently:

python
import os
from pathlib import Path
from egohos import EgoHOS

model = EgoHOS()
model.load_model('checkpoints/best_model.pth')

video_dir = Path('egocentric_videos')
output_dir = Path('segmentation_output')

for video_path in video_dir.glob('*.mp4'):
    output_path = output_dir / f'{video_path.stem}_segmented.mp4'
    model.process_video(
        str(video_path),
        str(output_path),
        overlay=True,
        save_masks=True
    )

Installation and Setup

bash
# Clone repository
git clone https://github.com/owenzlz/EgoHOS.git
cd EgoHOS

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install PyTorch
pip install torch torchvision

# Install other dependencies
pip install opencv-python numpy pillow matplotlib tqdm

# Download pre-trained models
python scripts/download_pretrained_models.py

Usage Examples

Example 1: Basic Video Segmentation
python
import cv2
import numpy as np
from egohos import EgoHOS

# Initialize model
model = EgoHOS()
model.load_model('checkpoints/model.pth')

# Load video
cap = cv2.VideoCapture('egocentric_video.mp4')

# Get video properties
fps = int(cap.get(cv2.CAP_PROP_FPS))
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

# Setup output
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('output_segmented.mp4', fourcc, fps, (width, height))

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    # Segment frame
    masks = model.segment(frame)

    # Create overlay
    overlay = model.create_overlay(frame, masks)

    # Save
    out.write(overlay)

cap.release()
out.release()
Example 2: Extract Hand and Object ROIs
python
import cv2
import numpy as np
from egohos import EgoHOS

model = EgoHOS()
model.load_model('checkpoints/model.pth')

frame = cv2.imread('frame.jpg')
masks = model.segment(frame)

# Extract hand ROI
hand_mask = masks['hand_mask']
contours, _ = cv2.findContours(hand_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if contours:
    x, y, w, h = cv2.boundingRect(contours[0])
    hand_roi = frame[y:y+h, x:x+w]
    cv2.imwrite('hand_roi.jpg', hand_roi)

# Extract object ROI
object_mask = masks['object_mask']
contours, _ = cv2.findContours(object_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if contours:
    x, y, w, h = cv2.boundingRect(contours[0])
    object_roi = frame[y:y+h, x:x+w]
    cv2.imwrite('object_roi.jpg', object_roi)
Example 3: Track Hand-Object Contact Over Time
python
from egohos import EgoHOS
import numpy as np
import cv2

model = EgoHOS()
model.load_model('checkpoints/model.pth')

cap = cv2.VideoCapture('interaction_video.mp4')

contact_timeline = []

frame_idx = 0
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    masks = model.segment(frame)

    # Compute contact metrics
    hand_mask = masks['hand_mask']
    object_mask = masks['object_mask']

    overlap = hand_mask & object_mask
    contact_area = np.sum(overlap)

    hand_coverage = contact_area / np.sum(hand_mask) if np.sum(hand_mask) > 0 else 0
    object_coverage = contact_area / np.sum(object_mask) if np.sum(object_mask) > 0 else 0

    # Detect grasping (significant hand coverage)
    is_grasping = hand_coverage > 0.3

    contact_timeline.append({
        'frame': frame_idx,
        'contact_area': contact_area,
        'hand_coverage': hand_coverage,
        'object_coverage': object_coverage,
        'is_grasping': is_grasping,
    })

    frame_idx += 1

# Analyze timeline
grasping_frames = [t for t in contact_timeline if t['is_grasping']]
print(f"Grasping detected in {len(grasping_frames)} frames")
Example 4: Generate Training Data
python
from pathlib import Path
from egohos import EgoHOS
import cv2
import numpy as np

model = EgoHOS()
model.load_model('checkpoints/model.pth')

# Process dataset
input_dir = Path('raw_frames')
output_dir = Path('segmentation_masks')
output_dir.mkdir(exist_ok=True)

for img_path in input_dir.glob('*.jpg'):
    # Load image
    img = cv2.imread(str(img_path))

    # Generate masks
    masks = model.segment(img)

    # Save masks
    base_name = img_path.stem

    # Hand mask
    cv2.imwrite(str(output_dir / f'{base_name}_hand.png'), masks['hand_mask'] * 255)

    # Object mask
    cv2.imwrite(str(output_dir / f'{base_name}_object.png'), masks['object_mask'] * 255)

    # Combined mask (0: background, 128: hand, 255: object)
    combined = np.zeros_like(masks['hand_mask'], dtype=np.uint8)
    combined[masks['hand_mask']] = 128
    combined[masks['object_mask']] = 255
    cv2.imwrite(str(output_dir / f'{base_name}_combined.png'), combined)
Show full SKILL.md (201 more words)Show less

Model Specifications

Architecture: Deep learning segmentation network (typically U-Net or DeepLab variant)

  • Framework: PyTorch
  • Input resolution: 512x512 (typical)
  • Output: Per-pixel class probabilities
  • Model size: ~150MB
  • Inference speed: 10-20 FPS on GPU

Training datasets:

  • EgoHands (bounding boxes → masks)
  • Custom hand-object interaction datasets
  • Synthesized egocentric data

Performance metrics:

  • mIoU (mean Intersection over Union): ~80% on hand class
  • Pixel accuracy: ~92%
  • Boundary F-score: ~85%

Integration with Other Skills

This skill works effectively with:

  • victordibia-handtracking: For initial hand detection
  • hands-3d-pose: For combining segmentation with pose estimation
  • Object detection skills: For identifying manipulated objects
  • Activity recognition: For understanding manipulation actions

Limitations

Scope: Specialized for egocentric hand-object interactions.

Known limitations:

  • May struggle with heavy occlusions
  • Performance depends on lighting conditions
  • Requires visible hand-object boundary
  • Single-frame processing (temporal consistency may need post-processing)
  • Computational requirements (GPU recommended)

Best Practices

  1. Use GPU for real-time or large-scale processing
  2. Apply temporal smoothing to reduce mask flicker in videos
  3. Post-process masks (morphological operations) for cleaner edges
  4. Validate on your data before production use
  5. Consider complementing with pose estimation for full understanding
  6. Handle edge cases - no hands, no objects, extreme lighting

References

Citation

bibtex
@software{owenzlz_egohos,
  author = {Owen [Last Name]},
  title = {EgoHOS: Egocentric Hand-Object Segmentation},
  url = {https://github.com/owenzlz/EgoHOS},
  year = {2023}
}

© wu-yc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/vision/egohos-segmentation of wu-yc/LabClaw.

Open the folder on GitHubat commit df37802

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in wu-yc/LabClaw, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Egohos Segmentation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Egohos Segmentation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Egohos Segmentation this skillwu-yc/LabClaw1.1k1 repos~2.7kAutomated safety check: PassMIT
Homelab Vlan Segmentationaffaan-m/ECC276k1 repos~2.5kAutomated safety check: PassMIT
Object Altthedaviddias/Front-End-Checklist74k—~429Automated safety check: PassMIT
Object Storagesickn33/agentic-awesome-skills47k2 repos~2.6kAutomated safety check: PassMIT
Hand Drawn Diagramsnexu-io/open-design100k—~336Automated safety check: PassApache-2.0
Segment Cdpdavila7/claude-code-templates33k2 repos~354Automated safety check: PassMIT

Similar skills

  • Segmenting home networks into VLANs for IoT, guest, trusted, and server traffic using UniFi, pfSense/OPNsense, and MikroTik — including switch trunk config, firewall rules, and wireless SSID mapping.

    276k GitHub starsUsed in 1 repo~2.5k tokens
    DevOps & CloudAuto-check passed
  • Object Alt

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide alternative text for objects.

    74k GitHub stars~429 tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Object Storage

    sickn33/agentic-awesome-skills

    Configure object storage with S3, GCS, and MinIO. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~2.6k tokens
    Backend & APIsAuto-check passed
  • Hand Drawn Diagrams

    nexu-io/open-design

    Generate hand-drawn Excalidraw diagrams from a prompt — animated SVG, hosted edit link, and PNG export.

    100k GitHub stars~336 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Segment Cdp

    davila7/claude-code-templates

    Expert patterns for Segment Customer Data Platform including Analytics.js, server-side tracking, tracking plans with Protocols, identity resolution, destinations configuration, and data governance…

    33k GitHub starsUsed in 2 repos~354 tokens
    Data & AnalyticsAuto-check passed
  • Beachhead Segment

    phuryn/pm-skills

    Identify the first beachhead market segment for a product launch.

    27k GitHub stars~1.5k tokensUpdated yesterday
    Marketing & SEOAuto-check passed

More from wu-yc/LabClaw

All 68 skills in this repo
  • Retrieves chemical compound information from PubChem and ChEMBL with disambiguation, cross-referencing, and quality assessment.

    1.1k GitHub starsUsed in 2 repos~2.3k tokens
    Auto-check passed
  • Search and retrieve clinical practice guidelines across 12+ authoritative sources including NICE, WHO, ADA, AHA/ACC, NCCN, SIGN, CPIC, CMA, CTFPHC, GIN, MAGICapp, PubMed, EuropePMC, TRIP, and…

    1.1k GitHub starsUsed in 2 repos~4.9k tokens
    Auto-check passed
  • Generate comprehensive disease research reports using 100+ ToolUniverse tools.

    1.1k GitHub starsUsed in 2 repos~4.7k tokens
    Auto-check passed
  • Identify drug repurposing candidates using ToolUniverse for target-based, compound-based, and disease-driven strategies.

    1.1k GitHub starsUsed in 2 repos~4.4k tokens
    Auto-check passed
  • Retrieves gene expression and omics datasets from ArrayExpress and BioStudies with gene disambiguation, experiment quality assessment, and structured reports.

    1.1k GitHub starsUsed in 2 repos~2.6k tokens
    Auto-check passed
  • Perform comprehensive gene enrichment and pathway analysis using gseapy (ORA and GSEA), PANTHER, STRING, Reactome, and 40+ ToolUniverse tools.

    1.1k GitHub starsUsed in 2 repos~4k tokens
    Auto-check passed

Questions about Egohos Segmentation

What does Egohos Segmentation do?

Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos. Egohos Segmentation is an agent skill from wu-yc/LabClaw. Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos.

How do I install Egohos Segmentation in Claude Code?

Run `npx skills add wu-yc/LabClaw --skill egohos-segmentation -a claude-code`. Or copy the skill folder (skills/vision/egohos-segmentation in wu-yc/LabClaw) into .claude/skills/egohos-segmentation in your project. Claude Code loads it when a task matches its description.

How do I install Egohos Segmentation in Codex?

Run `npx skills add wu-yc/LabClaw --skill egohos-segmentation -a codex`. Or copy the skill folder (skills/vision/egohos-segmentation in wu-yc/LabClaw) into .agents/skills/egohos-segmentation in your project. Codex loads it when a task matches its description.

Can I use Egohos Segmentation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wu-yc/LabClaw --skill egohos-segmentation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/egohos-segmentation, .gemini/skills/egohos-segmentation, .github/skills/egohos-segmentation and .opencode/skills/egohos-segmentation in your project.

What does Egohos Segmentation need to run?

Going by SKILL.md and its folder, Egohos Segmentation needs the command-line tools its instructions call (pip, python, git and bash). Our summary lists: Python 3.

Does Egohos Segmentation access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Egohos Segmentation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Egohos Segmentation use?

Egohos Segmentation is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Egohos Segmentation use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Egohos Segmentation?

Skills that share tags, products or a category with Egohos Segmentation: Homelab Vlan Segmentation (affaan-m/ECC, 276k stars), Object Alt (thedaviddias/Front-End-Checklist, 74k stars), Object Storage (sickn33/agentic-awesome-skills, 47k stars) and Hand Drawn Diagrams (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Egohos Segmentation?

wu-yc (a GitHub user) maintains it in wu-yc/LabClaw, which has 1,055 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on March 19, 2026.

Source: wu-yc/LabClaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.