name: instagram-cli
description: Use when working with supreme-gg-gg/instagram-cli or Instagram from the terminal: logging in or checking auth, listing or searching inbox threads, sending Instagram direct messages, reading messages, replying, unsending, downloading message media, viewing feed/stories/notifications/profile TUI screens, configuring the Instagram CLI, or diagnosing the local instagram-cli install. Prefer this for agent one-turn Instagram workflows that need JSON output. Do not use for generic social-media copywriting or unrelated Instagram marketing strategy.
aliases:
- instagram-cli
- instagram-skill
- i7m
- i7m-instagram
- i7m-instagram-cli
- instagram-tui
- instagram-terminal-client
- instagram-direct-messages
- instagram-messages-cli
- instagram-dm-cli
- instagram-inbox
- instagram-auth
- instagram-one-turn-commands
Instagram CLI Universal Adapter
Source
- Upstream repository:
https://github.com/supreme-gg-gg/instagram-cli
- Local source checkout:
%USERPROFILE%\.instagram-cli-source\instagram-cli
- Installed command:
instagram-cli
- Router delegator:
skill-router instagram
- Installed npm package link:
%APPDATA%\npm\node_modules\@i7m\instagram-cli
- User config/state root:
%USERPROFILE%\.instagram-cli
- Config file:
%USERPROFILE%\.instagram-cli\config.ts.yaml
- Logs:
%USERPROFILE%\.instagram-cli\logs
- Universal stack source registry:
%USERPROFILE%\.universal-ai-stack\config\source-integrations.json
Operating Model
Use this as a shared CLI source integration, not as copied skill bodies or a
background service. The universal install uses:
- one external source checkout for README-grounded reference,
- one globally linked
instagram-cli command built from that checkout,
- this canonical skill for routing and workflow instructions,
- compact
skill-router wrappers in each AI client.
No MCP bridge is required for normal Instagram CLI work.
Safety And Account Boundaries
This is an unofficial Instagram client and may violate Meta/Instagram terms of
service. Use it only when the user explicitly asks for Instagram CLI work and
accepts that risk.
Never print, paste, store, or commit:
%USERPROFILE%\.instagram-cli session files,
%USERPROFILE%\.instagram-cli\logs,
- usernames/passwords,
- two-factor codes,
- cookies or device/session identifiers,
- private direct messages,
- downloaded private media.
Do not attempt to log in for the user. If auth is missing, tell the user to run:
instagram-cli auth login
Check the active account without exposing private session files:
instagram-cli auth whoami
Switch accounts only when the user names the intended account:
instagram-cli auth switch <username>
Agent One-Turn Commands
Prefer non-interactive one-turn commands for AI agents. They print to stdout and
exit. Use --output json or -o json whenever the result will be parsed or used
by an agent.
List inbox threads:
instagram-cli inbox --limit 10 --output json
Search threads:
instagram-cli inbox --search "alice" --output json
Send a text message:
instagram-cli send <thread> --text "Message text" --output json
Send media:
instagram-cli send <thread> --file "C:\path\photo.jpg" --type photo --output json
Read messages:
instagram-cli read <thread> --limit 20 --output json
Read and mark seen only when the user explicitly wants that side effect:
instagram-cli read <thread> --limit 20 --mark-seen --output json
Download media from a message:
instagram-cli read <thread> --message-id <id> --download "C:\path\media" --output json
Reply to a specific message:
instagram-cli reply <thread> --message-id <id> --text "Reply text" --output json
Unsend a message only after explicit user confirmation:
instagram-cli unsend <thread> --message-id <id> --output json
<thread> can be a thread ID, username, or fuzzy thread title. Prefer a thread
ID from instagram-cli inbox --output json to avoid accidental misrouting.
All one-turn commands accept:
--username <username>
Use it for multi-account work instead of switching the default account when the
user wants a single command to target a specific login.
TUI Commands
Use TUI commands only when the user wants an interactive terminal experience:
instagram-cli chat -u <username> -t <title>
instagram-cli feed
instagram-cli stories
instagram-cli notify
instagram-cli profile <username>
Do not launch long-lived TUI sessions from background jobs or automatic hooks.
Configuration
Inspect configuration:
instagram-cli config
Set a config key:
instagram-cli config image.protocol ascii
instagram-cli config feed.feedType list
Open config for manual edits only when the user asks:
instagram-cli config edit
Diagnostics
Check local install:
instagram-cli --version
instagram-cli --help
skill-router instagram status
If commands fail after Instagram changes its API, capture only redacted error
summaries. Do not paste raw logs unless secrets and private message content have
been removed.
Router Selection Rules
Prefer this skill only when the task is specifically about instagram-cli,
Instagram direct messages, Instagram inbox/search/read/reply/unsend/media
commands, Instagram terminal/TUI workflows, multi-account CLI usage, or local
diagnostics for the instagram-cli command.
Reject this skill for generic Instagram marketing, content strategy, image
generation, social caption writing, unrelated social media analysis, or any
request that does not need the local Instagram CLI.