← 返回 Skills 市场
nijam727

sai creator ai

作者 Nijam · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
26
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install sai-creator
功能描述
SAI — frontend builder untuk pipeline intel OJS/PKP. Render candidate yang sudah PASS dari SENKU menjadi tiga deliverable. Pertama, halaman artikel HTML sema...
使用说明 (SKILL.md)

SAI — Frontend Builder

Render candidate intel OJS/PKP yang sudah lolos QA SENKU menjadi tiga artefak siap publish: halaman artikel HTML, carousel 7-slide, caption sosial opsional. Tidak menulis konten dari nol — hanya transform brief tervalidasi menjadi output visual + markup yang konsisten dengan standar editorial.

Input Contract

SAI menerima brief_for_next dari SENKU (saat verdict PASS dari CONAN). Format:

TITLE: \x3Ctitle>
AUDIENCE: \x3Ceditor|reviewer|author|publisher|developer|admin, joined>
TAGS: \x3Crelevance_tags joined>
KEY_POINTS:
  - \x3Cpoint 1>
  - \x3Cpoint 2>
  - \x3Cpoint 3..7>
PRIMARY_SOURCE: \x3Curl>
SECONDARY_SOURCES:
  - \x3Curl>
TONE_CONSTRAINT: factual, no promotional adjectives, ≤15-word quotes max 1 per source
LENGTH_TARGET: 400-700 kata

Plus candidate_json lengkap (untuk traceability + halusinasi guard di SENKU re-validation).

Jika brief tidak lengkap atau tidak ada candidate_json referensi → STOP, kembalikan ke SENKU dengan flag brief_incomplete. Jangan tulis konten yang tidak ada di brief.

Workflow Decision Tree

brief_for_next received
        │
        ▼
1. Parse brief + candidate_json
        │
        ▼
2. Generate artikel HTML (assets/article-template.html → render)
        │
        ▼
3. Generate carousel 1080x1080 (assets/carousel-1080.svg.tpl)
        │
        ▼
4. Generate carousel 1200x675 (assets/carousel-1200x675.svg.tpl)
        │
        ▼
5. (Optional) Generate captions (assets/caption-templates.json)
        │
        ▼
6. Validate output (scripts/validate_output.py)
        │  ├─ HTML \x3C100KB inline CSS
        │  ├─ Alt text ada di semua \x3Cimg>
        │  ├─ Kontras WCAG AA ≥4.5:1
        │  ├─ schema.org/Article valid
        │  └─ CTA URL = https://openjournaltheme.com/
        ▼
7. Emit handoff JSON ke SENKU

Deliverable 1: Artikel HTML

Template: assets/article-template.html. Detail lengkap struktur, meta tags wajib, schema.org/Article shape: references/article-template-spec.md.

Wajib ada di output:

  • \x3Cmeta charset>, \x3Cmeta name="viewport">, \x3Cmeta name="description">
  • Open Graph tags: og:title, og:description, og:type=article, og:image, og:url
  • Twitter Card: twitter:card=summary_large_image
  • JSON-LD schema.org/Article dengan headline, datePublished, author, publisher, mainEntityOfPage
  • \x3Carticle> semantic dengan \x3Cheader>, \x3Csection>, \x3Cfooter>
  • Source attribution block: \x3Caside class="sources"> dengan link PRIMARY_SOURCE + SECONDARY_SOURCES
  • Lazy-load: \x3Cimg loading="lazy" decoding="async">

Tone: factual. Hapus adjektif promosi. Verbatim quotes \x3C15 kata, max 1 per sumber, dalam \x3Cblockquote cite="...">.

Deliverable 2: Carousel 7-Slide

Struktur fix (tidak boleh diubah):

Slide Konten Sumber data
1 Hook headline + visual anchor TITLE + visual abstract
2 Konteks: apa & kapan published_at + 1-2 kalimat ringkas
3 Key point #1 KEY_POINTS[0]
4 Key point #2 KEY_POINTS[1]
5 Key point #3 KEY_POINTS[2]
6 Implikasi praktis untuk pengelola jurnal Disimpulkan dari audience_fit + actionable framing
7 CTA ke https://openjournaltheme.com/ Varian copy dari references/cta-variants.md

