
Iterate Refinement Notes
- 478 installs
- 518 repo stars
- Updated August 4, 2026
- product-on-purpose/pm-skills
iterate-refinement-notes is a Claude Code skill for productivity & planning.
About
iterate-refinement-notes is a Claude Code skill for productivity & planning. It helps solo builders move faster with AI-assisted coding.
- iterate-refinement-notes
- Productivity & Planning
- AI-coding skill
Iterate Refinement Notes by the numbers
- 478 all-time installs (skills.sh)
- +26 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #772 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/product-on-purpose/pm-skills --skill iterate-refinement-notesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 478 |
|---|---|
| repo stars | ★ 518 |
| Last updated | August 4, 2026 |
| Repository | product-on-purpose/pm-skills ↗ |
How do I helps with productivity & planning tasks.?
Helps with productivity & planning tasks.
Who is it for?
Best when you're working on productivity & planning and need structured help with iterate refinement notes.
Skip if: Teams with no productivity & planning needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with productivity & planning tasks., or when iterate-refinement-notes is a claude code skill for productivity & planning.
What you get
Structured output aligned to iterate-refinement-notes: iterate-refinement-notes, Productivity & Planning.
Files
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
Refinement Notes
Refinement notes capture the outcomes of backlog refinement (grooming) sessions.what was discussed, what was estimated, and what decisions were made. They serve as a quick reference for team members who missed the session and a historical record of how stories evolved from idea to ready-for-sprint.
When to Use
- During refinement sessions to capture decisions in real-time
- After refinement to share outcomes with absent team members
- When onboarding new team members to explain backlog context
- Before sprint planning to review what's been refined
- When stories need re-refinement due to time elapsed
When NOT to Use
- You need the stories themselves written -> use
deliver-user-stories - You need a general meeting summary, not a backlog-refinement record -> use
foundation-meeting-recap - You are running the retrospective ceremony -> use
iterate-retrospective - Refined stories need their failure scenarios enumerated -> use
deliver-edge-cases
Instructions
When asked to document refinement notes, follow these steps:
1. Record Session Metadata Note the date, attendees, and duration. This helps track who was part of decisions and when discussions happened.
2. List Stories Discussed For each story, capture the outcome: estimated points, refined status, key discussion points, and any modifications made to the original scope.
3. Document Questions Raised Questions that couldn't be answered in the session need owners and due dates. Don't let them disappear.they often block sprint planning.
4. Capture Decisions Made Record any scope decisions, technical approaches agreed upon, or priority changes. These decisions are valuable context that gets lost without documentation.
5. Note Action Items Any follow-up work needed before stories are sprint-ready: mockups to create, technical spikes to run, stakeholders to consult.
6. Flag Blocked Stories Clearly identify stories that can't proceed until blockers are resolved. Include what the blocker is and who owns resolution.
7. Plan Next Session Note what should be refined next and any preparation needed.
Output Format
Use the template in references/TEMPLATE.md to structure the output. Complete notes fill every template section: Session Info; Summary; Stories Refined; Stories Summary Table; Questions Raised; Decisions Made; Action Items; Blocked Stories; Parking Lot; and Next Session.
Quality Checklist
Before finalizing, verify:
- [ ] All discussed stories have outcomes recorded
- [ ] Open questions have owners assigned
- [ ] Decisions are captured with enough context
- [ ] Blocked stories are clearly flagged
- [ ] A reader who missed the session can tell each story's outcome and what happens next without asking
Examples
See references/EXAMPLE.md for a completed example.
{
"schema": 1,
"skill": "iterate-refinement-notes",
"runs_per_query": 3,
"trigger_threshold": 0.5,
"queries": [
{
"q": "Write up the notes from today's backlog refinement: stories estimated, questions raised, decisions made",
"expect": "trigger",
"split": "train"
},
{
"q": "Half the team missed grooming. Capture what we estimated and decided so they can catch up.",
"expect": "trigger",
"split": "train"
},
{
"q": "Document the outcomes of the refinement session: the payments epic got split and two stories are blocked on legal",
"expect": "trigger",
"split": "train"
},
{
"q": "Turn my scratchpad from this afternoon's grooming session into structured notes with open questions and owners",
"expect": "trigger",
"split": "train"
},
{
"q": "Before sprint planning, summarize what got refined this week and which stories are actually ready",
"expect": "trigger",
"split": "train"
},
{
"q": "Capture the estimates and scope changes we agreed in refinement, plus the spike we decided to run first",
"expect": "trigger",
"split": "train"
},
{
"q": "Record the backlog grooming outcomes: points per story, parking lot items, and what we refine next session",
"expect": "trigger",
"split": "validation"
},
{
"q": "A new engineer joined mid-quarter. Put together refinement notes that explain how these backlog stories evolved and where they stand.",
"expect": "trigger",
"split": "validation"
},
{
"q": "These five stories went stale and we re-refined them today. Document what changed and the new estimates.",
"expect": "trigger",
"split": "validation"
},
{
"q": "Summarize today's refinement so absent folks know which stories moved to ready and what's still blocked",
"expect": "trigger",
"split": "validation"
},
{
"q": "Write the user stories with acceptance criteria for the payments epic before we bring them to refinement",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "deliver-user-stories",
"notes": "Authoring the stories themselves, not recording session outcomes"
},
{
"q": "Send a recap of this morning's leadership sync with decisions and action items",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "foundation-meeting-recap",
"notes": "General meeting summary, not a backlog-refinement record"
},
{
"q": "Facilitate and document the sprint retro: what went well, what didn't, what we'll change",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "iterate-retrospective",
"notes": "Retrospective ceremony, not refinement outcomes"
},
{
"q": "Write Given/When/Then acceptance criteria for the checkout story",
"expect": "no-trigger",
"split": "train"
},
{
"q": "Fix the flaky Jest test in the backlog service repo",
"expect": "no-trigger",
"split": "train"
},
{
"q": "The login story is refined; now enumerate its failure scenarios and error states for QA",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "deliver-edge-cases",
"notes": "Post-refinement edge-case enumeration belongs elsewhere"
},
{
"q": "Summarize the quarterly business review meeting for the folks who couldn't attend",
"expect": "no-trigger",
"split": "validation",
"near_miss_of": "foundation-meeting-recap",
"notes": "Absent-attendee summary, but not a refinement session"
},
{
"q": "Draft the sprint goal and pick which stories go into next sprint",
"expect": "no-trigger",
"split": "validation"
},
{
"q": "Renew my passport: what documents do I need?",
"expect": "no-trigger",
"split": "validation"
},
{
"q": "Write release notes for the features that shipped this sprint",
"expect": "no-trigger",
"split": "validation"
}
]
}
iterate-refinement-notes - Version History
| Version | Date | Release | Effort | Type | Summary |
|---|---|---|---|---|---|
| 2.1.0 | 2026-06-10 | v2.26.0 | F-12-batch-3 | minor | Quality convergence: When NOT to Use + output-contract enumeration (F-12 Batch 3) |
| 2.0.0 | 2026-01-26 | - | - | baseline | Prior published version |
2.1.0 (2026-06-10)
Quality-convergence minor (F-12 Batch 3): added a "When NOT to Use" section with boundary pointers to neighboring skills, and the Output Format now enumerates the template sections a complete artifact fills. No template or example changes.
2.0.0 (2026-01-26)
Baseline row for the prior published version; see git history for its changes.
Refinement Notes: January 14, 2026
Session Info
| Attribute | Value |
|---|---|
| Date | January 14, 2026, 2:00 PM EST |
| Duration | 45 minutes |
| Facilitator | Maya Chen (Scrum Master) |
| Sprint Preparing For | Sprint 15 (Jan 20 - Feb 2) |
Attendees
- [x] Alex Rivera, Engineering Lead
- [x] Jordan Kim, Senior Engineer
- [x] Sam Patel, Engineer
- [x] Taylor Brooks, Product Manager
- [x] Maya Chen, Scrum Master
- [ ] Chris Wong, Engineer (on PTO)
---
Summary
Stories Discussed: 5 Stories Refined (Ready): 3 Stories Needing More Work: 1 Blocked Stories: 1 Total Points Estimated: 13
---
Stories Refined
USER-342: Add CSV Export to Reports Dashboard
| Attribute | Value |
|---|---|
| Points | 3 |
| Status | Ready |
| Assignee | Jordan |
Discussion Notes:
- Export should include all visible columns, respecting current filters
- Max export size: 10,000 rows (show warning, not error, at limit)
- File naming convention:
report-{report-name}-{date}.csv - Team agreed to use existing CSV library (PapaParse) for consistency
Scope Changes:
- Originally included Excel export.moved to separate story for future sprint
Acceptance Criteria Confirmed:
- [x] Export button visible on reports dashboard
- [x] CSV includes all visible columns with headers
- [x] Current filters applied to export
- [x] Large export shows warning but completes
- [x] Filename follows naming convention
---
USER-345: Implement Password Reset Rate Limiting
| Attribute | Value |
|---|---|
| Points | 5 |
| Status | Ready |
| Assignee | Sam |
Discussion Notes:
- Limit: 5 reset requests per email per hour
- After limit hit: show generic "check your email" message (no indication of limiting for security)
- Rate limit data stored in Redis with 1-hour TTL
- Security team reviewed and approved approach
Scope Changes:
- None
Acceptance Criteria Confirmed:
- [x] Max 5 reset requests per email per hour
- [x] User sees same message whether limited or not (security)
- [x] Rate limit resets after 1 hour
- [x] Admin dashboard shows rate limit events for monitoring
---
USER-347: Profile Page Loading Performance
| Attribute | Value |
|---|---|
| Points | 5 |
| Status | Ready |
| Assignee | Alex |
Discussion Notes:
- Current load time: 3.2 seconds average
- Target: Under 1 second for 90th percentile
- Main issue: N+1 query for user's projects
- Solution: Eager loading + pagination (show first 10 projects, load more on scroll)
- Jordan suggested we add performance test to prevent regression
Scope Changes:
- Added acceptance criterion for performance test
Acceptance Criteria Confirmed:
- [x] Profile page loads in <1 second (p90)
- [x] Initial load shows first 10 projects
- [x] Additional projects load on scroll (infinite scroll)
- [x] Performance test added to CI pipeline
---
USER-348: User Settings Redesign
| Attribute | Value |
|---|---|
| Points | - |
| Status | Needs Work |
| Assignee | TBD |
Discussion Notes:
- Story is too large.team estimated 13+ points
- Decision: Split into 3 smaller stories
- USER-348a: Settings navigation restructure (3 pts)
- USER-348b: Notification preferences panel (5 pts)
- USER-348c: Privacy settings panel (3 pts)
- Taylor will create the split stories with UX guidance
Scope Changes:
- Entire story being split
Acceptance Criteria Confirmed:
- [ ] Pending split into smaller stories
---
USER-350: Dark Mode Toggle
| Attribute | Value |
|---|---|
| Points | - |
| Status | Blocked |
| Assignee | TBD |
Discussion Notes:
- Design team hasn't provided dark mode color palette yet
- Can't estimate until we know scope of color changes
- Some components may need redesign (charts, badges with colored backgrounds)
Blocker:
- Missing design specs.blocked on design team
---
Stories Summary Table
| Story | Title | Points | Status | Notes |
|---|---|---|---|---|
| USER-342 | CSV Export for Reports | 3 | Ready | Excel export moved to future |
| USER-345 | Password Reset Rate Limiting | 5 | Ready | Security team approved |
| USER-347 | Profile Page Performance | 5 | Ready | Added perf test criterion |
| USER-348 | User Settings Redesign | - | Needs Work | Splitting into 3 stories |
| USER-350 | Dark Mode Toggle | - | Blocked | Waiting on design specs |
---
Questions Raised
| Question | Raised By | Owner | Due Date | Status |
|---|---|---|---|---|
| Should CSV export include hidden columns? | Jordan | Taylor | Jan 15 | Open |
| What's the plan for internationalization of exported dates? | Sam | Taylor | Jan 15 | Open |
| Can we get design specs for dark mode by Thursday? | Maya | Design Lead | Jan 16 | Open |
Question Details
Q: Should CSV export include hidden columns?
- Context: Users can hide columns in the report view. Should hidden columns appear in export?
- Impact: Minor.doesn't block story, but affects implementation detail
- Notes: Taylor leaning toward "export matches what you see" but will confirm with customers
Q: What's the plan for internationalization of exported dates?
- Context: We have users in multiple locales. Dates in CSV might be ambiguous.
- Impact: Could affect USER-342 scope
- Notes: Options: ISO 8601 dates (unambiguous) or locale-specific with locale in filename
---
Decisions Made
| Decision | Context | Made By |
|---|---|---|
| Use ISO 8601 dates for CSV exports | Locale-specific dates too confusing; ISO is unambiguous | Team consensus |
| Split USER-348 into 3 stories | Original story too large (13+ points) | Team consensus |
| Add performance test to USER-347 | Prevent regression after optimization | Jordan's suggestion, team agreed |
---
Action Items
| Action | Owner | Due Date | Status |
|---|---|---|---|
| Create split stories for USER-348 | Taylor | Jan 15 | Not Started |
| Answer CSV hidden columns question | Taylor | Jan 15 | Not Started |
| Follow up with design on dark mode specs | Maya | Jan 16 | Not Started |
| Update USER-342 with ISO 8601 date decision | Jordan | Jan 14 | Not Started |
---
Blocked Stories
| Story | Blocker | Owner | Expected Resolution |
|---|---|---|---|
| USER-350 | Missing dark mode design specs | Design Lead | Jan 16 (Maya to follow up) |
---
Parking Lot
- Mobile responsive settings: Jordan raised that settings page isn't mobile-friendly. Agreed to create a separate story rather than expand USER-348 scope. Taylor to add to backlog.
- Export to Google Sheets: Customer request came in during session. Taylor will assess priority and create story if warranted.
---
Next Session
Date: January 21, 2026, 2:00 PM EST Stories to Prepare:
- USER-348a, 348b, 348c: Split settings stories (after Taylor creates them)
- USER-350: Dark mode (if design specs received)
- USER-352: Bulk user invite (Taylor to write story by Thursday)
Preparation Needed:
- Taylor: Create split stories for USER-348 by Thursday
- Maya: Confirm design specs timeline for dark mode
- Chris: Review notes and raise any concerns async (returning from PTO)
---
Notes captured by Maya Chen on January 14, 2026.
Refinement Notes: [Date]
Session Info
| Attribute | Value |
|---|---|
| Date | [Date and time] |
| Duration | [X minutes] |
| Facilitator | [Name] |
| Sprint Preparing For | [Sprint number] |
Attendees
- [x] [Name, Role]
- [x] [Name, Role]
- [x] [Name, Role]
- [ ] [Name, Role] (absent)
---
Summary
Stories Discussed: [X] Stories Refined (Ready): [X] Stories Needing More Work: [X] Total Points Estimated: [X]
---
Stories Refined
[STORY-XXX]: [Story Title]
| Attribute | Value |
|---|---|
| Points | [X] |
| Status | Ready / Needs Work / Blocked |
| Assignee | [If known] |
Discussion Notes:
- [Key point discussed]
- [Key point discussed]
Scope Changes:
- [Any changes from original story]
Acceptance Criteria Confirmed:
- [x] [Criterion 1]
- [x] [Criterion 2]
- [ ] [Criterion needs clarification]
---
[STORY-XXX]: [Story Title]
| Attribute | Value |
|---|---|
| Points | [X] |
| Status | Ready / Needs Work / Blocked |
| Assignee | [If known] |
Discussion Notes:
- [Key point discussed]
- [Key point discussed]
Scope Changes:
- [Any changes from original story]
Acceptance Criteria Confirmed:
- [x] [Criterion 1]
- [x] [Criterion 2]
---
[STORY-XXX]: [Story Title]
| Attribute | Value |
|---|---|
| Points | [X] |
| Status | Ready / Needs Work / Blocked |
| Assignee | [If known] |
Discussion Notes:
- [Key point discussed]
- [Key point discussed]
Scope Changes:
- [Any changes from original story]
---
Stories Summary Table
| Story | Title | Points | Status | Notes |
|---|---|---|---|---|
| [STORY-XXX] | [Title] | [X] | Ready | [Brief note] |
| [STORY-XXX] | [Title] | [X] | Ready | [Brief note] |
| [STORY-XXX] | [Title] | - | Needs Work | [What's needed] |
| [STORY-XXX] | [Title] | - | Blocked | [Blocker] |
---
Questions Raised
| Question | Raised By | Owner | Due Date | Status |
|---|---|---|---|---|
| [Question 1] | [Name] | [Name] | [Date] | Open |
| [Question 2] | [Name] | [Name] | [Date] | Open |
| [Question 3] | [Name] | [Name] | [Date] | Resolved |
Question Details
Q: [Question 1]
- Context: [Why this came up]
- Impact: [What's blocked until answered]
- Notes: [Any partial answers or direction]
---
Decisions Made
| Decision | Context | Made By |
|---|---|---|
| [Decision 1] | [Why we decided this] | [Name/Team] |
| [Decision 2] | [Why we decided this] | [Name/Team] |
---
Action Items
| Action | Owner | Due Date | Status |
|---|---|---|---|
| [Action 1] | [Name] | [Date] | Not Started |
| [Action 2] | [Name] | [Date] | Not Started |
| [Action 3] | [Name] | [Date] | In Progress |
---
Blocked Stories
| Story | Blocker | Owner | Expected Resolution |
|---|---|---|---|
| [STORY-XXX] | [What's blocking] | [Name] | [Date/unknown] |
---
Parking Lot
<!-- Topics raised but deferred -->
- [Topic 1]: [Why deferred]
- [Topic 2]: [Why deferred]
---
Next Session
Date: [Next refinement date] Stories to Prepare:
- [STORY-XXX]: [Title]
- [STORY-XXX]: [Title]
Preparation Needed:
- [Who needs to do what before next session]
---
Notes captured by [Name] on [Date].
Related skills
FAQ
What does iterate-refinement-notes do?
iterate-refinement-notes is a Claude Code skill for productivity & planning.
When should I use iterate-refinement-notes?
When you need to helps with productivity & planning tasks., or when iterate-refinement-notes is a claude code skill for productivity & planning.
What are the main capabilities?
iterate-refinement-notes; Productivity & Planning; AI-coding skill.