Weekly Engineering Retro
garrytan/gstack
Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.
HAR: Sync Plans.md with implementation. An agent skill from Chachamaru127/claude-code-harness.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-sync --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/harness-sync .claude/skills/harness-sync && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "harness-sync" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-sync into .claude/skills/harness-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-sync", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-syncType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/harness-sync .agents/skills/harness-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "harness-sync" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-sync into .agents/skills/harness-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-sync", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/harness-sync .cursor/skills/harness-sync && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "harness-sync" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-sync into .cursor/skills/harness-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-sync", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Chachamaru127/claude-code-harness.git --path skills/harness-sync--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/harness-sync .gemini/skills/harness-sync && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "harness-sync" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-sync into .gemini/skills/harness-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-sync", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Chachamaru127/claude-code-harness harness-syncInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/harness-sync .github/skills/harness-sync && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "harness-sync" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-sync into .github/skills/harness-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-sync", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/harness-sync .opencode/skills/harness-sync && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "harness-sync" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-sync into .opencode/skills/harness-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-sync", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
harness-syncHAR: Sync Plans.md with implementation. An agent skill from Chachamaru127/claude-code-harness.
Harness Sync is an agent skill from Chachamaru127/claude-code-harness. HAR: Sync Plans.md with implementation. Drift detect, marker update, retrospective. Trigger: sync-status, where am I, check progress. --snapshot for snapshots. Do NOT load for: planning, implementation, review, release.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering Retrospectives. The repository describes itself as: Claude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2b2b748. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditBashGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitjqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Harness Sync loads about 1.6k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 262 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Bash, Grep, GlobAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Chachamaru127/claude-code-harness at commit 2b2b748, republished under its MIT licence (© Chachamaru127). 262 words, ~1,564 tokens.
.claude/skills/harness-sync/SKILL.md (or your agent's skills folder).Plans.md と実装状況を照合し、差分を検出・更新する。
旧 sync-status および harness-plan sync サブコマンドの独立版。
| ユーザー入力 | 動作 |
|---|---|
harness-sync | 進捗同期 + レトロスペクティブ(デフォルト ON) |
harness-sync --no-retro | 進捗同期のみ(レトロスキップ) |
harness-sync --snapshot | スナップショット保存(進捗の時点記録) |
harness-sync --plan roadmap | named Plans の roadmap を同期 |
| "今どこ?" / "進捗確認" | 同上 |
| オプション | 説明 | デフォルト |
|---|---|---|
--snapshot | 現在の進捗をスナップショットとして保存 | false |
--no-retro | レトロスペクティブをスキップ | false(デフォルトで実行) |
--plan NAME | plans/manifest.json の named plan を使う | active/default |
Plans.md の存在とフォーマットを確認する。問題がある場合は即座に案内して停止する。
複数 Plans.md がある repo では、対象 plan を scripts/plan-registry.sh list または --plan NAME で確認してから読む。
| 状態 | 案内 |
|---|---|
| Plans.md が存在しない | Plans.md が見つかりません。harness-plan create で作成してください。 → 停止 |
| ヘッダーに DoD / Depends カラムがない(v1 形式) | Plans.md が旧フォーマット(3カラム)です。harness-plan create で v2(5カラム)に再生成してください。既存タスクは自動的に引き継がれます。 → 停止 |
| v2 形式(5カラム) | そのまま Step 1 に進む |
# Plans.md の状態
cat Plans.md
# Git 変更状態
git status
git diff --stat HEAD~3
# 直近コミット履歴
git log --oneline -10
# エージェントトレース(直近の編集ファイル)
tail -20 .claude/state/agent-trace.jsonl 2>/dev/null | jq -r '.files[].path' | sort -uAgent Trace から直近の編集履歴を取得し、Plans.md のタスクと照合する:
# 直近の編集ファイル一覧
RECENT_FILES=$(tail -20 .claude/state/agent-trace.jsonl 2>/dev/null | \
jq -r '.files[].path' | sort -u)
# プロジェクト情報
PROJECT=$(tail -1 .claude/state/agent-trace.jsonl 2>/dev/null | \
jq -r '.metadata.project')照合ポイント:
| チェック項目 | 検出方法 |
|---|---|
| Plans.md にないファイル編集 | Agent Trace vs タスク記述 |
| タスク記述と異なるファイル | 想定ファイル vs 実際の編集 |
| 長時間編集がないタスク | Agent Trace 時系列 vs WIP 期間 |
| チェック項目 | 検出方法 |
|---|---|
完了済みなのに cc:WIP | DoD・必須チェック・必要な review の証拠 vs マーカー |
着手済みなのに cc:TODO | 変更ファイル vs マーカー |
cc:完了 なのに未コミット | git status vs マーカー |
状況確認だけの依頼は読み取りと差分報告で完了する。同期更新を明示依頼されている場合は、証拠に一致するマーカー更新を再確認せず実行する。 対象が曖昧、証拠が不足、または仕様判断が必要な項目だけ提案に残す。コミットや Worker の自己申告だけでは完了にしない。
Plans.md 更新が必要です
| Task | 現在 | 変更後 | 理由 |
|------|------|--------|------|
| XX | cc:WIP | cc:完了 | DoD・必須チェック・review の証拠を確認済み |
| YY | cc:TODO | cc:WIP | ファイル編集済み |## 進捗サマリー
**プロジェクト**: {{project_name}}
| ステータス | 件数 |
|----------|------|
| 未着手 (cc:TODO) | {{count}} |
| 作業中 (cc:WIP) | {{count}} |
| 完了 (cc:完了) | {{count}} |
| PM確認済 (pm:確認済) | {{count}} |
**進捗率**: {{percent}}%
### 直近の編集ファイル (Agent Trace)
- {{file1}}
- {{file2}}--snapshot 指定時)--snapshot が指定された場合、現在の進捗状態を時刻付きスナップショットとして保存する。
.claude/state/snapshots/ ディレクトリに JSON 形式で保存:
SNAPSHOT_DIR="${PROJECT_ROOT}/.claude/state/snapshots"
mkdir -p "${SNAPSHOT_DIR}"
SNAPSHOT_FILE="${SNAPSHOT_DIR}/progress-$(date -u +%Y%m%dT%H%M%SZ).json"{
"timestamp": "2026-03-08T10:30:00Z",
"phase": "Phase 26",
"progress": {
"total": 16,
"todo": 5,
"wip": 3,
"done": 6,
"confirmed": 2
},
"progress_rate": 50,
"recent_commits": ["abc1234 feat: ...", "def5678 fix: ..."],
"recent_files": ["skills/harness-work/SKILL.md", "..."],
"notes": ""
}前回スナップショットが存在する場合、差分を表示:
## スナップショット差分
| 指標 | 前回 ({{prev_time}}) | 今回 | 変化 |
|------|---------------------|------|------|
| 進捗率 | {{prev}}% | {{current}}% | +{{diff}}%pt |
| 完了タスク | {{prev_done}} | {{current_done}} | +{{diff_done}} |
| WIP タスク | {{prev_wip}} | {{current_wip}} | {{diff_wip}} |設計意図: snapshot はユーザーが「今の状態を記録しておきたい」と思った時に手動で使う。 breezing 中の自動的なプログレスフィード(26.2.3)とは別の機能。
次にやること
**優先 1**: {{タスク}}
- 理由: {{依頼中 / アンブロック待ち}}
**推奨**: harness-work, harness-review| 状況 | 警告 |
|---|---|
複数の cc:WIP | 複数タスクが同時進行中 |
pm:依頼中 が未処理 | PM の依頼を先に処理する |
| 大きな乖離 | タスク管理が追いついていない |
| WIP が 3日以上更新なし | ブロックされていないか確認 |
cc:完了 タスクが 1 件以上あれば自動的に振り返りを実行する。
--no-retro で明示的にスキップ可能。
# Plans.md から cc:完了 / pm:確認済 のタスクを抽出
grep -E 'cc:完了|pm:確認済' Plans.md
# 直近の完了コミット履歴
git log --oneline --since="7 days ago"
# 変更規模
git diff --stat HEAD~10| 項目 | 分析方法 |
|---|---|
| 見積もり精度 | Plans.md のタスク記述から想定ファイル数を推論 → git diff --stat の実変更ファイル数と比較 |
| ブロック原因 | blocked マーカーが付いたタスクの理由パターンを集計(技術的/外部依存/仕様不明確) |
| 品質マーカー的中率 | [feature:security] 等を付けたタスクで実際に関連問題が出たか |
| スコープ変動 | Plans.md の初回コミット時のタスク数 vs 現在のタスク数(追加/削除件数) |
## 振り返りサマリー
**期間**: {{start_date}} 〜 {{end_date}}
| 指標 | 値 |
|------|-----|
| 完了タスク | {{count}} 件 |
| ブロック発生 | {{blocked_count}} 件 |
| スコープ変動 | +{{added}} / -{{removed}} 件 |
| 見積もり精度 | 想定 {{est}} ファイル → 実際 {{actual}} ファイル |
### 学び
- {{1-2 行の学び}}
### 次に活かすこと
- {{1-2 行の改善アクション}}振り返りは今回確認した証拠と改善案を報告する。永続記録を明示依頼されている場合だけ、対象の harness-mem または .claude/agent-memory/ に出典と判断理由を記録する。
通常の進捗確認や sync を永続記録の依頼として扱わない。
harness-plan — 計画作成・タスク管理harness-work — タスク実装harness-review — コードレビュー© Chachamaru127, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/harness-sync of Chachamaru127/claude-code-harness.
Open the folder on GitHubat commit 2b2b748
Harness Sync next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Harness Sync this skillChachamaru127/claude-code-harness | 3.2k | — | ~1.6k | Automated safety check: Notes | MIT | |
| Weekly Engineering Retrogarrytan/gstack | 136k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Dough Execute Planterryyin/lizard | 2.5k | — | ~4.3k | Automated safety check: Pass | Custom licence | |
| After Action Reportrampstackco/claude-skills | 940 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Oral Paper SkillAdkid-Zephyr/oral-paper-skill | 340 | — | ~1.9k | Automated safety check: Pass | None | |
| Deck Retroasheshgoplani/agent-deck | 1k | — | ~1.8k | Automated safety check: Pass | MIT |
garrytan/gstack
Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.
terryyin/lizard
Executes one selected story or bounded retrospective correction through an executable plan, or one authorized planless slice from a selected simple story or a contextual instruction, with…
rampstackco/claude-skills
Run a structured after-action review (postmortem, retrospective) on a launch, incident, or completed project to capture timeline, root cause analysis, contributing factors, and actionable lessons.
Adkid-Zephyr/oral-paper-skill
Help authors learn from exemplary ICLR, ICML, and NeurIPS papers through source-linked manuscript comparisons, concrete writing and experiment suggestions, and guided reflection.
asheshgoplani/agent-deck
Run a fully local agent-deck retrospective over the user's own transcripts, Recall index and logs.
terryyin/lizard
Reviews planned, completed planless quick, or quick-to-planned execution against original intent, aggregate commits, current whole-product architecture, and tests, including after cleanup.
Chachamaru127/claude-code-harness
Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
Chachamaru127/claude-code-harness
Renders a single HTML page showing each acceptance criterion as verified or not, with a ship, wait, or reject recommendation for non-engineers.
Chachamaru127/claude-code-harness
Repeats a long task as a series of scheduled wake-ups, each re-entering with fresh context and calling harness-work for one task per cycle.
Chachamaru127/claude-code-harness
Creates and maintains Plans.md task plans with a spec delta, updates task markers and syncs plan progress with the implementation.
Chachamaru127/claude-code-harness
Runs a release for any project that keeps a Keep a Changelog file on GitHub, from version bump to merge, tag and GitHub Release after a single approval.
Categories
HAR: Sync Plans.md with implementation. An agent skill from Chachamaru127/claude-code-harness. Harness Sync is an agent skill from Chachamaru127/claude-code-harness.md with implementation.
Harness Sync fits situations like: tasks that involve Retrospectives.
Run `npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a claude-code`. Or copy the skill folder (skills/harness-sync in Chachamaru127/claude-code-harness) into .claude/skills/harness-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a codex`. Or copy the skill folder (skills/harness-sync in Chachamaru127/claude-code-harness) into .agents/skills/harness-sync in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chachamaru127/claude-code-harness --skill harness-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/harness-sync, .gemini/skills/harness-sync, .github/skills/harness-sync and .opencode/skills/harness-sync in your project.
Going by SKILL.md and its folder, Harness Sync needs the command-line tools its instructions call (git and jq). Its frontmatter pre-approves these tools: Read, Edit, Bash, Grep, Glob.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Harness Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Harness Sync: Weekly Engineering Retro (garrytan/gstack, 136k stars), Dough Execute Plan (terryyin/lizard, 2.5k stars), After Action Report (rampstackco/claude-skills, 940 stars) and Oral Paper Skill (Adkid-Zephyr/oral-paper-skill, 340 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Chachamaru127 (a GitHub user) maintains it in Chachamaru127/claude-code-harness, which has 3,154 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 5, 2026.
Source: Chachamaru127/claude-code-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.