You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "Review local packages/ changes for API design consistency, public surface risks, and TypeScript/React footguns in the AppShell core package. Use when: reviewing local packages/ changes before push or validating public API changes."
4
+
---
5
+
6
+
# API Design Review
7
+
8
+
Review local code changes in `packages/` for API consistency and potential present/future footguns.
9
+
10
+
Read the shared review rubric first: [instruction.md](instruction.md)
11
+
12
+
## Local Scope
13
+
14
+
Focus only on changed files matching `packages/**/*.ts`, `packages/**/*.tsx`, and `packages/**/package.json`.
15
+
16
+
## Before Reviewing
17
+
18
+
1. Get the local diff against the base branch:
19
+
- Prefer `git diff main -- 'packages/**'`
20
+
- If that is empty or `main` is unavailable, fall back to `git diff HEAD~1 -- 'packages/**'`
21
+
2. Build the public API map from `packages/core/src/index.ts`.
22
+
3. Skip internal files entirely — files not exported from `packages/core/src/index.ts`.
23
+
4. For each changed public symbol, trace usages across the codebase with the available search tools.
24
+
5. Prioritize symbols with many usages or likely breaking changes.
25
+
6. Follow the shared review rubric and output format in [instruction.md](instruction.md).
26
+
27
+
If no matching files changed, state that there are no API-relevant changes to review.
description: Shared API design review rubric for GitHub Agentic Workflows and pi skills.
3
+
---
4
+
5
+
## Review Scope
6
+
7
+
Only review code that was **changed in this PR or local diff**. Do not comment on unchanged code.
8
+
9
+
### Breaking Change Baseline
10
+
11
+
When evaluating whether a change is a "breaking change," **always compare against the base branch (e.g., `main`)**, not against earlier commits within the same PR or branch. If a component, hook, type, or function was **introduced in the current branch** and does not exist on the base branch, modifications to its API within the same branch are NOT breaking changes — they are simply iterating on unreleased code.
12
+
13
+
### Review Depth
14
+
15
+
- Use export/usage impact analysis as the basis for tracing affected code paths. Do not redundantly search for usages that you have already identified.
16
+
- Evaluate proposed fixes holistically: When suggesting a fix, also analyze what new edge cases or failure modes that fix would introduce.
17
+
- Verify documentation-implementation consistency: When a change modifies type signatures (for example, making a field optional), check that JSDoc comments and default behaviors reflect the same semantics.
18
+
- Assess test quality, not just coverage: Check that tests verify **runtime behavior**, not just data structure.
19
+
20
+
### What to Flag
21
+
22
+
Report **only issues that are genuinely impactful**. Aim for quality over volume. Report up to **10 issues** maximum, sorted by severity (High → Medium → Low). Use this format:
Copy file name to clipboardExpand all lines: .github/agents/api-design-reviewer.md
-45Lines changed: 0 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,48 +20,3 @@ Use the Impact Analyzer results to:
20
20
21
21
-**Skip internal files entirely** — do not review files marked as `internal`.
22
22
-**Focus review on risk areas** — prioritize symbols with high usage count or flagged risks.
23
-
24
-
## Review Scope
25
-
26
-
Only review code that was **changed in this PR**. Do not comment on unchanged code.
27
-
28
-
### Breaking Change Baseline
29
-
30
-
When evaluating whether a change is a "breaking change," **always compare against the base branch (e.g., `main`)**, not against earlier commits within the same PR. If a component, hook, type, or function was **introduced in this PR** and does not exist on the base branch, modifications to its API within the same PR are NOT breaking changes — they are simply iterating on unreleased code.
31
-
32
-
### Review Depth
33
-
34
-
-**Use Impact Analyzer results** as the basis for tracing affected code paths. Do not redundantly search for usages that the Impact Analyzer has already reported.
35
-
-**Evaluate proposed fixes holistically**: When suggesting a fix, also analyze what new edge cases or failure modes that fix would introduce.
36
-
-**Verify documentation-implementation consistency**: When a PR changes type signatures (e.g., making a field optional), check that JSDoc comments and default behaviors reflect the same semantics.
37
-
-**Assess test quality, not just coverage**: Check that tests verify **runtime behavior**, not just data structure.
38
-
39
-
### What to Flag
40
-
41
-
Report **only issues that are genuinely impactful**. Aim for quality over volume. Report up to **10 issues** maximum, sorted by severity (High → Medium → Low). Use this format:
0 commit comments