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.
Creates a structured lessons learned entry for organizational memory.
$ npx skills add product-on-purpose/pm-skills --skill iterate-lessons-log -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install product-on-purpose/pm-skills iterate-lessons-log --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/product-on-purpose/pm-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/iterate-lessons-log .claude/skills/iterate-lessons-log && 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 "iterate-lessons-log" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-log into .claude/skills/iterate-lessons-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "iterate-lessons-log", 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/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-logType 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 product-on-purpose/pm-skills --skill iterate-lessons-log -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install product-on-purpose/pm-skills iterate-lessons-log --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/iterate-lessons-log .agents/skills/iterate-lessons-log && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "iterate-lessons-log" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-log into .agents/skills/iterate-lessons-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "iterate-lessons-log", 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 product-on-purpose/pm-skills --skill iterate-lessons-log -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install product-on-purpose/pm-skills iterate-lessons-log --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/iterate-lessons-log .cursor/skills/iterate-lessons-log && 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 "iterate-lessons-log" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-log into .cursor/skills/iterate-lessons-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "iterate-lessons-log", 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/product-on-purpose/pm-skills.git --path skills/iterate-lessons-log--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 product-on-purpose/pm-skills --skill iterate-lessons-log -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install product-on-purpose/pm-skills iterate-lessons-log --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/iterate-lessons-log .gemini/skills/iterate-lessons-log && 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 "iterate-lessons-log" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-log into .gemini/skills/iterate-lessons-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "iterate-lessons-log", 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 product-on-purpose/pm-skills iterate-lessons-logInstalls 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 product-on-purpose/pm-skills --skill iterate-lessons-log -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/iterate-lessons-log .github/skills/iterate-lessons-log && 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 "iterate-lessons-log" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-log into .github/skills/iterate-lessons-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "iterate-lessons-log", 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 product-on-purpose/pm-skills --skill iterate-lessons-log -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install product-on-purpose/pm-skills iterate-lessons-log --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/iterate-lessons-log .opencode/skills/iterate-lessons-log && 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 "iterate-lessons-log" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/iterate-lessons-log into .opencode/skills/iterate-lessons-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "iterate-lessons-log", 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.
iterate-lessons-logCreates a structured lessons learned entry for organizational memory.
Iterate Lessons Log is an agent skill from product-on-purpose/pm-skills. Creates a structured lessons learned entry for organizational memory. Use after an incident, a completed project, or a significant learning to record knowledge for future teams and initiatives. Distinct from iterate-retrospective, which facilitates the team ceremony; this skill writes the durable lessons entry that outlives it.
Its SKILL.md is about 1000 tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `HISTORY.md`, `evals/trigger-fixtures.json` and `references/EXAMPLE.md`).
It sits in Product & Project Management, covering Retrospectives. The repository describes itself as: 68 plug-and-play, best-practice product management skills for AI agents: 30 Triple Diamond phase + 11 foundation + 12 utility + 15 tool (Foundation Sprint + Design Sprint). Plus… The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1cef1a9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Iterate Lessons Log loads about 995 tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 87 tokens; SKILL.md has 444 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 found no risky patterns in SKILL.md.
Automated 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 product-on-purpose/pm-skills at commit 1cef1a9, republished under its Apache-2.0 licence (© product-on-purpose). 444 words, ~995 tokens.
.claude/skills/iterate-lessons-log/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
A lessons log entry captures significant learning from projects, incidents, or experiences in a format that's useful to future teams who weren't there. Unlike retrospectives (which focus on team improvement), lessons logs focus on organizational knowledge that transcends individual teams.patterns, anti-patterns, and hard-won wisdom.
iterate-retrospective; this skill banks the durable entry that outlives ititerate-pivot-decisionmeasure-experiment-results first, then bank the transferable lesson herefoundation-stakeholder-updateWhen asked to create a lessons log entry, follow these steps:
Choose a Descriptive Title Write a title that someone searching for this topic would find. Include keywords that describe the situation and the learning. Avoid generic titles like "Project X lessons."
Provide Context Explain the situation fully enough that someone who wasn't there can understand it. Include the project, timeline, team, and any relevant constraints. Future readers need this context to assess applicability.
Describe What Happened Write a factual account of what occurred. Be specific about actions taken, decisions made, and outcomes observed. Avoid blame.focus on events and systems.
Extract the Lesson Articulate what you learned clearly. The lesson should be actionable.something others can apply. Distinguish between what you observed and your interpretation of why it matters.
Formulate Recommendations Provide specific guidance for future teams facing similar situations. What should they do? What should they avoid? What questions should they ask?
Define Applicability Help readers know when this lesson applies. What situations trigger relevance? What context makes it more or less applicable?
Add Tags for Searchability Include keywords and categories that will help future searchers find this entry. Think about what someone would search for when facing a similar situation.
Use the template in references/TEMPLATE.md to structure the output. A complete entry fills every template section: Metadata; Summary; Context; What Happened; The Lesson; Recommendations; Applicability; Supporting Evidence; Tags and Categories; and Review and Updates.
Before finalizing, verify:
See references/EXAMPLE.md for a completed example.
© product-on-purpose, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/iterate-lessons-log of product-on-purpose/pm-skills.
Open the folder on GitHubat commit 1cef1a9
Iterate Lessons Log 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 |
|---|---|---|---|---|---|---|
| Iterate Lessons Log this skillproduct-on-purpose/pm-skills | 716 | — | ~995 | Automated safety check: Pass | Apache-2.0 | |
| 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 | |
| Oral Paper SkillAdkid-Zephyr/oral-paper-skill | 357 | — | ~1.9k | Automated safety check: Pass | None | |
| Deck Retroasheshgoplani/agent-deck | 1.1k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Dough Execution Retrospectiveterryyin/lizard | 2.5k | — | ~4k | Automated safety check: Pass | Custom licence |
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…
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.
HughYau/qiushi-skill
批评与自我批评:在工作完成、阶段验收、收到批评或同类错误反复出现时,对成果和过程做诚实、具体、基于事实的审视,输出可执行的改进项,并处理外来批评而不辩解。触发信号包括 review、复盘、审查、"帮我看看有没有问题"、"你确定吗";任务刚开始或只是单步查询时不触发。
product-on-purpose/pm-skills
Defines a testable hypothesis with clear success metrics and a validation approach.
product-on-purpose/pm-skills
Creates a Jobs to be Done canvas capturing the functional, emotional, and social dimensions of a customer job.
product-on-purpose/pm-skills
Creates an opportunity solution tree connecting a desired outcome to customer opportunities and candidate solutions, preventing solution-first jumps in continuous discovery.
product-on-purpose/pm-skills
Creates a clear problem framing document with user impact, business context, and success criteria.
product-on-purpose/pm-skills
Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form.
product-on-purpose/pm-skills
Creates a cross-functional pre-launch checklist covering engineering, design, marketing, support, legal, and operations readiness, with owners, dates, and go/no-go criteria so nothing is missed…
Categories
Creates a structured lessons learned entry for organizational memory. Iterate Lessons Log is an agent skill from product-on-purpose/pm-skills. Creates a structured lessons learned entry for organizational memory.
Iterate Lessons Log fits situations like: tasks that involve Retrospectives.
Run `npx skills add product-on-purpose/pm-skills --skill iterate-lessons-log -a claude-code`. Or copy the skill folder (skills/iterate-lessons-log in product-on-purpose/pm-skills) into .claude/skills/iterate-lessons-log in your project. Claude Code loads it when a task matches its description.
Run `npx skills add product-on-purpose/pm-skills --skill iterate-lessons-log -a codex`. Or copy the skill folder (skills/iterate-lessons-log in product-on-purpose/pm-skills) into .agents/skills/iterate-lessons-log 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 product-on-purpose/pm-skills --skill iterate-lessons-log -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/iterate-lessons-log, .gemini/skills/iterate-lessons-log, .github/skills/iterate-lessons-log and .opencode/skills/iterate-lessons-log in your project.
SKILL.md names no scripts, command-line tools or credentials: Iterate Lessons Log is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Iterate Lessons Log is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 995 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Iterate Lessons Log: Weekly Engineering Retro (garrytan/gstack, 136k stars), Dough Execute Plan (terryyin/lizard, 2.5k stars), Oral Paper Skill (Adkid-Zephyr/oral-paper-skill, 357 stars) and Deck Retro (asheshgoplani/agent-deck, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
product-on-purpose (a GitHub organization) maintains it in product-on-purpose/pm-skills, which has 716 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on October 8, 2026.
Source: product-on-purpose/pm-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.