Browser userscripts to enhance the NinjaCat experience.
| Script | Version | Description |
|---|---|---|
| Seer Agent Tags & Filter | v2.5.4 | Tag, filter, and organize agents on the Agents page |
| Chat Export | v2.6.0 | Export chat conversations to PDF or Markdown |
| Chat UX Enhancements | v1.7.0 | Drag-drop files, message queue, error recovery, and more |
Install Tampermonkey for your browser:
| Browser | Install Link |
|---|---|
| Chrome/Edge | Chrome Web Store |
| Firefox | Firefox Add-ons |
| Safari | App Store |
Click the links below - Tampermonkey will prompt you to install:
Version: v2.5.4
Works on: https://app.ninjacat.io/agency/data/agents
Automatically tags and filters agents on the NinjaCat Agents page by division, data source, and custom criteria.
| Feature | Description |
|---|---|
| Auto-tagging | Tags agents based on name patterns (SEO, PDM, ANA, CE, OPS, WIP, DNU, PROD, CLIENT, UTILITY) |
| Filter bar | Filter agents by tag, data source, owner, or time period |
| Manual tagging | Click the tag button to manually assign/override tags |
| My Agents filter | Quick filter to show only agents you own |
| Hide by owner | Exclude specific team members' agents from view |
| Data source filters | Filter by GA4, Search Console, Google Sheets, Meta Ads, Google Ads, SQL, BigQuery |
| Time filters | Filter by recently updated (24h, 7d, 30d) |
| Sort & Group | Sort by name/date, group by division/owner |
| Exclude categories | Hide entire tag categories from view |
| Collapsible sections | Collapse Favorites and All Agents sections |
| Team sharing | Export/import configurations via share code or file |
| Full customization | Add your own tags, patterns, colors, and icons via Settings |
| Add pattern button | Quickly add new auto-detection patterns from any agent |
| Result count | Shows "Showing X of Y agents" when filtering |
| SPA navigation cleanup | Automatically hides UI when navigating away from agents list |
| Tag | Icon | Auto-detection patterns |
|---|---|---|
| ANA | π | [ana], analytics, ga4, event drop, anomalie, drop-off |
| PDM | πΈ | [pdm], paid, ppc, ad copy, google ads, meta ads, campaign, spend, budget |
| SEO | π | [seo], keyword, organic, serp, search intent, landing page, content, backlink, rankings |
| CE | π€ | [ce], client, call prep, qbr, engagement, horizon |
| OPS | π οΈ | [ops], taxonomy, operation, process, admin, calendar |
| WIP | π§ | [wip], testing, test version |
| DNU | β | [dnu], [do not use], sandbox |
| PROD | β | [prod], production, live, approved |
| CLIENT | π€ | [client], [acme], [example] |
| UTILITY | π§ | [utility], assistant, helper, api, connector, builder, retriever, extractor, scraper |
- Navigate to the NinjaCat Agents page
- The filter bar appears automatically above the agent list
- Click tags to filter, use Settings (βοΈ) to customize
- Use Share (π) to sync settings with teammates
Version: v2.6.0
Works on: https://app.ninjacat.io/agency/data/agents/*/chat/*
Export NinjaCat agent chat conversations to PDF, Markdown, or plain text.
| Feature | Description |
|---|---|
| Export to PDF | Clean, print-friendly output without sidebars or UI clutter |
| Export to Markdown | Copy conversation as formatted markdown with code blocks preserved |
| Copy as plain text | Copy conversation without formatting |
| Expand All | Expand all collapsed task details before export |
| Collapse All | Collapse all task details |
| Print header | Adds agent name and export date to PDF output |
| User/Agent labels | Clearly labels who said what in exports |
| Keyboard shortcuts | Ctrl+Shift+M for Markdown, Ctrl+Shift+C for Copy |
- Open any agent chat conversation
- Click the blue Export button (π) in the top-right
- Choose your export format from the dropdown:
- Print PDF - Opens print dialog for PDF export
- Markdown - Copies formatted markdown to clipboard
- Copy Text - Copies plain text to clipboard
- Use Expand All / Collapse All to control task detail visibility
Version: v1.7.0
Works on: https://app.ninjacat.io/*/chat/* and https://app.ninjacat.io/*/agents/*
Improves the NinjaCat chat experience with better file handling, message queuing, error recovery, and input management.
| Feature | Description |
|---|---|
| Multi-file drag & drop | Drag multiple files onto the chat area to attach them |
| Smart drop targeting | Automatically finds the correct file input (chat vs. Knowledge tab) |
| Always-unlocked input | Chat input stays editable even while agent is processing |
| Message queue | Queue up to 3 messages while waiting for agent response |
| Queue management | Edit, reorder, or cancel queued messages |
| Auto-linkify URLs | URLs in chat messages become clickable links |
| URL validation | Only valid http/https URLs are converted to links |
| Error state warning | Yellow banner alerts you when conversation is in error state |
| Edit button injection | Adds missing "Edit last message" button when agent run is cancelled |
| Error recovery helpers | Debug functions to clear stale state and recover from errors |
| Performance optimized | Throttled MutationObserver, cached DOM refs, narrow observation scope |
| SPA navigation support | Reinitializes on client-side navigation |
When NinjaCat gets stuck in an error state:
- A yellow warning banner appears above the input
- On cancelled runs, an "Edit last message" button is injected (NinjaCat only shows this on errors, not cancels)
- Use the native Resend/Edit buttons to recover
.csv, .png, .jpg, .jpeg, .pdf, .txt, .md, .json
- Open any agent chat conversation
- Drag files onto the chat area - drop zone appears automatically
- Type while agent runs - messages are queued and sent when ready
- Manage queue - click Edit/Cancel on pending messages
- If stuck in error state, use the Resend or Edit buttons shown
Enable debug logging in browser console:
localStorage.setItem('ninjacat-chat-debug', 'true');
location.reload();window._ncCheckProcessing() // Check if agent is processing
window._ncIsErrorState() // Check if in error state
window._ncNuclearReset() // Clear all blocking state
window._ncDumpState() // Dump Pinia store state
window._ncStores() // Get Pinia store referencesTampermonkey checks for updates automatically. To force an update:
- Open Tampermonkey dashboard
- Go to the Utilities tab
- Click Check for userscript updates
Or reinstall from the links above with a cache buster:
https://raw.githubusercontent.com/jms830/ninjacat-tweaks/main/userscripts/SCRIPT_NAME.user.js?nocache=123
All data is stored locally in your browser's localStorage:
| Key | Description |
|---|---|
ninjacat-seer-tags-config |
Tag definitions and patterns |
ninjacat-seer-data-sources |
Data source definitions |
ninjacat-seer-agent-tags |
Manual tag assignments |
ninjacat-seer-filter-state |
Active filters, excludes, sort/group settings |
| Key | Description |
|---|---|
ninjacat-chat-debug |
Enable debug logging ('true' / 'false') |
To reset Seer Tags: Settings > Reset All
- Click Share (π) in the filter bar
- Click Copy to Clipboard
- Send the code to teammates
- Click Share (π)
- Paste the code
- Click Import from Code
- Verify Tampermonkey is enabled
- Check the script is enabled in Tampermonkey dashboard
- Hard refresh:
Ctrl+Shift+R
- Wait 2-3 seconds for page to fully load
- Check console (
F12) for errors - Look for
[NinjaCat Seer Tags] Script loadedmessage
- The Chat UX script should auto-unlock it
- Check for
[NinjaCat Chat UX] Script loadedin console - Try
window._ncNuclearReset()in console to clear state
- Make sure you're on a chat page (
/chat/in URL) - Check for
[NinjaCat Chat Export] Script loadedin console
ninjacat-tweaks/
βββ userscripts/
β βββ ninjacat-seer-tags.user.js # Agent tagging & filtering
β βββ ninjacat-seer-tags.meta.js # Update metadata
β βββ ninjacat-chat-export.user.js # Chat export to PDF/MD
β βββ ninjacat-chat-export.meta.js # Update metadata
β βββ ninjacat-chat-ux.user.js # Chat UX enhancements
β βββ ninjacat-chat-ux.meta.js # Update metadata
β βββ README.md # Detailed Seer Tags docs
β βββ FIXES.md # Changelog
β βββ TROUBLESHOOTING.md # Help guide
βββ specs/ # Feature specifications
βββ FEATURE_REQUESTS.md # Feature backlog
βββ AGENTS.md # Development guidelines
βββ README.md # This file
- Vanilla JavaScript ES6+ (no build system)
- IIFE wrapper with
'use strict' - Section headers:
// ---- Section Name ---- - Debug logging via
debugLog()with localStorage toggle - Centralized selectors in
SELECTORSobject - JSDoc comments for exported debug functions
node --check userscripts/*.user.js # Syntax check- Fork the repo
- Create a feature branch
- Make changes and test on NinjaCat
- Submit a PR
MIT License - free to use and modify!