icons8

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Icons8 icons

Icons8 icons

The MCP is a thin wrapper over the Icons8 search API. It gives you 5 tools and no taste:
search_icons
,
list_categories
,
list_platforms
,
get_icon_svg
,
get_icon_png_url
. You will often see only 4 of them:
get_icon_svg
appears solely on a paid plan, see step 6. Default behaviour is bad in three specific ways, and this skill exists to fix them.
1. Unfiltered search returns one metaphor in ten styles.
search_icons("delete")
with
amount=12
returns the same trash can in 12 different packs. You see one idea and no alternatives, and whatever you pick will not match the icon you picked five minutes ago.
2. Ranking is not taste-ranking.
search_icons("settings")
puts four Apple logos (
apple-settings
, category
Logos
) above the plain gear.
search_icons("dashboard")
puts a car dashboard gauge first. The API matches names and tags, it does not know you are building a settings screen.
3. SVG is the slow, paid path.
get_icon_svg
is one call per icon (~1s each, serial) and the payload runs from 600 characters (Flat Color) to 46,000 (Color Hand Drawn, about 11k tokens for a single icon). PNG previews are free, instant and need no MCP call at all.
MCP是Icons8搜索API的轻量级封装,它提供5个工具,不涉及审美判断:
search_icons
list_categories
list_platforms
get_icon_svg
get_icon_png_url
。你通常只会看到其中4个:
get_icon_svg
仅在付费套餐中可用,详见步骤6。
默认行为存在三个明确的问题,本技能正是为解决这些问题而生。
1. 未过滤搜索会返回同一隐喻的十种样式。 调用
search_icons("delete")
并设置
amount=12
时,会返回12个不同图标包中的同一个垃圾桶图标。你只能看到一种设计思路,没有其他选择,而且你选的图标会和五分钟前选的图标不匹配。
2. 排序并非基于审美判断。 调用
search_icons("settings")
时,四个苹果标志(
apple-settings
,分类为
Logos
)会排在普通齿轮图标之前。调用
search_icons("dashboard")
时,汽车仪表盘会排在首位。API仅匹配名称和标签,并不知晓你正在构建设置界面。
3. SVG是耗时的付费路径。
get_icon_svg
每个图标需要一次调用(每次约1秒,串行执行),返回的内容大小从600字符(Flat Color风格)到46000字符(Color Hand Drawn风格,单个图标约11k tokens)不等。PNG预览是免费、即时的,且无需调用MCP。

The loop

操作流程

0. Read the lock. Look for
icons8.json
next to the project you are working in. If it exists, that pack is the only pack, no exceptions, even for one extra icon. If it does not exist yet, you will write it in step 5.
json
{ "pack": "m_outlined", "size": 24, "color": "1F2937",
  "icons": { "settings": { "id": "82535", "commonName": "settings" } } }
1. List every concept before searching. Write the full list of icons the screen needs (nav, actions, states, empty states). Pack choice depends on coverage of the whole list, not of the first icon. Two of ~40 concepts are always missing from any given pack.
2. Pick the pack once. See
references/PACKS.md
. One pack per project, chosen from the context table below. Use the exact
apiCode
. Never a partial name:
wired
silently resolves to
Dusk_Wired
,
material
to
androidL
(Material Filled),
office
to
office40
, while
forma
,
glyph
,
sf
and
tiny
return zero results.
3. One search per concept, always with
platform
.
search_icons(query="settings", platform="m_outlined", amount=10)
The filter is what makes search useful: those 10 results are now 10 different metaphors instead of 10 styles of one. Cost is about 1k tokens at
amount=10
, 2.6k at 30 (max 100). Do not search the same concept twice, and do not re-search to "double check" a pick.
4. Score the candidates with the rules below, then look at them. Build one contact sheet and open it, no MCP calls needed:
html
<!-- sheet.html: each cell is <img src="https://img.icons8.com/?id=ID&format=png&size=48"> + commonName -->
open sheet.html
for the user. For any pick you are unsure about, download the PNG and read it yourself, that is a real check and it costs one Read.
5. Prototype with PNG, write the lock. In HTML/JSX use the URL directly:
https://img.icons8.com/?id=82535&format=png&size=24
. Add
&color=1F2937
to recolor any monochrome icon (ignored by color packs). Zero MCP calls, zero latency, works for free and paid icons alike. Then write
icons8.json
so the next session and the next agent stay on the same pack.
6. Fetch SVG last, only for the approved set. When the prototype is agreed, call
get_icon_svg
for those icons and inline them. Set
fill="currentColor"
on monochrome icons so CSS drives the color. Skip this step entirely for color, 3D and hand-drawn packs: their SVG is huge and a PNG at 2x is the better asset.
SVG is the one paid part of this workflow, and the gate is the connection's API key, not the icon. Three states, read them correctly:
  • get_icon_svg
    is missing from your tool list.
    The account has no SVG plan. The tool still exists on the server and still answers if you call it; the server just stops advertising it without a key. Its absence is not a broken server, not proof the server is PNG-only, and not a reason to rewrite this skill.
  • It answers
    {"error": "You don't have access to this tool. Use get_icon_png_url instead."}
    .
    The usual case, and the clearest one: no key on the connection. One call is enough to confirm it, so you never have to guess.
  • It answers
    {"error": "Icons8 API: ..."}
    .
    A key is attached but the API refused the call, and the server hands you the API's own message:
    Authentication data is invalid or missing (HTTP 401)
    for a key it does not accept. Read the message before blaming the plan —
    Icon not found (HTTP 404)
    means the id is wrong, not the subscription.
