agentleFS
magnus919magnus919/agent-skills/camera-hacking/SKILL.md

camera-hacking

Skill172 starsChanged 4 months agoMITView on GitHub

Investigate, reverse-engineer, develop, and validate digital-camera modifications and interoperability, including custom firmware, hidden settings, camera control protocols, feature unlocks, and model-specific recovery. Use for feasibility research, offline analysis, controlled experiments, and explicitly authorized installation on photographic, cinema, and action cameras across manufacturers, especially Fujifilm X and Ricoh GR. Do not use for ordinary photography advice, routine vendor firmware updates, media editing, or unauthorized camera access.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 9 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use authorization already established in the session.

    line 34
  2. Distinctive:

    Classify the mechanism: Use mechanisms and compatibility to distinguish official control, reverse-engineered protocols, host processing, …

    line 54
  3. Distinctive:

    Make a bounded feasibility decision: Use the assessment template.

    line 59
  4. Distinctive:

    Prepare the device experiment: Read experiments and recovery for build, installation or hardware tasks.

    line 71
  5. Distinctive:

    Execute the authorized stage and verify its outcome: Follow the pinned project procedure only for the resolved target.

    line 77
  6. Distinctive:

    Test the intended lifecycle: live view, recording, file integrity, relevant lenses, restart and restoration as applicable.

    line 80
  7. Distinctive:

    If a companion is unavailable, disclose that limitation and complete the work that can be supported.

    line 102
  8. Distinctive:

    Start with all X-series identities or all digital GR identities and editions.

    line 165
  9. Distinctive:

    Use these for the named model or mechanism.

    line 199

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Camera Hacking

Turn a requested camera capability into a source-grounded investigation, controlled implementation, and verified result. Start with the desired photographic outcome, not a firmware download. The references are dated discovery evidence, not a list of universally supported hacks. Refresh relevant upstream evidence before acting.

Scope and authorization

Support discovery, offline firmware/source analysis, patch development, build and emulator work, protocol interoperability, and explicitly authorized camera-side experiments. Name which stage the user requested. Do not stop at research when the user authorized implementation; continue through the requested deliverable.

This workflow can change external state: camera settings, calibration, boot flags, firmware, network services, cards, or physical hardware.

Confirm the target, scope, and rollback path before acting. Read-only discovery may proceed without confirmation.

Use authorization already established in the session; ask only for missing scope. A request to research a public skill does not authorize changing a personal camera. Destructive operations require an explicit directive. A reversible card loader may still change persistent camera state. Do not run an unknown tool merely to query a camera: first establish whether the command writes state or enables services.

