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」参照はこの文書の節番号