In all three, say it in one line and keep moving: SVG needs a plan from https://icons8.com/icons/pricing, and the key goes into the MCP server config as an
Authorization: Bearer <key>
header — per-client setup at https://icons8.com/mcp. Then ship the PNG version at 2x. The design does not wait on a subscription.
If the requirement is
currentColor
, PNG still gets you there.
This is the one thing inline SVG buys in product UI, and a plain
<img>
cannot do it — but the same PNG used as an alpha mask can, because the browser paints
background-color
through the icon's transparency:
css
.icon { width: 24px; height: 24px; background-color: currentColor;
        mask: url("https://img.icons8.com/?id=82535&format=png&size=48") center / contain no-repeat;
        -webkit-mask: url("https://img.icons8.com/?id=82535&format=png&size=48") center / contain no-repeat; }
Ask for the PNG at 2x the CSS size, and keep the
-webkit-
prefix for Safari before 15.4. The icon now inherits the theme token exactly as
fill="currentColor"
would. It is a raster mask, so it has a ceiling inline SVG doesn't — say that rather than implying parity. This is a real technique, not a workaround: the asset is still the genuine Icons8 drawing.
Do not go looking for another way in. These all cost turns and produce something worse:
DetourWhat you actually get
img.icons8.com
with
format=svg
403
PAID_FORMAT
— the same paywall, a different door
Tracing or vectorising the PNGa path that is not the Icons8 drawing, usually visibly worse at 24px
<svg><image href="data:image/png…">
a raster in an SVG wrapper: no
currentColor
, no clean scaling. The CSS mask above is the honest version of this idea and actually inherits the color
Writing the path by handan invented icon, which breaks the one-pack rule harder than a wrong pack
Substituting Lucide, Heroicons, Font Awesomea second icon set, the one thing this skill exists to prevent
0. 读取锁定配置。 查看你正在处理的项目旁是否有
icons8.json
文件。如果存在,该文件指定的图标包是项目唯一可使用的包,无例外,哪怕只是新增一个图标。如果不存在,你将在步骤5中创建它。
json
{ "pack": "m_outlined", "size": 24, "color": "1F2937",
  "icons": { "settings": { "id": "82535", "commonName": "settings" } } }
