ccstate
Apply ccstate patterns for reactive values, commands, HTTP responses, and async or DOM ownership
ソース情報
- リポジトリ
- okou-ai/okou
- ソースの最終更新活動
- 2026年9月20日 11:48
- 検出された SKILL.md の言語
- 英語
- スター
- 1,154
- フォーク
- 71
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
ファイルエクスプローラー
6 ファイルSKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- ccstate
- description
- Apply ccstate patterns for reactive values, commands, HTTP responses, and async or DOM ownership
# ccstate
Read the reference matching the changed behavior; API work does not require the
React/DOM reference unless it also changes that surface.
| Task | Reference |
| ----------------------------------------------------------------- | ------------------------------------------- |
| `computed`, memoization, function-valued state, reactive fetches | [Reactive values](references/reactivity.md) |
| API client status handling and `accept` | [HTTP](references/http.md) |
| AbortSignal ownership, cancellation, debouncing, detached cleanup | [Lifecycle](references/lifecycle.md) |
| DOM callbacks, page signals, refs and ref cleanup | [React and DOM](references/react.md) |
| Shared command logic and signal factories | [Commands](references/commands.md) |
## Boundaries
- Keep derivation in `computed` and semantic actions in commands. Do not create
signals or mutate the store during React render.
- Every async operation needs an owner and cancellation path. Await finite work
or return its promise inside signals. Start background loops with `setLoop`
or `setAbly*Loop$`; those primitives own `detach(..., Reason.Daemon)` internally.
Use `waitLoopUntil` / `waitAbly*LoopUntil$` when subsequent work needs completion.
Non-periodic background work uses `detach(promise, reason, description)` with
the owner's signal, in `signals/` as well as in views. Do not silence work
with `void`.
- `resetSignal()` provides mutual exclusion. Add a parent when the work belongs
to a page/route lifetime; parentless use still needs an explicit owner that
cancels it. The lifecycle reference defines both valid patterns.
- Use `accept` with a non-empty status list for `apiClient$` calls. Preserve
structured HTTP errors and use the view's loadable state for lifecycle UI.
- Route setup owns `pageSignal$`. Preserve stable callback refs and `onRef`
cleanup returns.
See [effects](../../../docs/effect.md), [cache](../../../docs/cache.md), and
[Platform tests](../../../docs/testing/app-testing.md) for the relevant broader
contracts. For performance investigations, use
[React measurements](../../../docs/react-commit.md).
GitHubで見る