Review suggestions
Skill allanbian1017/skills/skills/personal/review-suggestions
Skills for automate workflows, assist in daily tasks, and enhance overall productivity.
npx -y skills add allanbian1017/skills --skill review-suggestionsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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
Review pending AI suggestions from processed reports. Presents unreviewed suggestions as an artifact, collects Accept/Reject feedback, and updates the user preference profile. Use when the user says 'review my suggestions', '幫我看建議', 'check my suggestions', 'review AI suggestions', or any request to review AI analysis recommendations.
SKILL.md
6.7 KB, as published. Nobody here has run it
review-suggestions
Review pending AI suggestions, collect feedback, and update the user preference profile to calibrate future AI analysis.
Step 1 — Load pending suggestions
Read data/suggestions_pending.md.
If the file doesn't exist or contains no suggestion entries (only the heading), tell the user:
"No pending suggestions. All caught up! 🎉"
And stop.
Step 2 — Split into two groups
Parse each suggestion entry (each starts with ### ) and split by date:
- Today's suggestions: entries where the date field matches today's local date
- Backlog: all other entries, sorted newest first
Step 3 — Present as artifact
Create an artifact with RequestFeedback: true. Number each suggestion sequentially for easy reference.
Support both legacy and new rubric metadata formats dynamically.
Use this format:
# 📋 AI Suggestion Review
> 共 {N} 條待審建議 | 今日:{T} 條 | 歷史:{B} 條
>
> 回覆方式:
> - "Accept 1, 3. Reject 2."
> - "#1 accept — 我週末來試. #2 reject — 太抽象"
> - 也可以加上整體偏好,例如:"I prefer hands-on tasks under 30 minutes"
> - 不提到的建議會保持待審狀態
---
## 📅 今日建議
### #1 — [Title](source_url)
- 📂 Newsletter | 🏷️ 技術 | 📊 5/6 (A:2 P:1 G:2)
- 📋 **建議**:在本地使用 pgvector 實作混合查詢流程
- 📄 [完整報告](file:///path/to/report.md)
---
## 📂 歷史待審
### #3 — [Title](source_url)
- 📂 Threads | 🏷️ 技術 | 💎 Mid | ⚡ Mid | 🎯 Store
- 📋 **建議**:將這個觀點加入 learnings/lessons.md
- 📄 [完整報告](file:///path/to/report.md)
If there are no today's suggestions, omit the 📅 今日建議 section.
If there is no backlog, omit the 📂 歷史待審 section.
Step 4 — Parse user feedback
Accept natural-language responses. Parse for:
- Per-suggestion actions: Match
#N, suggestion number, or title keywords to Accept/Reject- Examples:
"Accept 1, 3. Reject 2.","#1 accept — I'll try this weekend","All accept except #3"
- Examples:
- Free-text comments: Any text attached to a specific suggestion (after
—or:) - Global preference statements: Unattached declarations about interests or preferences
- Examples:
"I prefer hands-on tasks","不要再推薦閱讀論文類的建議"
- Examples:
Suggestions not mentioned in the user's response remain in suggestions_pending.md.
Step 5 — Update both files
For each suggestion the user provided feedback on:
- Append to
data/suggestions_reviewed.md— the original suggestion entry plus feedback:
---
### 2026-05-07 | Newsletter | [Title](source_url)
- 🏷️ 技術 | 📊 5/6 (A:2 P:1 G:2)
- 📋 建議:在本地使用 pgvector 實作混合查詢流程
- 📄 [報告](file:///path/to/report.md)
- **Feedback**: ✅ Accept
- **Comment**: 我週末來試 pgvector
- **Reviewed**: 2026-05-07T14:00:00+08:00
(Note: Legacy entries are appended keeping their original 💎 | ⚡ | 🎯 fields.)
- Rewrite
data/suggestions_pending.md— keep only the entries the user did NOT provide feedback on. Preserve the# 📋 Pending Suggestionsheading.
Step 6 — Regenerate preference profile
Read the full data/suggestions_reviewed.md and existing data/user_preferences.md (if any).
Analyze all reviewed entries to produce the updated preference profile. Write to data/user_preferences.md with the following structure:
6-1. Summary Statistics
Count total reviewed, accept count/rate, reject count/rate.
6-2. Topic Preferences (recency-weighted)
- Compute accept rate per topic/category
- Recency weighting: entries from the last 14 days count at 2× weight
- High interest: accept rate > 60%
- Low interest: accept rate < 40%
6-3. Action Type Preferences
- Cluster
建議texts by action type (e.g., "implement prototype", "add to AGENTS.md", "test tool", "read article") - Identify which types the user consistently accepts vs. rejects
6-4. Shifting Interests (Conflict Detection)
- For each topic, compare the last-14-day accept rate vs. all-time accept rate
- If the delta exceeds 30%, flag it as a shifting interest with both rates shown
- This prevents stale preferences from overriding recent behavior
6-5. Explicit Preferences
- Collect all free-text comments and global preference statements
- More recent explicit statements override older conflicting ones
- Present as a bullet list of active preference declarations
Conflict Resolution Rules
- Recency wins: If recent (14-day) data contradicts older data, recent data takes precedence
- Explicit overrides statistical: A direct user statement always overrides pattern-based inference
- Transparent flagging: Never silently resolve conflicts — always note them in "Shifting Interests"
Output Format
# User Preference Profile
> Last updated: YYYY-MM-DD | Based on {N} reviewed suggestions
## Summary Statistics
- Total reviewed: {N}
- Accept: {A} ({A%}) | Reject: {R} ({R%})
## Topic Preferences
### High Interest (accept rate > 60%)
- [topic 1]
- [topic 2]
### Low Interest (accept rate < 40%)
- [topic 1]
## Action Type Preferences
### Preferred (user acts on these)
- [action type 1]
### Avoided (user rejects these)
- [action type 1]
## Shifting Interests
- [topic]: all-time {A}% → last 14 days {B}%. Treating as {level}.
## Explicit Preferences
- [direct user statement 1]
- [direct user statement 2]
6-6. Auto-Maintenance & Calibration
After writing data/user_preferences.md, invoke the rubric-grader skill in Maintain mode to perform blocklist verification and threshold score calibration.
Step 7 — Confirm to user
Report the results:
"✅ Reviewed {N} suggestions ({A} accepted, {R} rejected). Preference profile updated."
Summary
| Step | Action | File(s) Affected |
|---|---|---|
| 1 | Load pending | data/suggestions_pending.md (read) |
| 2 | Split today vs. backlog | — |
| 3 | Present artifact | Antigravity artifact |
| 4 | Parse feedback | — |
| 5 | Update files | suggestions_pending.md (rewrite), suggestions_reviewed.md (append) |
| 6 | Regenerate profile | suggestions_reviewed.md (read), user_preferences.md (write), invokes rubric-grader (maintain) |
| 7 | Confirm | — |