1. 搜索前列出所有需求概念。 写下界面所需的所有图标列表(导航、操作、状态、空状态)。图标包的选择取决于对整个列表的覆盖度,而非第一个图标。任何给定图标包都会缺少约40个概念中的2个。
2. 一次性选定图标包。 查看
references/PACKS.md
。每个项目使用一个图标包,从下方的场景表中选择。使用精确的
apiCode
。切勿使用部分名称:
wired
会自动解析为
Dusk_Wired
material
解析为
androidL
(Material Filled),
office
解析为
office40
,而
forma
glyph
sf
tiny
会返回零结果。
3. 为每个概念单独搜索,且始终指定
platform
参数。
search_icons(query="settings", platform="m_outlined", amount=10)
过滤参数让搜索变得有用:此时返回的10个结果是10种不同的隐喻设计,而非同一种设计的10种样式。
amount=10
时约消耗1k tokens,
amount=30
时约消耗2.6k tokens(最大值为100)。不要重复搜索同一概念,也不要为了“再次确认”选择而重新搜索。
4. 按照以下规则为候选图标评分,然后查看实际效果。 创建一个联系表并打开,无需调用MCP:
html
<!-- sheet.html: 每个单元格包含 <img src="https://img.icons8.com/?id=ID&format=png&size=48"> + commonName -->
为用户打开
sheet.html
。对于任何你不确定的选择,下载PNG并自行查看,这是真实的验证方式,仅消耗一次读取权限。
5. 使用PNG进行原型设计,写入锁定配置。 在HTML/JSX中直接使用URL:
https://img.icons8.com/?id=82535&format=png&size=24
。添加
&color=1F2937
可为任何单色图标重新着色(彩色图标包会忽略此参数)。无需调用MCP,零延迟,免费和付费图标均可使用。然后写入
icons8.json
,以便下一次会话和其他agent使用同一图标包。
6. 最后仅为获批集合获取SVG。 当原型获得批准后,为这些图标调用
get_icon_svg
并内联到代码中。为单色图标设置
fill="currentColor"
,以便通过CSS控制颜色。完全跳过此步骤如果使用彩色、3D和手绘风格的图标包:它们的SVG文件体积庞大,2倍尺寸的PNG是更好的资源。
SVG是此工作流程中唯一付费的部分,权限取决于连接的API密钥,而非图标本身。存在三种状态,请正确解读:
  • 你的工具列表中缺少
    get_icon_svg
    该账户没有SVG套餐。该工具仍在服务器上存在,调用时仍会响应;只是服务器在没有密钥的情况下不再显示它。它的缺失并非服务器故障,也不能证明服务器仅支持PNG,更不是重写本技能的理由。
  • 返回
    {"error": "You don't have access to this tool. Use get_icon_png_url instead."}
    这是常见情况,也是最明确的提示:连接没有密钥。只需一次调用即可确认,无需猜测。
  • 返回
    {"error": "Icons8 API: ..."}
    连接已附加密钥,但API拒绝了调用,服务器会返回API自身的消息:
    Authentication data is invalid or missing (HTTP 401)
    表示密钥不被接受。在归咎于套餐前先阅读消息——
    Icon not found (HTTP 404)
    表示ID错误,而非订阅问题。
在所有三种情况下,用一句话说明并继续推进:SVG需要从https://icons8.com/icons/pricing购买套餐,密钥需作为`Authorization: Bearer <key>`头部配置到MCP服务器中——可在https://icons8.com/mcp进行客户端单独设置。然后交付2倍尺寸的PNG版本。设计无需等待订阅。
如果需求是
currentColor
,PNG同样可以实现。
这是内联SVG在产品UI中的唯一优势,普通
<img>
无法做到——但将同一PNG用作alpha蒙版即可实现,因为浏览器会透过图标的透明区域绘制
background-color
css
.icon { width: 24px; height: 24px; background-color: currentColor;
        mask: url("https://img.icons8.com/?id=82535&format=png&size=48") center / contain no-repeat;
        -webkit-mask: url("https://img.icons8.com/?id=82535&format=png&size=48") center / contain no-repeat; }
请求2倍CSS尺寸的PNG,并为Safari 15.4之前的版本保留
-webkit-
前缀。此时图标会像
fill="currentColor"
一样完全继承主题令牌。这是一种光栅蒙版,因此它有内联SVG没有的上限——说明这一点,而非暗示两者完全等效。这是一种真实的技术,而非权宜之计:资源仍是正版Icons8绘图。
不要尝试其他替代方法,这些方法既耗时又会产生更差的结果:
弯路实际结果
img.icons8.com
使用
format=svg
返回403
PAID_FORMAT
——同样的付费墙,只是入口不同
追踪或矢量化PNG得到的路径并非Icons8的原始绘图,通常在24px尺寸下可见地变差
<svg><image href="data:image/png…">
SVG包裹中的光栅图:不支持
currentColor
,无法清晰缩放。上述CSS蒙版是此思路的合理实现,且真正支持颜色继承
手动绘制路径自创图标,这比使用错误的图标包更严重地违反单包规则
替换为Lucide、Heroicons、Font Awesome使用第二个图标集,这正是本技能要防止的情况

