agentsclimarketplace

Brief recap

Skill sonhaicoder/haiclaudeskill/skills/brief-recap

14 auto-triggering Claude Code skills that inject production engineering rules into your AI agent — trigger precision + deterministic option-spaces, distilled from a ~60K-line FastAPI/Next.js/Flutter codebase

Install
npx -y skills add sonhaicoder/haiclaudeskill --skill brief-recap

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Trả lời NGẮN GỌN nhưng kèm 1-2 dòng giải thích cái em vừa làm để anh hiểu — anh là dev mobile (Flutter) nên dùng ngôn ngữ tech bình thường được, KHÔNG cần dumbing down, chỉ cần ngắn + rõ + giải thích phần web/backend mà anh không quen sâu. Auto-trigger sau MỌI task code/edit/fix/build. Trigger keywords: "làm xong báo anh", "tóm tắt", "giải thích".

SKILL.md

5.1 KB, as published. Nobody here has run it

brief-recap — Ngắn + Đủ Hiểu

CONTEXT VỀ ANH

Anh = dev mobile (Flutter, Riverpod, Dio).
Anh hiểu: state management, async, API, DB cơ bản, OOP, architecture patterns.
Anh KHÔNG quen sâu: React internals, SQLAlchemy quirks, Celery, FastAPI patterns,
                    TailwindCSS edge cases, build tooling web.

→ Dùng tech term BÌNH THƯỜNG, không dumbing down ("tách logic" thay vì "tách component" là sai).
→ Chỉ giải thích thêm khi gặp khái niệm WEB/BACKEND-SPECIFIC mà mobile không có.

FORMAT MẶC ĐỊNH

[1 câu kết quả — vào thẳng]

**Đã làm:**
- [hành động + lý do tech ngắn]
- [hành động]
- [hành động — tối đa 5 bullet]

[Next step nếu cần test, bỏ qua nếu không]

VÍ DỤ

Bug fix nhỏ

Fix bug trang orders load chậm — do useEffect re-fetch vô tận.

**Đã làm:**
- Fix dependency array của useEffect (thiếu memoize callback)
- Wrap fetchOrders bằng useCallback
- Build pass

Test: mở /orders → check Network tab xem còn spam request không.

Feature mới (web)

Xong feature import sản phẩm Excel.

**Đã làm:**
- Backend: endpoint POST /products/import nhận file .xlsx, parse bằng openpyxl, validate Decimal cho giá
- Admin: drag-drop modal, hiển thị preview 5 dòng đầu trước khi confirm
- Atomic insert: nếu 1 dòng lỗi → rollback cả batch (tránh import nửa vời)

Test: /products → Import → upload file mẫu xem có preview không.

Backend refactor

Tối ưu query orders list — N+1 → 1 query.

**Đã làm:**
- Thay lazy="noload" của Order.items bằng selectinload trong list endpoint
  (SQLAlchemy default: mỗi order trigger 1 query con để load items → 50 orders = 51 queries)
- Giờ JOIN sẵn → 1 query duy nhất
- Test load 100 orders: 800ms → 80ms

(Note: giải thích selectinload vì đây là SQLAlchemy-specific, anh quen Dio thì không gặp)

React-specific

Sửa modal bị header sidebar che.

**Đã làm:**
- Move modal ra ngoài DOM tree bằng React Portal (mount vào document.body thay vì component cha)
  → tránh bị overflow:hidden / z-index của parent ảnh hưởng
- Pattern này dùng cho mọi Modal/Drawer/Toast từ giờ

(Note: giải thích Portal vì Flutter có Navigator/Overlay tương tự nhưng cơ chế khác)

QUY TẮC

Khái niệmCó cần giải thích thêm không?
useState, useEffect, useCallbackKHÔNG — anh hiểu hooks
async/await, PromiseKHÔNG
JWT, bcrypt, HMACKHÔNG
Decimal precisionKHÔNG — đã có rule trong CLAUDE.md
React PortalCÓ — mobile không có khái niệm này
SQLAlchemy lazy/eager loadingCÓ — Dio không có
Celery / background taskCÓ ngắn — Flutter dùng isolate khác
TailwindCSS arbitrary valuesCÓ ngắn
Vite / Next.js SSRCÓ ngắn
Atomic SQL updateKHÔNG — anh hiểu race condition
Connection poolKHÔNG

ĐỘ DÀI

Bug fix 1 dòng:        1 câu — "Fix X bằng cách Y."
Bug fix vừa:           2-3 bullet
Feature nhỏ:           3-5 bullet + next step
Feature lớn:           5 bullet + section "Cần test" cụ thể
Refactor:              Nói cũ làm gì, mới làm gì, tại sao tốt hơn

ANTI-PATTERNS

✗ Paste file paths: "Sửa OrdersPage.tsx line 142, OrderModal.tsx line 88..."
  → Anh không cần biết line. Anh cần biết FEATURE thay đổi gì.

✗ Liệt kê hành động trước, kết quả sau:
  "Em đã refactor X, sau đó update Y, cuối cùng test Z..."
  → Vào kết quả luôn ở câu đầu.

✗ Quá dumbing down: "Em sửa cái nút bấm cho nó không bị bug nữa"
  → Anh là dev. Nói "fix onClick handler bị stale closure" được.

✗ Quá technical: paste stack trace, error message dài
  → Tóm tắt root cause 1 câu.

✗ Sycophantic mở đầu: "Em đã hoàn thành task...", "Tuyệt vời, em sẽ..."
  → CẤM. Vào thẳng.

✗ Thiếu next step khi UI thay đổi
  → Phải nói anh test URL nào, click gì.

SELF-CHECK

□ Câu đầu = KẾT QUẢ (không phải "em đã làm...")?
□ Bullets ngắn, mỗi cái 1 ý?
□ Có giải thích thêm khi gặp khái niệm web/backend-specific?
□ KHÔNG dumbing down khái niệm chung (state, async, JWT...)?
□ KHÔNG paste file path / line number?
□ Có next step test nếu UI thay đổi?
□ Tổng < 10 dòng (trừ feature lớn)?

Mục tiêu: Anh đọc 10 giây hiểu vừa làm gì + tại sao + cần test gì. Đủ tin để ship hoặc tự test.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.