PoC Codebase Review
Use this skill to validate whether the current implementation matches the PoC behavior before proposing or making code changes.
Required Inputs
Collect or infer:
poc_path: file, directory, notebook, or script containing the reference PoC.
poc_entry_point: main pipeline/function/class, if known.
current_path: current implementation file/module, if known.
target: function, behavior, PR comment, failing test, or suspected inconsistency.
user_context: clarifications from the user about ownership, upstream/downstream contracts, expected behavior, or non-goals.
If one input is missing, search the repo first. Ask only when the missing input blocks validation.
Workflow
Frame The Claim
- Extract the exact behavior being questioned.
- Separate questions from assertions.
- Identify which part needs validation: data shape, call order, filtering, grouping, persistence, side effects, thresholds, or ownership boundary.
Read The PoC First
- Open the provided PoC path.
- Locate the target function and nearby helpers.
- If a PoC entry point is provided, verify the pipeline actually calls the function.
- Record call order and input/output shape from the real PoC path, not memory.
Verify PoC Usage
- Confirm the PoC behavior is active in the execution path.
- Check whether the function is used before/after relevant transforms.
- Note if the PoC function exists but is unused, bypassed, or called with preprocessed data.
Read Current Service
- Locate current code that implements the same behavior.
- Trace upstream data construction and downstream consumers.
- Check config defaults, payload contracts, side effects, batching, SQL calls, sorting, filtering, and edge cases.
Compare Behavior
- Compare observable behavior, not just code shape.
- Include:
- inputs and schema
- output columns/fields
- grouping keys
- ordering guarantees
- thresholds and defaults
- database/query count
- ownership boundary: current service vs upstream service vs downstream consumer
- Classify result:
valid: current implementation differs from PoC or violates expected behavior.
not applicable: PoC or upstream contract shows comment concern is already handled elsewhere.
unclear: missing context or ambiguous product decision.
Respond Before Coding
- Summarize finding with file/function references.
- Say whether code change is needed.
- If implementation is needed, describe the smallest behavior-preserving change and wait for user direction unless they already asked to implement.
When Implementing
- Keep edits scoped to the validated gap.
- Preserve existing service architecture unless PoC parity requires a change.
- Add focused regression tests for the exact behavior.
- Do not rewrite unrelated code to resemble the PoC stylistically.
- Run focused tests and linters when available.
Track PR Answers
- If the repo has a PR-comment tracker file, append/update the answer in order.
- Store:
- original comment
- validation result
- PoC evidence
- current-service evidence
- decision
- suggested PR reply
- implementation/test status, if changed
Output Shape
For review-only tasks:
Finding: valid | not applicable | unclear
PoC:
- ...
Current service:
- ...
Decision:
- ...
Suggested reply:
...
For implementation tasks:
Implemented:
- ...
Validated with:
- ...
PR reply:
...
Rules
- Do not implement before validating the PoC and current service.
- Do not assume a PoC function matters just because it exists; verify the entry point uses it.
- Prefer code references and observed data flow over broad claims.
- User clarifications override reviewer assumptions when they describe service boundaries or upstream contracts.
- If the service intentionally delegates behavior to another service, document that boundary instead of duplicating logic.
1---2name: poc-codebase-review3description: Review a codebase implementation against the PoC it was based on. Use when validating PR comments, behavior claims, parity gaps, regressions, or implementation differences between a production/service codebase and a proof-of-concept file, pipeline, notebook, or reference implementation. The user may provide PoC paths, a main entry point, target functions, reviewer comments, or domain notes.4---56# PoC Codebase Review78Use this skill to validate whether the current implementation matches the PoC behavior before proposing or making code changes.910## Required Inputs1112Collect or infer:1314- `poc_path`: file, directory, notebook, or script containing the reference PoC.15- `poc_entry_point`: main pipeline/function/class, if known.16- `current_path`: current implementation file/module, if known.17- `target`: function, behavior, PR comment, failing test, or suspected inconsistency.18- `user_context`: clarifications from the user about ownership, upstream/downstream contracts, expected behavior, or non-goals.1920If one input is missing, search the repo first. Ask only when the missing input blocks validation.2122## Workflow23241. **Frame The Claim**25 - Extract the exact behavior being questioned.26 - Separate questions from assertions.27 - Identify which part needs validation: data shape, call order, filtering, grouping, persistence, side effects, thresholds, or ownership boundary.28292. **Read The PoC First**30 - Open the provided PoC path.31 - Locate the target function and nearby helpers.32 - If a PoC entry point is provided, verify the pipeline actually calls the function.33 - Record call order and input/output shape from the real PoC path, not memory.34353. **Verify PoC Usage**36 - Confirm the PoC behavior is active in the execution path.37 - Check whether the function is used before/after relevant transforms.38 - Note if the PoC function exists but is unused, bypassed, or called with preprocessed data.39404. **Read Current Service**41 - Locate current code that implements the same behavior.42 - Trace upstream data construction and downstream consumers.43 - Check config defaults, payload contracts, side effects, batching, SQL calls, sorting, filtering, and edge cases.44455. **Compare Behavior**46 - Compare observable behavior, not just code shape.47 - Include:48 - inputs and schema49 - output columns/fields50 - grouping keys51 - ordering guarantees52 - thresholds and defaults53 - database/query count54 - ownership boundary: current service vs upstream service vs downstream consumer55 - Classify result:56 - `valid`: current implementation differs from PoC or violates expected behavior.57 - `not applicable`: PoC or upstream contract shows comment concern is already handled elsewhere.58 - `unclear`: missing context or ambiguous product decision.59606. **Respond Before Coding**61 - Summarize finding with file/function references.62 - Say whether code change is needed.63 - If implementation is needed, describe the smallest behavior-preserving change and wait for user direction unless they already asked to implement.64657. **When Implementing**66 - Keep edits scoped to the validated gap.67 - Preserve existing service architecture unless PoC parity requires a change.68 - Add focused regression tests for the exact behavior.69 - Do not rewrite unrelated code to resemble the PoC stylistically.70 - Run focused tests and linters when available.71728. **Track PR Answers**73 - If the repo has a PR-comment tracker file, append/update the answer in order.74 - Store:75 - original comment76 - validation result77 - PoC evidence78 - current-service evidence79 - decision80 - suggested PR reply81 - implementation/test status, if changed8283## Output Shape8485For review-only tasks:8687```markdown88Finding: valid | not applicable | unclear8990PoC:91- ...9293Current service:94- ...9596Decision:97- ...9899Suggested reply:100...101```102103For implementation tasks:104105```markdown106Implemented:107- ...108109Validated with:110- ...111112PR reply:113...114```115116## Rules117118- Do not implement before validating the PoC and current service.119- Do not assume a PoC function matters just because it exists; verify the entry point uses it.120- Prefer code references and observed data flow over broad claims.121- User clarifications override reviewer assumptions when they describe service boundaries or upstream contracts.122- If the service intentionally delegates behavior to another service, document that boundary instead of duplicating logic.