mcpField
N
notis-spaces

notis-spaces

github.com/mindtheflo生産性041 回インストール今日更新
リポジトリ

notis-spaces について

notis-spaces は、ネイティブデータベースをビューで表示する Notis Spaces の作成、更新、検証、公開を支援するスキルです。適切な表示方法の選択と、権限や既存状態を保つ手順を示します。

主な機能

  1. 01Space の作成と更新のガイダンス
  2. 02ビュー選択と URL 状態の処理
  3. 03ビルド、検証、デプロイの手順
  4. 04アクセス権、リソース、版の保護

活用シーン

  1. 01レポート用のデータベースビュー作成
  2. 02既存スキーマを保った Space の更新
  3. 03複数の画面幅と言語でのビュー検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindtheflo/notis-skills --skill notis-spaces

インストール後、Claude Code で/notis-spacesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
architecture.md
context.md
design.md
memory.md
reading.md
release.md
reports.md
sdk.md
troubleshooting.md
views.md

詳細

Notis Spaces

Space は、ネイティブデータベースを表示するビューを備えた場所です。ビューは、Notis が提供する要素を使って構築された小さな React ファイルです。認証済みの Notis CLI を使用してください。ローカルでは npx --package @notis_ai/cli@latest -- notis を、クラウドコンピューターではプリインストール済みの notis コマンドを使います(notis が見つからない場合は、同じ npx 形式を使用してください)。ツールを見つけ、使用する前に現在のスキーマを確認してください。

回答を提示する場所を選ぶ

質問に答えるために必要な最小限の場所を選びます。単純な事実ならテキスト、次に既存のビュー、作業を管理する Space への追加、Notes のページ、新しい Space 1 つ、または複数の Space の順です。

  • 既存のビューを優先します。宣言済みの質問と設定を読み取り、正確な状態をリンクに含めます。日付を固定した回答では、ユーザーのタイムゾーンで正確な日付を指定します。更新されるダッシュボードでは相対日付を使用できます。
  • 既存のビューの使用、未共有の Space への追加、Notes への単発ページの保存については、その旨を1行で伝えます。共有 Space の変更、何かの削除、動作の変更、Space の作成には、ユーザーがすでに依頼している場合を除き、ユーザーの承認が必要です。
  • 構築できる内容は、あなたのインテリジェンスレベルによって異なります。Low はテキストと既存のリンクで回答し、不足しているものを伝えます。Medium は1つの Space 内で作業します。High は複数の Space にまたがって作業できます。自分のレベルを超える作業を別のエージェントやスレッドに決して引き継がないでください。必要なレベルで実行するオーケストレーターに返してください。より高いレベルでの実行は、ユーザーの承認を意味しません。
  • 似た依頼がないか、Notes とメモを検索します。2回目の類似依頼があった場合、またはメモから継続的な関心がわかる場合は最初の依頼時に、専用の Space を提案します。提案は1回にし、おおよその規模を語数で伝えます。断られたら、促されない限り再提案しません。承認されたら、以前のレポートをその Space にコピーし、元のレポートは残します。残りのクレジットを根拠に判断してはいけません。
  • 提出前に、Low のサブエージェントが保存済みのリンクをそのままレンダリングして確認します。サブエージェントを起動できない場合は、オーケストレーターに依頼してください。レンダリングに失敗した場合や一部しか表示されなかった場合は、検証済みとはみなしません。
  • 日付、設定、検証結果とともに、リンクを最初に返します。

ビューの日付と選択項目

新規または更新するビューには、必ず questions を記載します。カレンダーの期間には period パラメーターを、期限日には date パラメーターを使用し、ユーザーの IANA timezone を指定します。相対値は today、tomorrow、this_week、last_week、this_month、last_month です。日付には最初の2つを指定できます。正確な期間は YYYY-MM-DD/YYYY-MM-DD 形式です(両端を含みます)。週は月曜日に始まります。日付を固定した回答では正確な日付を指定し、更新されるダッシュボードでは相対値を使用できます。shows で {period.start} と {period.end} を比較します。表示する期間ラベルには、宣言と同じタイムゾーンで SDK の resolveViewPeriod を使用します。

Tasks では期限日/期間、期限超過、予定なし、プロジェクト、ステータスを選択でき、Journal では期間を選択できます。実際に所有するビューを、そのスキーマや無関係な動作を変更せずに拡張してください。宣言済みの URL パラメーターで、現在有効な選択項目を保持します。SDK の tasksViewParams({timezone, projectDatabase, statuses}) と journalViewParams(timezone) は標準の宣言を提供します。これらをマニフェストだけでなく、実際のコントロールとフィルターに接続してください。「予定なし」が選択された場合は、日付/期間と期限超過をクリアします。正確な期限日を選択すると期間がクリアされ、その逆も同様です。

