poirot

作者 a7t-ai已验证

A native macOS companion for Claude Code that lets you browse sessions, explore diffs, and re-run commands.

186
Stars
12
Forks
Swift
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/a7t-ai/poirot

快速入门

使用 poirot 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

Poirot — Investigating your Claude Code sessions

POIROT

Investigating your Claude Code sessions.
A native macOS companion that lets you browse sessions, explore diffs, and re-run commands — all from a polished SwiftUI interface.

FeaturesCapabilitiesGetting StartedArchitectureContributingRoadmap

Platform Swift 6 MIT License PRs Welcome GitHub Stars

No login. No tracking. No analytics. No BYOK. No extra cost. Works offline. Less than 6 MB.


Poirot Demo Video
Click to watch the demo on YouTube


The Story

Poirot was vibe-coded in a weekend. The entire app — architecture, parser, UI, tests — was built in a single creative burst with Claude Code as the co-pilot. What started as "I wonder if I can build a companion app for Claude Code... using Claude Code" turned into a real, usable tool.

Named after Hercule Poirot, Agatha Christie's legendary detective. Because every great investigation needs the right tools — and Poirot helps you investigate exactly what your AI assistant has been up to.


Features

Session Analytics

Rich Conversation View

  • Session Analytics — Token consumption, cost breakdowns, model distribution, and session trends
  • Usage Limits — Live subscription rate-limit gauges (5-hour and 7-day windows) with utilization and reset countdowns, in the dashboard and menu bar — no login, reusing the token Claude Code already stores
  • Session History Browser — Sessions grouped by project with timestamps, model info, and token counts
  • Rich Conversation View — Full timeline with markdown rendering, syntax highlighting, and collapsible tool blocks
  • Tool Block Display — Every tool invocation rendered with name, icon, file path, and result
  • Extended Thinking — Collapsible thinking blocks with distinct purple accent
  • Fuzzy Search (⌘K) — Spotlight-style search across sessions, commands, file paths, and more
  • Slash Commands — Browse global and per-project commands with descriptions and permissions
  • Skills — Explore reusable skill modules with parsed frontmatter
  • MCP Servers — Live connection status indicators with color-coded SF Symbols
  • Models — Browse available models and their capabilities
  • Sub-agents — Create, edit, and manage custom sub-agents with tools, model, memory, and system prompt
  • Plugins — View installed plugins and their metadata
  • Output Styles — Preview output formatting styles
  • Hooks — Event hooks grouped by type with matcher patterns and handler details
  • Session TODOs — Per-session todo lists with status tracking
  • Plans — Browse ~/.claude/plans/ with rendered markdown and file watching
  • Debug Log Viewer — Color-coded log levels, search, filtering, and paginated loading
  • Prompt History — Browse input history with date grouping and project filtering
  • AI Session Summaries — Goal, outcome, helpfulness, and friction indicators from facets
  • Memory — Per-project auto-memory files with rendered markdown and live watching

See all features with screenshots in the Feature Showcase.


Capabilities