Dimensi:

  • 1080×1080 (Instagram, Facebook square) → assets/carousel-1080.svg.tpl
  • 1200×675 (LinkedIn, X/Twitter) → assets/carousel-1200x675.svg.tpl

Render via scripts/render_carousel.py \x3Cbrief.json> \x3Cdimension> \x3Coutput.svg>.

Detail tipografi, palette, hierarchy: references/carousel-spec.md.

Deliverable 3: Caption Sosial (opsional)

Template: assets/caption-templates.json. Tiga varian: LinkedIn (formal, 1300-1700 char), X/Twitter (≤280 char dengan thread split), Instagram (engaging, 125-2200 char dengan line breaks + hashtag block di akhir).

Generate hanya jika user/SENKU explicit request dengan flag include_captions: true.

Standar Teknis (NON-NEGOTIABLE)

Aspek Konstrain
Stack HTML5 + Tailwind CDN atau plain CSS. Tidak ada React, Vue, Svelte, jQuery.
Inline CSS budget \x3C100KB total
Images loading="lazy" decoding="async", format WebP/AVIF preferred
A11y WCAG AA: kontras ≥4.5:1 (text), ≥3:1 (UI components), focus ring visible
Alt text Wajib di semua \x3Cimg>, deskriptif (bukan "image" / "photo")
Carousel HTML/SVG only, no Canvas API runtime, no JS animation library
Font System font stack atau Google Fonts via \x3Clink rel="preconnect">
Color tokens Lihat references/carousel-spec.md palette

Submission ke SENKU

Setelah validate pass, emit handoff JSON:

{
  "article_id": "uuid candidate dari brief",
  "html_artifact_url": "path atau URL artefak HTML",
  "carousel_artifact_url": {
    "1080x1080": "path/url SVG square",
    "1200x675":  "path/url SVG landscape"
  },
  "captions": {
    "linkedin": "string|null",
    "x":        "string|null",
    "instagram": "string|null"
  },
  "cta_position": "slide-7",
  "cta_url": "https://openjournaltheme.com/",
  "cta_variant_used": "string (label dari cta-variants.md)",
  "validation_report": {
    "html_size_bytes": 0,
    "alt_text_coverage": 1.0,
    "contrast_min_ratio": 4.5,
    "schema_org_valid": true
  },
  "rendered_at": "ISO-8601 UTC"
}

SENKU akan re-validate untuk halusinasi (entitas/angka di output harus match candidate_json). Iterasi maks 3 sebelum auto-REJECT.

CTA Rotation

Slide 7 selalu point ke https://openjournaltheme.com/. Copy varian dirotasi dari references/cta-variants.md. Jangan pakai varian yang sama dalam 5 artikel berturut-turut (track via cta_variant_used di handoff log).

Forbidden Patterns

Auto-fail validation jika output mengandung:

  1. Adjektif promosi: "revolutionary", "groundbreaking", "must-have", "ultimate", "best-ever", "wajib", "luar biasa" (di body artikel — boleh di carousel hook hanya jika ada di brief).
  2. Klaim/angka/entitas yang tidak ada di candidate_json (halusinasi).
  3. CTA selain https://openjournaltheme.com/.
  4. Verbatim quote ≥15 kata atau >1 kutipan per sumber.
  5. \x3Cimg> tanpa alt text.
  6. Inline \x3Cscript> yang melakukan analytics/tracking pihak ketiga.
  7. External CDN selain: cdn.tailwindcss.com, fonts.googleapis.com, fonts.gstatic.com.

Resources

  • references/article-template-spec.md — Spec lengkap meta tags, OG, schema.org/Article, semantic HTML structure.
  • references/carousel-spec.md — Palette, tipografi, hierarchy, A11y carousel.
  • references/cta-variants.md — Daftar varian copy CTA slide 7.
  • assets/article-template.html — Boilerplate HTML5 siap-render.
  • assets/carousel-1080.svg.tpl — Template SVG 1080×1080 (placeholder {{TITLE}}, {{KEY_POINT_N}}, dll.).
  • assets/carousel-1200x675.svg.tpl — Template SVG 1200×675.
  • assets/caption-templates.json — Skeleton caption per platform.
  • scripts/render_carousel.py — Render template SVG dari brief JSON.
  • scripts/validate_output.py — Cek size, alt text, kontras, CTA, halusinasi.
  • scripts/package_skill.py — Inherited dari skill-creator untuk repackaging.
  • scripts/quick_validate.py — Inherited dari skill-creator untuk validasi struktur skill.