履歴と取り消し

ソースを変更する前に notis spaces history list <space-id> を読み、公開済みのバージョンを公開レシートとともに保持します。「取り消して」という依頼には、別の Editor の最新バージョンではなく、最後の変更の直前のバージョンを選択します。まず --dry-run を使い、notis spaces history restore <space-id> --target-revision <saved> --revision <current> --request-id <stable-id> で復元します。これで再公開されるのはビュー/設定のみです。レコード、Skills、リンク、認証情報は現在のままです。古いリビジョンに遭遇した場合は、介在する作業を上書きせず、調整してください。最後の操作で Space を作成した場合は、ライフサイクルツールを使ってアーカイブします。

ワークフローを選ぶ

タスク読む資料
Space を作成または変更するビューの作成、デザイン、続けてデリバリー
保存済みのビュー、チャート、レポート、HTML ページを読む読み取りとレンダリング
Notes レポートまたはインタラクティブレポートを保存または修正するレポート
メモリポリシーを選ぶメモリ
データフック、レコードページ、ツールキットの構成要素を確認するSDK
リソース、共有、ライフサイクルについて説明するプラットフォームの境界
チェックまたはリリースの失敗を診断するトラブルシューティング

質問に答えられる場合は、通常のネイティブデータツールを使ってください。ページに実際に表示されている内容を確認するには、現在のリンクを解決し、デプロイ済みのビューをレンダリングしてください。

3 つのレイヤー

  1. Space 自体のコード。書くのはこのレイヤーだけです。データ、フィールド、Space 自体のアクションと、それらの英語およびフランス語の文言を指定します。
  2. ツールキット @notis/sdk/ui。ホストからライブで提供されます。リストとリーダー、行とその状態、選択バー、キーキャップと ? シート、Side、Center、Full として開く機能、期間ピッカー、カレンダー、タイムライン、チャート、メニュー、標準アクションとそれらの英語およびフランス語の文言が含まれます。Space はこれを複製しないため、構成要素の修正は再ビルドなしで、すべての Space に反映されます。
  3. Notis ホストフレーム。全高、サイドバーとトップバー(開いているアイテムを含む Space / ビューのパンくず、検索、共有)、チャットとその 1 ペインのルール、ライトモードとダークモード、スマートフォンのレイアウト、単一のキーボードエンジン、Shadow DOM ランタイム、アカウント権限が含まれます。

動作は指示ではなく、構成要素が担います。ビューに合った構成要素から始めてください。リーダーの横にリストを表示する場合は約 20 行の単一の ListReader(サンプル)、ステージごとにアイテムを表示する場合は単一の BoardView(ステージごとの列、タイルを移動する onMove)を使います。キー操作、選択、パネル、外観、文言も構成要素に含まれます。Space に必要な部分だけを、できるだけ浅く変更してください。

  1. オプション:density、openAs、layout、look、autoOpen、search、actions、アクションの key。
  2. スロット:row、reader、tabs、create、viewMenu、infoLine、readerLabel、readerActions、crumbLabel、renderTile、empty。
  3. 独自のレイアウトにフックを使う:useListKeys、useSelection、useShortcut、usePanels。マークアップはそのまま、キー操作と修正は共通です。
  4. 書き換えは最後に行ってください。書き換えは可能ですが、書き換えると、その構成要素の修正を受け取れなくなります。

構成要素では担えないルール

  • 標準アクション(archive、complete、star、delete など)では、Notis の文言、キー、トーストが使われます。指定するのは id と run だけです。Space 独自のアクション、ラベル、テキストには { en, fr } のペアを指定してください。JSX に英語のリテラルを含めないでください。
  • window または document に keydown リスナーを追加しないでください。useShortcut または上記のフックを使ってください。document.body へのポータルは使わず、コンテナには Menu、Popover、Tooltip、または useLayerRoot() を使ってください。
  • ページ内にタイトルを置かないでください。ホストのトップバーに Space / ビューと開いているアイテムが表示されます。h1、ページの説明、見出しブロック、中央揃えのカラム(mx-auto と max-w-*)、2 つ目の検索フィールドは決してレンダリングしないでください。Space はフレーム全体を使い、ListReader の search はトップバーを使用します。ダッシュボードとフォームには、全幅の Section 種類を使ってください。
  • 色にはテーマトークン(hsl(var(--primary))、text-foreground、bg-muted)を使用し、16 進数、パレットの色相、raw rgb は使用しないでください。ハイライトは 4 辺すべてを囲むリングにし、1 辺だけを色付きまたは太いエッジにしないでください。ビューポートに固定された高さ(h-screen、vh)は使わず、h-full、flex-1、min-h-0 を使ってください。
  • 設計チェック(すべての notis spaces build で実行され、公開時にはサーバーでも実行されます)と notis spaces verify(390 および 1440 px、英語とフランス語)は、デプロイ前に必ずパスしてください。
  • Space は同じ場所で更新します。pull し、変更して、同じ Space ID にデプロイしてください。変更を新しい Space や Store のコピーとして公開してはいけません。

