@paw-workflow/cli 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -0
- package/bin/paw.js +82 -0
- package/dist/agents/PAW-Review.agent.md +86 -0
- package/dist/agents/PAW.agent.md +171 -0
- package/dist/skills/paw-code-research/SKILL.md +209 -0
- package/dist/skills/paw-docs-guidance/SKILL.md +163 -0
- package/dist/skills/paw-git-operations/SKILL.md +196 -0
- package/dist/skills/paw-impl-review/SKILL.md +178 -0
- package/dist/skills/paw-implement/SKILL.md +153 -0
- package/dist/skills/paw-init/SKILL.md +118 -0
- package/dist/skills/paw-plan-review/SKILL.md +117 -0
- package/dist/skills/paw-planning/SKILL.md +217 -0
- package/dist/skills/paw-pr/SKILL.md +157 -0
- package/dist/skills/paw-review-baseline/SKILL.md +268 -0
- package/dist/skills/paw-review-correlation/SKILL.md +307 -0
- package/dist/skills/paw-review-critic/SKILL.md +373 -0
- package/dist/skills/paw-review-feedback/SKILL.md +437 -0
- package/dist/skills/paw-review-gap/SKILL.md +639 -0
- package/dist/skills/paw-review-github/SKILL.md +336 -0
- package/dist/skills/paw-review-impact/SKILL.md +569 -0
- package/dist/skills/paw-review-response/SKILL.md +118 -0
- package/dist/skills/paw-review-understanding/SKILL.md +372 -0
- package/dist/skills/paw-review-workflow/SKILL.md +239 -0
- package/dist/skills/paw-spec/SKILL.md +257 -0
- package/dist/skills/paw-spec-research/SKILL.md +138 -0
- package/dist/skills/paw-spec-review/SKILL.md +101 -0
- package/dist/skills/paw-status/SKILL.md +160 -0
- package/dist/skills/paw-transition/SKILL.md +134 -0
- package/dist/skills/paw-work-shaping/SKILL.md +99 -0
- package/dist/skills/paw-workflow/SKILL.md +142 -0
- package/lib/commands/install.js +103 -0
- package/lib/commands/list.js +18 -0
- package/lib/commands/uninstall.js +95 -0
- package/lib/commands/upgrade.js +119 -0
- package/lib/manifest.js +42 -0
- package/lib/paths.js +42 -0
- package/lib/registry.js +41 -0
- package/package.json +40 -0
|
@@ -0,0 +1,569 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-review-impact
|
|
3
|
+
description: Analyzes system-wide impact of PR changes including integration effects, breaking changes, performance, and security implications.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Impact Analysis Activity Skill
|
|
9
|
+
|
|
10
|
+
Analyze system-wide impact of PR changes using understanding artifacts from the Understanding stage.
|
|
11
|
+
|
|
12
|
+
> **Reference**: Follow Core Review Principles from `paw-review-workflow` skill.
|
|
13
|
+
|
|
14
|
+
## Responsibilities
|
|
15
|
+
|
|
16
|
+
- Build integration graph showing what depends on changed code
|
|
17
|
+
- Detect breaking changes to public APIs, data models, and interfaces
|
|
18
|
+
- Assess performance implications (algorithms, loops, database queries)
|
|
19
|
+
- Evaluate security and authorization changes
|
|
20
|
+
- Assess design and architecture fit
|
|
21
|
+
- Evaluate user impact (end-users and developer-users)
|
|
22
|
+
- Document deployment considerations and migration needs
|
|
23
|
+
- Produce comprehensive ImpactAnalysis.md artifact
|
|
24
|
+
|
|
25
|
+
## Non-Responsibilities
|
|
26
|
+
|
|
27
|
+
- Code quality or gap identification (handled by paw-review-gap)
|
|
28
|
+
- Generating review comments (Output stage skills)
|
|
29
|
+
- Workflow orchestration (handled by workflow skill)
|
|
30
|
+
|
|
31
|
+
## Prerequisites
|
|
32
|
+
|
|
33
|
+
Verify these artifacts exist at `.paw/reviews/<identifier>/`:
|
|
34
|
+
- `ReviewContext.md` (PR metadata and parameters)
|
|
35
|
+
- `CodeResearch.md` (baseline codebase understanding)
|
|
36
|
+
- `DerivedSpec.md` (what the PR is trying to achieve)
|
|
37
|
+
|
|
38
|
+
If any artifact is missing, report the blocker and do not proceed.
|
|
39
|
+
|
|
40
|
+
## Step 1: Integration Graph Building
|
|
41
|
+
|
|
42
|
+
Identify what code depends on the changes:
|
|
43
|
+
|
|
44
|
+
### Parse Changed Files
|
|
45
|
+
|
|
46
|
+
- Extract imports, exports, and public API surfaces from changed files
|
|
47
|
+
- Use language-appropriate patterns (import/export for JS/TS, import for Python, etc.)
|
|
48
|
+
- Record all public symbols (functions, classes, constants) that were modified
|
|
49
|
+
|
|
50
|
+
### Map Downstream Consumers
|
|
51
|
+
|
|
52
|
+
- Search for files that import modified modules (one-hop search)
|
|
53
|
+
- Identify code that calls modified functions or uses modified classes
|
|
54
|
+
- Document integration points with file:line references
|
|
55
|
+
|
|
56
|
+
### Heuristics
|
|
57
|
+
|
|
58
|
+
- Parse import statements using regex patterns per language
|
|
59
|
+
- Search codebase for symbol references (limit to one level deep to avoid exponential search)
|
|
60
|
+
- Record both direct and indirect dependencies
|
|
61
|
+
|
|
62
|
+
### Output
|
|
63
|
+
|
|
64
|
+
Integration points table with component, relationship, and impact description
|
|
65
|
+
|
|
66
|
+
## Cross-Repository Impact
|
|
67
|
+
|
|
68
|
+
When reviewing PRs across multiple repositories:
|
|
69
|
+
|
|
70
|
+
### Detection
|
|
71
|
+
|
|
72
|
+
Cross-repo impact analysis applies when:
|
|
73
|
+
- Multiple PRs are being reviewed (separate artifact directories exist)
|
|
74
|
+
- ReviewContext.md contains `related_prs` entries
|
|
75
|
+
- Multiple workspace folders open (detected via multiple `.git` directories)
|
|
76
|
+
|
|
77
|
+
### API Contract Identification
|
|
78
|
+
|
|
79
|
+
Identify contracts between repositories:
|
|
80
|
+
|
|
81
|
+
- **Shared Types**: Type definitions used across repos (often in `@types/`, `shared/`, or package exports)
|
|
82
|
+
- **API Endpoints**: REST/GraphQL endpoints consumed by other repos
|
|
83
|
+
- **Event Schemas**: Message formats for pub/sub or event-driven communication
|
|
84
|
+
- **Package Exports**: Public interfaces from shared packages
|
|
85
|
+
|
|
86
|
+
### Cross-Repo Breaking Change Detection
|
|
87
|
+
|
|
88
|
+
For each breaking change identified:
|
|
89
|
+
1. Check if the change affects contracts used by other PRs in the review set
|
|
90
|
+
2. Flag breaking changes that require coordinated updates across repos
|
|
91
|
+
3. Document which PR depends on which
|
|
92
|
+
|
|
93
|
+
**Cross-Repository Breaking Change Types:**
|
|
94
|
+
- Type export changes affecting consumers in other repos
|
|
95
|
+
- API endpoint changes consumed by other repos
|
|
96
|
+
- Shared configuration schema changes
|
|
97
|
+
- Package version constraints that conflict
|
|
98
|
+
|
|
99
|
+
### Dependency Direction
|
|
100
|
+
|
|
101
|
+
Document which repository depends on which:
|
|
102
|
+
|
|
103
|
+
| Provider PR | Consumer PR | Contract | Direction |
|
|
104
|
+
|-------------|-------------|----------|-----------|
|
|
105
|
+
| PR-123-api | PR-456-frontend | `/api/users` endpoint | api → frontend |
|
|
106
|
+
| PR-123-api | PR-456-frontend | `UserType` export | api → frontend |
|
|
107
|
+
|
|
108
|
+
### Update ImpactAnalysis.md Template
|
|
109
|
+
|
|
110
|
+
Add to each ImpactAnalysis.md when in multi-repo mode:
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
## Cross-Repository Dependencies
|
|
114
|
+
|
|
115
|
+
| This PR Changes | Affects PR | Type | Migration |
|
|
116
|
+
|-----------------|------------|------|-----------|
|
|
117
|
+
| `api/types.ts` exports | PR-456-frontend | Breaking | Update types import |
|
|
118
|
+
| `/api/users` endpoint | PR-456-frontend | Compatible | No action needed |
|
|
119
|
+
|
|
120
|
+
**Deployment Order:** PR-123-api MUST deploy before PR-456-frontend
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Error Handling
|
|
124
|
+
|
|
125
|
+
If cross-repo analysis is blocked (e.g., can't access other repository):
|
|
126
|
+
- Document the limitation
|
|
127
|
+
- Proceed with single-repo analysis
|
|
128
|
+
- Note potential cross-repo impacts that couldn't be verified
|
|
129
|
+
|
|
130
|
+
## Step 2: Breaking Change Detection
|
|
131
|
+
|
|
132
|
+
Compare before/after to identify incompatible changes:
|
|
133
|
+
|
|
134
|
+
### Function Signature Changes
|
|
135
|
+
|
|
136
|
+
- Parameter count changed (added/removed required parameters)
|
|
137
|
+
- Parameter types changed (string → number, etc.)
|
|
138
|
+
- Return type changed
|
|
139
|
+
- Function renamed or removed
|
|
140
|
+
|
|
141
|
+
### Configuration Schema Changes
|
|
142
|
+
|
|
143
|
+
- Required config keys removed
|
|
144
|
+
- Config value types changed without backward compatibility
|
|
145
|
+
- New required config keys added without defaults
|
|
146
|
+
|
|
147
|
+
### Data Model Changes
|
|
148
|
+
|
|
149
|
+
- Database schema: required fields added/removed without migration
|
|
150
|
+
- API contracts: request/response shapes changed
|
|
151
|
+
- File formats: incompatible changes to serialization
|
|
152
|
+
|
|
153
|
+
### Exported Symbols
|
|
154
|
+
|
|
155
|
+
- Public exports removed from modules
|
|
156
|
+
- API endpoints removed or renamed
|
|
157
|
+
- Public classes/functions deleted
|
|
158
|
+
|
|
159
|
+
### Heuristics
|
|
160
|
+
|
|
161
|
+
- Diff public function signatures between base and head
|
|
162
|
+
- Check for removed exports that other files import
|
|
163
|
+
- Identify new required fields in schemas/models
|
|
164
|
+
- Flag removals of auth middleware or permission checks
|
|
165
|
+
|
|
166
|
+
### Output
|
|
167
|
+
|
|
168
|
+
Breaking changes table with change description, type, and migration needs
|
|
169
|
+
|
|
170
|
+
## Step 3: Performance Assessment
|
|
171
|
+
|
|
172
|
+
Evaluate algorithmic and resource usage changes:
|
|
173
|
+
|
|
174
|
+
### Algorithmic Complexity
|
|
175
|
+
|
|
176
|
+
- New nested loops (depth ≥2)
|
|
177
|
+
- New recursion without memoization
|
|
178
|
+
- Array/map operations inside loops
|
|
179
|
+
- Sorting or filtering large datasets
|
|
180
|
+
|
|
181
|
+
### Database and External Calls
|
|
182
|
+
|
|
183
|
+
- New database queries (especially in loops)
|
|
184
|
+
- Queries not batched or cached
|
|
185
|
+
- N+1 query patterns introduced
|
|
186
|
+
- New external HTTP/API calls
|
|
187
|
+
|
|
188
|
+
### Hot Path Modifications
|
|
189
|
+
|
|
190
|
+
- Changes to frequently-called functions (from DerivedSpec.md)
|
|
191
|
+
- Modifications to critical user-facing paths
|
|
192
|
+
- Changes to startup/initialization code
|
|
193
|
+
|
|
194
|
+
### Resource Usage
|
|
195
|
+
|
|
196
|
+
- Large allocations in loops
|
|
197
|
+
- Memory-intensive operations
|
|
198
|
+
- File I/O in hot paths
|
|
199
|
+
- Unbounded collections or buffers
|
|
200
|
+
|
|
201
|
+
### Heuristics
|
|
202
|
+
|
|
203
|
+
- Flag nested loops with depth ≥2
|
|
204
|
+
- Identify new DB calls not using batch patterns
|
|
205
|
+
- Note changes to functions mentioned in DerivedSpec as performance-sensitive
|
|
206
|
+
- Look for new large array operations
|
|
207
|
+
|
|
208
|
+
### Output
|
|
209
|
+
|
|
210
|
+
Performance implications section with findings and severity
|
|
211
|
+
|
|
212
|
+
## Step 4: Security & Authorization Review
|
|
213
|
+
|
|
214
|
+
Assess security-relevant changes:
|
|
215
|
+
|
|
216
|
+
### Authentication & Authorization
|
|
217
|
+
|
|
218
|
+
- Auth middleware removed or bypassed
|
|
219
|
+
- Permission checks removed or relaxed
|
|
220
|
+
- Role checks modified or eliminated
|
|
221
|
+
- Session handling changes
|
|
222
|
+
|
|
223
|
+
### Input Validation
|
|
224
|
+
|
|
225
|
+
- Validation removed from user inputs
|
|
226
|
+
- New endpoints without input sanitization
|
|
227
|
+
- SQL injection risks (raw SQL without parameters)
|
|
228
|
+
- XSS risks (unescaped user content in responses)
|
|
229
|
+
|
|
230
|
+
### Data Exposure
|
|
231
|
+
|
|
232
|
+
- Sensitive fields added to API responses
|
|
233
|
+
- Logging of secrets or PII introduced
|
|
234
|
+
- Broader data access granted
|
|
235
|
+
|
|
236
|
+
### Cryptography
|
|
237
|
+
|
|
238
|
+
- Weak algorithms introduced
|
|
239
|
+
- Key management changes
|
|
240
|
+
- TLS/encryption removed
|
|
241
|
+
|
|
242
|
+
### Heuristics
|
|
243
|
+
|
|
244
|
+
- Flag auth check removals
|
|
245
|
+
- Identify new user input not validated
|
|
246
|
+
- Search for raw SQL or string concatenation in queries
|
|
247
|
+
- Note changes to CORS, CSP, or security headers
|
|
248
|
+
|
|
249
|
+
### Output
|
|
250
|
+
|
|
251
|
+
Security implications section with risks and recommendations
|
|
252
|
+
|
|
253
|
+
## Step 5: Design & Architecture Assessment
|
|
254
|
+
|
|
255
|
+
Evaluate whether the change fits well within the system:
|
|
256
|
+
|
|
257
|
+
### Architectural Fit
|
|
258
|
+
|
|
259
|
+
- Does this change belong in this codebase or should it be in a library/separate service?
|
|
260
|
+
- Does it integrate well with existing architectural patterns?
|
|
261
|
+
- Is it following the system's design principles?
|
|
262
|
+
- Does it add appropriate abstractions or violate existing ones?
|
|
263
|
+
|
|
264
|
+
### Timing Assessment
|
|
265
|
+
|
|
266
|
+
- Is now a good time to add this functionality?
|
|
267
|
+
- Are there dependencies or prerequisites missing?
|
|
268
|
+
- Should this wait for related work to complete?
|
|
269
|
+
|
|
270
|
+
### System Integration
|
|
271
|
+
|
|
272
|
+
- How does this fit into the broader system design?
|
|
273
|
+
- Does it create new coupling or dependencies that will be hard to maintain?
|
|
274
|
+
- Is the integration approach consistent with existing patterns?
|
|
275
|
+
|
|
276
|
+
### Heuristics
|
|
277
|
+
|
|
278
|
+
- Check if new code duplicates functionality that exists elsewhere
|
|
279
|
+
- Identify if this creates circular dependencies
|
|
280
|
+
- Note if this should be extracted to shared library (used by >2 components)
|
|
281
|
+
- Flag if architectural patterns diverge from system design docs
|
|
282
|
+
|
|
283
|
+
### Output
|
|
284
|
+
|
|
285
|
+
Design assessment section with architectural fit, timing, and integration evaluation
|
|
286
|
+
|
|
287
|
+
## Step 6: User Impact Evaluation
|
|
288
|
+
|
|
289
|
+
Assess impact on both end-users and developer-users:
|
|
290
|
+
|
|
291
|
+
### End-User Impact
|
|
292
|
+
|
|
293
|
+
- How does this affect user-facing functionality?
|
|
294
|
+
- Does it improve user experience or degrade it?
|
|
295
|
+
- Are there UI/UX changes that need review?
|
|
296
|
+
- Performance impact on user-facing operations?
|
|
297
|
+
|
|
298
|
+
### Developer-User Impact
|
|
299
|
+
|
|
300
|
+
For developers who will use this code:
|
|
301
|
+
- Is the API clear and intuitive?
|
|
302
|
+
- Is it easy to use correctly and hard to use incorrectly?
|
|
303
|
+
- Does it have good defaults?
|
|
304
|
+
- Is error handling helpful?
|
|
305
|
+
|
|
306
|
+
### Heuristics
|
|
307
|
+
|
|
308
|
+
- Identify public API changes and assess usability
|
|
309
|
+
- Note user-facing performance changes (page load, response time)
|
|
310
|
+
- Check if error messages are clear and actionable
|
|
311
|
+
- Assess if new configuration is intuitive
|
|
312
|
+
|
|
313
|
+
### Output
|
|
314
|
+
|
|
315
|
+
User impact section covering end-users and developer-users
|
|
316
|
+
|
|
317
|
+
## Step 7: Code Health Trend Assessment
|
|
318
|
+
|
|
319
|
+
Evaluate whether changes improve or degrade overall system health:
|
|
320
|
+
|
|
321
|
+
### Code Health Indicators
|
|
322
|
+
|
|
323
|
+
- Is this change reducing technical debt or adding to it?
|
|
324
|
+
- Is complexity being added appropriately or accumulating unnecessarily?
|
|
325
|
+
- Are abstractions making code clearer or more convoluted?
|
|
326
|
+
- Long-term maintainability impact?
|
|
327
|
+
|
|
328
|
+
### Quality Trends
|
|
329
|
+
|
|
330
|
+
- Does this improve code organization or fragment it further?
|
|
331
|
+
- Are patterns becoming more consistent or more varied?
|
|
332
|
+
- Is documentation getting better or falling behind?
|
|
333
|
+
- Test coverage improving or degrading?
|
|
334
|
+
|
|
335
|
+
### Heuristics
|
|
336
|
+
|
|
337
|
+
- Compare new code complexity to baseline from CodeResearch.md
|
|
338
|
+
- Note if change reduces duplication or adds it
|
|
339
|
+
- Check if change follows or breaks established patterns
|
|
340
|
+
- Assess if abstractions reduce or increase cognitive load
|
|
341
|
+
|
|
342
|
+
### Output
|
|
343
|
+
|
|
344
|
+
Code health trend assessment included in Risk Assessment section
|
|
345
|
+
|
|
346
|
+
## Step 8: Deployment Considerations
|
|
347
|
+
|
|
348
|
+
Document what's needed for safe rollout:
|
|
349
|
+
|
|
350
|
+
### Database Migrations
|
|
351
|
+
|
|
352
|
+
- Schema changes requiring migration scripts
|
|
353
|
+
- Data backfill or transformation needed
|
|
354
|
+
- Rollback strategy for schema changes
|
|
355
|
+
|
|
356
|
+
### Configuration Changes
|
|
357
|
+
|
|
358
|
+
- New environment variables required
|
|
359
|
+
- Changed config defaults
|
|
360
|
+
- Feature flags needed for gradual rollout
|
|
361
|
+
|
|
362
|
+
### Dependencies & Versioning
|
|
363
|
+
|
|
364
|
+
- New library dependencies
|
|
365
|
+
- Version bumps with breaking changes
|
|
366
|
+
- External service integrations
|
|
367
|
+
|
|
368
|
+
### Rollout Strategy
|
|
369
|
+
|
|
370
|
+
- Gradual rollout recommendations
|
|
371
|
+
- Monitoring and alerting needs
|
|
372
|
+
- Rollback plan if issues arise
|
|
373
|
+
|
|
374
|
+
### Output
|
|
375
|
+
|
|
376
|
+
Deployment section with migration steps, config changes, and rollout guidance
|
|
377
|
+
|
|
378
|
+
## Step 9: Generate ImpactAnalysis.md
|
|
379
|
+
|
|
380
|
+
Create comprehensive impact analysis artifact at `.paw/reviews/<identifier>/ImpactAnalysis.md`:
|
|
381
|
+
|
|
382
|
+
```markdown
|
|
383
|
+
---
|
|
384
|
+
date: <timestamp>
|
|
385
|
+
git_commit: <head SHA>
|
|
386
|
+
branch: <head branch>
|
|
387
|
+
repository: <repo>
|
|
388
|
+
topic: "Impact Analysis for <PR Title or Branch>"
|
|
389
|
+
tags: [review, impact, integration]
|
|
390
|
+
status: complete
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
# Impact Analysis for <PR Title or Branch>
|
|
394
|
+
|
|
395
|
+
## Summary
|
|
396
|
+
|
|
397
|
+
<1-2 sentence overview of impact scope and risk level>
|
|
398
|
+
|
|
399
|
+
## Baseline State
|
|
400
|
+
|
|
401
|
+
<From CodeResearch.md: how the system worked before these changes>
|
|
402
|
+
|
|
403
|
+
## Integration Points
|
|
404
|
+
|
|
405
|
+
<Components/modules that depend on changed code>
|
|
406
|
+
|
|
407
|
+
| Component | Relationship | Impact |
|
|
408
|
+
|-----------|--------------|--------|
|
|
409
|
+
| `module-a` | imports `changed-module` | Breaking: function signature changed |
|
|
410
|
+
| `component-b` | calls `changed-function()` | Safe: backward compatible |
|
|
411
|
+
|
|
412
|
+
## Breaking Changes
|
|
413
|
+
|
|
414
|
+
<Public API changes, removed features, incompatibilities>
|
|
415
|
+
|
|
416
|
+
| Change | Type | Migration Needed |
|
|
417
|
+
|--------|------|------------------|
|
|
418
|
+
| `processData(data, options)` → `processData(data)` | signature | Yes - update all call sites to remove options param |
|
|
419
|
+
| Config key `oldKey` removed | config | Yes - update config files to use `newKey` |
|
|
420
|
+
|
|
421
|
+
**Migration Impact:** <assessment of effort required>
|
|
422
|
+
|
|
423
|
+
## Performance Implications
|
|
424
|
+
|
|
425
|
+
**Algorithmic Changes:**
|
|
426
|
+
- <description of complexity changes>
|
|
427
|
+
|
|
428
|
+
**Database Impact:**
|
|
429
|
+
- <new queries, indexing needs>
|
|
430
|
+
|
|
431
|
+
**Hot Path Changes:**
|
|
432
|
+
- <modifications to performance-critical code>
|
|
433
|
+
|
|
434
|
+
**Overall Assessment:** Low | Medium | High performance risk
|
|
435
|
+
|
|
436
|
+
## Security & Authorization Changes
|
|
437
|
+
|
|
438
|
+
**Authentication/Authorization:**
|
|
439
|
+
- <auth middleware or permission check changes>
|
|
440
|
+
|
|
441
|
+
**Input Validation:**
|
|
442
|
+
- <new user inputs and their validation>
|
|
443
|
+
|
|
444
|
+
**Data Exposure:**
|
|
445
|
+
- <sensitive data handling changes>
|
|
446
|
+
|
|
447
|
+
**Overall Assessment:** Low | Medium | High security risk
|
|
448
|
+
|
|
449
|
+
## Design & Architecture Assessment
|
|
450
|
+
|
|
451
|
+
**Architectural Fit:**
|
|
452
|
+
- <Does this belong in codebase vs library? Integration with architectural patterns?>
|
|
453
|
+
|
|
454
|
+
**Timing Assessment:**
|
|
455
|
+
- <Is now a good time for this functionality? Dependencies or prerequisites?>
|
|
456
|
+
|
|
457
|
+
**System Integration:**
|
|
458
|
+
- <How does this fit into broader system design? Coupling or dependency concerns?>
|
|
459
|
+
|
|
460
|
+
**Overall Assessment:** Well-integrated | Has concerns | Needs redesign
|
|
461
|
+
|
|
462
|
+
## User Impact Evaluation
|
|
463
|
+
|
|
464
|
+
**End-User Impact:**
|
|
465
|
+
- <User-facing functionality changes, UX improvements/degradations, performance impact>
|
|
466
|
+
|
|
467
|
+
**Developer-User Impact:**
|
|
468
|
+
- <API clarity, ease of use, good defaults, error handling helpfulness>
|
|
469
|
+
|
|
470
|
+
**Overall Assessment:** Positive | Neutral | Negative user impact
|
|
471
|
+
|
|
472
|
+
## Deployment Considerations
|
|
473
|
+
|
|
474
|
+
**Database Migrations:**
|
|
475
|
+
- <migration scripts needed>
|
|
476
|
+
|
|
477
|
+
**Configuration Changes:**
|
|
478
|
+
- <new env vars, config updates>
|
|
479
|
+
|
|
480
|
+
**Dependencies:**
|
|
481
|
+
- <new libraries, version changes>
|
|
482
|
+
|
|
483
|
+
**Rollout Strategy:**
|
|
484
|
+
- <gradual rollout, feature flags, monitoring>
|
|
485
|
+
|
|
486
|
+
**Rollback Plan:**
|
|
487
|
+
- <how to revert if issues arise>
|
|
488
|
+
|
|
489
|
+
## Dependencies & Versioning
|
|
490
|
+
|
|
491
|
+
**New Dependencies:**
|
|
492
|
+
- <libraries added>
|
|
493
|
+
|
|
494
|
+
**Version Changes:**
|
|
495
|
+
- <dependency version bumps>
|
|
496
|
+
|
|
497
|
+
**External Services:**
|
|
498
|
+
- <new integrations or API changes>
|
|
499
|
+
|
|
500
|
+
## Risk Assessment
|
|
501
|
+
|
|
502
|
+
**Overall Risk:** Low | Medium | High
|
|
503
|
+
|
|
504
|
+
**Rationale:**
|
|
505
|
+
<Why this risk level? Consider breaking changes, performance, security, deployment complexity, code health trend>
|
|
506
|
+
|
|
507
|
+
**Code Health Trend:**
|
|
508
|
+
- Is this change improving or degrading overall system code health?
|
|
509
|
+
- Does it reduce technical debt or add to it?
|
|
510
|
+
- Is complexity being added appropriately or accumulating unnecessarily?
|
|
511
|
+
- Long-term maintainability impact?
|
|
512
|
+
|
|
513
|
+
**Mitigation:**
|
|
514
|
+
<Steps to reduce risk: testing, gradual rollout, monitoring, rollback plan>
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
## Guardrails
|
|
518
|
+
|
|
519
|
+
### Evidence Required
|
|
520
|
+
|
|
521
|
+
- All findings must have file:line references
|
|
522
|
+
- Integration points must cite actual import/usage locations
|
|
523
|
+
- Breaking changes must show before/after signatures
|
|
524
|
+
|
|
525
|
+
### Baseline-Informed
|
|
526
|
+
|
|
527
|
+
- Use CodeResearch.md to understand what changed
|
|
528
|
+
- Compare current integration graph to baseline patterns
|
|
529
|
+
- Reference DerivedSpec.md for hot paths and critical functionality
|
|
530
|
+
|
|
531
|
+
### No Speculation
|
|
532
|
+
|
|
533
|
+
- Only flag issues with concrete evidence
|
|
534
|
+
- Don't invent problems that aren't visible in the diff
|
|
535
|
+
- When uncertain, ask clarifying questions
|
|
536
|
+
|
|
537
|
+
### Scope
|
|
538
|
+
|
|
539
|
+
- Focus on system-wide impact, not code quality (Gap Analysis handles that)
|
|
540
|
+
- Document what changed and what it affects, not whether it's good/bad
|
|
541
|
+
|
|
542
|
+
## Validation Checklist
|
|
543
|
+
|
|
544
|
+
Before completing, verify:
|
|
545
|
+
- [ ] Integration points identified with file:line references
|
|
546
|
+
- [ ] Breaking changes documented with migration needs
|
|
547
|
+
- [ ] Performance implications assessed
|
|
548
|
+
- [ ] Security changes evaluated
|
|
549
|
+
- [ ] Design & architecture assessment completed
|
|
550
|
+
- [ ] User impact evaluation completed (end-users and developer-users)
|
|
551
|
+
- [ ] Deployment considerations documented
|
|
552
|
+
- [ ] Risk assessment includes rationale, code health trend, and mitigation
|
|
553
|
+
- [ ] All findings supported by evidence from diff or CodeResearch.md
|
|
554
|
+
- [ ] ImpactAnalysis.md artifact generated with all required sections
|
|
555
|
+
- [ ] Baseline state from CodeResearch.md included
|
|
556
|
+
|
|
557
|
+
## Completion Response
|
|
558
|
+
|
|
559
|
+
```
|
|
560
|
+
Activity complete.
|
|
561
|
+
Artifact saved: .paw/reviews/<identifier>/ImpactAnalysis.md
|
|
562
|
+
Status: Success
|
|
563
|
+
|
|
564
|
+
Key findings:
|
|
565
|
+
- X integration points identified
|
|
566
|
+
- Y potential breaking changes
|
|
567
|
+
- Security risk: [Low|Medium|High]
|
|
568
|
+
- Deployment complexity: [Low|Medium|High]
|
|
569
|
+
```
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-review-response
|
|
3
|
+
description: Shared PR review comment response mechanics for PAW activity skills. Provides TODO workflow, commit patterns, and reply format for addressing reviewer feedback.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Review Response
|
|
9
|
+
|
|
10
|
+
## Review Comment Workflow
|
|
11
|
+
|
|
12
|
+
### 1. Read All Unresolved Comments
|
|
13
|
+
|
|
14
|
+
- Use GitHub MCP tools to fetch PR comments and conversation threads
|
|
15
|
+
- Identify which comments still require work:
|
|
16
|
+
- Check for follow-up commits addressing the comment
|
|
17
|
+
- Check for reviewer replies indicating resolution
|
|
18
|
+
- Skip comments clearly already addressed
|
|
19
|
+
- If uncertain whether a comment needs work, include it and ask for clarification
|
|
20
|
+
|
|
21
|
+
### 2. Create TODOs for Comments
|
|
22
|
+
|
|
23
|
+
Create one TODO per comment (group small related comments together):
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
TODO: Address review comment [link/ID]
|
|
27
|
+
- What change is needed
|
|
28
|
+
- Which file(s) to modify
|
|
29
|
+
- Commit message reference
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Grouping guidelines:**
|
|
33
|
+
- Group comments affecting the same file or section
|
|
34
|
+
- Group comments addressing the same concern
|
|
35
|
+
- Keep complex comments as separate TODOs
|
|
36
|
+
- Each TODO = one focused commit
|
|
37
|
+
|
|
38
|
+
### 3. Address Comments Sequentially
|
|
39
|
+
|
|
40
|
+
Work through TODOs one at a time. For each:
|
|
41
|
+
|
|
42
|
+
1. **Make the changes** to address the comment
|
|
43
|
+
2. **Check `.gitignore`** before staging `.paw/` artifacts:
|
|
44
|
+
- If `.paw/work/<feature-slug>/.gitignore` exists: skip `.paw/` files
|
|
45
|
+
- Otherwise: stage all changed files
|
|
46
|
+
3. **Stage selectively**: `git add <file1> <file2>` (never `git add .`)
|
|
47
|
+
4. **Verify staged changes**: `git diff --cached`
|
|
48
|
+
5. **Commit** with message referencing the comment
|
|
49
|
+
6. **Push/Reply timing**: Determined by calling activity skill—some push immediately per-comment, others batch commits and defer push to a verification step
|
|
50
|
+
|
|
51
|
+
**CRITICAL**: Complete each TODO's changes and commit before starting the next. Push and reply timing per activity skill instructions.
|
|
52
|
+
|
|
53
|
+
### 4. Verify Completion
|
|
54
|
+
|
|
55
|
+
- Ensure all review comments have been addressed
|
|
56
|
+
- Verify no open questions remain
|
|
57
|
+
- Run any applicable verification (tests, linting)
|
|
58
|
+
|
|
59
|
+
## Reply Format
|
|
60
|
+
|
|
61
|
+
Use this format when replying to review comments:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
**🐾 [Activity] 🤖:**
|
|
65
|
+
|
|
66
|
+
[What was changed and commit hash reference]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Activity names by PR type:**
|
|
70
|
+
- Planning PR: `Implementation Planner`
|
|
71
|
+
- Phase PR: `Implementation Reviewer`
|
|
72
|
+
- Docs PR: `Documenter`
|
|
73
|
+
- Final PR: `Implementation Reviewer`
|
|
74
|
+
|
|
75
|
+
**Examples:**
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
**🐾 Implementation Planner 🤖:**
|
|
79
|
+
|
|
80
|
+
Updated Phase 2 to include error handling tests as suggested. See commit abc1234.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
**🐾 Implementation Reviewer 🤖:**
|
|
85
|
+
|
|
86
|
+
Added the missing null check and updated the docstring. Commit def5678.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Commit Message Format
|
|
90
|
+
|
|
91
|
+
Reference the review comment in commit messages:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Address review comment: [brief description]
|
|
95
|
+
|
|
96
|
+
[More detail if needed]
|
|
97
|
+
|
|
98
|
+
Ref: [PR comment URL or ID]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Role Separation
|
|
102
|
+
|
|
103
|
+
This utility skill handles **mechanics** (how to commit/push/reply). Activity skills handle **domain logic** (what changes to make).
|
|
104
|
+
|
|
105
|
+
| Responsibility | Handled By |
|
|
106
|
+
|---------------|------------|
|
|
107
|
+
| What to change | Activity skill |
|
|
108
|
+
| How to commit | This utility skill |
|
|
109
|
+
| How to reply | This utility skill |
|
|
110
|
+
| When to push | Activity skill (based on workflow) |
|
|
111
|
+
|
|
112
|
+
## Checklist Before Completion
|
|
113
|
+
|
|
114
|
+
- [ ] All unresolved review comments addressed
|
|
115
|
+
- [ ] Each comment addressed with focused commit
|
|
116
|
+
- [ ] Commits pushed to remote
|
|
117
|
+
- [ ] Replies posted to each addressed comment
|
|
118
|
+
- [ ] Verification passed (tests, lint)
|