feat: 内置技能全量收录 presentation-forge (#83)

## 概述
将 PPT 工作流技能 **presentation-forge**(原 codex-ppt-skill)以 **builtin
内置技能**形态全量收录进 DesireCore 官方市场。

> 注:本 PR 最初以 entry.json pointer 形态提交,现按仓库负责人意见改为 builtin 层全量
vendoring。分支保留两个提交(pointer → builtin 转换)。

## 形态:builtin 全量 vendoring(遵循 guizang-ppt 先例)
- 全量内容进 `skills/presentation-forge/`:`SKILL.md` + `SKILL.zh-CN.md` +
`references/` + `scripts/` + `styles/`(9 套风格)+ `templates/` +
`schemas/`。
- builtin frontmatter:`version/type/risk_level/status/tags` +
`metadata.i18n`(zh-CN/en-US)+
`market.icon/category/maintainer`,`category: creative`。
- 列入 `builtin-skills.json`(33 项)。
- 附 `LICENSE`(MIT)+ `NOTICE.md` +
`_desirecore/{frontmatter.yaml,upstream.json}` 溯源。
- 溯源 commit:`mashagua/presentation-forge@b7b1a9c`(MIT)。
- 排除非运行内容:`tests/` 夹具、未被任何 vendored 文件引用的 1.3MB 流程图、Codex `agents/` 绑定。

## 变更
- 新增 `skills/presentation-forge/`(全量内容,约 440KB)
- `builtin-skills.json`:新增 `presentation-forge`(32 → 33)
- `manifest.json`:`stats.totalSkills` 60 → 61,`version` 1.2.26 →
1.2.27,`lastUpdated` → 2026-08-10
- `README.md`:built-in 32 → 33、external 29 → 28、total 61 不变,两处代码块同步

## 验证
```
uv run scripts/i18n/validate-i18n.py
OK: no i18n issues found.
```
stats 公式核对:entry.json 目录 28 + SKILL.md 目录 33 = 61 = manifest.totalSkills
✓

---------

Co-authored-by: Yige <a@wyr.me>
Co-authored-by: yige <yige@yigedeMacBook-Neo.local>
This commit is contained in:
mashagua
2026-08-23 23:31:26 +08:00
committed by GitHub
parent 5a0a80d31c
commit 98ffc8fe92
84 changed files with 11125 additions and 5 deletions

View File

@@ -0,0 +1,16 @@
[
{
"semantic_unit_id": "domain_icon_01",
"slide": 1,
"target_bbox_px": [140, 240, 120, 120],
"z_index": 20,
"placement_rule": "uniform contain scaling; no one-axis stretch"
},
{
"semantic_unit_id": "workflow_arrow_01",
"slide": 1,
"target_bbox_px": [420, 300, 180, 48],
"z_index": 15,
"placement_rule": "uniform contain scaling; no one-axis stretch"
}
]

View File

@@ -0,0 +1,24 @@
[
{
"semantic_unit_id": "domain_icon_01",
"source_type": "imagegen_asset",
"asset_path": "assets/domain_icon_01.png",
"semantic_unit_count": 1,
"generated_grid": "generated/domain_icons_grid.png",
"grid_cell": [0, 0],
"prompt_id": "domain_icons_grid_01",
"source_reference": "reference/page-01.png",
"placement_rule": "uniform contain scaling; no one-axis stretch"
},
{
"semantic_unit_id": "workflow_arrow_01",
"source_type": "imagegen_asset",
"asset_path": "assets/workflow_arrow_01.png",
"semantic_unit_count": 1,
"generated_grid": "generated/workflow_arrows_grid.png",
"grid_cell": [0, 1],
"prompt_id": "workflow_arrows_grid_01",
"source_reference": "reference/page-01.png",
"placement_rule": "uniform contain scaling; no one-axis stretch"
}
]

View File

@@ -0,0 +1,35 @@
# Conversion Report
- Source type:
- Output PPTX:
- Final deck type:
- Slide count:
- Reference images embedded in final PPTX: yes/no
- Full-slide media detected: yes/no
- Semantic asset count:
- Editable text object count:
- Native layout object count:
- Render preview path:
- Contact sheet path:
- Diff heatmap path:
## Decomposition Summary
- Text:
- Native layout:
- Generated assets:
- Provided assets:
- Retained bitmap exceptions:
## QA Notes
- Typography:
- Cropping or clipping:
- Asset edge cleanup:
- Known limitations:
## Handoff
- PPTX:
- Preview:
- Validation report:

View File

@@ -0,0 +1,20 @@
{
"slide_size_px": [1920, 1080],
"font_policy": {
"default_font_face": "Microsoft YaHei",
"text_box_extra_room_pct": 12
},
"image_fit": "uniform_contain_only",
"allowed_source_types": ["imagegen_asset", "api_generated_asset", "provided_asset"],
"forbidden_media": [
"full_slide_reference_image",
"near_full_slide_reference_image",
"svg_media",
"raw_crop_asset",
"prompt_only_asset"
],
"comparison": {
"diff_threshold": 18,
"changed_pixel_pct_target": 0.25
}
}

View File

@@ -0,0 +1 @@
{"slide":1,"prompt_id":"domain_icons_grid_01","output":"generated/domain_icons_grid_01.png","grid":{"rows":2,"cols":2},"objects":[{"semantic_unit_id":"domain_icon_01","description":"blue financial technology icon"},{"semantic_unit_id":"domain_icon_02","description":"blue shield icon"},{"semantic_unit_id":"workflow_arrow_01","description":"soft blue right arrow"},{"semantic_unit_id":"decorative_asset_01","description":"light blue UI decoration"}],"prompt":"Create an isolated asset grid for a PowerPoint visual replica. Use the full reference for style and supplied crops for object identity. Objects in order: domain_icon_01, domain_icon_02, workflow_arrow_01, decorative_asset_01. Grid: 2x2, generous margins, equal cells. Background: uniform chroma key #00ff00. Text: no readable text, no numbers, no labels, no watermark.","negative":"no card frames, no slide fragments, no fake logos, no QR codes, no crop borders, no surrounding context"}

View File

@@ -0,0 +1,56 @@
---
title: 企业 AI 知识库解决方案
style: consulting-blue-white
variant: clean-blue-white
ratio: 16:9
fontCN: 微软雅黑
visualAssetPolicy: native-image-assisted
---
# 企业 AI 知识库解决方案
> 让可信知识进入业务工作流
::layout{type="cover"}
---
# 企业知识面临的三类挑战
> 从知识分散、权限边界和答案可信度三个方面理解现状
::layout{type="content"}
## 知识分散
文档分布在多个系统,查找成本高。
## 权限复杂
新系统必须继承已有访问边界。
## 答案可信
回答需要展示来源并支持追溯。
---
# 四周 PoC 路径
::layout{type="timeline"}
## 第一周
确认场景、范围和知识材料。
## 第二周
完成文档接入和权限配置。
## 第三周
开展代表性问题验证和优化。
## 第四周
完成评估、复盘和下一步建议。

View File

@@ -0,0 +1,38 @@
{
"slide_size_px": [1920, 1080],
"final_deck_type": "semantic_editable_replica",
"source_image_policy": "reference only; do not embed the full source image in the final PPTX",
"items": [
{
"id": "title_main",
"class": "text",
"text": "Example slide title",
"bbox_px": [72, 56, 920, 72],
"ppt_role": "editable_text"
},
{
"id": "panel_main",
"class": "layout_native",
"bbox_px": [80, 180, 980, 620],
"ppt_role": "native_shape",
"z_index": 0
},
{
"id": "connector_01",
"class": "line_native",
"bbox_px": [300, 300, 260, 0],
"line": "5A93EA",
"line_width": 2,
"ppt_role": "native_connector",
"z_index": 5
},
{
"id": "domain_icon_01",
"class": "imagegen_asset",
"bbox_px": [140, 240, 120, 120],
"semantic_unit_count": 1,
"ppt_role": "independent_image",
"z_index": 10
}
]
}