Workflow

  1. Define the outcome and deliverable. Record the feature, execution location, required shooting mode, image/output requirements, and requested stage. For a public survey, keep multiple manufacturers/models; do not require a personal camera choice. For a device operation, resolve the exact body, regional suffix, firmware and image hash when available, board revision if material, existing modifications, accessories, host platform, and ownership/authorization.
  2. Find the narrowest evidence. Load the matching manufacturer reference and model/family record below. Check official capabilities and SDKs, then original project documentation, source, release artifacts and negative reports. Record URL, date, commit/release, exact tested identity and evidence level. If a brand is absent, use the evidence method and document the new model; absence is not proof that it cannot be modified.
  3. Classify the mechanism. Use mechanisms and compatibility to distinguish official control, reverse-engineered protocols, host processing, RAM execution, persistent settings/calibration, firmware replacement and hardware changes. An external phone waveform is not an in-camera waveform. Shared sensor, processor, retail branding or similar firmware number does not establish support.
  4. Make a bounded feasibility decision. Use the assessment template. Compare the least invasive path meeting the actual outcome. Mark feasible under stated conditions, infeasible under those conditions, or unresolved with the next evidence needed. A model roster, raw decoder, transfer driver, source directory, successful build or checksum does not prove a working photographic feature.
  5. Develop and analyze offline when requested. Preserve pristine inputs, source provenance, licenses and hashes. Work on copies. Inspect project scripts and any bundled agent instructions before executing them. Define the hypothesis, target symbols/addresses and expected differences; produce a reviewable patch and build receipt rather than inventing offsets. Separate container integrity, executable behavior and complete source-to-binary reproducibility. Use existing model-specific runbooks; this skill supplies no generic flasher or universal memory-write command.
  6. Prepare the device experiment. Read experiments and recovery for build, installation or hardware tasks. Resolve compatibility, conflicting mods, affected persistent state, backups and failure-specific recovery before writing. If recovery is unverified, say so; do not rename it a tested rollback. Deliver any safe offline artifacts while holding the dependent device operation for the missing evidence or explicit scope decision.
  7. Execute the authorized stage and verify its outcome. Follow the pinned project procedure only for the resolved target. Capture expected/observed changes, hashes, failures and restoration results using the experiment record. Test the intended lifecycle: live view, recording, file integrity, relevant lenses, restart and restoration as applicable. Stop on identity mismatch, unexpected writes, output corruption, thermal/power faults, or loss of the recovery prerequisite.
  8. Deliver the requested artifact. Provide the assessment, source/patch/build, experiment record or verified device result requested. Separate what was documented, inspected, built, emulated, maintainer-reported and independently reproduced. State unresolved limitations and the next concrete evidence, without claiming a completed installation from a script exit or a menu screenshot.

Reverse-engineering and neighboring skills

Load supporting skills by name only when their work is needed. They are optional companions, not assumed files inside this installation.

NeedExisting skillBoundary
Understand a camera project's source architecture, interfaces and dependenciessoftware-architecture-analysisSource-based reverse engineering; not greenfield design or camera qualification
Plan static binary inspection, disassembly and cross referencesbinary-analysisIts current live Ghidra backend is unimplemented and fails closed; do not promise working decompilation or route patching/protocol work to it
Board identification, signals, power, measurement or hardware modificationelectronicsElectrical analysis does not establish firmware compatibility or recovery
Expand or resolve conflicting primary evidenceresearch-methodologySource-to-claim closure; preserve dated unknowns
Probe captured media or inspect a claimed output featureffmpegMedia tooling does not establish camera-side execution or editorial truth

If a companion is unavailable, disclose that limitation and complete the work that can be supported; do not invent a skill, CLI backend or analysis result.

Load references on demand

For a named manufacturer, load only its row, then the relevant model evidence. Inventory files linked from manufacturer records are optional source tables for roster questions. Their gPhoto, LibRaw and vendor meanings remain distinct. For a general survey, start with scope and gaps. For refreshing or adding evidence, read provenance.

Manufacturer routing

Load the matching brand only; each includes its inventory routes and known gaps.

ManufacturerReference
AgfaPhotoagfaphoto
AKASOakaso
ARRIarri
BenQbenq
Blackmagic Designblackmagic-design
Canoncanon
Casiocasio
Contax / Kyoceracontax-kyocera
Digital Bolexdigital-bolex
DJIdji
Epsonepson
Fujifilmfujifilm
GE / General Imaginggeneral-imaging
GoProgopro
Hasselbladhasselblad
HPhp
Insta360insta360
JVCjvc
Kinefinitykinefinity
Kodakkodak
Konica / Minoltakonica-minolta
Leicaleica
Lytrolytro
Nikonnikon
Olympus / OM Systemolympus-om-system
Panasonic / LUMIXpanasonic
Pentaxpentax
Phase One / Mamiyaphase-one-mamiya
Polaroidpolaroid
RED Digital Cinemared
Ricohricoh
Rolleirollei
Samsungsamsung
Sanyosanyo
Sigmasigma
SJCAMsjcam
Sonysony
Toshibatoshiba
Vivitarvivitar
Xiaomi / YIxiaomi-yi
Yashicayashica
Z CAMz-cam
ZEISSzeiss

