photograph

Captures visual snapshots (screenshots) of web pages and records screen sessions (video).

7 stars

Best use case

photograph is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Captures visual snapshots (screenshots) of web pages and records screen sessions (video).

Teams using photograph should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/photograph/SKILL.md --create-dirs "https://raw.githubusercontent.com/codata/croissant-toolkit/main/.gemini/skills/photograph/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/photograph/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How photograph Compares

Feature / AgentphotographStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Captures visual snapshots (screenshots) of web pages and records screen sessions (video).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 📸 Photograph Skill (formerly Screenshot Taker)

The Photograph skill allows the toolkit to capture visual snapshots of web pages and record screen activity. This is useful for archiving dataset sources, verifying page content, recording process execution for proof-of-work, or feeding visual data into Gemini's multimodal reasoning engine.

## Features
- **High-Quality Screenshots**: Capture web pages using Playwright (High-Fidelity).
- **Screen Recording**: Record the entire screen (macOS) while a specific process is running.
- **Headless Mode**: Captured quietly in the background (default for screenshots).
- **Auto-Consent Handling**: Automatically handles "Accept Cookies" popups.
- **Process Sync**: Video recording automatically starts before a command and stops when it finishes.

## Setup
This skill requires `playwright` and `ffmpeg`. Run the following commands to set it up:

```bash
pip install playwright
playwright install chromium
brew install ffmpeg  # On macOS
```

## Usage

### 1. Screenshots
Capture a web page. You can capture a single snapshot or two snapshots (Begin/End) to see how the page evolves (e.g., after popups are handled).

```bash
# Simple screenshot
python3 .gemini/skills/photograph/scripts/take_screenshot.py "https://mlcommons.org/croissant"

# Dual-state capture (Begin @ 0s, End @ 12s)
python3 .gemini/skills/photograph/scripts/take_screenshot.py "https://google.com" --dual-state --delay 12
```

### 2. Screen Recording (New!)
Record the screen while a specific command is being executed. The recording will automatically stop when the command completes.

```bash
python3 .gemini/skills/photograph/scripts/record_screen.py --command "python3 main.py run" --output demo.mp4
```

### 3. Fixed Duration Recording
Record the screen for 10 seconds.
```bash
python3 .gemini/skills/photograph/scripts/record_screen.py --duration 10 --output short_clip.mp4
```

### 4. Advanced Recording (New!)
Record a specific screen with audio, or list available devices.

```bash
# List available screens and microphones
python3 .gemini/skills/photograph/scripts/record_screen.py --list-devices

# Record Screen 1 with Audio enabled
python3 .gemini/skills/photograph/scripts/record_screen.py --screen 2 --audio --duration 5 --output multiscreen.mp4
```

## Integration
This skill can be used by the **Orchestrator** to visually verify pages or provide a video log of long-running data integration processes.

Related Skills

walker

7
from codata/croissant-toolkit

Deep crawl functionality that extracts and visits internal links from a webpage.

orchestrator_expert

7
from codata/croissant-toolkit

Orchestrator agent that has comprehensive knowledge and command over all available skills in this toolkit to create complex workflows.

neo4j_expert

7
from codata/croissant-toolkit

Store and query Croissant datasets in a Neo4j Graph Database for relational discovery and semantic search.

youtuber

7
from codata/croissant-toolkit

Search for videos on YouTube based on specific keywords. Get list of videos with title, description, and URL.

wizard

7
from codata/croissant-toolkit

The ultimate data integrator. Orchestrates transcription, translation, NLP analysis, and Croissant serialization into a single automated pipeline.

unf

7
from codata/croissant-toolkit

Universal Numeric Fingerprint (UNF) generator. For strings, it splits into words and sorts them alphabetically to provide order-invariant fingerprints. Supports dataframes and files too.

translator

7
from codata/croissant-toolkit

Recognize the language of input content or video scripts and translate them precisely into English using Gemini 3.

transcriber

7
from codata/croissant-toolkit

Fetch and store transcripts from YouTube videos for deep content analysis.

telegram_expert

7
from codata/croissant-toolkit

Send results and notifications to Telegram channels or users.

rohub

7
from codata/croissant-toolkit

Deposit research objects and add semantic annotations to the RO-Hub portal using the rohub library.

ro-crate-expert

7
from codata/croissant-toolkit

Specialized in creating RO-Crate packages from Dataverse metadata, with integrated ODRL-based DID (Decentralized Identifier) attribution and provenance via the ro-crate-py library.

📊 Presentation Expert Skill

7
from codata/croissant-toolkit

The **Presentation Expert** is responsible for transforming complex research data, metadata, and insights into high-impact presentation decks.