Reject these

需拒绝的情况

The user's complaint is "settings should be a plain gear, not a gear with extra parts". Concretely:
RejectWhyReal example
Logos
as the only category, or a name ending in
-logo
brand icon, not a UI icon
settings
apple-settings
(top 4 results)
Industry
,
Transport
,
Household
for a UI action
literal machine part, reads wrong in a toolbar
settings
gear
,
gears
,
automatic
,
settings-3
;
dashboard
→ car gauge
Compound icons when a plain one existsextra objects add meaning you did not ask for
laptop-settings
,
sync-settings
,
api-settings
for a plain settings item
--v2
/
--v3
when the plain
commonName
exists and looks right
suffixed variants are alternates, often decorated
star--v2
and
star--v3
in
m_outlined
are a star inside a star;
filled-star
is the clean one
Any icon whose display name does not match the conceptsearch matched a substring, not the idea
webhook
webtoon-logo
;
dark mode
do-not-disturb
,
film-noir
Color or 3D packs at 16-24pxdetail turns to mud
plasticine
,
isometric
,
badges
in product UI
1px-stroke mono packs at 96px+looks thin and unfinished
p1em
,
tiny-glyph
on a landing hero
A second pack anywhere on the screenthis is the one thing users notice
m_outlined
plus
ios7
, both mono, still visibly mismatched
Prefer, in order: exact plain
commonName
match, then
category: Popular
or
User Interface
, then the shortest name that still means the concept.
category
is a comma-joined list. Read it as a set: one bad label inside it does not condemn the icon. The plain bell is tagged
Business,Logos,User Interface
, the standard warning triangle
error
is tagged
Industry,User Interface
. A category rule that fires on substring alone throws both of them away.
用户的诉求是“设置图标应该是普通齿轮,而非带额外部件的齿轮”。具体如下:
拒绝项原因实际示例
仅选择
Logos
分类,或名称以
-logo
结尾
品牌图标,而非UI图标
settings
apple-settings
(前4个结果)
为UI操作选择
Industry
Transport
Household
分类
写实机械部件,在工具栏中显示效果不佳
settings
gear
gears
automatic
settings-3
dashboard
→ 汽车仪表盘
已有普通图标时选择复合图标额外对象会添加你未要求的含义为普通设置项选择
laptop-settings
sync-settings
api-settings
存在合适的普通
commonName
时选择
--v2
/
--v3
变体
带后缀的变体是替代样式,通常带有装饰
m_outlined
中的
star--v2
star--v3
是星星嵌套星星;
filled-star
是简洁的版本
显示名称与概念不匹配的图标搜索匹配的是子字符串,而非实际概念
webhook
webtoon-logo
dark mode
do-not-disturb
film-noir
在16-24px尺寸下使用彩色或3D图标包细节会变得模糊不清在产品UI中使用
plasticine
isometric
badges
在96px+尺寸下使用1px描边的单色图标包看起来单薄且未完成在着陆页hero区域使用
p1em
tiny-glyph
界面中使用第二个图标包这是用户最容易注意到的问题
m_outlined
搭配
ios7
,均为单色,但仍明显不匹配
优先选择顺序:精确匹配普通
commonName
的图标,其次是分类为
Popular
User Interface
的图标,最后是仍能表达概念的最短名称。
category
是逗号分隔的列表。将其视为集合:其中一个不良标签并不意味着整个图标不可用。普通铃铛图标标记为
Business,Logos,User Interface
,标准警告三角形
error
标记为
Industry,User Interface
。仅基于子字符串触发的分类规则会错误地排除这两个图标。

Criteria by context

按场景划分的标准

