E

extension-data-viewer

by @caffeinelabsv
4.5(120)

この Skill は、AI アプリケーション向けに管理者専用のページネーション付きデータビューアを提供し、バックエンドの安定した状態変数に対してクエリインターフェースを自動生成します。これにより、開発者はユーザー、注文、ログなどのデータを迅速に閲覧・デバッグでき、複雑なクエリコードを手動で記述することなく、問題診断と管理の効率を大幅に向上させます。

data-viewerdebuggingobservabilitybackend-dataadmin-toolGitHub
インストール方法
npx skills add https://github.com/caffeinelabs/skills --skill extension-data-viewer
compare_arrows

Before / After 効果比較

1 组
使用前

この Skill がない場合、開発者はバックエンドの各データ構造を検査するために、カスタムのクエリエンドポイントを手動で記述するか、複雑なデータベースツールに頼る必要がありました。これは時間がかかり、エラーが発生しやすく、開発と問題診断の進行を著しく遅らせていました。

使用後

この Skill は、バックエンドの安定した変数に対して安全でページネーションされたクエリインターフェースを自動生成します。開発者は管理者インターフェースを通じてデータを即座に閲覧・デバッグでき、データ管理プロセスを大幅に簡素化し、問題解決の効率を著しく向上させます。

SKILL.md

Data Viewer

Admin-only data inspection extension for Caffeine AI.

Overview

Every Caffeine app ships with the caffeineai-data-viewer mops package and the moc --generate-view-queries flag enabled. Together with include MixinViews() in the actor, the compiler auto-exposes a controller-only __<var> query for every stable variable of a supported type:

  • Map.Map<K, V> — (?K, ?Nat) -> [(K, V)]
  • Set.Set<K> — (?K, ?Nat) -> [K]
  • [V], [var V], List.List<V>, Stack.Stack<V>, Queue.Queue<V> — (?Nat, ?Nat) -> [V]

A null cursor starts at the beginning; a null count returns everything from the cursor. Each generated query traps on any non-controller caller — they exist for admin dashboards and debug viewers, not user-facing endpoints.

Backend

The package and include are already wired into the template. You don't need to add or edit anything for the viewer to work — declare a stable variable of a supported type and the __<var> query appears automatically.

import Map "mo:core/Map";
import Principal "mo:core/Principal";
import MixinViews "mo:caffeineai-data-viewer/MixinViews";

actor {
  include MixinViews();

  let users = Map.empty<Principal, Text>();

  // Generated automatically: __users : (ko : ?Principal, count : ?Nat) -> [(Principal, Text)] query
};

Lintoko rule include-mixin-views (shipped with the package) errors if the actor body is missing include MixinViews();. Keep the include — removing it disables every auto-generated viewer.

Rules

  • NEVER use the generated __<var> queries as a substitute for user-facing endpoints — they trap for any non-controller caller. Public list/feed/search methods still need to be written normally with public query func listX(...).
  • NEVER declare an actor member whose name starts with __ — it either collides with an auto-generated query or hits a reserved prefix.
  • Pure (immutable) collections (pure/Map, pure/Set, pure/List, pure/Queue) are not supported. The viewer is mutable-only by design; pure collection field access is a deprecated pattern in Caffeine projects anyway.

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数9.9K
評価4.5 / 5.0
バージョン
更新日2026年8月5日
比較事例1 件

ユーザー評価

4.5(120)
5
37%
4
43%
3
13%
2
5%
1
2%

この Skill を評価

0.0

対応プラットフォーム

🤖claude-code

タイムライン

作成2026年6月25日
最終更新2026年8月5日
🎁 Agent 知識カード
アンケート