Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 0.1.8 — 2026-10-01

Unfreeze terbatas 0.1.8. Katalog tetap 65.
RETIRE allowlist name: img2threejs (ilmu Three.js pindah, nama skill dihapus).
ADD model-invoked: business-motion-film (dari echris6/motion-video-kit, MIT, pin commit yang kamu verifikasi di vendor/sources.json + provenance + license-audit + THIRD_PARTY_NOTICES).
ADD model-invoked gateway: ninerouter (first-party stub, bukan salinan 9 file upstream).
RETIRE kedua: prompt-optimizer (tumpang tindih research + humanizer).
Hasil: 50 model + 15 manual = 65. Tidak ada padding.

- Intent `img3d` diganti dua intent tertutup: `launch_film` dan `gateway_llm` (total intent tertutup: 24).
- `business-motion-film`: Iklan, launch film, explainer bisnis, sample reel, dan pitch video. Render tetap lewat `hyperframes`. Pola Three.js product-hero pindah ke referensi `business-motion-film`, bukan skill sendiri. Brag 18s tetap `skills/hyperframes/references/brag.md`. Narasi Indonesia tetap `id-demo-video`.
- `ninerouter`: First-party stub untuk gateway 9Router user via `NINEROUTER_URL` (default `http://127.0.0.1:20128`) dan `NINEROUTER_KEY`. Fail-closed jika URL mengandung `0.0.0.0`. Bukan core MCP; absen gateway menghasilkan `NOT_CONFIGURED`, bukan kegagalan doctor. Capability on-demand, tidak divendor.
- Pensiun `img2threejs` dan `prompt-optimizer`: dihapus dari allowlist, policy, routing, AGENTS.md, docs, dan warehouse inventory. Kritik prompt ditangani `humanizer` (prosa), `research` / Context7 (fakta), `writing-for-agents` (struktur agent), dan `eval-harness` (benchmark pass@k).
- Katalog kembali dibekukan pada 65 (50 model + 15 manual). Versi produk 0.1.8.

## 0.1.7 — 2026-09-28

Unfreeze exception (human-written): catalog grows **62 → 65** to add modern specialists `json-render`, `deck-design`, and `pageindex`. **No twin retired.** No silent padding. UI doctrines remain MERGE’d into `impeccable` / `emil-design-eng`. `react-doctor` stays OPTIONAL_TOOL (not a 4th skill). Closed intent set grows by three: `generative_ui`, `slides_pptx`, `longdoc_nav`.
Expand Down
29 changes: 24 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ OpenCode 2 overlay: 65 frozen routed skills, thin `AGENTS.md`, `opencode-he`.