CategoryFeatureDescription
AnalyticsSession Analytics DashboardToken consumption, cost breakdowns, model distribution, and session trends
Usage LimitsSubscription 5-hour / 7-day rate-limit gauges with reset countdowns; reads Claude Code's existing OAuth token (no login), shown in the dashboard and menu bar
SessionsJSONL Transcript ParserParses ~/.claude/projects/ transcripts into structured models
Session History BrowserSessions grouped by project with timestamps, model, token counts
Real-time File WatchingAuto-updates via GCD dispatch sources with 1s debounce
Per-Project ConfigurationSupports global (~/.claude/) and per-project (.claude/) scopes
Session Detail ViewFull conversation timeline with collapsible blocks and scroll-to-bottom
ConversationMarkdown RenderingRich text with syntax highlighting via MarkdownUI + HighlightSwift
Code Diff ViewerSyntax-highlighted inline diffs for Edit tool blocks
Bash Output RendererTerminal command output with monospace styling and exit status
Extended ThinkingCollapsible thinking blocks with distinct purple accent
Tool BlocksEvery tool invocation rendered with name, icon, file path, and result
In-Session Search⌘F to search within the current conversation
DiagnosticsDebug Log ViewerParse and browse ~/.claude/debug/ logs with color-coded levels, search, filtering, and paginated lazy loading
Auto-scroll to ErrorOpens directly at the first error entry for quick triage
Relative TimestampsToggle between absolute (HH:mm:ss.SSS) and relative (+offset) time display
HistoryPrompt History BrowserBrowse ~/.claude/history.jsonl with date grouping, project filtering, full-text search, and copy-to-clipboard
AI SummariesSession FacetsAI-generated analysis (goal, outcome, helpfulness) from ~/.claude/usage-data/facets/
Outcome & Helpfulness BadgesColor-coded badges for success/partial/failure and helpfulness rating
Goal CategoriesTag chips showing categorized session goals with counts
Friction IndicatorsSubtle indicators for tool failures, misunderstandings, and other friction
Live File WatchingAuto-updates when new facets appear via GCD dispatch sources
SearchUniversal Search (⌘K)Fuzzy search across sessions, AI summaries, history, commands, skills, memory, MCP servers, plugins, output styles, models, sub-agents, plans, TODOs, and debug logs
Grouped ResultsResults organized by category with counts
Quick AccessEmpty state shows shortcuts, counts, and recent sessions
ConfigurationCommandsBrowse and manage slash commands (global and per-project)
SkillsBrowse and manage reusable skill modules
MCP ServersBrowse configured Model Context Protocol servers with live connection status
ModelsBrowse available models and capabilities
Sub-agentsCreate, edit, duplicate, and delete custom sub-agents with categorized tool selection and memory configuration
PluginsBrowse installed plugins
Output StylesBrowse and manage output style configurations
HooksView and manage event hooks grouped by type with matcher patterns and handler details
TODOsBrowse per-session todo lists with status tracking and session navigation
PlansBrowse ~/.claude/plans/ markdown files with rendered/raw toggle, copy, delete, and file watching
MemoryBrowse per-project auto-memory files with rendered markdown, project filtering, and file watching
Grid & List ViewsToggle between card grid and compact list layouts
Scope BadgesVisual distinction between Global and Project-scoped items
IntegrationsIDE/EditorOne-click open files in VS Code, Cursor, Xcode, or Zed
Terminal SelectionPick your terminal: Terminal, iTerm2, Warp, Ghostty, Kitty, Alacritty
Quick Command Re-runClick any Bash command to copy or open in your terminal
ExportSession ExportExport sessions as Markdown or PDF with configurable options
Copy MarkdownOne-click copy of session content as Markdown to clipboard
Share SheetNative macOS share sheet integration for exported files
Sub-agentsCustom Agent CreationFull form with name, description, system prompt, model, color, categorized tools, and persistent memory
Auto File NamingFile path auto-derived from agent name (lowercase, dashes); file renamed on edit
Tool CategoriesSelect tools by category (Read-only, Edit, Execution, Other) or individually
Agent MemoryConfigure persistent memory per agent (global or none)
Import/ExportShare agents as JSON files between users
DuplicateClone built-in or custom agents as starting points
NavigationFont Scaling⌘+ / ⌘- / ⌘0 to zoom the entire UI
Keyboard ShortcutsFull keyboard navigation with discoverable shortcut hints
Help Book (⌘?)Keyboard reference, feature overview, and getting started guide
AppOnboarding FlowFirst-run welcome with CLI detection, session discovery, and feature tour
Homebrew Distributionbrew install --cask poirot with automated release workflow
DesignDark ThemeWarm golden accent (#E8A642) on near-black backgrounds
SF SymbolsAll icons are SF Symbols with bounce, pulse, and replace animations
Design TokensCentralized PoirotTheme for colors, spacing, radii, and typography
ArchitectureSwift 6Strict concurrency with @MainActor default isolation
Observation@Observable with @State — no ObservableObject
Protocol-Driven DIServices injected via SwiftUI EnvironmentValues
Provider SystemExtensible ProviderDescribing protocol for multi-LLM support
Swift Testing@Test, #expect, #require with hand-written mocks

Getting Started

Install with Homebrew

brew tap a7t-ai/poirot
brew install --cask poirot

Prerequisites

ToolVersionInstall
macOS15.0+
Xcode16.0+Mac App Store

Install SwiftLint and SwiftFormat via Homebrew: brew install swiftlint swiftformat.

Build & Run

git clone https://github.com/a7t-ai/poirot.git
cd Poirot
brew install swiftlint swiftformat
open Poirot.xcodeproj

Hit ⌘R in Xcode and you're up. Or build from the command line:

xcodebuild -scheme Poirot -destination 'platform=macOS' -skipMacroValidation build

Run Tests

xcodebuild test -scheme Poirot -destination 'platform=macOS' -skipMacroValidation

Tests use Swift Testing (@Test, #expect, #require) — not XCTest.


Architecture

Poirot/Sources/
├── App/           # Entry point, ContentView, AppState, Settings
├── Models/        # Value-type structs — Project, Session, Message, ContentBlock
├── Protocols/     # Service protocols (SessionLoading, ProviderDescribing)
├── Services/      # Concrete implementations + SwiftUI Environment DI
│   └── Providers/ # LLM provider configs (ClaudeCodeProvider)
├── Theme/         # Design tokens (PoirotTheme) + Markdown theme
├── Utilities/     # Parsers, terminal launcher
└── Views/         # SwiftUI views organized by feature
    ├── Components/    # Sidebar, StatusBar, Shimmer
    ├── Configuration/ # Config dashboard
    ├── History/       # Prompt history browser
    ├── Home/          # Welcome / empty state
    ├── Memory/        # Memory file browser
    ├── Project/       # Project sessions list
    ├── Plans/         # Plans browser
    ├── Search/        # ⌘K overlay
    ├── Session/       # Conversation detail, tool blocks, thinking
    └── Todos/         # Per-session todo overview

Tech Stack

LayerChoice
LanguageSwift 6 with strict concurrency
UISwiftUI + Observation (@Observable)
ConcurrencyMainActor default isolation
DIProtocol-driven services via EnvironmentValues
MarkdownMarkdownUI
Syntax HighlightingHighlightSwift
LintingSwiftLint (strict profile)
FormattingSwiftFormat
TestingSwift Testing with hand-written mocks

Design System

Poirot uses a custom dark theme built around a warm golden accent (#E8A642) on near-black backgrounds (#0D0D0F). All icons are SF Symbols with symbol effects (bounce, pulse, replace transitions). Typography scales dynamically with user preference (⌘+/⌘-).

Design tokens live in PoirotTheme.swift — colors, spacing, radii, and typography all in one place.

How It Works

~/.claude/projects/          Poirot reads JSONL transcripts
        │                    from Claude Code's local storage
        ▼
┌─────────────────┐
│  SessionLoader   │──▶ Discovers projects & session files
└────────┬────────┘
         ▼
┌─────────────────┐
│ TranscriptParser │──▶ Parses JSONL into Session/Message models
└────────┬────────┘
         ▼
┌─────────────────┐
│    AppState      │──▶ Observable state with in-memory caching
└────────┬────────┘
         ▼
┌─────────────────┐
│   SwiftUI Views  │──▶ Sidebar → Session Detail → Tool Blocks
└─────────────────┘

Contributing

We welcome contributions of all sizes — bug fixes, new features, documentation, or just fixing a typo.

Quick Start

  1. Fork the repo
  2. Create a feature branch from main
  3. Make your changes with tests
  4. Ensure the build passes with zero warnings
  5. Ensure all tests pass
  6. Ensure SwiftLint passes
  7. Open a PR against main

See CONTRIBUTING.md for the full guide on code style, architecture conventions, and testing expectations.

Code Style at a Glance

  • Swift 6 — All types are implicitly @MainActor (no manual annotations needed)
  • @Observable with @State — not ObservableObject
  • SF Symbols only — No custom icon assets
  • Swift Testing@Test, #expect, #require for all new tests
  • Hand-written mocks — In PoirotTests/Mocks/, no mocking frameworks

Roadmap

Poirot is early. There's a lot to build and we'd love your help. Track what's planned and in progress on the issues page.


Community


Acknowledgments

  • Built with Claude Code — the tool this app is built to complement
  • MarkdownUI for rich text rendering
  • HighlightSwift for code syntax highlighting
  • Every SF Symbol that made the UI feel native

License

MIT — see LICENSE for details.

No tracking. No analytics. Analyze the code yourself, or ask your Claude to do it. :)

Made with coffee and Claude Code in a weekend.

If you find Poirot useful, consider giving it a star. It helps others discover the project.

常见问题

What is poirot?

poirot is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by a7t-ai. A native macOS companion for Claude Code that lets you browse sessions, explore diffs, and re-run commands. It has 186 GitHub stars.

Is poirot safe to use?

Yes. poirot passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install poirot?

Clone the repository with "git clone https://github.com/a7t-ai/poirot" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is poirot written in?

poirot is primarily written in Swift. It is open-source under a7t-ai on GitHub, so you can review or fork the full source.

Are there alternatives to poirot?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh poirot against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP 服务器
查看详情

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP 服务器
查看详情

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP 服务器
查看详情

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP 服务器
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情