{"id":49852358,"url":"https://github.com/myksyut/pev-harness","last_synced_at":"2026-05-14T17:11:16.935Z","repository":{"id":357137355,"uuid":"1235260890","full_name":"myksyut/pev-harness","owner":"myksyut","description":"Claude Opus 4.7 native Plan-Execute-Verify coding harness — a Claude Code plugin that enforces a 3-phase pipeline with hook-driven verification","archived":false,"fork":false,"pushed_at":"2026-05-11T14:27:37.000Z","size":336,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-11T14:39:22.968Z","etag":null,"topics":["agent-skills","agentic-coding","ai-coding","claude-code","claude-opus","claude-plugin","coding-agent","developer-tools"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/myksyut.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-11T06:47:52.000Z","updated_at":"2026-05-11T14:32:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/myksyut/pev-harness","commit_stats":null,"previous_names":["myksyut/pev-harness"],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/myksyut/pev-harness","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myksyut%2Fpev-harness","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myksyut%2Fpev-harness/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myksyut%2Fpev-harness/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myksyut%2Fpev-harness/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/myksyut","download_url":"https://codeload.github.com/myksyut/pev-harness/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myksyut%2Fpev-harness/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33034899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","agentic-coding","ai-coding","claude-code","claude-opus","claude-plugin","coding-agent","developer-tools"],"created_at":"2026-05-14T17:11:16.165Z","updated_at":"2026-05-14T17:11:16.928Z","avatar_url":"https://github.com/myksyut.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# pev-harness\n\n[![CI](https://github.com/myksyut/pev-harness/actions/workflows/ci.yml/badge.svg)](https://github.com/myksyut/pev-harness/actions/workflows/ci.yml)\n[![GitHub stars](https://img.shields.io/github/stars/myksyut/pev-harness?style=social)](https://github.com/myksyut/pev-harness/stargazers)\n![version](https://img.shields.io/badge/version-3.3.0-blue)\n![license](https://img.shields.io/badge/license-MIT-green)\n![claude--code](https://img.shields.io/badge/Claude%20Code-%E2%89%A5v2.1.111-purple)\n\n**A Claude Code plugin for Claude Opus 4.7 — (Triage →) Plan → Execute → Verify pipeline (v3.0+).**\n\n\u003e ⭐ **If you find this useful, please [star the repo](https://github.com/myksyut/pev-harness/stargazers)** — it helps other Claude Code users discover the project.\n\n## Why this exists\n\nClaude Opus 4.7 が出てから「step by step」「double-check」のような 4.6 時代の prompting scaffolding が **逆効果** になることが公式に明示された。一方 Claude Code 側にも `xhigh` effort / Auto Mode / Focus Mode / Task Budget など 4.7 native 機能が増えた。\n\nこれらを前提に **ゼロベースで再設計** した結果が pev-harness。 既存のコーディングハーネスを4.7向けに改造するのではなく、4.7時代に**最初から書くなら何が必要か**を抜き出した。\n\n## What it does (v3.0+)\n\n入力: 自然文タスク → `/pev \"Add /healthz endpoint that returns {status:'ok'}\"`\n\n```text\n  Phase 0 [TRIAGE]   sonnet + low   →  artifacts/triage.json (v3.0+)\n       ↓             Plan 必要性を判定 (cwd context + prompt 曖昧度)\n       │\n       ├── plan_required ──→ Phase 1 [PLAN]    opus + xhigh   →  artifacts/plan.md\n       │                        ↓                Gate A: permissionMode で human-approval\n       │                     Phase 2 [EXECUTE] sonnet + high  →  code changes + execute.log\n       │                        ↓                Gate B: Stop hook が verify を促す\n       │                     Phase 3 [VERIFY]  sonnet + xhigh →  artifacts/verify.json (PASS/FAIL)\n       │\n       └── plan_skip ──→ Phase 2 [EXECUTE] (plan-less mode、 cwd context + task description で直接実装)\n                            ↓\n                         Phase 3 [VERIFY]\n       ↓\n  PASS → done    FAIL → planner に戻る (max 3 retries)\n```\n\n- **Triage agent (v3.0+)** が cwd 構造 + prompt 曖昧度から Plan 必要性を判定 (= 軽量 router、 多くの実務 task で Plan skip)\n- **Plan の質問返し (v3.0+)** で「user の頭の中の spec を引き出す」 — UI 拡張要素 / 表示 detail / nice-to-have は質問必須\n- **Defensive default の scope 限定 (v3.0+)** — security / data integrity / 状態不整合 のみに適用 (= v2.1.6 の minimal 倒れ問題を解消)\n- **Gate A の人間承認** (Plan 起動時のみ) で、軽微なタスクは `auto` で流し、重要変更は計画レビューを必須化\n- **`--strict` で dual review** (Reviewer A=Opus xhigh + B=Sonnet high) を同一メッセージ内並列起動、structured JSON を merge\n- **agent ごとに memory directory** (`~/.claude/pev/{TASK_ID}/`) を持ち、retry や次セッションへの引き継ぎが durable\n\n### v2.x → v3.0 Migration\n\nv2.x の `/pev \u003ctask\u003e` で `permissionMode=auto` での挙動を 保ちたい場合: `/pev \u003ctask\u003e --with-plan` で v2.x 互換 (= Triage を skip して必ず Plan を起動)。 詳細は [CHANGELOG v3.0](./CHANGELOG.md#300---2026-05-12)。\n\n## Quick start\n\n### A) 個人 install (user scope、 全 project で使える)\n\n```bash\n# 1) Plugin Marketplace 経由でインストール (v2.1+ 推奨)\nclaude plugin marketplace add myksyut/pev-harness\nclaude plugin install pev-harness@pev-harness\n\n# 2) project に bootstrap (v1.9+、 1 コマンドで team-conventions.md + .gitignore + 言語検知)\ncd \u003cyour-project\u003e\nclaude\n\u003e /pev-harness:pev-init\n\n# 3) 最初のタスクを実行\n\u003e /pev-harness:pev \"Add a /healthz endpoint that returns {status: 'ok'}\"\n```\n\n### B) Team 共有 install (project scope、 v2.1.5+)\n\nteam 全員が同じ project で同じ pev-harness version を使うことを保証したい場合:\n\n```bash\ncd \u003cyour-project\u003e\nclaude plugin marketplace add myksyut/pev-harness\nclaude plugin install pev-harness@pev-harness --scope project\n# → \u003cproject\u003e/.claude/settings.json に extraKnownMarketplaces + enabledPlugins が書き込まれる\ngit add .claude/settings.json \u0026\u0026 git commit -m \"chore: adopt pev-harness team-wide\"\n```\n\nteammate は project clone → `claude` 起動で trust prompt → 同意で auto install + enable。 詳細は [ONBOARDING §1.2](./ONBOARDING.md#12-project-scope-install-team-共有-v215-推奨)。\n\n### C) セッション単位の試用 (`--plugin-dir`)\n\n```bash\ngit clone https://github.com/myksyut/pev-harness.git\nclaude --plugin-dir ./pev-harness\n\u003e /pev-harness:pev-init\n\u003e /pev-harness:pev \"...\"\n```\n\nv2.0 以前の手動 clone install (`~/.claude/plugins/repos/myksyut/`) もそのまま動く。\n\n`/pev-init --dry-run` で「実行予定 file list + 言語検知結果」を見てから実行する習慣を推奨。\n\n## Optional integrations\n\npev-harness の core 機能 (PEV pipeline / Gate A/B / dual-review / external-reviewer) は単体で動きますが、 一部 skill は **別 plugin に依存** します。 使う機能だけ install してください。\n\n### Linear sync (issue/project 連携、 `pev-linear-sync` / `linear-project-workflow` / `linear-project-tracker` 用)\n\n```bash\n# Anthropic 公式 marketplace から Linear plugin を install\nclaude plugin marketplace add anthropics/claude-plugins-official\nclaude plugin install linear@claude-plugins-official\n# 初回起動時に OAuth で Linear workspace に接続 (Linear hosted MCP: https://mcp.linear.app/mcp)\n```\n\ninstall しないと `mcp__plugin_linear_linear__*` tool が解決できず、 上記 3 skill は no-op になります。 Linear 連携を使わないなら skip 可。\n\n### Playwright E2E (`pev-e2e-verify` / `/pev-verify-e2e` / `/pev-init-e2e` 用)\n\n`examples/sample-project/.mcp.json` がテンプレ。 各 project の `.mcp.json` に下記を追記:\n\n```json\n{ \"mcpServers\": { \"playwright-test\": { \"command\": \"npx\", \"args\": [\"playwright\", \"run-test-mcp-server\"] } } }\n```\n\n`/pev-init-e2e` が `.mcp.json` / `.claude/agents/playwright-test-*.md` を auto 生成するので、 普段は手動編集不要。\n\n### Codex CLI (`pev-external-reviewer` / `--reviewer dual-codex` 用)\n\n```bash\n# OpenAI Codex CLI install (公式: https://github.com/openai/codex)\nbrew install openai/tap/codex\ncodex auth login\n```\n\n`/pev-init-codex` で project 側 wire-up 完了。\n\n## Required initial-turn prompt structure\n\n```text\nGoal: 達成したいこと\nConstraints: やってはいけないこと・依存制約\nAcceptance Criteria: 成功の判定方法\nFiles: 既知の関連パス (任意)\n```\n\n不足要素があれば、planner はコードを1行も読まずに**まず質問返し**する。Opus 4.7 は literal instruction-following が強いので、暗黙の文脈には頼らない。\n\n## Components\n\n| 種類 | 内容 |\n|---|---|\n| **agents** (3) | planner / executor / verifier |\n| **skills** (18) | pev-pipeline, pev-spec-template, pev-task-budget, pev-focus-mode, pev-recap, pev-subagent-memory, pev-dual-review, pev-team-conventions, pev-test-design, pev-e2e-verify, pev-bootstrap-playwright, pev-bootstrap-project (v1.9), **pev-bootstrap-codex** (v2.0), **pev-external-reviewer** (v2.0), pev-linear-sync, linear-project-workflow, linear-project-tracker, **empirical-prompt-tuning** (v2.1) |\n| **commands** (9) | `/pev`, `/pev-plan`, `/pev-execute`, `/pev-verify`, `/pev-verify-e2e`, `/pev-status`, `/pev-init-e2e`, `/pev-init` (v1.9), **`/pev-init-codex`** (v2.0) |\n| **hooks** (3) | PreToolUse (destructive cmd block) / Stop (recap auto-append) / SessionStart (task resume) |\n| **rules** (3) | `pev-conventions.md` (Gate respect 等) / `4.7-native.md` (禁止フレーズリスト) / `error-patterns.md` (エラー推測 catalog) |\n\n## Documentation\n\n- [SPEC.md](./SPEC.md) — 完全仕様 (12 章 + ADR 5 件)\n- [ONBOARDING.md](./ONBOARDING.md) — Installation, troubleshooting, FAQ\n- [CHANGELOG.md](./CHANGELOG.md) — version history\n- [CONTRIBUTING.md](./CONTRIBUTING.md) — How to contribute\n- [SECURITY.md](./SECURITY.md) — Vulnerability disclosure policy\n- [examples/](./examples/) — Sample plan.md / verify.json / dog food evidence\n\n## Design philosophy\n\n5 つの原則 (SPEC.md §1):\n\n| | |\n|---|---|\n| **P1** | Single source of truth — 1 phase に 1 agent / 1 skill |\n| **P2** | 4.7-native — `xhigh` / adaptive thinking / task budget / auto mode 前提 |\n| **P3** | No backwards compat — Claude Code v2.1.111+ 必須、4.6 以前と互換しない |\n| **P4** | Convention over configuration — settings.json デフォルトで動く |\n| **P5** | Hook-driven verification — 検証は prompt ではなく hook で強制 |\n\n特に **P5 が dog food で証明済み**: v0.5 で planner が `permissionMode=default` を自主判断で override したが、v0.6 で rules / agent / command の 3 層で Gate boundary を縛って完全解消した。\n\n## What this harness does NOT do\n\n- 言語別ヘルパーの追加 (プロジェクト側の tooling を使う)\n- 自動 git commit (人間が境界を決める)\n- 自動フォーマット (プロジェクト側の formatter)\n- 50 個の specialized agent (ここでは agent 3 個でミニマルに完結)\n\n## Roadmap\n\n| Version | スコープ | Status |\n|---|---|---|\n| v0.1-v0.6 | 機能開発 (Plan/Execute/Verify pipeline 完成) | ✅ released |\n| v1.0 | Rollout package (ONBOARDING / ROLLOUT-CHECKLIST / FEEDBACK-TEMPLATE) | ✅ released |\n| v1.1 | OSS 化準備 (LICENSE / SECURITY / templates) | ✅ released |\n| v1.2-v1.3 | Linear integration + hardening (28 dog food findings) | ✅ released |\n| v1.4-v1.5 | E2E verification (Playwright) + QA technique integration | ✅ released |\n| v1.6-v1.7 | dog food findings reflection + CLAUDE.md 開発者向け再定義 | ✅ released |\n| v1.8 | v1.3 + v1.7.1 dog food findings reflection (9 件) | ✅ released |\n| v1.9 | `/pev-init` project bootstrap command (言語検知 + auto-populate) | ✅ released |\n| **v2.0** | **External reviewer (OpenAI Codex CLI) integration** — dual-codex mode で真の model diversity | ✅ released |\n| v2.1+ | Gemini CLI 対応 / planner-executor も外部 model 切替可 | [Issue #9](https://github.com/myksyut/pev-harness/issues/9) continuation |\n\n## Contributing\n\nBug report / feature request は [Issues](https://github.com/myksyut/pev-harness/issues) で。質問は [Discussions](https://github.com/myksyut/pev-harness/discussions) で。\n\n詳細は [CONTRIBUTING.md](./CONTRIBUTING.md) を参照。Security 脆弱性は **SECURITY.md** の手順で private に。\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n---\n\n\u003e **Note for users**: pev-harness は **trusted developer の local 環境** で動作する開発支援 plugin として設計されています。 SaaS / 共有環境での運用には追加の sandbox / isolation が必要です。詳しくは [SECURITY.md](./SECURITY.md) の threat model 参照。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyksyut%2Fpev-harness","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmyksyut%2Fpev-harness","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyksyut%2Fpev-harness/lists"}