Files
smartgift-claude-skills/plugins/common/skills/sg-prompt-sharpening/SKILL.md
T
nntrivi2001 add66c25bd feat: sg-md-writing và sg-prompt-sharpening v0.2.0 — gọn hơn, có eval
sg-md-writing thành skill bảo trì tri thức dự án cho AI:
- Gộp hướng dẫn viết skill/subagent/hook (từ writing-agent-context) vào.
- Bảng "đặt dòng ở đâu" theo chi phí nạp: root nạp mọi phiên; rule có `paths:`,
  CLAUDE.md của module, skill, docs chỉ nạp khi cần.
- Chế độ sync: tự sửa đúng dòng .md bị sai trong cùng thay đổi, bump Last synced,
  chỉ hỏi ý định code không trả lời được (bỏ cổng xác nhận từng file, phỏng vấn
  từng câu, kiểm tra model yếu mỗi lần).
- Bỏ khẳng định sai "subagent không tự nạp CLAUDE.md" và lối viết in hoa.
  21,6 KB → 9,1 KB.

sg-prompt-sharpening: tự lấp chỗ thiếu từ dự án, hiện bản prompt đã làm rõ
(mục tiêu, ở đâu, xong khi, giả định) rồi làm; chỉ hỏi một câu (có đề xuất)
khi các cách hiểu dẫn tới việc khác nhau; không kích hoạt với yêu cầu đã đủ rõ.

Eval (claude plugin eval, 2 lượt/case, có skill vs không):
- sharpening 3/3 (trước 2/3), Δ +0.67
- md-writing 5/5 (trước 1/5), Δ +0.40
2026-10-08 11:45:44 +07:00

3.3 KiB

name, description
name description
sg-prompt-sharpening Use when a request leaves out what is needed to act on it — the goal, which part of the project, or what "done" looks like — or could mean two different jobs. Typical of short, casual natural-language asks ("thêm xóa nhanh nhé", "làm lại phần thông báo cho đẹp", "làm báo cáo cho sếp"). Not for requests that already name the target and the expected result. Rewrites the ask into a complete prompt, shows it to the user, then acts on it.

Prompt Sharpening

People type requests the way they talk: short, without the where, the what-exactly or the finish line. This skill turns such a request into the prompt its author would have written with time to spare, shows it to them, and then works from it. The work matches the intent on the first try, and the team sees what a complete request looks like.

1. Fill the gaps yourself first

Read what the request touches (the conversation, the project's CLAUDE.md, the files and screens it names) before deciding anything is missing. A gap that the code or the conversation answers is not a question: fill it, and say what you filled it with. Look for the project's own obvious candidate as well as the literal words. In a project whose real flagship is a 3D experience behind the homepage, "trang chủ" may mean that experience.

2. Show the sharpened prompt

Before doing the work, show a short block in the user's language:

Yêu cầu đã làm rõ: one paragraph with the goal, where it happens (files, screens and endpoints by name), the constraints, and what stays out of scope. Xong khi: a checkable finish line, taken from the user's own complaint. Giả định: only the assumptions the user might want to change.

Write it as a prompt the user could have sent, not as a plan of your steps. Include only what changes the work.

3. Proceed, or ask one question

  • The readings lead to the same work. Proceed right after the block. The user corrects an assumption if it is wrong.
  • The readings lead to different work (different files, much more effort or risk, or a decision only the user can make). Don't start. Ask ONE question that separates the readings, with options and the recommended one first (AskUserQuestion when the options can be listed), and show the sharpened prompt for the recommended reading.

Handoff mode

When the sharpened prompt is for another agent or session, it must stand alone: exact paths, the decisions already made, what is out of scope, and how to check the result. The reader has no "above" to refer back to.

Gotchas

  • Short is not the same as vague. "Đổi tên formatDate thành formatIsoDate và sửa mọi chỗ gọi" is complete: act on it without a block.
  • Words run together or typed without diacritics ("làm lạiphần này") are typing, not ambiguity. Read through them.
  • Define "done" before building. A finish line written afterwards bends to fit whatever got built.
  • One question means one. Don't append a second ask ("and send me the repo path") to it. If the files can't be read, work from what the user described, and note that in the assumptions.
  • Prefer proceeding. When the recommended reading is the small, safe one and the others only add scope, state it as the assumption and start. Ask only when picking wrong would waste real work.