Skip to content
Mr-Dark-debugPublic

Repository files navigation

ReddJSON — Reddit Post JSON Copier

ReddJSON Logo

Copy Reddit post JSON with one click ⚡
A beautiful Chrome extension that adds a native JSON button to every Reddit post

Version Manifest V3 MIT License Zero Dependencies

ReddJSON is a powerful Chrome extension that bridges the gap between Reddit insights and LinkedIn professional networking.


image ---

✨ Features

  • One-Click Copy — Click the {} JSON button on any post to copy the full, pretty-printed JSON to your clipboard
  • Native Integration — Button blends cleanly into Reddit's toolbar with matching colors and styling
  • Infinite Scroll Support — Automatically adds buttons to new posts as you scroll (MutationObserver)
  • Dual Reddit Support — Works on both www.reddit.com (new) and old.reddit.com
  • Copy History — Popup shows your last 50 copied posts with persistent storage
  • Re-Copy & View — Re-copy any previous JSON or view it in a full-screen modal
  • Search History — Filter your history by title, subreddit, or post ID
  • Export History — Download your entire copy history as a JSON file
  • Error Handling — Graceful toasts for network errors, private subs, rate limits
  • Zero Dependencies — No external libraries, no build step, instant load

🤖 LinkedIn AI (v2.2 — powered by the /li-* skill engine)