Best Practices

  1. Tidak menambah konten. Jika brief kurang detail untuk slide 6 (implikasi), kembalikan ke SENKU dengan REVISE request — jangan improvisasi.
  2. Validate sebelum submit. Selalu jalankan scripts/validate_output.py sebelum emit handoff.
  3. CTA rotation log. Catat cta_variant_used agar SENKU bisa enforce no-repeat-in-5.
  4. Schema.org wajib valid. Test dengan https://validator.schema.org/ jika ragu.
  5. Carousel adalah SVG, bukan PNG. Resolution-independent, kecil, accessible (text in \x3Ctext> tetap selectable).
  6. Source attribution di artikel HTML. \x3Caside> dengan link ke PRIMARY_SOURCE + SECONDARY_SOURCES — bukan footnote, bukan tersembunyi.
  7. Tidak ada inline analytics. Tracking dilakukan di luar artefak (di host page).
安全使用建议
Review generated HTML/SVG before publishing, especially if briefs come from external or web-derived sources. The skill does not look malicious, but it should add proper escaping/sanitization and the fixed openjournaltheme.com CTA should be acceptable for your use case.
功能分析
Type: OpenClaw Skill Name: sai-creator Version: 1.0.0 The skill bundle is a specialized frontend builder designed to transform journal article data into HTML pages and social media carousels. The Python scripts (render_carousel.py, validate_output.py) are functional utilities for template substitution and QA validation, showing no signs of malicious logic, data exfiltration, or unauthorized command execution. The instructions in SKILL.md and assets are strictly focused on maintaining editorial standards, accessibility (WCAG AA), and technical constraints for the OpenJournalTheme ecosystem.
能力标签
crypto
能力评估
Purpose & Capability
The frontend-builder purpose is coherent, but the carousel renderer inserts brief/candidate values into generated artifacts with raw string replacement and no visible context escaping, which is risky for publish-ready output.
Instruction Scope
The instructions are generally scoped to validated SENKU briefs and stop on incomplete input, but they also always add a fixed CTA to openjournaltheme.com, which users should expect in generated assets.
Install Mechanism
There is no install spec and no required binary declaration, but Python helper scripts are included and registry/package metadata is inconsistent; this is a provenance/package hygiene issue rather than evidence of malware.
Credentials
No credentials, environment variables, network APIs, or privileged system access are requested. Local file reads/writes for brief, candidate, and output artifacts are proportionate to the stated rendering workflow.
Persistence & Privilege
No background service, privilege escalation, credential/session use, or autonomous persistence is shown in the provided artifacts.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install sai-creator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /sai-creator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of the SAI frontend builder skill for OJS/PKP journal pipelines. - Renders validated article briefs into three deliverables: semantic HTML article, 7-slide carousel (two dimensions), and optional social captions. - Enforces strict content and accessibility standards, including WCAG AA, alt text requirements, and maximum CSS budget. - Emits a unified handoff JSON with validation metrics for each output. - Integrates CTA rotation, hallucination guard, and explicit input contract from SENKU. - Supports only HTML5 with Tailwind CDN or plain CSS, prioritizing fast, accessible, and SEO-ready output.
元数据
Slug sai-creator
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

sai creator ai 是什么?

SAI — frontend builder untuk pipeline intel OJS/PKP. Render candidate yang sudah PASS dari SENKU menjadi tiga deliverable. Pertama, halaman artikel HTML sema... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 26 次。

如何安装 sai creator ai?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install sai-creator」即可一键安装,无需额外配置。

sai creator ai 是免费的吗?

是的,sai creator ai 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

sai creator ai 支持哪些平台?

sai creator ai 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 sai creator ai?

由 Nijam(@nijam727)开发并维护,当前版本 v1.0.0。

💬 留言讨论