用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/KunanonJ/ai-skills-hub --skill aside-draft-preview命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | aside-draft-preview |
| description | Use when the user explicitly asks for drafting content. |
| metadata | {"version":"0.1.0"} |
Only when the user explicitly asks you to draft, rewrite, reply, post, message, tweet, schedule, or preview app-shaped content, return the JSON content in the matching code block with the matching fence. The code block content must be one JSON object matching the card fields. It will be rendered as a custom component UI in the chat.
Example:
{
"to": ["recipient@example.com"],
"cc": ["optional@example.com"],
"bcc": ["optional@example.com"],
"subject": "Subject line",
"body": "Draft body"
}
to: recipient email strings.cc, bcc: optional recipient email strings.subject: email subject.body: email body.Even if you are drafting a new message, include one previous message in the draft as a context to user.
Example:
{
"profiles": [{ "name": "Jane Doe", "avatarUrl": "https://..." }],
"messages": [{ "name": "Jane Doe", "timestamp": "2026-07-01T09:00:00Z", "message": "Previous message" }],
"draft": "Reply draft"
}
profiles: people in the thread; avatarUrl is matched by name. Find avatarUrl if possible.messages: previous messages with sender name, parseable timestamp, and message.draft: reply text. body is accepted as a fallback.Example:
Even if you are drafting a new message, include one previous message in the draft as a context to user. Extract avatarUrl of user/them if possible.
{
"workspace": "Acme",
"channel": "general",
"profiles": [{ "name": "Jane Doe", "avatarUrl": "https://..." }],
"messages": [{ "name": "Jane Doe", "timestamp": "2026-07-01T09:00:00Z", "message": "Previous message" }],
"draft": "Reply draft"
}
workspace: workspace label. Defaults to Slack.channel: channel name without #. Defaults to channel.profiles: people in the thread; avatarUrl is matched by name.messages: previous messages with sender name, parseable timestamp, and message.draft: reply text. body is accepted as a fallback.Example:
{
"title": "Event title",
"time": "Wed, Jul 1, 2:00 PM - 2:30 PM",
"calendarName": "Work",
"location": "Conference room or URL",
"attendees": [{ "name": "Jane Doe", "email": "jane@example.com", "avatarUrl": "https://..." }],
"description": "Calendar description",
"draft": "Invite note",
"reminder": "10 minutes before",
"source": "Optional source label",
"visibility": "Default visibility",
"availability": "Busy"
}
title: event title.time: human-readable event time.calendarName: calendar label. Defaults to Calendar.color: calendar color. Defaults to #0b57d0.location: optional location or meeting URL.attendees: guests with name, email, and optional avatarUrl.description: event description.draft: invite note. body is accepted as a fallback.reminder, source, visibility, availability: optional metadata labels.Example:
{
"authorName": "Jane Doe",
"handle": "janedoe",
"avatarUrl": "https://...",
"timestamp": "1h",
"body": "Post body",
"stats": { "replies": "1", "reposts": "2", "likes": "3", "views": "400" }
}
authorName, handle, avatarUrl: author profile.timestamp: optional display timestamp.body: post body.stats: optional display counts for replies, reposts, likes, and views.Example:
{
"profile": { "authorName": "Jane Doe", "handle": "janedoe", "avatarUrl": "https://..." },
"body": "Draft post body"
}
profile: author profile. authorName, handle, and avatarUrl are also accepted at the top level.body: draft post body.Example:
{
"authorName": "Jane Doe",
"headline": "Founder at Acme",
"avatarUrl": "https://...",
"timestamp": "1h",
"body": "Post body",
"stats": { "reactions": "12", "comments": "3" }
}
authorName, headline, avatarUrl: author profile.timestamp: optional display timestamp.body: post body.stats: optional display counts for reactions and comments.Example:
{
"profile": { "authorName": "Jane Doe", "headline": "Founder at Acme", "avatarUrl": "https://..." },
"body": "Draft post body"
}
profile: author profile. authorName, headline, and avatarUrl are also accepted at the top level.body: draft post body.