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.
In this repository192 other files it gives its agents.
- agent-production-operations/AGENTS.mdAGENTS.md
- AGENTS.mdAGENTS.md
- forward-deployed-engineering/AGENTS.mdAGENTS.md
- production-excellence/AGENTS.mdAGENTS.md
- product-lifecycle/AGENTS.mdAGENTS.md
- tailscale/AGENTS.mdAGENTS.md
- workflow-architect/AGENTS.mdAGENTS.md
- llms.txtllms.txt
- actuarial-risk-modelingSkill
- adr-authoringSkill
- agent-councilSkill
- agent-evals-and-observabilitySkill
- agent-production-operationsSkill
- agent-skillsSkill
- ai-governanceSkill
- ai-operating-economicsSkill
- amazon-memoSkill
- analog-occultismSkill
- anydocSkill
- api-design-and-evolutionSkill
- artifact-pyramidsSkill
- ascii-city-engineSkill
- autogenSkill
- backend-engineeringSkill
- binary-analysisSkill
- bmadSkill
- brand-designerSkill
- c4-diagrammingSkill
- capacity-and-cost-engineeringSkill
- chief-of-staff-methodologySkill
- cli-builderSkill
- cncf-landscapeSkill
- code-reviewSkill
- color-managementSkill
- community-guidesSkill
- conditional-customer-successSkill
- confluence-cliSkill
- constrained-optimizationSkill
- crewaiSkill
- crmSkill
- crowdsecSkill
- cryptpadSkill
- cyberpunkSkill
- daily-life-discoverySkill
- data-architectSkill
- data-cleaningSkill
- data-engineeringSkill
- data-scientistSkill
- de-spinSkill
- digital-twinSkill
- docker-composeSkill
- documentsSkill
- dsm5Skill
- dspySkill
- electronicsSkill
- emailSkill
- enterprise-architectureSkill
- epubSkill
- esp32-developmentSkill
- ffmpegSkill
- The first 60 shown.
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
- Distinctive: line 34
Use authorization already established in the session.
- Distinctive: line 54
Classify the mechanism: Use mechanisms and compatibility to distinguish official control, reverse-engineered protocols, host processing, …
- Distinctive: line 59
Make a bounded feasibility decision: Use the assessment template.
- Distinctive: line 71
Prepare the device experiment: Read experiments and recovery for build, installation or hardware tasks.
- Distinctive: line 77
Execute the authorized stage and verify its outcome: Follow the pinned project procedure only for the resolved target.
- Distinctive: line 80
Test the intended lifecycle: live view, recording, file integrity, relevant lenses, restart and restoration as applicable.
- Distinctive: line 102
If a companion is unavailable, disclose that limitation and complete the work that can be supported.
- Distinctive: line 165
Start with all X-series identities or all digital GR identities and editions.
- Distinctive: line 199
Use these for the named model or mechanism.
≈ “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.
Files
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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
| Need | Existing skill | Boundary |
| Understand a camera project's source architecture, interfaces and dependencies | software-architecture-analysis | Source-based reverse engineering; not greenfield design or camera qualification |
| Plan static binary inspection, disassembly and cross references | binary-analysis | Its 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 modification | electronics | Electrical analysis does not establish firmware compatibility or recovery |
| Expand or resolve conflicting primary evidence | research-methodology | Source-to-claim closure; preserve dated unknowns |
| Probe captured media or inspect a claimed output feature | ffmpeg | Media 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.
| Manufacturer | Reference |
| AgfaPhoto | agfaphoto |
| AKASO | akaso |
| ARRI | arri |
| BenQ | benq |
| Blackmagic Design | blackmagic-design |
| Canon | canon |
| Casio | casio |
| Contax / Kyocera | contax-kyocera |
| Digital Bolex | digital-bolex |
| DJI | dji |
| Epson | epson |
| Fujifilm | fujifilm |
| GE / General Imaging | general-imaging |
| GoPro | gopro |
| Hasselblad | hasselblad |
| HP | hp |
| Insta360 | insta360 |
| JVC | jvc |
| Kinefinity | kinefinity |
| Kodak | kodak |
| Konica / Minolta | konica-minolta |
| Leica | leica |
| Lytro | lytro |
| Nikon | nikon |
| Olympus / OM System | olympus-om-system |
| Panasonic / LUMIX | panasonic |
| Pentax | pentax |
| Phase One / Mamiya | phase-one-mamiya |
| Polaroid | polaroid |
| RED Digital Cinema | red |
| Ricoh | ricoh |
| Rollei | rollei |
| Samsung | samsung |
| Sanyo | sanyo |
| Sigma | sigma |
| SJCAM | sjcam |
| Sony | sony |
| Toshiba | toshiba |
| Vivitar | vivitar |
| Xiaomi / YI | xiaomi-yi |
| Yashica | yashica |
| Z CAM | z-cam |
| ZEISS | zeiss |
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.
| Target | Focused reference |
| Fujifilm Legacy fixed-lens and bridge X cameras | fujifilm-fixed-legacy |
| Fujifilm X-A entry line | fujifilm-x-a |
| Fujifilm X-E rangefinders | fujifilm-x-e |
| Fujifilm X-H line | fujifilm-x-h |
| Fujifilm X half / X-HF1 | fujifilm-x-half |
| Fujifilm X-M line | fujifilm-x-m |
| Fujifilm X-Pro rangefinders | fujifilm-x-pro |
| Fujifilm X-S10 and X-S20 | fujifilm-x-s |
| Fujifilm X-T100 and X-T200 | fujifilm-x-t-bayer |
| Fujifilm X-T compact line | fujifilm-x-t-compact |
| Fujifilm X-T main line and IR variant | fujifilm-x-t-main |
| Fujifilm X100 fixed-lens line | fujifilm-x100 |
| Ricoh GR (2013 APS-C) | model-ricoh-gr-2013 |
| Ricoh GR DIGITAL II | model-ricoh-gr-digital-ii |
| Ricoh GR DIGITAL III | model-ricoh-gr-digital-iii |
| Ricoh GR DIGITAL IV | model-ricoh-gr-digital-iv |
| Ricoh GR DIGITAL | model-ricoh-gr-digital |
| Ricoh GR II | model-ricoh-gr-ii |
| Ricoh GR III | model-ricoh-gr-iii |
| Ricoh GR IIIx | model-ricoh-gr-iiix |
| Ricoh GR IV | model-ricoh-gr-iv |
| Ricoh GR variants, editions and announced models | ricoh-gr-editions-and-variants |
| Ricoh GR project inventory | ricoh-gr-project-inventory |
| Ricoh GRKit: cross-generation card runtime | ricoh-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.
| Target | Record |
| Canon EOS 5D / 5D Mark II | canon-5d-family |
| DJI Osmo / OpenPocketCine | dji-osmo-pocket |
| Fujifilm X-A2 and XF1 | fujifilm-x-a2-xf1 |
| Hasselblad X2D 100C / 907X & CFV 100C | hasselblad-x2d-907 |
| Hasselblad X2D II 400 MP reconstruction | hasselblad-x2d-ii |
| Kodak Charmera / Keychain Camera Plus | kodak-charmera |
| Leica M8 / M9 / M240 research routes | leica-m8-m9-m240 |
| Nikon Z30 Wonder Lantern | nikon-z30 |
| Olympus PEN-F HSL extension | olympus-pen-f |
| OM System OM-1 and related body reports | om-system-om1 |
| Panasonic LUMIX DC-S5 remote control | panasonic-s5 |
| Samsung NX1 / NX500 | samsung-nx1-nx500 |
| Sigma fp / fpSup | sigma-fp |
| Sony PMCA-era cameras | sony-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.
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
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.