Vendored from the MIT-licensed linkedin-agent-skill:

  • 21 Hook Formulas — The Hook Engine template fills one of the 21 tested hook formulas (Contrarian Take, Number Reveal, Mistake Confession, …) with a real detail from the thread. Each formula ships with its "how it gets ruined" guidance, so the model avoids the classic failure modes.
  • Auto-Humanizer — Every generated post is cleaned before you see it: invisible watermark characters (zero-width, BOM, tag chars) are deleted, em dashes → commas, curly quotes → straight, and 113 AI-slop terms ("delve", "leverage", "robust", "seamless", …) are rewritten to plain English. What you copy is what gets cleaned.
  • 5-Check Detection Panel — After cleaning, the draft is scored locally by five heuristics modeled on what public AI-detectors measure: BURSTINESS · SPECIFICITY · SLOP DENSITY · FINGERPRINT · VOICE. Each AI post gets a score badge (74 · PASS) — click it for the full report: per-check bars, every slop hit, and the structural tells (rule-of-three, "It's not just X, it's Y"…) that stay flagged for you to rewrite.
  • Voice Profile — A free-text profile in Settings is appended to every prompt, so posts sound like you, not like everyone else.
  • Nothing auto-posts — Like the skills themselves: they write, you post. The extension hands you a copy-ready block (also why it never violates LinkedIn's automation rules).

📸 Screenshots

JSON Button in Reddit Feed

The {} JSON button appears in every post's action bar, right next to Share, Save, etc. Styled to match Reddit's native UI with Reddit-orange hover effect.

image

Sidebar Copy History

Clean, modern sidebar with gradient header, search bar, stats counter, and scrollable history cards. Each card shows title, subreddit badge, relative time, and action buttons.

image

JSON Viewer Modal

Full JSON viewer with dark syntax-highlighted <pre> block, copy button, and backdrop blur. Displays the complete Reddit API response.

image

AI post generator

Generates viral LinkedIn post directly with one click.

image

Toast Notifications

Floating pill-shaped toasts with icons — success (green ✓), error (red ✕), info (orange ℹ). Auto-dismiss after 2 seconds.


🚀 Installation

Load Unpacked (Developer Mode)

  1. Clone or download this repository:
    git clone https://github.com/Mr-Dark-debug/ReddJSON.git
  2. Open Chrome and navigate to chrome://extensions/
  3. Enable Developer mode (toggle in top-right corner)
  4. Click "Load unpacked"
  5. Select the ReddJSON folder from this project
  6. The extension icon appears in your toolbar — you're ready! 🎉

Chrome Web Store

Coming soon — submission in progress.


📖 Usage

Copy Post JSON

  1. Browse any Reddit page (www.reddit.com or old.reddit.com)
  2. Find the {} JSON button in any post's action bar
  3. Click it → a green toast "✅ JSON copied!" appears
  4. Paste the JSON anywhere (VS Code, Postman, etc.)

Popup History

  1. Click the ReddJSON extension icon in your browser toolbar
  2. View your last 50 copied posts
  3. For each entry you can:
    • Copy JSON — Re-copy the full JSON to clipboard
    • View — Open the JSON in a syntax-highlighted modal
    • Open Post — Click the title to open the original Reddit post
    • Delete — Remove the entry from history
  4. Search — Type to filter by title, subreddit, or post ID
  5. Export — Download all history as a timestamped .json file
  6. Clear All — Remove all history (with confirmation)

Keyboard Shortcuts (Popup)

Shortcut Action
Ctrl+F / Cmd+F Focus search input
Escape Close any open modal

🔧 How It Works

The Reddit .json Endpoint

Every Reddit URL can be appended with .json to get raw data:

https://www.reddit.com/r/javascript/comments/abc123/post_title/.json

The response is an array of two "Listing" objects:

[
  {
    "kind": "Listing",
    "data": {
      "children": [
        {
          "kind": "t3",
          "data": {
            "subreddit": "javascript",
            "title": "Post Title",
            "author": "username",
            "score": 42,
            "url": "https://...",
            "selftext": "Post body...",
            "created_utc": 1710000000
          }
        }
      ]
    }
  },
  {
    "kind": "Listing",
    "data": {
      "children": [/* comments */]
    }
  }
]

ReddJSON copies the entire response (post + comments), pretty-printed with JSON.stringify(data, null, 2).

Architecture

Content Script (content.js)           Background Worker (background.js)
┌──────────────────────────┐          ┌──────────────────────────────────┐
│ 1. Find <shreddit-post>  │          │                                  │
│ 2. Extract permalink     │ ──msg──► │ 3. fetch(permalink.json)         │
│ 4. Copy to clipboard     │ ◄──msg── │    Return JSON data              │
│ 5. Show toast            │ ──msg──► │ 6. Store in history              │
│ 7. MutationObserver      │          │                                  │
│    (infinite scroll)     │          │ ── LinkedIn skill engine ──      │
└──────────────────────────┘          │ 7b. buildSystemPrompt()          │
                                      │     21 hooks + voice profile     │
                                      │ 7c. generateAIPost()             │
│                                      │ 7d. humanize() → detect() (v2.2)│
│                                      │     store score + full report   │
                                      └───────┬──────────────────────────┘
                                                │
                                      ┌─────────▼───────────┐
                                      │ chrome.storage.local│
                                      │ (last 50 entries)   │
                                      └─────────────────────┘

The humanizer (lib/humanizer.js) is a JS port of the MIT-licensed linkedin-agent-skill /li-human tool (humanize.py + detect.py), reading the same vendored slop.json lexicon so it stays resync-able with upstream.

See ARCHITECTURE.md for the full component reference and data flow.


🐛 Troubleshooting

Buttons not appearing?

Issue Solution
No buttons on any posts Open DevTools Console (F12) → check for [ReddJSON] logs
Reddit UI changed Update selectors in SELECTORS object at top of content.js
Extension not loading Check chrome://extensions → ensure extension is enabled
Conflicting extensions Disable other Reddit extensions temporarily
SPA navigation issue Try hard refresh (Ctrl+Shift+R)

JSON not copying?

Issue Solution
"Focus this tab" error Click on the Reddit tab first, then click JSON
Network error Check internet connection
Private subreddit Extension shows error toast (expected behavior)
Rate limited Wait a moment and try again
Very large JSON May take longer — button shows spinner

🤝 Contributing

Contributions are welcome! Here's how:

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/awesome-thing)
  3. Commit your changes (git commit -m 'Add awesome thing')
  4. Push to your branch (git push origin feature/awesome-thing)
  5. Open a Pull Request

Development Setup

  1. Clone the repo
  2. Load unpacked in chrome://extensions
  3. Make changes → click the refresh button in extensions page
  4. Test on www.reddit.com and old.reddit.com

🙏 Credits

The LinkedIn write path in v2.2 is powered by a JS port of the tooling from linkedin-agent-skill by Jake Schincariol (opusjake.ai), MIT licensed and vendored under skills/: the 21 hook formulas (hooks.json), the slop lexicon and humanizer logic (slop.json, humanize.py, detect.py), and the voice-profile questionnaire (templates/voice.md). The five-check panel and humanizer logic run locally in the extension; the Python reference implementations live in skills/li-human unmodified. Nothing here posts to LinkedIn for you — these tools write, you post.


📄 License

MIT License

Copyright (c) 2025 ReddJSON

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


ReddJSON
Made with ❤️ for Reddit developers & data enthusiasts

Releases

Packages

Contributors

Languages