Unicode formatter + anti-fluff gate for LinkedIn posts — in your terminal. Refuses to write fluff. Shares the pure src/lib core with the grip-post Chrome extension: one core, two surfaces.
Executables (bin/) — files in this plugin's bin/directory are added to the Bash tool's PATH while the plugin is enabled.
A LinkedIn tool that refuses to write fluff.
A Chrome extension that helps you write better LinkedIn posts: Unicode formatting + a gate that refuses to write fluff.
Chrome Web Store: coming W11 (June 2026).
Dev build (load unpacked):
git clone https://github.com/CodeTonight-SA/grip-post.git
cd grip-post
npm install
npm run build
Then open chrome://extensions, enable Developer Mode, click "Load unpacked", and select the dist/ folder.
Package (produces grip-post-<version>.zip for Chrome Web Store upload):
npm run package
Runs build → verify-build (capability-lock assertion on the artefact's permissions + host_permissions + content-script matches) → zips dist/. Fails loud if the build widened the permission surface.
grip-post runs in Safari too — same transforms, same anti-fluff gate, same core.
Test-drive now (zero install, any browser):
npm install
npm run dev:web
Open the printed localhost URL in Safari. The side-panel UI runs as a normal
web page (drafts + stats are in-memory only in this mode).
Full Safari extension (toolbar popup, context menus, persistent storage) — Safari Web Extensions must be built into an app bundle by full Xcode (there is no "load unpacked"):
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer # one-time
npm run package:safari
This builds the Safari target and runs safari-web-extension-converter to
generate an Xcode project — open it, Build (Cmd-B), then enable grip-post in
Safari -> Settings -> Extensions. Full details: docs/SAFARI.md.
$4/mo subscription unlocks the AI closer rewriter + R0 grounding semantic check + reason-out-loud. The rewriter itself ships in v0.3 — routes through HAL (Harness Abstraction Layer, CodeTonight's proprietary inference router) with an anti-fluff floor BEFORE the LLM call so banned phrases never reach the model. Subscribing now locks the early-bird price and funds the build.
Buy: polar.sh/architext1/grip-post-pro
grip-post is also a Claude Code plugin. The
same src/lib core that powers the Chrome side panel runs in your terminal — one
core, two surfaces, identical behaviour.
Install (inside Claude Code):
/plugin marketplace add CodeTonight-SA/grip-post
/plugin install grip-post@grip-post
Requires Node ≥ 20 — the command runs the core via npx tsx (fetched on first use).
Use — plugin skills are namespaced /<plugin>:<skill>, so the command is /grip-post:grip-post:
/grip-post:grip-post check We are thrilled to announce… -> DENY: "thrilled to announce"
/grip-post:grip-post bold Hiring three engineers -> 𝗛𝗶𝗿𝗶𝗻𝗴 𝘁𝗵𝗿𝗲𝗲 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝘀
/grip-post:grip-post italic a quiet aside -> 𝘢 𝘲𝘶𝘪𝘦𝘵 𝘢𝘴𝘪𝘥𝘦
/grip-post:grip-post strip-tells <your draft> -> removes AI tells
No plugin system? Run the CLI directly:
npx tsx bin/grip-post.ts check --file draft.txt.
Full command reference + verdict semantics: docs/CLAUDE_CODE_PLUGIN.md.
See CONTRIBUTING.md and the open issues for the current roadmap.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
GRASP cryptographic causation: signed, tamper-evident, third-party-verifiable records of what the agent decided, believed, and claimed — a decision chain, a belief chain, and a deterministic citation floor, all re-verifiable offline.
Session-boundary COLD context offload: losslessly evict durable context to a private local store and page it back verbatim across /clear and overnight idle. Saves re-derivation tokens, not page-back tokens.
Three-layer Claude Code session mesh: local WebSocket bus, Tailscale cross-machine relay, and presence/locking. The definitive pair programming solution.
npx claudepluginhub codetonight-sa/grip-post --plugin grip-postUltra-compressed communication mode. Cuts 65% of output tokens (measured) while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.