Individual skill
hinge
Control the hinge (fold) angle of a foldable iPhone Simulator such as iPhone Duo. Use when you need to fold, unfold, half-open, or animate the fold of a running simulator, read its current hinge angle, or test how an app reacts to hinge and display changes.
skills/hinge/SKILL.md
Source commit afb8f0bd277cb12187f0844a79542cbac35e7385
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Local scripts
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Claude Code
Destination .claude/skills/hinge
(
set -euo pipefail
destination='./.claude/skills/hinge'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/artemnovichkov/hinge.git' "$work/repo"
git -C "$work/repo" checkout --detach afb8f0bd277cb12187f0844a79542cbac35e7385
git -C "$work/repo" archive --format=tar 'afb8f0bd277cb12187f0844a79542cbac35e7385:skills/hinge' > "$work/skill.tar"
mkdir -p -- './.claude/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Codex
Destination .agents/skills/hinge
(
set -euo pipefail
destination='./.agents/skills/hinge'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/artemnovichkov/hinge.git' "$work/repo"
git -C "$work/repo" checkout --detach afb8f0bd277cb12187f0844a79542cbac35e7385
git -C "$work/repo" archive --format=tar 'afb8f0bd277cb12187f0844a79542cbac35e7385:skills/hinge' > "$work/skill.tar"
mkdir -p -- './.agents/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Cursor
Destination .cursor/skills/hinge
(
set -euo pipefail
destination='./.cursor/skills/hinge'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/artemnovichkov/hinge.git' "$work/repo"
git -C "$work/repo" checkout --detach afb8f0bd277cb12187f0844a79542cbac35e7385
git -C "$work/repo" archive --format=tar 'afb8f0bd277cb12187f0844a79542cbac35e7385:skills/hinge' > "$work/skill.tar"
mkdir -p -- './.cursor/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Gemini CLI
Destination .gemini/skills/hinge
(
set -euo pipefail
destination='./.gemini/skills/hinge'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/artemnovichkov/hinge.git' "$work/repo"
git -C "$work/repo" checkout --detach afb8f0bd277cb12187f0844a79542cbac35e7385
git -C "$work/repo" archive --format=tar 'afb8f0bd277cb12187f0844a79542cbac35e7385:skills/hinge' > "$work/skill.tar"
mkdir -p -- './.gemini/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)GitHub Copilot
Destination .github/skills/hinge
(
set -euo pipefail
destination='./.github/skills/hinge'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/artemnovichkov/hinge.git' "$work/repo"
git -C "$work/repo" checkout --detach afb8f0bd277cb12187f0844a79542cbac35e7385
git -C "$work/repo" archive --format=tar 'afb8f0bd277cb12187f0844a79542cbac35e7385:skills/hinge' > "$work/skill.tar"
mkdir -p -- './.github/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)OpenCode
Destination .opencode/skills/hinge
(
set -euo pipefail
destination='./.opencode/skills/hinge'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/artemnovichkov/hinge.git' "$work/repo"
git -C "$work/repo" checkout --detach afb8f0bd277cb12187f0844a79542cbac35e7385
git -C "$work/repo" archive --format=tar 'afb8f0bd277cb12187f0844a79542cbac35e7385:skills/hinge' > "$work/skill.tar"
mkdir -p -- './.opencode/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Repository context
- Repository stars (not skill ratings)
- 42
- Repository last updated
- Nov 4, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- claude-code Repository topic
- cli Repository topic
- developer-tools Repository topic
- foldable Repository topic
- foldable-iphone Repository topic
- hinge Repository topic
- ios Repository topic
- ios-simulator Repository topic
- ios27 Repository topic
- testing Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 4,723 bytesscripts/hingeruns · 14,841 bytesscripts/hinge_helper.masset · 8,189 bytes
Read excerpt
# hinge
Set and read the hinge angle of a booted foldable iPhone Simulator from the command line. It posts the same HID event as the hidden hinge slider in Xcode's Device Hub (hold Option).
Run the bundled script at `scripts/hinge`, relative to this skill's directory. A `hinge` on `PATH` works too when `hinge -v` prints the same version as `scripts/hinge -v`; an older install lacks `screenshot` and `--json`.
## Commands
```bash
scripts/hinge 120 # set angle: 0 = closed, 180 = flat
scripts/hinge open # 180°
scripts/hinge close # 0°
scripts/hinge half # 90°
scripts/hinge sweep 180 0 2 # animate from 180° to 0° over 2 seconds