bp-svelte
Svelte 5 / SvelteKit / TypeScript ベストプラクティス(moka-web 向け)。Runes ベースのコンポーネント設計、SvelteKit データフロー、型安全性の規約。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Svelte 5 / SvelteKit / TypeScript ベストプラクティス(moka-web 向け)。Runes ベースのコンポーネント設計、SvelteKit データフロー、型安全性の規約。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Rust ベストプラクティス(Plecto WASM フィルタ向け、Edition 2024)。plecto:filter WIT コントラクトを実装する WASM Component Model フィルタの規約とツールチェーン。
Grilling session that challenges your plan against moka-1's documented design decisions (tenets, ADRs) and domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when the user wants to stress-test a plan against the project's language and documented decisions, or says 「設計を詰めて」「用語を固めて」「ドキュメントと突き合わせて」.
クリーンアーキテクチャの依存ルールを moka-1 のミニマリズム制約下で適用する指針。レイヤ分割・interface 設計・依存方向の判断基準と、過剰抽象化を避けるガードレールを提供する。
Web調査の方法論。一次ソース(RFC・公式仕様・公式ドキュメント・原論文・ソースコード)を最優先し、検索クエリの多角化・横断的検証(lateral reading)・独立ソースでの三角測量を経て、出典付きで報告する手順。
moka-1 スタックの Docker Compose 操作と compose.yaml の書き方。ワンキック起動・開発ループ・ヘルスチェック・開発機(iGPU/Vulkan)固有設定・トラブルシュート。
Go ベストプラクティス(moka-core 向け、Go 1.26+)。常駐エージェントループ・LLM クライアント・フィード取得を含む moka-core の実装規約。
| name | bp-svelte |
| description | Svelte 5 / SvelteKit / TypeScript ベストプラクティス(moka-web 向け)。Runes ベースのコンポーネント設計、SvelteKit データフロー、型安全性の規約。 |
$state / $derived / $effect。レガシー $: リアクティブ宣言・export let は禁止$props() + 型:
<script lang="ts">
import type { Snippet } from 'svelte';
let { article, onRead, children }: {
article: Article; onRead?: (id: string) => void; children?: Snippet;
} = $props();
</script>
$derived / $derived.by、副作用だけ $effect。$effect 内で状態を組み立て始めたら $derived.by に書き直す$effect は cleanup を返す: EventSource / IntersectionObserver / タイマーは return で解放。DOM 要素に紐づくものは {@attach ...}(attachments、use: アクションの後継)を優先$state.raw: 記事リスト・検索結果は要素単位の deep reactivity が不要。proxy コストを避け、更新は再代入で。シリアライズは $state.snapshot(){#snippet row(item)} + {@render row(x)}。slot は非推奨$app/state を使う($app/stores は非推奨): page.url 等は $app/state から+page.server.ts の load で moka-core から取得。コンポーネント内 fetch で初期データを組むと waterfall になるuse:enhance(既読化・フィード購読・Q&A 送信)。JS 無効でも動く progressive enhancement を既定にkit.experimental.remoteFunctions + compilerOptions.experimental.async)が要る段階。再検討トリガー: 実験フラグが外れて安定化したら、クライアント起点の再取得(ハイライト再生成ボタン等)を query/command に置き換える価値を評価+page.server.ts / +server.ts 経由。ブラウザ→moka-core 直行のパスを作る場合は plecto/manifest.toml のルーティングと必ず整合させる+server.ts から text/event-stream。WebSocket は入れない(ミニマリズム){#await} で受ける。ページ骨格を先に出すimport typelib/api/schemas.ts に集約)で parse してから使う。as キャスト・! 非 null アサーション禁止enrichment_status のような状態は tagged union にし、switch の default で satisfies neversatisfies でリテラル推論保持: ルート表・設定オブジェクトは satisfies Record<...> で検査しつつ推論を殺さないvalue is T の predicate を書く。Zod があるので手書きガードは境界の外側だけlib/ へ抽出してからテスト</think> が漏れて表示されたらそれは moka-core 側のバグ(internal/llm の一元除去に違反)— UI 側で握りつぶさず報告するdocs/tenets/moka-tenets.md — 本スキルの「tenets §N」参照はこの文書の節番号