Installer and runtime overlay for [OpenCode 2](https://opencode.ai/v2/docs/).

Version **0.1.7**. The 65-skill catalog is strictly frozen.
Version **0.1.8**. The 65-skill catalog is strictly frozen.

## What it is

- 65 skills: 50 model-invoked, 15 manual slash commands (frozen; see [docs/CATALOG-FREEZE.md](docs/CATALOG-FREEZE.md))
- A thin `AGENTS.md` router (lazy, one primary specialist, 23 closed intents)
- A thin `AGENTS.md` router (lazy, one primary specialist, 24 closed intents)
- Core MCP: Codebase Memory, Context7, shadcn
- 12 Universal Design Banks (34,500+ items across Identity, Motion, Section, Atomic) with zero-token local search & Google Drive v2 bootstrap
- Design Bank path resolution via `~/.config/opencode/highend/config/design-bank.json`
- Explicit specialist handoff graph (`found-this-design` pin → `impeccable` → `playwright-qa` verify edge)
- Evidence-blocked done-gate (`FACT:` / `JUDGMENT:`) via verification rules + `/decision-log`
- UI polish checklists merged into `emil-design-eng` + practical a11y & React smell checklist in `impeccable` (`react-doctor` as on-demand `OPTIONAL_TOOL`)
- Generative UI from typed schemas via `json-render`, consulting slide factories via `deck-design`, vectorless tree-reasoning long-doc nav via `pageindex`
- Generative UI from typed schemas via `json-render`, consulting slide factories via `deck-design`, vectorless tree-reasoning long-doc nav via `pageindex`, commercial launch films via `business-motion-film`, gateway routing via `ninerouter`
- Core MCP pins: Codebase Memory **0.11.0** (tarball and inner-binary SHA-256) and `shadcn@4.21.0`
- Email design is an Impeccable reference, not a new skill (raw HTML uses tables; React Email / MJML may use framework components)
- Emil motion doctrines live under `emil-design-eng` references (not extra skills)
Expand Down Expand Up @@ -117,7 +117,8 @@ Default: repository evidence first. Then at most one specialist.
| Photoreal / media | `visual-studio` |
| Scroll-led storytelling | `scroll-craft` |
| Scroll-driven 3D / camera world | `scroll-world` |
| Procedural Three.js object from image | `img2threejs` |
| Commercial launch films & business explainers | `business-motion-film` (render via `hyperframes`; absorbs Three.js product-hero patterns) |
| 9Router gateway (inference/image/video/TTS/STT/web) | `ninerouter` |
| Deterministic HTML composition video | `hyperframes` (18s brag card via `references/brag.md`) |
| Demo video aplikasi & narasi ID | `id-demo-video` (`/demo-video`) |
| Browser | `playwright-qa` (isolated verification edge; evidence ledger) → `browser-act` → `chrome-devtools-axi` → `click-path-audit` |
Expand All @@ -132,7 +133,7 @@ Default: repository evidence first. Then at most one specialist.
| TS Oxlint install | `install-anti-slop` (explicit only) |
| Architecture bake-off | `/architect` (manual) |

Warehouse: `api-design`, `contract-first`, `automation-audit-ops`, `code-tour`, `click-path-audit` (plus Wave 2 diagnostics). Wave 0.1.7 additions: `json-render` (generative UI from typed catalogs), `deck-design` (consulting-grade PPTX & 16:9 HTML slide decks), `pageindex` (vectorless tree-reasoning long document navigation).
Warehouse: `api-design`, `contract-first`, `automation-audit-ops`, `code-tour`, `click-path-audit` (plus Wave 2 diagnostics). Wave 0.1.7 additions: `json-render` (generative UI from typed catalogs), `deck-design` (consulting-grade PPTX & 16:9 HTML slide decks), `pageindex` (vectorless tree-reasoning long document navigation). Wave 0.1.8 additions: `business-motion-film` (commercial launch films; retires `img2threejs`), `ninerouter` (multi-provider gateway stub; retires `prompt-optimizer`).

Examples: interactive product story told by scroll → `scroll-craft`. Unbroken camera through a miniature factory → `scroll-world`. Clean security dashboard → `impeccable`. Video, image generation, and Design V2 stay optional.

Expand Down Expand Up @@ -192,6 +193,24 @@ NVIDIA SkillEvaluator is `FOREIGN_ON_DEMAND` in the same sense: a maintainer may

The installer merges only owned MCP keys. Provider, model, permissions, plugins, and foreign MCP stay yours.

### Provider configuration (User-owned)

OpenCode model providers belong to the user. The installer never overwrites your `provider` block. If you use a 9Router gateway instance (`skills/ninerouter`), configure your provider in `~/.config/opencode/opencode.jsonc` using environment variables only:

```jsonc
{
"provider": {
"9router": {
"type": "openai",
"baseUrl": "{env:NINEROUTER_URL}/v1",
"apiKey": "{env:NINEROUTER_KEY}"
}
}
}
```

Never hardcode secret keys or bind all interfaces.

## Design Bank (12 Universal Banks)

Design Bank media is **not** vendored in this repository. Redistribution of the media archive is not cleared as first-party content.
Expand Down
4 changes: 3 additions & 1 deletion THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ Machine-readable copy: `vendor/license-audit.json`.
| `diagram-design` | [cathrynlavery/diagram-design](https://github.com/cathrynlavery/diagram-design); skill `NOTICE.md` | MIT © 2024-2026 Cathryn Lavery contributors | follow MIT |
| Email design doctrine | Merged from [CosmoBlk/email-design](https://github.com/CosmoBlk/email-design) (MIT © 2026 CosmoBlk), [jayesh-bansal/email-pro-max](https://github.com/jayesh-bansal/email-pro-max) (MIT © 2026 Jayesh Bansal), [chunkydotdev/email-skills](https://github.com/chunkydotdev/email-skills) (MIT © 2026 chunkydotdev), and [Olshansk/agent-skills](https://github.com/Olshansk/agent-skills) (MIT © 2026 Olshansk) into `skills/impeccable/reference/email.md` | MIT | follow MIT |
| Emil Kowalski motion doctrines | Merged from [emilkowalski/skills](https://github.com/emilkowalski/skills) (`85e8e2363b71`) into `skills/emil-design-eng/references/` (`motion.md`, `apple-principles.md`, `native-motion.md`, `interface-feel.md`). Text: `vendor/licenses/EMILKOWALSKI-MIT.txt` | MIT © 2026 Emil Kowalski | follow MIT |
| Warehouse Batch 2a (`agent-architecture-audit`, `cost-aware-llm-pipeline`, `eval-harness`, `prompt-optimizer`, `skill-stocktake`) | Adapted from [affaan-m/ECC](https://github.com/affaan-m/ECC); respective skill `NOTICE.md` files | MIT © 2024-2026 affaan-m and ECC contributors | follow MIT |
| Warehouse Batch 2a (`agent-architecture-audit`, `cost-aware-llm-pipeline`, `eval-harness`, `skill-stocktake`) | Adapted from [affaan-m/ECC](https://github.com/affaan-m/ECC); respective skill `NOTICE.md` files (prompt-optimizer retired in 0.1.8) | MIT © 2024-2026 affaan-m and ECC contributors | follow MIT |
| `business-motion-film` | [echris6/motion-video-kit](https://github.com/echris6/motion-video-kit) `255562b` — `vendor/licenses/ECHRIS6-MOTION-VIDEO-KIT-MIT.txt`; skill `NOTICE.md` | MIT © 2026 echris6 | follow MIT |
| `ninerouter` | [decolua/9router](https://github.com/decolua/9router) `f01fb90`; skill `NOTICE.md`. First-party gateway stub; skills on-demand. | MIT © 2026 decolua | follow MIT |
| Warehouse Batch 3a (`api-design`, `automation-audit-ops`, `click-path-audit`, `code-tour`, `contract-first`) | Adapted from [affaan-m/ECC](https://github.com/affaan-m/ECC); respective skill `NOTICE.md` files | MIT © 2024-2026 affaan-m and ECC contributors | follow MIT |
| Design bank media | User-provided public bootstrap artifact or existing local bank | **not cleared** | not in git; normal install does not download it |
| Codebase Memory, serena, browser-act CLI, semgrep, gitleaks, osv-scanner | `vendor/sources.json` | upstream | follow upstream |
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.7
0.1.8
7 changes: 4 additions & 3 deletions docs/CATALOG-FREEZE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@

This contract defines the immutable boundary and governance for the OpenCodeHighEnd catalog. The 65-skill catalog is strictly frozen.

- **Product version**: 0.1.7
- **Product version**: 0.1.8
- **Catalog**: 65 names. 50 model-invoked under `skills/`. 15 manual under `manual-skills/` + `commands/`.
- **Wave 0.1.7 unfreeze exception** (CHANGELOG 0.1.7): catalog grew 62 → 65 to add `json-render`, `deck-design`, `pageindex`. No twin retired. UI doctrines remain MERGE’d. `react-doctor` stays OPTIONAL_TOOL.
- **Wave 0.1.8 limited unfreeze exception** (CHANGELOG 0.1.8): catalog stays 65 (50 model + 15 manual). Retired names: `img2threejs` (Three.js product-hero patterns moved to `business-motion-film` references), `prompt-optimizer` (overlaps `research` + `humanizer`). Added model-invoked: `business-motion-film` (from `echris6/motion-video-kit`, MIT), `ninerouter` (first-party gateway stub). Intent `img3d` replaced by `launch_film | gateway_llm`. This exception is spent.
- **Wave 0.1.7 unfreeze exception** (CHANGELOG 0.1.7): catalog grew 62 → 65 to add `json-render`, `deck-design`, `pageindex`. No twin retired. (Spent).
- **Retired in prior waves and not to be revived**: `ask-matt`, `grilling`, `wait-what`, `matt-implement`.
- **Kept on purpose**: `wizard` (target-app bash wizard), `codebase-design` (new module), `/improve-codebase-architecture` (scan + HTML report).
- **Name collision remains**: `install-anti-slop` = Oxlint; UI/copy filter lives in `impeccable` taste-gate + `humanizer`; `/unslop` = `humanizer`.
- **FOREIGN_ON_DEMAND stays out of the overlay**: `ECC`, `noodle`, `serena`, `stitch`, `reticle`, `ui-skills` MCP, `markitdown` MCP, `crawl4ai` MCP, `exa`, `Caliper`, `SkillEvaluator`, PageIndex Cloud MCP. `doctor` must not fail when they are absent.
- **FOREIGN_ON_DEMAND stays out of the overlay**: `ECC`, `noodle`, `serena`, `stitch`, `reticle`, `ui-skills` MCP, `markitdown` MCP, `crawl4ai` MCP, `exa`, `Caliper`, `SkillEvaluator`, PageIndex Cloud MCP, `9router` capability skills. `doctor` must not fail when they are absent.
- **No new allowlist name without retiring one existing name in the same change**, except a human-written CHANGELOG exception (the 0.1.7 growth is that exception; it is spent).
- **No padding back to 64.**
- **No `/how`, `/poteto-mode`, `/antislop`, `taste-skill`, `axi-core`, `human-atlas`, `awesome-design-md` vendor.**
Expand Down
1 change: 1 addition & 0 deletions docs/mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,4 @@ Doctor reports `CONFIGURED` for owned MCP entries present in config. That is not
- **TypeSafe MCP (`itsmostafa/typesafe-mcp`)** — Evaluated and **REJECTED** as an extra core MCP. Core MCPs remain strictly `codebase-memory-mcp`, `context7`, and `shadcn`.
- **Graphiti (`getzep/graphiti`) & Cognee (`topoteretes/cognee`)** — Evaluated and **REJECTED** as external memory MCP servers. Complex graph databases and temporal entity graph memory requiring separate backends/services are out of scope. Codebase indexing and symbol memory is strictly owned by `codebase-memory-mcp` (v0.11.0). Core MCPs remain strictly `codebase-memory-mcp`, `context7`, and `shadcn`.
- **PageIndex Cloud MCP (`VectifyAI/PageIndex`)** — Skill `pageindex` is a first-party wrapper for tree/reasoning long-doc navigation. The Cloud/hosted MCP is **REJECTED** as an extra core MCP. Do not register it. Missing local SDK is `NOT_CONFIGURED` on the skill, not a doctor failure.
- **9Router Gateway (`decolua/9router`)** — 9Router is a `FOREIGN_ON_DEMAND` gateway, NOT a core MCP server. Core MCP servers remain strictly `codebase-memory-mcp` (0.11.0), `context7`, and `shadcn` (@4.21.0). First-party gateway stub lives in `skills/ninerouter/SKILL.md` connecting via `{env:NINEROUTER_URL}` (default `http://127.0.0.1:20128`). Upstream capability skills are fetched on demand and not vendored. Absence of a running gateway reports `NOT_CONFIGURED` on the skill, never an installer or `doctor` failure. Never bind to `0.0.0.0`.
Loading
Loading