ワンクリックで
prepare-pr
Thorough pre-merge audit — dependency graph, correctness, conventions, security, test coverage, and improvement suggestions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Thorough pre-merge audit — dependency graph, correctness, conventions, security, test coverage, and improvement suggestions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Add a new screen to an existing feature module with Store, UI, factories, and tests
Add missing test cases, targeting a specific file or all changed files on the branch
Quick review of the current diff for bugs, logic errors, convention violations, and test gaps
Scaffold a new feature module with the appropriate layers and MESA conventions
Scaffold a new Strata interactor with interface, implementation, fake, and test
Bump library version in VERSION file and prepare release notes
| name | prepare-pr |
| description | Thorough pre-merge audit — dependency graph, correctness, conventions, security, test coverage, and improvement suggestions |
| disable-model-invocation | true |
| argument-hint |
Perform a thorough pre-merge audit of the current changes. Start from the diff, then follow the dependency graph to understand how the changes fit into the broader system. Check correctness, security, MESA conventions, test coverage, and suggest improvements.
Scope: $ARGUMENTS
Get all changes on the branch compared to main:
git log main..HEAD --oneline — list commits on this branchgit diff main...HEAD --stat — file-level summary of changesgit diff main...HEAD to get the full diff.
git status to identify any uncommitted or untracked changes not yet in the diff.Read the diff output AND the full content of every changed file.
Do NOT use gh CLI commands — it may not be installed. Use only git commands for gathering diffs and commit history.
Starting from the changed files, trace connections to understand the full impact:
The goal is to understand how the changes integrate with everything that touches them — not to review the entire codebase, but to verify nothing is broken or inconsistent at the boundaries.
Present findings with checkboxes as you go:
!) without justificationswitch branches)@MainActor isolation used correctly on StoresTrapezioScreen properties (they're Codable and could be serialized)For a deeper security audit, run /security-check.
Present findings with checkboxes as you go:
TrapezioUI.map() holds no business logic or mutable state@MainActor final class extending TrapezioStore<Screen, State, Event>update { $0.field = value }init, not globals or singletonsTrapezioContainer(makeStore:ui:) wrappingTrapezioNavigator used correctly; screen registered in ContentView builderTrapezioMessageManagerStrataResult, not raw exceptionsStrataInteractor overrides doWork(params:), calls via execute(params:)StrataSubjectInteractor overrides createObservable(params:)strataLaunch used for async work in Stores (not raw Task { })strataCollect used for stream observationStrataResult extensions used idiomatically (onSuccess, onFailure, fold, map, flatMap, recover, etc.)strataCollect(useCase.inProgressStream)Foundation and Strata)actor/ModelActor isolation{Name}Store.swift has {Name}StoreTests.swift{Name}UseCase.swift has {Name}UseCaseTests.swiftFakes/ subdirectory or use TrapezioTest library (FakeTrapezioNavigator, TestEventSink)Task.sleep for strataLaunch timing@MainActor@unchecked Sendable where neededFlag any gaps.
Beyond issues, suggest improvements that are directly relevant to the changed code:
accessibilityIdentifier on testable elements)Present a structured report:
Brief overview of the changes and overall assessment (ready to merge, needs work, etc.).
Show all completed checklists from Steps 3-5 with pass/fail/not-applicable indicators.
Must fix before merge. Include file path and line references.
Should fix. Style issues, potential problems, missing patterns.
For each file missing tests or test cases:
/add-tests @<filepath> to generate themImprovement opportunities. These are optional but recommended.