with one click
claude-harness-pjc
claude-harness-pjc contains 8 collected skills from jongcheol-pak, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
This skill should be used when executing tasks from an approved plan.md. Triggers โ ONLY when an approved plan.md already exists (or the user is approving a plan just presented) โ on phrases like "๊ตฌํ", "implement", "์ด๋๋ก ์งํ", "์งํํด", "๊ณ์", "T<N> ์งํ", "go" (meaning "proceed with the plan"). If NO plan exists yet and the user asks to design or implement a non-trivial change, that is plan-feature first โ it writes the plan, this skill runs it. Runs a FULLY AUTONOMOUS loop โ processes ALL tasks (T1...Tn) without asking between tasks, stopping only when every task completes or a Halt Condition fires. Resuming mid-plan ("T6๋ถํฐ ๊ณ์") means T6 through the LAST task plus Phase F/G, not just T6. For trivial single-line edits without a plan, do NOT use this skill โ Claude applies the change directly and lets hooks validate.
Plan a non-trivial code change โ decompose into tasks, pre-resolve decisions, define acceptance, output one plan.md. Triggers on Korean (๊ณํ/์ค๊ณ/๊ธฐ๋ฅ ์ถ๊ฐ/๋ฆฌํฉํ ๋ง/๊ตฌํ/์์ /๋ณ๊ฒฝ/์ฌ๋ฌ ๊ณณ/์ ์ฒด/๋ง๋ค์ด์ค/์ฑยท๋๊ตฌ ๋ง๋ค์ด) and English (plan/design/implement/refactor/build an app/create a tool), a multi-task request, or a change spanning multiple files, altering logic/signatures, adding a function/class/method, or refactoring a resource layer (i18n/theming/DI). Routing โ approved plan.md + execute-only (๊ตฌํ/์ด๋๋ก ์งํ/๊ณ์/T<N> ์งํ/go) โ implement-task; bug/crash reports (๋ฒ๊ทธ/์๋ฌ/ํฌ๋์/์ ๋จ/์ ์ ๋ผ) โ pjc-systematic-debugging first; single-component work (Domain/Application service, ViewModel, wiki page) โ add-domain-service/add-viewmodel/llm-wiki. Do NOT trigger for trivial edits (single-line text/label/color/size, typo, comment, config, โค3-line code adding no new symbol/signature, or multi-element pure value substitution of any count โ Claude edits directly). Ambiguous scope โ ask "A) edit directly / B) make a plan".
LLM WIKI(Obsidian vault) ์ด์ยท๊ด๋ฆฌ ์คํฌ. ํ๋ก์ ํธ๋ฅผ ์ํค์ ์ถ๊ฐ/๋ฑ๋กยท์ ๋ณด ๊ฐฑ์ (ingest)ยท์ญ์ ยท์ํ ๋ณ๊ฒฝ, ํน์ ๊ธฐ๋ฅ/๊ฐ์ด๋/๋ ์ํผ๋ฅผ ์ํค์ ์ถ๊ฐ, ์ํค ์ ๊ฒ(lint)ยท์ง๋ฌธ(query)ยท๋ณต๊ตฌ(์๋ชป ๊ฐฑ์ ๋ ํ์ด์ง๋ฅผ ๋ฐฑ์ ์ผ๋ก ๋๋๋ฆฌ๊ธฐ) ์ ์ฌ์ฉํ๋ค. "์ํค์ ์ถ๊ฐ/๋ฑ๋ก", "{ํ๋ก์ ํธ} ์ํค์ ๋ฑ๋ก", "์ํค ์ ๋ฐ์ดํธ", "{ํ๋ก์ ํธ} ๋ณ๊ฒฝ๋ถ ๋ฐ์", "์ํค ์ ๊ฒ/lint", "{๊ธฐ๋ฅ} ์ํค์ ์ถ๊ฐ", "์ํค ๋๋๋ ค์ค/๋ณต๊ตฌ", "ํ ์ ๋ฆฌ/pending ์ ๋ฆฌ"(๊ฒฝ๋ ํ ์๋น) ๋ฑ์ ์์ฒญ์ ๋ฐ๋. ์ฝ๋ ์์ ์ธ์ ์์ ๊ธฐ๋ฅ ๊ตฌํยท๋ฒ๊ทธ ์์ ์ ์ ๊ด๋ จ feature/recipe๋ฅผ read-only๋ก ์ฐธ์กฐํ ๋(์ ์ฐจ K)๋ ์ฌ์ฉํ๋ค. ์ด๋ ๋๋ ํฐ๋ฆฌ์์๋ (์ฝ๋ ํ๋ก์ ํธ ํด๋ ํฌํจ) ํธ์ถ ๊ฐ๋ฅ โ ์ํค vault ๋ฐ์์๋ ๋์ํ๋ค. ๋จ์ ์ฝ๋ ์์ ยท์ํค์ ๋ฌด๊ดํ ์ผ๋ฐ ์ง์ ์ง๋ฌธ์๋ ๋ฐ๋ํ์ง ์๋๋ค(๊ทธ๊ฑด plan-feature/implement-task ์์ญ).
This skill should be used when starting work on a project that has no AGENTS.md file, to generate one. Triggered automatically by plan-feature when AGENTS.md is missing, manually with "/pjc:bootstrap-agents-md", or when the user asks to create a project agent guide - e.g. "AGENTS.md ๋ง๋ค์ด์ค", "ํ๋ก์ ํธ ๊ฐ์ด๋ ๋ฌธ์ ์๋์ผ๋ก ๋ง๋ค์ด์ค", "Claude๊ฐ ์ด ํ๋ก์ ํธ ์ปจ๋ฒค์ ์ ์๊ฒ ํด์ค". Detects project stack from marker files (.csproj, package.json, pyproject.toml, go.mod, Cargo.toml, etc.) and generates a minimal AGENTS.md from one of 9 stack templates (plus generic/multi-stack). If stack is unknown, asks the user. Do NOT trigger when an AGENTS.md or CLAUDE.md already exists, when only editing/adding a line to an existing AGENTS.md, or for writing a README.
Use whenever the user reports a bug, test/build failure, runtime error, exception, crash, unexpected behavior, performance regression, memory leak, race condition, deadlock, or CI/CD issue. Triggers on Korean (๋ฒ๊ทธ/์๋ฌ/์ค๋ฅ/์์ธ/ํฌ๋์/์ ๋จ/๋์ ์ ํจ/์ด์ํด/์ ์ด๋/์ ์ ๋ผ/์ด์ํ ํ์/ํ ์คํธ ์คํจ/๋น๋ ์คํจ/์ฌํ/๋๋ฒ๊น ) and English (bug/fix/debug/error/exception/crash/fails/broken/regression). Root cause investigation is mandatory before any patch. If the compiler/stack trace pinpoints the cause (fileยทlineยทreason) and the fix is a small single-file change, use the lightweight path, not a skip. Not for non-bug "fix" requests (reformatting/renaming โ trivial edits, not debugging). Skip ONLY when the user explicitly asks to apply a fix they already diagnosed ("๊ทธ๋ฅ ์ด ํ ์ค๋ง ์์ ํด์ค, ์์ธ ๋ค ์๋ค"). pjc/DDD-integrated variant (regression-test-first fix, spec-compliance review, cross-project llm-wiki lookup); prefer over generic systematic-debugging in pjc projects.
This skill should be used when the user requests adding business logic, a domain service, an application service, or any logic that should live in the Domain or Application layer of a DDD project. Triggers on phrases like "์๋น์ค ์ถ๊ฐ", "๋๋ฉ์ธ ๋ก์ง", "๋น์ฆ๋์ค ๋ก์ง", "use case ์ถ๊ฐ", "add service", "add use case". Generates Domain interface + implementation + DI registration + unit test scaffold. Do NOT trigger for logic that belongs inside a single Aggregate (add a method to the Aggregate instead), for pure UI/ViewModel work (use add-viewmodel), for infrastructure/config-only changes, or for projects without a Domain/Application layer split (single-project apps, scripts, or utilities with no DDD layering โ forcing a nonexistent layer is wrong; implement directly per the project's structure).
This skill should be used when the user requests adding a new screen, dialog, page, window, or any UI component that needs a ViewModel in a WinUI 3 / WPF / MAUI project using CommunityToolkit.Mvvm. Triggers on phrases like "ViewModel ์ถ๊ฐ", "์ ํ๋ฉด", "๋ค์ด์ผ๋ก๊ทธ ์ถ๊ฐ", "ํ์ด์ง ๋ง๋ค๊ธฐ", "add screen/page/dialog/window". Generates ViewModel + View skeleton with proper MVVM bindings and DI registration. Do NOT trigger for non-XAML stacks (React/web, ASP.NET WebAPI controllers), simple UI text/label/style tweaks on an existing view, or debugging an existing ViewModel (use pjc-systematic-debugging). Android Jetpack ViewModel is out of scope.
This skill should be used when recording a CONFIRMED project fact (build/run command, DB access method, file/artifact location, test/verify command) into an EXISTING AGENTS.md โ either right after the suggest-agents-record hook emits "[AGENTS ๊ธฐ๋ก ์ ์]" and the user accepts, or when the user explicitly asks to record such a fact. Triggers on "AGENTS.md์ ๊ธฐ๋ก", "ํ๋ก์ ํธ ์ฌ์ค ๊ธฐ๋ก", "๋น๋ ๋ช ๋ น ๊ธฐ๋กํด์ค", "์ด ๋ช ๋ น AGENTS์ ์ถ๊ฐ", "DB ์ ๊ทผ๋ฒ ์ ์ด๋ฌ", "ํ ์คํธ ๋ช ๋ น ๊ธฐ๋ก", "AGENTS.md์์ ์ด ํญ๋ชฉ ๋นผ์ค", "๋ ์ด์ ์ ์ฐ๋ ๋ช ๋ น ์ง์์ค", or accepting the hook's suggestion. The fact may be added, updated, or removed. Do NOT trigger for โ creating a new AGENTS.md from scratch (use bootstrap-agents-md), planning or writing code (plan-feature/implement-task). Records into AGENTS.md ONLY โ never the global/project CLAUDE.md โ and ONLY after showing the exact change and getting user approval (no silent writes). Real secrets/connection strings/credentials are forbidden โ environment variable names only.