https://github.com/mcamner/atlas-loop
A minimal command surface for Instagram content iteration: ideas, reels, feedback, and optimization loops.
https://github.com/mcamner/atlas-loop
ai-workflow automation cli content-creation instagram prompts social-media
Last synced: 15 days ago
JSON representation
A minimal command surface for Instagram content iteration: ideas, reels, feedback, and optimization loops.
- Host: GitHub
- URL: https://github.com/mcamner/atlas-loop
- Owner: MCamner
- License: mit
- Created: 2026-05-04T20:48:50.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-16T09:23:34.000Z (about 2 months ago)
- Last Synced: 2026-06-16T11:15:37.304Z (about 2 months ago)
- Topics: ai-workflow, automation, cli, content-creation, instagram, prompts, social-media
- Language: Shell
- Homepage: https://mcamner.github.io/atlas-loop/
- Size: 56.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# atlas-loop
A minimal command surface for Instagram content systems.
Not a tool.
A loop.
```text
Ideas -> Reels -> Feedback -> Iteration
```
Most people post.
Few iterate.
`atlas-loop` is built for Instagram iteration: a small product-shaped workflow
for turning rough ideas into Reels, captions, feedback, and better next actions.
## Core Loop
```text
IDEAS -> REELS -> POST -> ANALYZE -> OPTIMIZE -> REPEAT
```
The same loop appears in the UI, CLI, prompts, and examples so the repo feels
like one system instead of scattered files.
The UI includes a minimal publish flow: copy content, mark it as posted, track
Instagram metrics, analyze performance, and save each post as an experiment in
the local loop history.
## What It Does
- generates Instagram ideas from a topic
- creates Hook Lab variants for the first 1-2 seconds of a Reel
- turns a goal into Reel, carousel, caption, CTA, and hashtag drafts
- critiques drafts before posting
- improves drafts for retention, saves, shares, comments, and action
- attaches an experiment brief: audience, pillar, hypothesis, format, metric, risk
- tracks reach, plays, likes, saves, shares, comments, follows, and profile visits
- calculates save, share, comment, and follow rates from reach
- scores posts with a lightweight Signal Score
- keeps a Next Test Queue after analysis
- extracts winner patterns from the best saved experiments
- stores recent posts locally so you can compare signals and repeat what works
## Run The UI
Open the static app directly:
```text
docs/index.html
```
Or serve it locally from the repo root:
```bash
python3 -m http.server 8000 --directory docs
```
Then open:
```text
http://127.0.0.1:8000/
```
## Run The Engine
For direct AI output, create a local `.env` file:
```bash
cp .env.example .env
```
Then edit `.env`:
```text
OPENAI_API_KEY="your_api_key_here"
OPENAI_MODEL="gpt-5.5"
```
Start the engine:
```bash
npm start
```
Then open:
```text
http://127.0.0.1:8787/
```
The browser sends prompts to the local `/api/run` endpoint. The API key stays
in the server process and is never stored in the static GitHub Pages app.
The `.env` file is ignored by git.
## Use The CLI
```bash
chmod +x cli/atlas-loop.sh
./cli/atlas-loop.sh ideas
./cli/atlas-loop.sh hook
./cli/atlas-loop.sh content
./cli/atlas-loop.sh crit
./cli/atlas-loop.sh optimize
./cli/atlas-loop.sh loop
./cli/atlas-loop.sh patterns
```
The CLI can also fill the prompt from an argument or stdin:
```bash
./cli/atlas-loop.sh ideas "endpoint troubleshooting for EUC operators"
echo "Draft caption here" | ./cli/atlas-loop.sh crit
```
## Demo
```text
/ideas -> generate Instagram ideas
/hook -> generate and compare opening hooks
/content -> create Reels, captions, and CTAs
/crit -> review draft clarity, proof, and retention
/optimize -> improve Instagram content
/loop -> analyze Instagram performance
/patterns -> extract repeatable winning patterns
```
## Structure
```text
atlas-loop/
├── README.md
├── docs/
│ ├── index.html
│ ├── app.js
│ ├── styles.css
│ └── prompts/
├── server.mjs
├── package.json
├── cli/
│ └── atlas-loop.sh
├── examples/
└── LICENSE
```
## Product Position
This is not another generic social media tool.
This is not just another prompt repo.
It is a workflow, a mental model, and a lightweight command surface for
content iteration.
Version 1 is intentionally raw:
- fast
- functional
- readable
- easy to extend
## License
MIT