Files
open-design/plugins/_official/examples/weekly-update/open-design.json
T
lefarcenandGitHub f6cceb303d fix(plugins): unwrap cosmetic hard wraps in bundled manifest descriptions (#4406)
Picking a Home example-prompt card (or "Replicate this content" in the
plugin detail modal) seeds the composer with the plugin manifest's
`description`. Many descriptions were authored with cosmetic hard wraps
(a single newline mid-paragraph, ~75 cols, as if formatted for a
terminal/markdown source). The composer renders the seed with
`white-space: pre-wrap`, so those newlines survived as short ragged
lines that never filled the editor width — leaving a large blank gutter
on the right of the input box (e.g. the Trading Analysis Dashboard
template: 4 hard breaks, ~200px / 29% of the editor blank).

Reflow the offending `description` / `description_i18n` strings in the
56 affected bundled manifests into flowing text (wrapped lines joined,
real blank-line paragraph breaks preserved; CJK joins carry no space).
Surgical string edits only — manifest formatting/key order untouched
(146 lines changed across 56 files). The full build spec still reaches
the agent as plugin context (SKILL.md + example.html); only the
human-facing seed copy changed.

Add an e2e guard (plugin-description-hardwrap.test.ts) that fails if any
bundled manifest description carries an intra-paragraph hard wrap, so
the cleanup can't silently regress when new examples are added.
2026-06-16 22:39:55 +08:00

125 lines
7.1 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "https://open-design.ai/schemas/plugin.v1.json",
"specVersion": "1.0.0",
"name": "example-weekly-update",
"title": "Weekly Update",
"title_i18n": {
"zh-CN": "周报更新",
"zh-TW": "週報更新",
"ja": "週次アップデート",
"ko": "주간 업데이트",
"de": "Wöchentliches Update",
"fr": "Mise à jour hebdomadaire",
"ru": "Еженедельный отчёт",
"es": "Actualización semanal",
"pt-BR": "Atualização semanal",
"it": "Aggiornamento settimanale",
"vi": "Cập nhật hàng tuần",
"pl": "Cotygodniowa aktualizacja",
"id": "Pembaruan Mingguan",
"nl": "Wekelijkse update",
"ar": "التحديث الأسبوعي",
"tr": "Haftalık Güncelleme",
"uk": "Тижневе оновлення",
"en": "Weekly Update"
},
"version": "0.1.0",
"description": "Single-file horizontal-swipe slide deck for a weekly team update — shipped, in flight, blocked, metrics, asks. 6–8 slides. Use when the brief mentions \"weekly update\", \"team update slides\", \"weekly status\", \"周报演示\".",
"description_i18n": {
"zh-CN": "单文件横向滑动幻灯片,用于团队周报展示——已完成、进行中、受阻、数据指标、需求。6-8 页幻灯片。适用于需要「周报」「团队汇报」「周报演示」等场景。",
"zh-TW": "單檔案橫向滑動簡報,用於團隊週報呈現——已完成、進行中、受阻、數據指標、需求。6-8 頁投影片。適用於需要「週報」「團隊匯報」「週報演示」等場景。",
"ja": "チーム週報用の単一ファイル横スワイプスライドデッキ。完了・進行中・ブロック・指標・依頼事項を含む6〜8枚のスライド。「週報」「チームアップデート」「週次ステータス」などの要件に対応。",
"ko": "팀 주간 보고를 위한 단일 파일 가로 스와이프 슬라이드 덱. 완료, 진행 중, 차단됨, 지표, 요청 사항 포함. 6~8장의 슬라이드. '주간 보고', '팀 업데이트', '주간 현황' 등의 요구사항에 사용.",
"de": "Einzeldatei-Folien mit horizontalem Wischen für wöchentliche Team-Updates – versandt, in Bearbeitung, blockiert, Metriken, Anfragen. 6–8 Folien. Für wöchentliche Status- und Team-Updates.",
"fr": "Présentation à défilement horizontal en un seul fichier pour la mise à jour hebdomadaire d'équipe – livré, en cours, bloqué, métriques, demandes. 6 à 8 diapositives. Pour les rapports hebdomadaires et mises à jour d'équipe.",
"ru": "Презентация с горизонтальной прокруткой в одном файле для еженедельного отчёта команды – отгружено, в работе, заблокировано, метрики, запросы. 6–8 слайдов. Для еженедельных статусов и обновлений.",
"es": "Presentación de archivo único con deslizamiento horizontal para actualizaciones semanales del equipo: enviado, en progreso, bloqueado, métricas, solicitudes. 6–8 diapositivas. Para informes y actualizaciones semanales.",
"pt-BR": "Apresentação de arquivo único com deslize horizontal para atualização semanal da equipe – concluído, em andamento, bloqueado, métricas, solicitações. 6–8 slides. Para relatórios e atualizações semanais.",
"it": "Presentazione a scorrimento orizzontale in file singolo per aggiornamenti settimanali del team – consegnato, in corso, bloccato, metriche, richieste. 6–8 slide. Per report e aggiornamenti settimanali.",
"vi": "Bộ slide vuốt ngang trong một file duy nhất cho báo cáo tuần của nhóm – đã giao, đang thực hiện, bị chặn, chỉ số, yêu cầu. 6–8 slide. Dùng cho báo cáo và cập nhật hàng tuần.",
"pl": "Prezentacja w jednym pliku z przewijaniem poziomym do cotygodniowych aktualizacji zespołu – dostarczone, w toku, zablokowane, metryki, prośby. 6–8 slajdów. Do raportów i aktualizacji tygodniowych.",
"id": "Slide deck geser horizontal dalam satu file untuk pembaruan tim mingguan – dikirim, dalam proses, terhambat, metrik, permintaan. 6–8 slide. Untuk laporan dan pembaruan status mingguan.",
"nl": "Enkele-bestand horizontaal-swipe presentatie voor wekelijkse teamupdate – verzonden, in uitvoering, geblokkeerd, metrics, verzoeken. 6–8 dia's. Voor wekelijkse status- en teamupdates.",
"ar": "عرض تقديمي أفقي بملف واحد للتحديث الأسبوعي للفريق – تم الشحن، قيد التنفيذ، محظور، المقاييس، الطلبات. 6-8 شرائح. للتقارير والتحديثات الأسبوعية.",
"tr": "Takım haftalık güncellemesi için tek dosyalı yatay kaydırmalı slayt destesi – teslim edilen, devam eden, engellenen, metrikler, talepler. 6–8 slayt. Haftalık durum ve güncelleme raporları için.",
"uk": "Презентація з горизонтальним гортанням в одному файлі для тижневого звіту команди – відвантажено, в роботі, заблоковано, метрики, запити. 6–8 слайдів. Для тижневих статусів та оновлень.",
"en": "Single-file horizontal-swipe slide deck for a weekly team update — shipped, in flight, blocked, metrics, asks. 6–8 slides. Use when the brief mentions \"weekly update\", \"team update slides\", \"weekly status\", \"周报演示\"."
},
"license": "MIT",
"author": {
"name": "Open Design",
"url": "https://github.com/nexu-io"
},
"homepage": "https://github.com/nexu-io/open-design/tree/main/plugins/_official/examples/weekly-update",
"tags": [
"example",
"first-party",
"deck",
"operations",
"web",
"weekly-update",
"team-update-slides",
"weekly-status",
"weekly-review",
"untitled"
],
"compat": {
"agentSkills": [
{
"path": "./SKILL.md"
}
]
},
"od": {
"kind": "scenario",
"taskKind": "new-generation",
"mode": "deck",
"scenario": "operations",
"surface": "web",
"preview": {
"type": "html",
"entry": "./example.html"
},
"useCase": {
"query": {
"en": "Make a weekly update deck for the Growth squad — what shipped, in flight, blocked, metrics, asks for next week.",
"zh-CN": "使用这个插件完成以下任务:Make a weekly update deck for the Growth squad — what shipped, in flight, blocked, metrics, asks for next week."
},
"exampleOutputs": [
{
"path": "./example.html",
"title": "Weekly Update"
}
]
},
"context": {
"skills": [
{
"path": "./SKILL.md"
}
],
"designSystem": {
"primary": true
},
"assets": [
"./example.html"
]
},
"pipeline": {
"stages": [
{
"id": "generate",
"atoms": [
"file-write",
"live-artifact"
]
}
]
},
"capabilities": [
"prompt:inject",
"fs:write"
]
}
}