ContextSizePacksWhat matters
Product UI, toolbars, nav16-24mono only:
m_outlined
,
ios7
,
fluent-systems-regular
,
forma-light
,
p1em
at 16
one family; grab the outline/filled pair for inactive/active states (
ios7
+
ios_filled
,
m_outlined
+
androidL
); same optical weight; recolor via
currentColor
Marketing, landing, feature grid48-128color:
color
,
plumpy
,
pulsar-color
,
liquid-glass
,
dusk
,
cotton
brand color harmony over literal accuracy; at 200px+ an illustration beats a scaled icon (Ouch! is in-house, not in this MCP)
Slides, decks, docs40-80
color
,
office40
,
m_two_tone
,
ultraviolet
readable at projector distance; one pack across all slides
Friendly, informal, human tone50-100
claude-hand-drawn
,
carbon_copy
,
plasticine
,
doodle
PNG only, never inline these SVGs
Dev docs, dense tables, IDE-like16
p1em
,
tiny-glyph
,
glyph-neue
legibility at 16px is the only criterion
OS-native mockupsnativeiOS
ios7
/
ios_filled
/
ios11
, Windows
fluent-systems-filled
, Android
m_*
match the platform the mock claims to be
场景尺寸图标包关键要求
产品UI、工具栏、导航16-24仅单色:
m_outlined
ios7
fluent-systems-regular
forma-light
、16px的
p1em
单一图标家族;获取轮廓/填充配对用于非激活/激活状态(
ios7
+
ios_filled
m_outlined
+
androidL
);相同视觉权重;通过
currentColor
重新着色
营销、着陆页、功能网格48-128彩色:
color
plumpy
pulsar-color
liquid-glass
dusk
cotton
品牌色彩和谐优先于字面准确性;200px+尺寸下插画优于缩放图标(Ouch!为内部资源,不在此MCP中)
幻灯片、演示文稿、文档40-80
color
office40
m_two_tone
ultraviolet
在投影距离下可读;所有幻灯片使用同一图标包
友好、非正式、人性化风格50-100
claude-hand-drawn
carbon_copy
plasticine
doodle
仅使用PNG,切勿内联这些SVG
开发文档、密集表格、类IDE界面16
p1em
tiny-glyph
glyph-neue
16px尺寸下的可读性是唯一标准
原生系统原型原生包iOS:
ios7
/
ios_filled
/
ios11
,Windows:
fluent-systems-filled
,Android:
m_*
匹配原型声称的平台

Gotchas that will cost you time

会耗费时间的陷阱

  • get_icon_svg
    never answers with an empty string. Every failure comes back as
    {"error": ...}
    , a bad id as
    {"error": "Icons8 API: Icon not found (HTTP 404)"}
    . Test for the
    error
    key before writing a file; a test for an empty
    svg
    never fires.
  • img.icons8.com
    with
    format=svg
    returns 403
    PAID_FORMAT
    . SVG only comes through
    get_icon_svg
    , which the server offers only when the connection carries a paid account's key (step 6). There is no shortcut.
  • list_platforms
    returns 130 packs,
    fluent
    and
    fluent-systems-regular
    among them. If a code you know works is still absent from the list, trust the search result: a missing code is not proof the pack is gone.
  • The
    category
    filter takes an
    apiCode
    (
    user-interface
    ), not a display name (
    Logos
    returns 0).
    category="free-icons"
    is a working free-only filter.
  • Platform codes are case sensitive:
    FLUENT
    returns 0.
  • commonName
    is shared across packs only where the pack has that icon (
    filled-trash
    exists in 12 packs,
    ios7
    calls its trash
    full-trash
    ). To move a set to another pack, re-run the searches, do not translate ids.
  • isFree: true
    marks the free set (attribution required). Paid icons omit the field entirely rather than setting it to
    false
    , so read absence as paid: a test for
    isFree == false
    never matches, and indexing the key blindly raises on every paid icon. It does not affect PNG previews, both work. If the assets ship in a product, confirm the license before handing over paid icons — a set that looks free because nothing said otherwise is the easy way to get this wrong.
  • get_icon_svg
    永远不会返回空字符串。所有失败都会返回
    {"error": ...}
    ,无效ID会返回
    {"error": "Icons8 API: Icon not found (HTTP 404)"}
    。写入文件前先检查
    error
    键;检查空
    svg
    的逻辑永远不会触发。
  • img.icons8.com
    使用
    format=svg
    会返回403
    PAID_FORMAT
    。SVG仅能通过
    get_icon_svg
    获取,只有当连接携带付费账户的密钥时,服务器才会提供该工具(步骤6)。没有捷径。
  • list_platforms
    返回130个图标包,其中包括
    fluent
    fluent-systems-regular
    。如果你知道有效的代码未出现在列表中,请信任搜索结果:代码缺失并不意味着图标包已不存在。
  • category
    过滤器接受
    apiCode
    (如
    user-interface
    ),而非显示名称(
    Logos
    返回0结果)。
    category="free-icons"
    是有效的仅免费图标过滤器。
  • 平台代码区分大小写:
    FLUENT
    返回0结果。
  • commonName
    仅在图标包包含该图标时才会跨包共享(
    filled-trash
    存在于12个图标包中,
    ios7
    中的垃圾桶图标名为
    full-trash
    )。要将图标集迁移到另一个包,请重新运行搜索,不要直接转换ID。
  • isFree: true
    标记免费图标集(需要署名)。付费图标完全省略该字段,而非设置为
    false
    ,因此需将缺失视为付费:检查
    isFree == false
    的逻辑永远不会匹配,盲目索引该键会在每个付费图标上引发错误。这对PNG预览没有影响,两者均可使用。如果资源要在产品中交付,在提供付费图标前请确认许可证——因为没有明确说明而看起来免费的图标集,很容易导致错误。