Fujifilm X and Ricoh GR model routing

Start with all X-series identities or all digital GR identities and editions. Load the specific lineage/body below only when it matches the task. Captured versions and project status are dated observations; resolve the current exact target before use.

TargetFocused reference
Fujifilm Legacy fixed-lens and bridge X camerasfujifilm-fixed-legacy
Fujifilm X-A entry linefujifilm-x-a
Fujifilm X-E rangefindersfujifilm-x-e
Fujifilm X-H linefujifilm-x-h
Fujifilm X half / X-HF1fujifilm-x-half
Fujifilm X-M linefujifilm-x-m
Fujifilm X-Pro rangefindersfujifilm-x-pro
Fujifilm X-S10 and X-S20fujifilm-x-s
Fujifilm X-T100 and X-T200fujifilm-x-t-bayer
Fujifilm X-T compact linefujifilm-x-t-compact
Fujifilm X-T main line and IR variantfujifilm-x-t-main
Fujifilm X100 fixed-lens linefujifilm-x100
Ricoh GR (2013 APS-C)model-ricoh-gr-2013
Ricoh GR DIGITAL IImodel-ricoh-gr-digital-ii
Ricoh GR DIGITAL IIImodel-ricoh-gr-digital-iii
Ricoh GR DIGITAL IVmodel-ricoh-gr-digital-iv
Ricoh GR DIGITALmodel-ricoh-gr-digital
Ricoh GR IImodel-ricoh-gr-ii
Ricoh GR IIImodel-ricoh-gr-iii
Ricoh GR IIIxmodel-ricoh-gr-iiix
Ricoh GR IVmodel-ricoh-gr-iv
Ricoh GR variants, editions and announced modelsricoh-gr-editions-and-variants
Ricoh GR project inventoryricoh-gr-project-inventory
Ricoh GRKit: cross-generation card runtimericoh-grkit-runtime

Other detailed project/model records

Use these for the named model or mechanism; do not transfer their compatibility to other bodies in the manufacturer inventory.

TargetRecord
Canon EOS 5D / 5D Mark IIcanon-5d-family
DJI Osmo / OpenPocketCinedji-osmo-pocket
Fujifilm X-A2 and XF1fujifilm-x-a2-xf1
Hasselblad X2D 100C / 907X & CFV 100Chasselblad-x2d-907
Hasselblad X2D II 400 MP reconstructionhasselblad-x2d-ii
Kodak Charmera / Keychain Camera Pluskodak-charmera
Leica M8 / M9 / M240 research routesleica-m8-m9-m240
Nikon Z30 Wonder Lanternnikon-z30
Olympus PEN-F HSL extensionolympus-pen-f
OM System OM-1 and related body reportsom-system-om1
Panasonic LUMIX DC-S5 remote controlpanasonic-s5
Samsung NX1 / NX500samsung-nx1-nx500
Sigma fp / fpSupsigma-fp
Sony PMCA-era camerassony-pmca-era

Completion and stopping conditions

Complete when the requested deliverable exists and its evidence level, target and limits are explicit. A research request ends with a usable assessment/source record; a development request requires the requested reviewable implementation and applicable checks; a device request requires observations of the requested behavior and the current/restored state, or a precise unresolved prerequisite. Do not substitute references for an authorized implementation or a build for hardware verification. Stop dependent device work at a compatibility, authorization or recovery boundary while preserving safe completed artifacts. After three non-converging diagnostic passes, report the evidence and next decision instead of repeating writes.

When not to use

For routine vendor firmware maintenance, follow the vendor's exact update documentation. For media editing/conversion, use ffmpeg; for general photographic technique, answer that task directly. This skill does not authorize access to someone else's camera, covert capture, capture-indicator suppression, or incidental persistent debug exposure. Surveillance/industrial/phone platforms need a separately scoped investigation; do not pretend the photographic manufacturer inventory covers them.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.