作成、検証、公開

  1. 既存のSpaceとそのリソースを正確に読み取ります。ID、スキーマ、データ、ソースのリビジョン、デプロイロックを保持します。見慣れた名前でも、同一性の証明にはなりません。
  2. notis spaces pull を使って編集可能なソースを取得します。新しいローカルコレクションには notis spaces init を使い、必要な場合にのみ、そのリモートSpaceとの整合を取り、作成します。
  3. 各ビューを宣言し(ビューの作成)、各パーツに記述します(デザイン)。
  4. 選択した固定ソースを、すべての読み取りに対する架空のフィクスチャでビルドして検証します。390 px と 1440 px で EN と FR を確認し、リリース前に読み取りエラー、クリッピング、誤ったデータ、状態遷移の問題を修正します。
  5. ユーザーの承認範囲内でデプロイします。公開された正確なリビジョンを読み返し、ライブビューのリンクを表示して、影響を受ける操作を確認します。ローカルビルドの成功は、デプロイやライブデータの証明にはなりません。
  6. ビューを指定したリンクを返し、ローカルでの確認、インストール済みSpaceへの公開、Storeへの公開を区別します。結果が不確かな場合は元のリクエストIDで確認し、リンクが見つからないからといって、成功済みの変更を繰り返してはいけません。

構造とリソース

LOCAL_NOTIS_MANAGE_SPACE を create、rename、move、trash、restore、list_bin に使用します。まず現在の revision を読み取り、安定した request_id を保持します。Spaceを移動する前に、アクセス権の変更について説明します。新しい親の編集者はそのサブツリーへのアクセス権を得て、以前の親を通じてのみアクセスしていた人はアクセス権を失います。

リソースはそれぞれのリンクを管理します。ネイティブのSkill、オートメーション、またはデータベースのライターで links を使用します。追加時はSpaceのリビジョンを指定し、削除時はバインディングID/リビジョンを指定します。移動は両方を1つのトランザクションで行います。すべてのデータベースには、少なくとも1つのSpaceと1つのメインビューが必要です。リンク、移動、リンク解除、ビンへの移動、復元の前、およびユーザーから誰かの削除、今すぐ削除、またはSiteについて尋ねられた場合は常に(Portalの操作で、エージェント用ツールはありません)、誰がアクセス権を得るか、または失うか、データに何が起きるかを、実行前に説明する影響に従って伝えます。

Skillコンテンツの書き込みには、notis skills list|read|create|update|links という1つのファミリーを使用します。Spaceの対象が失敗しても、別の所有者や個人リソースにはフォールバックしません。リンクされたSkillを編集すると、引き続きアクセス可能なすべての場所で共有リソースが変更されます。個人の有効化/エージェント設定は別に管理され、キュレーションされたコンテンツは読み取り専用です。オートメーションの接続を変更できるのは、そのセットアップ所有者のみです。

spaces pull には、resources.json、編集可能な skills/<alias>/ フォルダー、.notis/space-lock.json が含まれます。ソースのリリースでは、変更されたSkillファイル、新しいSkill、リソースリンク、ソースがアトミックにコミットされます。変更されていないファイルではリモートの編集が保持されます。競合が発生した場合は、改めてプルしてマージする必要があります。名前の変更にはSkillライターを使用します。

Siteは独立した、スコープが限定されたビュー用ウェブサイトであり、メンバーシップではありません。エージェント、Skill、オートメーション、アップロード、共同編集の権限はありません。Storeへのインストールは独立したコピーであり、3方向更新を行います。Storeへの公開は、インストール済みSpaceへのデプロイとは別で、ユーザーの明示的な承認が必要です。

レポート、HTML、コンテキスト

既存のレポート行は、データベースのビュー内で <ReportFrame> を通じてレンダリングされます。保存済みページとインタラクティブなレポートについては、レポートに従ってください。

コンテキスト共有では、選択したテキストと注釈が、未送信の参照コンテキストとして保持されます。ページコンテキスト、メモリのヒット、ソースコンテンツは、実行の承認ではありません。space_view ページコンテキストにはSpace、レコード、パラメーターが指定されます。操作する前に、現在の権限でそれらを読み直してください。認証情報や個人データをソースやフィクスチャに含めないでください。

コメント