Recovering from a bad search

从无效搜索中恢复

Zero results or junk means the wording is wrong, not that the icon is missing. Search matches names and tags, so ask for the object Icons8 would have drawn:
Instead ofSearchYou get
ellipsis
,
changelog
,
onboarding
more
,
document
,
guide
more
is the three dots
webhook
,
integration
api
,
code
,
plugin
api
,
source-code
,
plugin
dark mode
moon
full-moon
,
moon
trending up
growth
positive-dynamic
,
bullish
notification
bell
appointment-reminders
(a plain bell)
warning
error
error
is the triangle with
!
;
high-priority
is a diamond
If
countAll
is 1-2 and the single hit is a logo, treat it as a miss and reword. Full map in
references/VOCABULARY.md
.
零结果或垃圾结果意味着措辞错误,而非图标不存在。搜索匹配名称和标签,因此请搜索Icons8会绘制的对象:
不要搜索改为搜索你会得到
ellipsis
changelog
onboarding
more
document
guide
more
是三个点图标
webhook
integration
api
code
plugin
api
source-code
plugin
dark mode
moon
full-moon
moon
trending up
growth
positive-dynamic
bullish
notification
bell
appointment-reminders
(普通铃铛)
warning
error
error
是带
!
的三角形;
high-priority
是菱形
如果
countAll
为1-2且唯一结果是标志,则视为搜索失败并重新措辞。完整映射见
references/VOCABULARY.md

Reference files

参考文件

  • references/PACKS.md
    : which pack for which job, outline plus filled pairs, coverage numbers.
  • references/VOCABULARY.md
    : concept to
    commonName
    map, verified visually, plus the traps.
  • references/KITS.md
    : ready concept lists for SaaS UI, landing, ecommerce, dev docs, analytics, empty states. Start from a kit instead of inventing the list.
  • references/PACKS.md
    :不同场景适用的图标包、轮廓与填充配对、覆盖范围数据。
  • references/VOCABULARY.md
    :概念到
    commonName
    的映射(已视觉验证),以及陷阱说明。
  • references/KITS.md
    :适用于SaaS UI、着陆页、电商、开发文档、分析、空状态的现成概念列表。从套件开始,而非自行创建列表。

What to hand back

交付内容

Per icon:
commonName
, id, pack, and the preview URL. Never invent or construct an id, they come from
search_icons
only.
If
search_icons
is not in your tool list, the server is not connected for you, and that is the finding to report: say it plainly and tell the user to connect it, because they can fix it and you cannot. What you must not do is paper over it — an id you remember from a previous session or from this skill's own examples is unverified, and shipping one is worse than shipping a gap. Leave the icon out with a note on what it needs, hand over whatever else is genuinely verified, and be explicit that this part of the task is unfinished.
每个图标需提供:
commonName
、id、图标包、预览URL。切勿自行创建或构造id,它们仅来自
search_icons
如果你的工具列表中没有
search_icons
,说明服务器未为你连接该工具,这就是你需要报告的结果:直白说明并告知用户连接该工具,因为他们可以解决这个问题,而你不能。切勿敷衍了事——你从之前会话或本技能示例中记住的id是未经验证的,交付这样的id比交付空白更糟糕。留下图标位置并注明所需内容,交付其他所有已验证的内容,并明确说明这部分任务未完成。