claude/skills/parlai/SKILL.md
Search, list, and fetch the user's personal AI chat history across ChatGPT, Claude.ai, Gemini, AI Studio, Perplexity, Codex (CLI + Desktop), and Claude Code via the local `parlai` CLI. Stateless — every command hits the provider's web API live or reads local JSONL files directly. Supports date filtering (--since / --until). Use when the user wants to find a past AI conversation ("that thing I asked ChatGPT about X", "find the Claude chat where I worked on Y"), pull the full body of a known conversation, fan out a query across all their AI tools at once, or filter by date ("conversations from last week", "what did I ask Gemini in March"). Triggers on phrases like "find my chat about", "search my AI history", "pull up the conversation about", "what did I ask ChatGPT/Claude/Gemini about", "show me convos from a date or time period", "parlai".
npx skillsauth add kendreaditya/.config parlaiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Local CLI wrapping the user's personal AI chat history across 8 providers. Lives at ~/workspace/parlai, installed on PATH as parlai.
chatgpt · claude · claude-code · codex-cli · codex-desktop · gemini · aistudio · perplexity
parlai status # which providers are authed
parlai list <provider> [-n N] # recent conversations (live API or local files)
parlai get <provider> <id> [-f md|json] # full conversation as Markdown
parlai search "<query>" # fan out across every authed provider
parlai search -p <provider> "<query>" # one provider
parlai search "<query>" --content # also fetch full conversation bodies (deduped)
parlai search "<query>" --json # JSONL output for piping to LLMs/scripts
parlai open <provider> <id> # open in browser
parlai login <provider> # interactive cookie paste (Chrome auto-detect fallback)
parlai --verbose <cmd> # print warnings to stderr
Stateless. No sync, no local cache, no DB. Every list and search hits the provider's web API live, or for local providers (claude-code, codex-*) reads their JSONL files directly. Trade-off: repeated queries re-hit the API each time — but no staleness, no cache invalidation, nothing to forget to sync.
--since / --untilEvery list/search/sync command accepts --since and --until. Format options:
2026-04-19, 2026-04 (year-month), 2026-04-19T16:30:007d, 2w, 3mo, 1y, 24h, 90mtoday, yesterdayparlai list claude --since 7d # last week
parlai list claude --since 14d # walks the API's pagination back 2 weeks
parlai search "india" --since 2026-04-01 --until 2026-04-30
parlai search "taxes" --since 2025-04-17 --until 2025-04-21 # a year ago ± 2 days
For remote queries, --since walks the provider's pagination back (newest-first) and stops once it crosses the boundary — effectively server-side filtering even though no provider's API exposes a date parameter. --until is best paired with --since (otherwise we still walk all of history).
parlai search "<topic>" --json | head -20
Returns one JSONL object per match: {provider, id, title, url, snippet, updated_at}. For local-only providers (claude-code, codex-*, gemini), the search auto-falls-back to the local FTS5 index.
parlai get <provider> <id> # Markdown
parlai get <provider> <id> -f json # structured JSON
parlai search "<topic>" --content --json # each line includes the messages array
parlai search "<topic>" -p claude -c # human-readable, full convo bodies
--content deduplicates hits by conversation and fetches each one's full body. Not cached — fresh every call.
Default: fzf-style — [provider] id title then indented snippet (FTS5 highlights wrapped in bold yellow). For machine consumption (piping to other tools, feeding to an LLM), always pass --json for one JSON object per line.
Most web providers (ChatGPT, Claude, Gemini, Perplexity) read cookies live from Chrome via browser_cookie3 — no setup needed if the user is logged in. AI Studio uses Drive OAuth via the gog CLI. Local providers (claude-code, codex-*) need no auth.
If parlai status shows ✗ for a provider, run parlai login <provider> for an interactive cookie-paste fallback.
~/.parlai/credentials.json (manual cookie fallback) is ever written.~/workspace/parlai. To rebuild after changes: cd ~/workspace/parlai && uv sync.claude-code, codex-cli, codex-desktop) search by scanning their JSONL files directly (case-insensitive substring).testing
Reviews test coverage and suggests missing test cases for error paths, edge cases, and business logic. Activates when users write tests or implement new features.
development
Identify, categorize, and prioritize technical debt. Trigger with "tech debt", "technical debt audit", "what should we refactor", "code health", or when the user asks about code quality, refactoring priorities, or maintenance backlog.
tools
Comprehensive security scanning and vulnerability detection. Includes input validation, path traversal prevention, CVE detection, and secure coding pattern enforcement. Use when: authentication implementation, authorization logic, payment processing, user data handling, API endpoint creation, file upload handling, database queries, external API integration. Skip when: read-only operations on public data, internal development tooling, static documentation, styling changes.
development
Optimizes application performance. Use when performance requirements exist, when you suspect performance regressions, or when Core Web Vitals or load times need improvement. Use when profiling reveals bottlenecks that need fixing.