Updates a deal when the user reports what happened after sending an email or proposal. Triggered by "khách trả lời rồi", "chưa thấy hồi âm", "khách chưa rep", "im lặng", "hẹn gặp tuần sau", "chốt deal", "mất deal", "they replied", "no response yet", "we won it".
Scanned 9/19/2026
Install to Claude Code
npx -y skills add Duckz289/Pipeline-to-proposal-Plugin-STANDARD --skill update-deal-feedback --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Update Deal Feedback?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/duckz289-update-deal-feedback)More formats (shields.io, HTML) on the badges page.
---
name: update-deal-feedback
description: >
Updates a deal when the user reports what happened after sending an email or proposal.
Triggered by "khách trả lời rồi", "chưa thấy hồi âm", "khách chưa rep", "im lặng",
"hẹn gặp tuần sau", "chốt deal", "mất deal", "they replied", "no response yet", "we won it".
---
# Update deal outcome
Use when the user reports what happened. Update memory **without asking for a form**.
## Extract from the message
- which company (missing → ask "Deal này của công ty nào?")
- what happened
- the buyer's exact words, if pasted
- a follow-up date, if mentioned
## Stage mapping — READ THE ORDER
Check negatives **before** positives. Details: `${CLAUDE_PLUGIN_ROOT}/workflows/feedback.md`.
| Order | User says | Stage |
|---|---|---|
| 1 | "chưa trả lời", "không phản hồi", "chưa rep", "im lặng" | **Waiting reply** |
| 2 | "mất deal", "chọn bên khác", "từ chối" | **Lost** |
| 3 | "hẹn gặp", "chốt lịch demo", "đặt lịch call" | **Meeting booked** |
| 4 | "chốt deal", "ký hợp đồng", "đã mua" | **Won** |
| 5 | "khách trả lời", "có phản hồi", "quan tâm" | **Replied** |
| 6 | "đã gửi báo giá" | **Proposal sent** |
⚠️ Two traps, both real bugs from 0.4.x:
**1. "chưa phản hồi" is NOT "đã phản hồi."** And the negation word is often **not adjacent**:
| User types | Correct |
|---|---|
| "khách chưa **thấy** trả lời" | Waiting reply |
| "không **nhận được** phản hồi gì" | Waiting reply |
| "chưa **có** hồi âm" | Waiting reply |
| "chưa rep" | Waiting reply |
If `chưa` / `không` / `chẳng` appears shortly before a reply word → **Waiting reply**, no matter how
many words sit in between.
**2. "chốt lịch demo" is NOT "chốt deal."** It is a booked meeting.
## Saving
Write directly into `<DATA>` per `${CLAUDE_PLUGIN_ROOT}/policies/state-management.md`:
- deal file: add a dated history line, update stage and next action
- `deals/index.md`: update that company's row
- `feedback.md`: add an entry
- `follow-ups.md`: add a line if there is a specific date
Cannot write → **tell the user clearly**, never stay silent. See `${CLAUDE_PLUGIN_ROOT}/policies/state-management.md`.
## Output
```markdown
### Đã cập nhật
- ABC Logistics → Chờ phản hồi
- Việc tiếp theo: gửi follow-up nhẹ, khoảng 03/08
### Tin nhắn gợi ý
[if something should be sent]
```
Omit the message section when nothing needs sending. Headings follow the user's language.
## Draft the reply immediately
If the buyer responded, write the reply — do not make the user ask for it.
| Buyer said | Response |
|---|---|
| Wants a meeting or demo | Confirm the time, ask 1–2 priorities |
| Asks the price | Give the known range, or ask about scope. **Never invent a price.** |
| "Send the proposal" | Confirm, say when |
| Too expensive / no budget | Answer that point briefly, propose a date to revisit. See `../draft-outreach-email/references/objection-responses.md` |
| Silence | Not a reply — this is a follow-up. See `${CLAUDE_PLUGIN_ROOT}/playbooks/deal-coach.md` |
## Never
- Ask "are you sure?" when the wording is already clear.
- Change product context or pricing based on one piece of feedback.
- Say "saved" when nothing was written.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!