Expand abbreviations with Shift+Space, open palette with Alt+P. Gemini grammar/tone correction with Alt+G. Supports {{date}}, {{time}}, {{day}}, {{clipboard}}, and {{cursor}}. Works in inputs, textareas, and contenteditable with robust insertion. Inline editing, in-panel settings, hotkey customization, and API key verify+save. Fallback: if no caret, insert at end-of-line in a reasonable field.
AI-powered userscript that supercharges typing with smart abbreviation expansion, dynamic templates, and Gemini-powered rewriting. Trigger expansions with Shift+Space, browse your snippet palette, and polish text with one hotkey.
| Feature | Description |
|---|---|
| 🚀 Smart Expansion | Type abbreviations like brb then press Shift+Space to expand |
| 🎨 Template Engine | Use dynamic tags: {{date}}, {{time}}, {{clipboard}}, {{cursor}} |
| 🤖 AI Correction | Select text and press Alt+G to polish grammar/tone with Gemini |
| 📚 Visual Palette | Press Alt+P to browse, search, and manage all your snippets |
| ⚙️ In-Panel Settings | Customize hotkeys, AI tone, and custom prompt in the palette |
| 📦 Dictionary Sync | Export/import your snippets as JSON for backup or sharing |
| 🎯 Universal Support | Works in textareas, inputs, and contenteditable areas across all websites |
| 💾 Smart Fallback | If no text field is focused, inserts at the end of the last used field |
prokeys/main.js into itAlt+P) → click the gear → enter your Gemini API key → click VerifyGet an API key from Google AI Studio: https://makersuite.google.com/app/apikey
ty and press Shift+SpaceAlt+P to open the snippet palette↑/↓ arrows to navigateEnter to insert or click any snippetAlt+GAlt+P) → Settings{} to insert selection)Alt+Shift+G to apply itCreate powerful dynamic snippets using these tags:
| Tag | Example Output | Description |
|---|---|---|
{{cursor}} |
(sets cursor position) | Place cursor here after expansion |
{{date}} |
2024-01-15 |
Current date (ISO format) |
{{date:long}} |
January 15, 2024 |
Long date format |
{{date:mdy}} |
01/15/2024 |
US date format |
{{time}} |
02:30 PM |
Current time (12-hour) |
{{time:24}} |
14:30 |
Current time (24-hour) |
{{day}} |
Monday |
Full weekday name |
{{clipboard}} |
(your clipboard content) | Paste clipboard contents |
sig: Best regards,\n{{cursor}}\n— John Doe
log: [{{date:iso}} {{time:24}}] {{cursor}}
track: Tracking: {{clipboard}} — Check status at https://example.com/track
reply: Thanks for your message on {{day}}. I'll review it and get back to you soon. {{cursor}}
| Shortcut | Action |
|---|---|
Shift+Space |
Expand abbreviation before cursor |
Alt+P |
Open snippet palette |
Alt+G |
AI-correct selected text or entire field |
Alt+Shift+G |
Apply your Custom Prompt to selection/field |
↑/↓ |
Navigate palette items |
Enter |
Insert selected snippet |
Escape |
Close palette/settings |
Alt+P)Alt+P, then click the gear icon| Setting | Options | Description |
|---|---|---|
| AI Tone | neutral, friendly, formal, casual, concise | Tone used by Gemini corrections |
| Expand Hotkey | any Space-based combo | Default: Shift+Space |
| Palette Hotkey | any key combination | Default: Alt+P |
| Correct Hotkey | any key combination | Default: Alt+G |
| Custom Prompt | free text | Instruction used by Alt+Shift+G (supports {}) |
If you trigger expansion without a focused text field, the script intelligently:
Fully supports rich text editors (Gmail, Notion, etc.) with:
Open Abbreviation PaletteExport Dictionary (.json)Import DictionaryReset Dictionary to DefaultsGemini: Correct Selection/Field (Alt+G)Gemini: Set Tone (neutral/friendly/formal/casual/concise)Gemini: Set API Key