Coding & Developmentโจgemini๐คclaude๐ฌgpt๐universal
๐ง my-pi
pi ๊ธฐ๋ฐ ๊ฐ์ธ AI ์คํผ๋ ์ดํ ์์คํ
Quick Start
Install this Skill
npx skills add Jonghakseo/my-pi<div align="center"> [English](./README.en.md) | **ํ๊ตญ์ด** # ๐ง my-pi **[pi](https://github.com/mariozechner/pi-coding-agent) ๊ธฐ๋ฐ ๊ฐ์ธ AI ์คํผ๋ ์ดํ ์์คํ ** *11๊ฐ์ ์ ๋ฌธ ์์ด์ ํธ ยท 25๊ฐ ์ด์์ ํ์ฅ ๊ธฐ๋ฅ ยท ํ ๊ฐ๋ฐ์์ ์ฃผ๊ด์ ์ธ ์ ์ * <br/> `๐ค 11 ์์ด์ ํธ` `๐งฉ 25+ ํ์ฅ ๊ธฐ๋ฅ` `๐จ 7 ํ ๋ง` <br/> > AI ์ฝ๋ฉ ์์ด์ ํธ ์ค์ ์ ํ๋์ **์์ง๋์ด๋ง ํ๋ก์ ํธ**๋ก ๋ค๋ฃฌ๋ค๋ฉด? > > ์ด ๋ ํฌ๊ฐ ๊ทธ ๋ต์ด๋ค โ ๋งค์ผ ์ค์ฌ์ฉํ๋ ์ค์ ์ผ๋ก, pi๋ฅผ CLI ๋๊ตฌ์์ ๋ฉํฐ ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ด์ ํ๋ซํผ์ผ๋ก ํ์ฅํ๋ค. ์ญํ ๋ณ ์ ๋ฌธ ์์ด์ ํธ, ์์ ์ฅ์น, ์ธ๋ฐํ ์ปค์คํฐ๋ง์ด์ง๊น์ง. </div> --- > [!WARNING] > ์ด ๋ ํฌ๋ ๊ณ์ ๋ฐ๋๋ ๊ฐ์ธ ์ค์ฌ์ฉ ์ ์ ์ด๋ผ ๋ฌธ์์ ์ค์ ์ํ๊ฐ ์ธ์ ๋ ์ด๊ธ๋ ์ ์๋ค. > ์ผ๋ถ ๊ธฐ๋ฅ์ด๋ ์ค์ ์ ํน์ ์์ ์ ๋ถ์์ ํ๊ฑฐ๋ ๊นจ์ ธ ์์ ์ ์๋ค. ## ๐๏ธ ์ํคํ ์ฒ <p align="center"> <img src="./tmp/architecture.ko.svg" alt="์์คํ ์ํคํ ์ฒ" width="800"/> </p> ์์คํ ์ **๋ค ๊ฐ์ ๋ ์ด์ด**๋ก ๊ตฌ์ฑ๋๋ค: | ๋ ์ด์ด | ์ญํ | |---|---| | **์ฌ์ฉ์ / pi TUI** | ํฐ๋ฏธ๋ ๊ธฐ๋ฐ ์ธํฐ๋ํฐ๋ธ ์ธํฐํ์ด์ค | | **ํ์ฅ ๊ธฐ๋ฅ** | 25๊ฐ ์ด์์ TypeScript ํ๋ฌ๊ทธ์ธ โ ์๋ธ์์ด์ ํธ, ์์ฑ I/O, MCP ๋ธ๋ฆฟ์ง, UI ์ค๋ฒ๋ ์ด, ์์ ์ฅ์น | | **์์ด์ ํธ ์ค์ผ์คํธ๋ผ** | ์ญํ ๊ณผ ๋ชจ๋ธ์ด ๋ค๋ฅธ 11๊ฐ์ ์ ๋ฌธ ์์ด์ ํธ ์ ์ | | **์ธํ๋ผ** | [claude-mcp-bridge](./extensions/claude-mcp-bridge/)๋ฅผ ํตํ MCP ๋๊ตฌ ์ฐ๋ โ ๊ธฐ์กด Claude Code MCP ์ค์ ์ ๊ทธ๋๋ก ์ฌ์ฌ์ฉ (Jira, Slack, Gmail, Calendar, GA4, Figma, DB ๋ฑ) | --- ## ๐ค ์์ด์ ํธ ์ค์ผ์คํธ๋ผ <p align="center"> <img src="./tmp/agents.ko.svg" alt="์์ด์ ํธ ์ค์ผ์คํธ๋ผ" width="800"/> </p> ํ์ฌ ๊ธฐ์ค 11๊ฐ์ ์์ด์ ํธ ์ ์, 3๊ฐ์ ๋ชจ๋ธ, ํ๋์ ์ค์ผ์คํธ๋ ์ดํฐ๋ก ๊ตฌ์ฑ๋๋ค: | ์์ด์ ํธ | ๋ชจ๋ธ | ์ญํ | ์ฌ์ฉ ์์ | |---|---|---|---| | ๐ **finder** | `anthropic/claude-sonnet-4-6` | ๋น ๋ฅธ ํ์ผยท์ฝ๋ ํ์ | ๋น ๋ฅธ ์กฐํ, grep ์คํ์ผ ํ์ | | โก **worker** | `openai-codex/gpt-5.4` | ๋ฒ์ฉ ์์ ์คํ๊ธฐ | ๊ตฌํ, ์์ฑ, ์์ (๋ณต์กํ ๋ค์ค ํ์ผ) | | ๐ **planner** | `anthropic/claude-opus-4-6` | ๊ตฌํ ์ค๊ณ์ | ๋ณต์กํ ์์ ๋ถํ | | โจ **simplifier** | `anthropic/claude-sonnet-4-6` | ์ฝ๋ ๋จ์ํ ์ ๋ฌธ๊ฐ | ์ต๊ทผ ์์ ์ฝ๋ ์ ๋ฆฌ, ๊ฐ๋ ์ฑ ๊ฐ์ , ๋์ ๋ณด์กด ๋ฆฌํฉํฐ๋ง | | ๐งน **code-cleaner** | `openai-codex/gpt-5.4` | ์ฝ๋ ์ ๋ฆฌ ๋ถ์๊ฐ | ์ค๋ณต ์ ๊ฑฐ ํ๋ณด, ํ์ง ๋ฌธ์ ํ์ | | ๐ **reviewer** | `openai-codex/gpt-5.4` | ์ฝ๋ ๋ฆฌ๋ทฐ (P0โP3 ์ฌ๊ฐ๋) | PR ๋ฆฌ๋ทฐ, ํ์ง ์ ๊ฒ | | ๐ฅ **challenger** | `openai-codex/gpt-5.4` | ์คํธ๋ ์ค ํ ์คํฐ | ์คํ ์ ๊ณํ ๊ฒ์ฆ | | โ **verifier** | `anthropic/claude-opus-4-6` | 3๋จ๊ณ ๊ทผ๊ฑฐ ๊ฒ์ฆ | ์ฃผ์ฅ ํ์ธ, ์ ํ์ฑ ์ ๊ฒ | | ๐ **security-auditor** | `openai-codex/gpt-5.4` | ๋ณด์ ๊ฒํ ์ | ์ทจ์ฝ์ ์ค์ฌ ๋ฆฌ๋ทฐ | | ๐ **searcher** | `anthropic/claude-sonnet-4-6` | ๋ฆฌ์์นยท์น ๊ฒ์ | ๋ฌธ์ ํ์, ์กฐ์ฌ | | ๐ฅ๏ธ **browser** | `openai-codex/gpt-5.4` | ๋ธ๋ผ์ฐ์ ์๋ํยทUI ํ ์คํธ | E2E ํ ์คํธ, ์๊ฐ ๊ฒ์ฆ | <details> <summary><strong>๋ชจ๋ธ ์ ํ ๊ธฐ์ค</strong></summary> - **openai-codex/gpt-5.4** โ ๋ฒ์ฉ ์คํยท๋ฆฌ๋ทฐ (๊ตฌํ, ํ ์คํธ, ๋ฆฌ๋ทฐ, ๋ณด์ ๊ฒํ , ๋ธ๋ผ์ฐ์ ์๋ํ) - **anthropic/claude-sonnet-4-6** โ ๋น ๋ฅธ ํ์ยท๋ฆฌ์์น (ํ์ผ ๊ฒ์, ์น ๋ฆฌ์์น, ์ฝ๋ ๋จ์ํ) - **anthropic/claude-opus-4-6** โ ๊น์ ์ถ๋ก ์์ (์ ๋ต ์ค๊ณ, ๊ฒ์ฆ) ์ค์ผ์คํธ๋ ์ดํฐ(๋ฉ์ธ ์์ด์ ํธ)๋ `anthropic/claude-opus-4-6` ๊ธฐ๋ฐ์ผ๋ก ๋์ํ์ฌ ์์ ๊ฒฐ์ ์ ์ํํ๋ค. </details> --- ## ๐งฉ ํ์ฅ ๊ธฐ๋ฅ 25๊ฐ ์ด์์ ์ปค์คํ TypeScript ํ์ฅ ์ค ๋ํ ํญ๋ชฉ๋ค์ ๋๋ฉ์ธ๋ณ๋ก ์ ๋ฆฌํ๋ค: ### ์ฝ์ด ์์คํ | ํ์ฅ | ์ค๋ช | |---|---| | **subagent/** | ๋ฉํฐ ์์ด์ ํธ ์์ ์์ง โ ์๋ธ `pi` ํ๋ก์ธ์ค ์์ฑ, below-editor ์ํ ์์ ฏ์ผ๋ก ์คํ ๊ด๋ฆฌ, ์๋ follow-up/์ ๋ฆฌ | | **claude-mcp-bridge/** | Claude Code์ MCP ์๋ฒ ์ค์ ์ ๊ทธ๋๋ก ์ฌ์ฌ์ฉ โ ์ค๋ณต ์ค์ ์ ๋ก | | **cross-agent.ts** | `.claude/`, `.gemini/`, `.codex/` ๋๋ ํฐ๋ฆฌ์์ ์์ด์ ํธ ์ ์ ๋ก๋ | | **dynamic-agents-md.ts** | ๋ฐํ์์ AGENTS.md๋ฅผ ๋์ ๋ก๋ํ์ฌ ํธ์งยท์ฐ๊ธฐ ๋ฒ์ ์ ํ ๊ฐ์ | | **escalate-tool.ts** | ์๋ธ์์ด์ ํธ๊ฐ ๋ง์คํฐ์๊ฒ ์์ค์ปฌ๋ ์ด์ ์ ํธ๋ฅผ ๋ณด๋ด๋ ๋๊ตฌ | | **claude-hooks-bridge.ts** | Claude Code์ ํ (hook) ์ด๋ฒคํธ๋ฅผ Pi ์ธ์ ์ ์ฐ๊ฒฐํ๋ ๋ธ๋ฆฟ์ง | | **memory-layer/** | ์ธ์ ๊ฐ ์์ ๋ฉ๋ชจ๋ฆฌ ์์คํ | ### UI / UX | ํ์ฅ | ์ค๋ช | |---|---| | **footer.ts** | ๋ชจ๋ธ, git ๋ธ๋์น, ์ปจํ ์คํธ ์ฌ์ฉ๋์ ๋ณด์ฌ์ฃผ๋ ์ปค์คํ ํธํฐ | | **working-text.ts** | ์ฒ๋ฆฌ ์ค ๊ฒฝ๊ณผ ์๊ฐ๊ณผ ํจ๊ป ํ ์ค์ฌ ์คํผ๋ ํ ์คํธ | | **idle-screensaver.ts** | ์ ํด ์ ํฐ๋ฏธ๋ ์คํฌ๋ฆฐ์ธ์ด๋ฒ | | **theme-cycler.ts** | `Ctrl+X`๋ก ํ ๋ง ์ค์๊ฐ ์ํ | | **diff-overlay.ts** | `/diff` โ ๋ถํ ํ๋ฉด git diff ๋ทฐ์ด ์ค๋ฒ๋ ์ด | | **github-overlay.ts** | ํฐ๋ฏธ๋์์ ๋ฐ๋ก GitHub PR ํ์ธ | | **files.ts** | `/files` โ git ํธ๋ฆฌ ํ์ผ ๋ธ๋ผ์ฐ์ + ์ด๊ธฐ/ํธ์ง/diff ๋น ๋ฅธ ์ก์ | | **fork-panel.ts** | `/fork-panel` โ ํ์ฌ ์ธ์ ์ ์ Ghostty split panel๋ก ํฌํฌ | | **generative-ui/** | `visualize_read_me`, `show_widget` โ ๋ค์ดํฐ๋ธ ์๊ฐํ/์์ ฏ ๋ ๋๋ง | | **override-builtin-tools.ts** | ๋๊ตฌ ์ถ๋ ฅ ์ ๊ธฐ/ํผ์น๊ธฐ๋ก ์ธ์ ๊น๋ํ๊ฒ ์ ์ง | ### ๊ฐ๋ฐ ๋๊ตฌ | ํ์ฅ | ์ค๋ช | |---|---| | **todo-write.ts** | ํ ์ผ ๊ด๋ฆฌ โ `todo_write` ๋๊ตฌ, ์์ ์ ์ฅ์, TUI ๋ ๋๋ง | | **auto-name.ts** | ์ฒซ ์ฌ์ฉ์ ๋ฉ์์ง๋ก ์ธ์ ์ด๋ฆ ์๋ ๊ฐ์ง | | **upload-image-url.ts** | GitHub CDN์ผ๋ก ์ด๋ฏธ์ง ์ ๋ก๋ ํ ์๋ฒ ๋ฉ | | **clipboard.ts** | OSC52 ์ด์ค์ผ์ดํ ์ํ์ค๋ก ํด๋ฆฝ๋ณด๋์ ํ ์คํธ ๋ณต์ฌ | | **ask-user-question.ts** | ์ฌ์ ์ ์ ์ต์ ์ ๊ฐ์ถ ์ธํฐ๋ํฐ๋ธ ์ง๋ฌธ ๋๊ตฌ | | **delayed-action.ts** | ์ง์ฐ ์คํ ์์ฝ | | **until.ts** | `/until`, `until_report` โ ์กฐ๊ฑด ์ถฉ์กฑ๊น์ง ๋ฐ๋ณต ์คํ | | **usage-analytics.ts** | `/analytics` โ ์๋ธ์์ด์ ํธยท์คํฌ ์ฌ์ฉ ํต๊ณ ์ค๋ฒ๋ ์ด | | **archive-to-html.ts** | to-html ์คํฌ๋ก ์์ฑ๋ HTML ํ์ผ์ `~/Documents`์ ์๋ ์์นด์ด๋ธ | ### ์์ ์ฅ์น | ํ์ฅ | ์ค๋ช | |---|---| | **command-typo-assist.ts** | ๋ช ๋ น์ด ์คํ๋ฅผ ๊ฐ์งํ๊ณ ์๋ ์์ ์ ์ | --- --- ## ๐ท๏ธ ์ธ์ ์ด๋ฆ `/name`์ ํ๋กฌํํธ ํ ํ๋ฆฟ์ด ์๋๋ผ **๋ด์ฅ ๋ช ๋ น**์ด๋ค. ``` /name <์ธ์ ์ด๋ฆ> # ์ด๋ฆ ์ค์ /name # ํ์ฌ ์ด๋ฆ ํ์ธ ``` --- ## ๐จ ํ ๋ง ํ์ฌ 7๊ฐ ํ ๋ง๋ฅผ ์ ๊ณตํ๋ฉฐ, `Ctrl+X`๋ก ์ค์๊ฐ ์ ํํ ์ ์๋ค: | ํ ๋ง | ์คํ์ผ | |---|---| | **nord** *(๊ธฐ๋ณธ)* | ๋ถ๊ทนํ, ๊น๋ํ ๋ธ๋ฃจ์ ์๋ฆฌ ํค | | **catppuccin-mocha** | ๋คํฌ ์ด์ฝ๋ฆฟ ์์ ๋ฐ๋ปํ ํ์คํ | | **darcula** | JetBrains ์คํ์ผ์ ์งํ ๋คํฌ ํค | | **dracula** | ๋๋น๊ฐ ์ ๋ช ํ ํผํ ๊ณ์ด ๋คํฌ ํ ๋ง | | **gruvbox** | ๋ ํธ๋ก ๋ฐ๋ปํ ํค, ๋์ด ํธํ | | **midnight-ocean** | ๊น์ ๋ฐ๋ค ๋ธ๋ฃจ์ ํธ | | **rose-pine** | ์ฐจ๋ถํ๊ณ ์ฐ์ํ ๋ก์ฆ ํค | --- ## โจ๏ธ ๋จ์ถํค | ํค | ๋์ | |---|---| | `Ctrl+T` | ์ฌ๊ณ (thinking) ํ์ ํ ๊ธ | | `Ctrl+X` | ํ ๋ง ์ํ | | `Ctrl+Q` | ํ ๋ง ์ญ์ ์ํ | | `Ctrl+Shift+O` | ํ์ผ ๋ธ๋ผ์ฐ์ ์ด๊ธฐ | | `Ctrl+Shift+F` | ์ต๊ทผ ํ์ผ ์ฐธ์กฐ๋ฅผ Finder์์ ํ์ | | `Ctrl+Shift+R` | ์ต๊ทผ ํ์ผ ์ฐธ์กฐ Quick Look | ... (truncated)
Related Skills
More coding & development skills you might like
Reticle
Coding & DevelopmentAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.
๐คclaude๐universal
1.2k
190
View
agentscope-java
Coding & DevelopmentExpert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or Java agent development. Specializes in non-blocking code, tool integration, hooks, pipelines, and production-ready agent applications.
๐universal
6.0k
1.5k
View
ospec
Coding & DevelopmentDocument-driven OSpec workflow for initialization, change/goal routing, validation, archiving, and durable project knowledge.
โจgemini๐คclaude๐ฌgpt๐universal
524
34
View
misakanet-failure-memory
Coding & Development๐ A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. Python stdlib only. | https://misakanet.org
๐คclaudeโจ๏ธcursor๐universal
424
158
View