apply-all-findings
Use after code review - implement ALL findings; any finding not fixed MUST have tracking issue created; no finding disappears without trace
What this skill does
# Apply All Findings
## Overview
Address EVERY finding from code review. Findings are either FIXED or DEFERRED with tracking issues.
**Core principle:** Minor issues accumulate into major problems.
**The rule:** If it was worth noting, it's worth tracking.
**ABSOLUTE REQUIREMENT:** Every finding results in ONE of:
1. **Fixed in this PR** (verified)
2. **Tracking issue created** (linked in review artifact)
There is NO third option. "Won't fix without tracking" is NOT permitted.
## Why All Findings
### Minor Issues Compound
```
1 unclear variable name +
1 missing null check +
1 inconsistent style +
1 outdated comment =
Confusing, fragile code
```
### Selective Fixing Creates Precedent
```
"This minor issue can wait" →
"That minor issue can wait too" →
"We don't fix minor issues" →
Technical debt mountain
```
### Thoroughness Builds Quality Culture
```
Every finding addressed →
High standards maintained →
Quality becomes habit
```
## The Process
### Step 1: Gather All Findings
From `comprehensive-review`, you have:
```markdown
### Findings
1. [Critical] SQL injection in findUser()
2. [Major] N+1 query in getOrders()
3. [Minor] Variable 'x' should be renamed
4. [Minor] Missing JSDoc on helper()
5. [Minor] Inconsistent quote style
```
### Step 2: Create Checklist
Every finding becomes a todo:
```markdown
- [ ] Fix SQL injection in findUser()
- [ ] Fix N+1 query in getOrders()
- [ ] Rename variable 'x' to descriptive name
- [ ] Add JSDoc to helper()
- [ ] Fix quote style to use single quotes
```
### Step 3: Address Systematically
Work through the list. For each finding:
#### If Fixable:
1. Fix the issue
2. Verify the fix
3. Check off the item
4. Move to next finding
#### If Not Fixable in This PR:
1. Verify valid deferral reason (see `deferred-finding` skill)
2. Create tracking issue with full documentation
3. Add tracking issue to review artifact
4. Mark as DEFERRED (not unaddressed)
5. Move to next finding
```bash
# Create tracking issue for deferred finding
gh issue create \
--title "[Finding] [Description] (from #123)" \
--label "review-finding,depth:1" \
--body "[Full deferred-finding template]"
# Create spawned-from label if needed
gh label create "spawned-from:#123" --color "C2E0C6" 2>/dev/null || true
gh issue edit [NEW_ISSUE] --add-label "spawned-from:#123"
```
### Step 4: Verify All Complete
Before considering done:
```bash
# Re-run linting
pnpm lint
# Re-run tests
pnpm test
# Re-run type check
pnpm typecheck
```
All checks must pass.
### Step 5: Update Review Artifact
After all findings addressed, update artifact in issue comment:
1. All FIXED findings marked ✅ FIXED
2. All DEFERRED findings have tracking issue # linked
3. "Unaddressed: 0" in summary
4. "Review Status: COMPLETE"
## Addressing by Type
### Critical/Major Findings
These require code changes:
```typescript
// Finding: SQL injection in findUser()
// Before
return db.query(`SELECT * FROM users WHERE username = '${username}'`);
// After
return db.query('SELECT * FROM users WHERE username = ?', [username]);
```
### Minor: Naming
```typescript
// Finding: Variable 'x' should be renamed
// Before
const x = users.filter(u => u.active);
// After
const activeUsers = users.filter(user => user.isActive);
```
### Minor: Documentation
```typescript
// Finding: Missing JSDoc on helper()
// Before
function helper(data: Data): Result {
// After
/**
* Transforms raw data into the expected result format.
*
* @param data - Raw data from the API
* @returns Transformed result ready for display
*/
function helper(data: Data): Result {
```
### Minor: Style
```typescript
// Finding: Inconsistent quote style
// Before
const name = "Alice";
const greeting = 'Hello';
// After (using project standard: single quotes)
const name = 'Alice';
const greeting = 'Hello';
```
## Handling Deferrals
### Valid Deferral Reasons
| Reason | Example | Requires |
|--------|---------|----------|
| Out of scope | Architectural change | Tracking issue |
| External dependency | Infrastructure change | Tracking issue |
| Breaking change | Major version bump | Tracking issue |
| Separate concern | Independent feature | Tracking issue |
### NOT Valid Deferral Reasons
| Excuse | Reality | Action |
|--------|---------|--------|
| "It's minor" | Minor compounds | Fix now |
| "Takes too long" | Debt takes longer | Fix now |
| "Good enough" | Never enough | Fix now |
| "Not important" | Then why note it? | Fix now |
| "Do it later" | Without tracking? No. | Fix or create issue |
### Deferral MUST Create Issue
**ABSOLUTE:** No deferral without tracking issue.
```bash
# WRONG - Deferred without tracking
"We'll fix the SQL injection later" # NO
# RIGHT - Deferred with tracking
gh issue create --title "[Finding] SQL injection in findUser (from #123)" ...
# Then link #456 in review artifact
```
## Verification
After addressing all findings:
### Run All Checks
```bash
# Linting
pnpm lint
# Type checking
pnpm typecheck
# Tests
pnpm test
# Build
pnpm build
```
### Review the Diff
```bash
git diff
```
Verify:
- All findings addressed
- No unrelated changes
- Tests updated if behavior changed
### Self-Review Again
Quick pass through 7 criteria to ensure fixes didn't introduce new issues.
## Checklist
Before moving on from review:
- [ ] All critical findings addressed
- [ ] All major findings addressed
- [ ] All minor findings addressed
- [ ] Any deferred finding has tracking issue created
- [ ] Tracking issues linked in review artifact
- [ ] All automated checks pass
- [ ] Fixes reviewed for correctness
- [ ] No new issues introduced
- [ ] Review artifact updated with final status
- [ ] "Unaddressed: 0" confirmed
## Common Pushback (Rejected)
| Pushback | Response |
|----------|----------|
| "We can fix minors later" | Without tracking? No. Create issue or fix now. |
| "This is slowing us down" | Debt slows you down more. |
| "It's not important" | Then why was it noted? |
| "Good enough" | Good enough is never enough. |
| "The reviewer is being picky" | Attention to detail is valuable. |
## Integration
This skill is called by:
- `issue-driven-development` - Step 10
This skill follows:
- `comprehensive-review` - Generates the findings
This skill uses:
- `deferred-finding` - For creating tracking issues
This skill ensures:
- No accumulated minor issues
- Consistent quality standards
- Complete reviews, not partial
- All deferrals tracked in GitHub
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.