一键导入
phase-check
Validate current project phase deliverables against PRD checklist
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Validate current project phase deliverables against PRD checklist
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate an Architecture Decision Record for a technical decision
Adversarial critic workflow for the limited-stock booking system. Use when the user asks AI to attack a design or implementation for Redis outage, oversell, undersell, duplicate booking/payment, retry storm, fallback collapse, correctness gaps, or operational blind spots.
Skeptical first-principles design review skill. Use when the user asks whether a design, architecture, product plan, API, data model, workflow, or system design truly satisfies the real requirements. Reviews from fundamentals: decompose claims into requirements, assumptions, constraints, evidence, invariants, trade-offs, failure modes, and simpler alternatives. Inspired by first-principles reasoning and Cartesian doubt, but does not impersonate any real person.
Resilience4j circuit breaker, retry, rate limiter, and bulkhead patterns with testing strategies. Use when implementing fault tolerance between services.
Design partner mode for system design practice. Activated when the user wants to design a new system (chat, notification, news feed, URL shortener, etc.). Sets up topic directory, uses the project mock-interview document, loads the matching problem from sysdesign-question-bank, marks the topic as active in .omx/state/, and conducts a back-and-forth Clarifying → High Level → Drill Down conversation, updating <topic>/System-Design-Document/mock-interview.md immediately as each decision lands. Uses Alex Xu Vol.1's canned numbers as the starting point (book-first), user adjusts. NOT an interview — the user drives, this skill is a design collaborator with a calculator (back-of- envelope, latency estimation via auto-injected sysdesign-frameworks) and a reference book (sysdesign-question-bank).
Promote a filled mock-interview.md into a formal Software Design Document (sdd.md) following the IEEE 1016 / Atlassian / Google design-doc style. Activated when the user says they are ready to write the SDD. Reads the topic's mock-interview.md AND the topic's conversation log files (which capture the back-and-forth detail not preserved in the structured mock-interview), then asks the user the SDD-specific questions that mock-interview doesn't cover (Constraints, ADRs, Risk Register, Rollout, Testing strategy). Writes sdd.md incrementally as decisions land.
| name | phase-check |
| description | Validate current project phase deliverables against PRD checklist |
| argument-hint | <phase-number or 'current'> |
| disable-model-invocation | true |
| allowed-tools | Read, Glob, Grep, Bash |
You are validating project deliverables for Phase $ARGUMENTS against the PRD at docs/PRD.md.
If $ARGUMENTS is current, first read docs/PRD.md and determine which phase is currently in progress based on what has been implemented.
Read docs/PRD.md in full. Extract the deliverables listed for Phase $ARGUMENTS.
If the file does not exist, stop and report: "docs/PRD.md not found. Cannot validate phase deliverables."
Use this reference table for each phase's expected deliverables. Cross-check against docs/PRD.md — PRD is authoritative; this table is a fallback if PRD is sparse.
| Phase | Expected Deliverables |
|---|---|
| 0 | Project skeleton (Gradle multi-module or single module), Docker Compose for PostgreSQL, .env.example, docs/ directory, CLAUDE.md with project conventions |
| 1 | Monolith: Order domain (entity + service + controller + tests), Payment domain (entity + service + controller + tests), Product domain (entity + service + controller + tests), Search domain (basic DB query, no ES), all unit + integration tests passing, REST API for all 4 domains |
| 2 | k6 load test scripts in k6/, baseline performance measurements recorded in docs/performance/phase-2-baseline.md (p50/p95/p99 for each endpoint), identified bottlenecks documented |
| 3 | Kafka (KRaft) running in Docker Compose, order-payment async flow via Kafka, kafka producer + kafka consumer implementations, outbox table + polling publisher or @TransactionalEventListener producer, dead letter queue config, all existing tests still passing |
| 4 | Services split into separate Spring Boot apps (Order, Payment, Product), SAGA orchestration for order placement, saga_instance table, compensation flows implemented, service-to-service communication via Kafka only, each service has own database |
| 5 | ElasticSearch + nori tokenizer running in Docker Compose, ProductDocument indexed, search API (/api/v1/search/products), Kafka -> ES sync consumer, performance comparison docs/performance/search-comparison.md |
| 6 | Resilience4j circuit breakers on all inter-service calls, retry + fallback methods, docs/resilience/chaos-test-results.md, Actuator endpoints for circuit breaker monitoring, k6 chaos test scripts |
| 7 | Prometheus + Grafana dashboards in Docker Compose, custom metrics for order/payment flows, docs/monitoring/dashboard-guide.md, full project retrospective in docs/retrospective.md |
For the target phase, scan the codebase to find evidence of each deliverable:
| Check Type | Method |
|---|---|
| File existence | Glob for expected file paths (e.g., src/**/OrderService.java) |
| Pattern presence | Grep for expected annotations/keywords (e.g., @KafkaListener, @CircuitBreaker) |
| Test coverage | Grep for test class names, count @Test annotations |
| Config presence | Check docker-compose.yml for required services (postgres, kafka, elasticsearch) |
| Docs presence | Check docs/ for required documentation files |
Run the test suite:
./gradlew test
Capture pass/fail counts. If ./gradlew is not present, try ./gradlew --version to confirm Gradle wrapper exists.
Generate a markdown report with this exact structure:
| Feature | Status | Evidence |
|---|---|---|
| {deliverable name} | Done / Partial / Missing | {file path, test name, or "not found"} |
Status definitions:
| Metric | Count |
|---|---|
| Total deliverables checked | N |
| Done | N |
| Partial | N |
| Missing | N |
| Test pass rate | N/N (N%) |
List each incomplete item with a specific, actionable task:
| Priority | Item | Action Required |
|---|---|---|
| High | {item name} | {specific step: e.g., "Create OrderService.java in application/service/, add @Transactional, implement placeOrder(CreateOrderRequest)"} |
| Medium | {item name} | {specific step} |
| Low | {item name} | {specific step} |
Save the complete report to:
docs/phase-$ARGUMENTS-status.md
Create the docs/ directory if it does not exist.
Use this file header:
# Phase $ARGUMENTS Status Report
**Generated**: {current date}
**Phase**: $ARGUMENTS
**Overall Status**: {Done / In Progress / Not Started}
---
After saving, print the absolute file path and confirm: "Phase $ARGUMENTS status report saved to docs/phase-$ARGUMENTS-status.md"