Install any skill in seconds. Free to start, no credit card required.
Get Started Free →把指定文件夹中的公司案例、提案、研究、复盘等文件整理成可用于向量检索的结构化知识库。
.claude/skills/kiakun-collab-folder-to-vector-kb/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 145% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 144% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 552% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 139% | 0% |
当用户希望把一个指定文件夹中的公司案例、方案、研究、复盘、会议纪要、方法论文档,整理为可用于向量检索的知识库时,使用这个 skill。
这个 skill 的目标不是先设计一套大而全的平台,而是先把 用户手头这批文件本身 处理干净,输出可直接做 embedding / retrieval 的结构化结果。
适用于以下任务:
knowledge_base.jsonl 供向量库 ingest 使用不适用于以下任务:
默认优先直接分析这批文件,完成入库判断、清洗、chunk 切分和元数据补全。
很多真实文件不会规整地放在项目文件夹里。必须同时结合:
来识别项目归属。
不要把头脑风暴稿、发散稿、占位稿、中间版本整份塞进知识库。
不要机械按 1000 字切块。chunk 应该在语义边界处切开,并且单独拿出来也能看懂。
最终输出必须稳定、结构化、字段明确,便于后续做 embedding、向量存储、检索和引用。
当执行这个 skill 时,默认输入包括:
folder_path:待处理文件夹路径output_path:输出 JSONL 路径allowed_extensions:允许处理的文件后缀,如 .pptx .pdf .docx .md .txtproject_name_hints:可选,用户额外提供的项目名关键词max_chunk_chars:建议单 chunk 最大字符数,默认 1500min_chunk_chars:建议单 chunk 最小字符数,默认 100获取指定目录下所有候选文件,并在以下两种情况下都能正确识别项目归属:
file_namefile_pathfile_sizecreated_timemodified_timeextensionneeds_review = trueunclassified终稿 / 定稿 / final 优先unclassifiedproject_name_candidate_from_filenameproject_name_candidate_from_folderresolved_project_nameproject_name_confidenceneeds_reviewis_final_candidate不要把 Step 1 简化为“按文件夹分组”。在广告公司真实资料里,散文件、临时目录、混放目录非常常见。
AI 直接读取每个文件内容,判断是否适合进入知识库,并识别损坏模式。
对每个文件都要明确给出:
入库判断:yes / partial / no入库原因doc_type可使用以下类型:
briefproposalcase_studyresearchmethodologymeeting_notescreative_materialprocess_draftother优先识别以下损坏模式:
Traceback (most recent call last):锟斤拷、烫烫烫、屯屯屯\x01、\x08、\x1ah t t p s : / / ...以下内容不能整份入库,通常只允许 partial 或 no:
V1、草案、旧版 的中间版本移除技术性噪音,保留纯净且可检索的正文内容。
VGr5.jpg按语义边界切块,使每个 chunk 都具备独立价值。
按需要从以下类型中选择最合适的:
client_briefproject_briefproposalmarket_researchconsumer_insightaudience_analysiscompetitive_analysisbrand_strategycommunication_strategymedia_strategypositioningmessagingcampaign_strategycreative_briefcreative_conceptcreative_derivationcreative_executioncopywritingsloganvisual_creativevideo_creativeevent_creativecontent_strategycontent_topicsocial_contentkol_strategykol_selectionkol_briefkol_performancemedia_planplacement_monitoringperformance_datadata_analysiscampaign_reviewoptimizationbest_practicemethodologyglossaryother让每个文档、每个 chunk 都具备可检索、可筛选、可引用的元数据。
必须尽量补全以下字段:
doc_idfile_namefile_pathfile_sizeproject_name_candidate_from_filenameproject_name_candidate_from_folderresolved_project_nameproject_name_confidenceneeds_reviewproject_nameclient_namebrand_nameindustryproject_yeardoc_type入库判断入库原因每个 chunk 至少应包含:
chunk_idchunk_indexchunk_titlesection_titlechunk_typechunk_summarychunk_textwhy_this_chunksource_pagetagsbrand_tonetarget_kpicore_messagebudgettimelinecleaning_statschunk_title 要像知识标题,不要只是原文第一句chunk_summary 控制在约 30 字内why_this_chunk 要说明它为什么值得独立入库tags 要可检索,不要只写空泛大词至少输出以下文件:
knowledge_base.jsonlchunksingest_report.mdtext<root>/ ├── 0-raw/ ├── 1-structured/ │ ├── knowledge_base.jsonl │ └── ingest_report.md └── references/
json{ "doc_id": "uuid-xxx", "file_name": "项目A_终稿.pptx", "file_path": "F:\\知识库-比稿\\0-比稿\\项目A\\终稿.pptx", "file_size": 2048000, "project_name_candidate_from_filename": "项目A", "project_name_candidate_from_folder": "项目A", "resolved_project_name": "项目A", "project_name_confidence": 0.94, "needs_review": false, "project_name": "项目A", "client_name": "华为", "brand_name": "华为手机", "industry": "3C电子", "project_year": 2024, "doc_type": "proposal", "入库判断": "yes", "入库原因": "终稿,内容完整", "chunks": [ { "chunk_id": "chunk-uuid-001", "chunk_index": 0, "chunk_title": "项目背景与目标", "section_title": "第一章 项目概述", "chunk_type": "project_brief", "chunk_summary": "项目旨在打造年轻化品牌形象", "chunk_text": "清洗后的纯净文本内容...", "why_this_chunk": "提供项目基础信息,帮助理解后续策略", "source_page": 1, "tags": ["项目背景", "目标用户", "核心挑战"], "brand_tone": "科技感、年轻化", "target_kpi": "曝光量1亿+", "core_message": "华为nova系列定位年轻人群", "budget": "500万", "timeline": "2024.Q1-Q2", "cleaning_stats": { "original_len": 500, "cleaned_len": 450, "retention_ratio": 0.9 } } ] }
在交付结果前,逐项检查:
knowledge_base.jsonlingest_report.mdneeds_review = true 的文件当用户要求实际执行任务时,优先给出:
避免输出空泛方法论,重点给可落地结果。
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 10,036 | 5,306 | -47% | 1 | 1 | 0% | 1,718 | 4,514 | +163% | 0 | 0 | — |
case-01 | fail→pass | 28,848 | 23,968 | -17% | 1 | 1 | 0% | 6,237 | 8,127 | +30% | 0 | 0 | — |
case-02 | fail→fail | 27,755 | 3,747 | -86% | 1 | 1 | 0% | 6,238 | 4,121 | -34% | 0 | 0 | — |
case-03 | fail→fail | 23,308 | 3,561 | -85% | 1 | 1 | 0% | 4,737 | 3,996 | -16% | 0 | 0 | — |
case-05 | pass→pass | 10,019 | 4,681 | -53% | 1 | 1 | 0% | 1,780 | 4,284 | +141% | 0 | 0 | — |
case-06 | pass→pass | 12,480 | 9,887 | -21% | 1 | 1 | 0% | 2,384 | 5,352 | +124% | 0 | 0 | — |
case-07 | fail→pass | 12,221 | 10,356 | -15% | 1 | 1 | 0% | 2,058 | 5,035 | +145% | 0 | 0 | — |
case-08 | pass→pass | 8,932 | 4,619 | -48% | 1 | 1 | 0% | 1,551 | 4,172 | +169% | 0 | 0 | — |
case-09 | pass→pass | 10,183 | 7,135 | -30% | 1 | 1 | 0% | 1,776 | 4,626 | +160% | 0 | 0 | — |
case-10 | pass→pass | 12,675 | 8,375 | -34% | 1 | 1 | 0% | 2,126 | 4,766 | +124% | 0 | 0 | — |
case-11 | pass→pass | 13,672 | 10,624 | -22% | 1 | 1 | 0% | 2,568 | 5,317 | +107% | 0 | 0 | — |
case-12 | pass→pass | 11,041 | 11,012 | -0% | 1 | 1 | 0% | 1,865 | 5,270 | +183% | 0 | 0 | — |
case-13 | pass→pass | 9,512 | 3,281 | -66% | 1 | 1 | 0% | 1,566 | 3,929 | +151% | 0 | 0 | — |
case-14 | fail→pass | 10,998 | 7,099 | -35% | 1 | 1 | 0% | 1,903 | 4,641 | +144% | 0 | 0 | — |
case-15 | fail→pass | 3,566 | 2,641 | -26% | 1 | 1 | 0% | 588 | 3,834 | +552% | 0 | 0 | — |
case-16 | fail→pass | 12,585 | 11,106 | -12% | 1 | 1 | 0% | 2,366 | 5,645 | +139% | 0 | 0 | — |
case-17 | fail→pass | 12,165 | 7,858 | -35% | 1 | 1 | 0% | 2,429 | 4,996 | +106% | 0 | 0 | — |
case-18 | pass→pass | 6,241 | 5,040 | -19% | 1 | 1 | 0% | 1,216 | 4,306 | +254% | 0 | 0 | — |
case-19 | fail→pass | 7,352 | 2,495 | -66% | 1 | 1 | 0% | 1,380 | 3,854 | +179% | 0 | 0 | — |
case-20 | fail→fail | 18,094 | 9,732 | -46% | 1 | 1 | 0% | 3,907 | 5,261 | +35% | 0 | 0 | — |
case-21 | pass→pass | 12,339 | 4,644 | -62% | 1 | 1 | 0% | 1,684 | 4,247 | +152% | 0 | 0 | — |
case-22 | fail→fail | 21,350 | 17,425 | -18% | 1 | 1 | 0% | 3,940 | 6,831 | +73% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.