本文へ移動
cccskills
無料GitHub で公開

notes-actions

Cross-app save-to-notes components and patterns. Use when adding save-to-notes to a feature, wiring overlay note capture, editing features/notes/actions/ or its consumers, or using QuickCaptureButton, SaveToScratchButton, SaveSelectionButton, QuickNotesSheet, CategoryNotesModal, or openSaveToNotes.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Notes Actions (Cross-App Integration)

Scope boundary — which skill owns what

This skill owns the notes-side primitives: the components under features/notes/actions/ and the openSaveToNotes overlay flow — i.e. HOW a save-to-notes capability is built and wired. It does NOT own the surfaces that expose it:

  • An action toolkit on markdown/RichDocument surfaces (where "Save to notes" is one action among many) → rich-document-actions skill.
  • The live-chat message bar (AssistantActionBar / messageActionRegistry) → overlay-system skill, "Message actions (chat)" section.
  • Overlay rendering/registration mechanics (how openSaveToNotes actually renders) → overlay-system skill.

Come here when adding/altering a notes action component or its provider/API contract; go to those skills when merely consuming save-to-notes from their surfaces.

Quick Reference

Source: features/notes/actions/ Imports: Direct paths (e.g. @/features/notes/actions/SaveToScratchButton, @/features/notes/service/notesApi) — root and actions/index barrels were removed. Living doc: features/notes/actions/notes-actions.md — must be updated whenever actions are added, removed, or consumed in new files.

Available Actions

ExportWhat it does
QuickCaptureButtonToolbar button dispatching openSaveToNotes for the global overlay flow
QuickNoteSaveModalDialog: edit content, pick folder, create vs update (append/overwrite)
QuickSaveModalAlias of QuickNoteSaveModal
SaveToScratchButtonOne-click NotesAPI.create into Scratch (no modal)
SaveSelectionButtonReads window.getSelection(), saves to folder, clears selection
QuickNotesButtonIcon button calling useQuickActions().openQuickNotes()
QuickNotesSheetIn-overlay compact notes UI (editor + picker). Needs NotesProvider
CategoryNotesModalFolder-scoped modal with list/search/CRUD/import + onSelectNote callback. Needs NotesProvider
WindowNotesBodyLightweight single-note editor for windows/panels. Bundles own NotesProvider, auto-save, auto-label, tree-view picker
NotesTreeViewVS Code-style folder/note tree. Single-folder expand, inline create note/folder, onSelectNote/onSelectFolder callbacks. Needs NotesProvider
NotesWindowComplete WindowPanel with tree sidebar + editor + header actions. Bundles own NotesProvider. Accepts all WindowPanelProps
SidebarNotesToggleShell sidebar button that toggles a floating NotesWindow. No provider needed

Integration Patterns

Pattern 1: Redux overlay dispatch (most common)

Many features skip the button entirely and dispatch openSaveToNotes directly:

import { openSaveToNotes } from '@/lib/redux/slices/overlaySlice';

dispatch(openSaveToNotes({ content, defaultFolder: 'Scratch' }));

OverlayController handles dynamic import of QuickNoteSaveModal and wraps it with NotesProvider.

Pattern 2: Drop-in buttons

import { SaveToScratchButton } from '@/features/notes/actions/SaveToScratchButton';

<SaveToScratchButton content={aiResponse} />

No provider or overlay wiring needed — the button calls NotesAPI.create directly.

Pattern 3: Folder-scoped note picker

import { CategoryNotesModal } from '@/features/notes/actions/CategoryNotesModal';

<CategoryNotesModal
  folderName="Prompts"
  onSelectNote={(note) => applyPrompt(note.content)}
/>

Requires NotesProvider ancestor.

Pattern 4: Embedded sheet

import { QuickNotesSheet } from '@/features/notes/actions/QuickNotesSheet';

Used inside OverlayController or any layout that provides NotesProvider.

Maintenance Rules

Every time you touch this system, update features/notes/actions/notes-actions.md:

  1. New action created → add row to exports table, set usage count to 0
  2. Action consumed in a new file → increment count, add file path
  3. Consumer removed → decrement count, remove file path
  4. Action renamed/deleted → update or remove rows everywhere
  5. openSaveToNotes usage changed → update its dedicated section

Key Files

  • (Barrels removed — import action components and NotesAPI from their source files under features/notes/.)
  • features/notes/actions/notes-actions.md — living usage reference
  • features/notes/service/notesApi.ts — NotesAPI (programmatic CRUD)
  • features/notes/context/NotesContext.tsx — shared state + realtime
  • features/overlays/OverlayController.tsx — overlay host for modal/sheet (see the overlay-system skill)
  • lib/redux/slices/overlaySlice.ts — openSaveToNotes action creator

Provider Requirements

ComponentNeeds NotesProvider?
SaveToScratchButtonNo (uses NotesAPI directly)
SaveSelectionButtonNo (uses NotesAPI directly)
QuickCaptureButtonNo (dispatches Redux action)
QuickNoteSaveModalYes (OverlayController provides it)
QuickNotesSheetYes
CategoryNotesModalYes
WindowNotesBodyNo (bundles its own NotesProvider)
NotesTreeViewYes
NotesWindowNo (bundles its own NotesProvider + WindowPanel)
SidebarNotesToggleNo (renders NotesWindow which bundles everything)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Admin debug system wiring for the floating AdminIndicator's live debug data and Copy Full Context. Use when adding debug visibility to a route or feature, wiring useDebugContext or the debug panel, capturing console errors, or enabling the copy-context workflow for a page.

日本語の概要は準備中です。原文の説明を表示しています。

armanisadeghi/ai-matrx32026年10月12日 更新

Compact two-icon Copy / Copy-for-AI controls (components/agent-copy). Use when adding copy buttons to a row, card, list, or record; merging duplicate Copy/JSON/AI controls; continuing the copy rollout; or writing a Copy-for-AI payload. NOT for markdown content actions (use rich-document-actions).

日本語の概要は準備中です。原文の説明を表示しています。

armanisadeghi/ai-matrx32026年10月12日 更新

Disclosing a surface's existing fixed AI jobs in the shell's top Agents menu. Use when a page, panel, overlay, or window already runs a mandate behind a button, assist, automatic action, or mode; when the agent-disclosure guard names a file; or during a surface check.

日本語の概要は準備中です。原文の説明を表示しています。

armanisadeghi/ai-matrx32026年10月12日 更新

The watch-fix-rerun method for making an existing platform agent or automated process efficient and correct: baseline its ledger, run one unit yourself, fix the class behind every wasted call, rerun, record. Use when asked to improve, optimize, watch, or 'make efficient' an agent, a sandbox session, a sync job, or any recurring automated process.

日本語の概要は準備中です。原文の説明を表示しています。

armanisadeghi/ai-matrx32026年10月12日 更新

Redux state for agent execution and firing agent shortcuts. Use when editing features/agents/redux/, building agent UI, creating a conversation, touching assembleRequest or NDJSON stream state, wiring agent-state selectors, adding a per-conversation capability, or triggering a shortcut from a button, menu, or code (useShortcutTrigger, launchAgentExecution).

日本語の概要は準備中です。原文の説明を表示しています。

armanisadeghi/ai-matrx32026年10月12日 更新

The provision for a call site: the exhaustive menu of values that place in the code can realistically produce. Use before creating or fixing a mandate or agent that reasons about more than its own input, when deciding whether an agent can answer at all with what it is sent, or when its output 'looks right' but nobody checked it could be. NOT for building the agent (use create-agent).

日本語の概要は準備中です。原文の説明を表示しています。

armanisadeghi/ai-matrx32026年10月12日 更新

armanisadeghi のスキルをすべて見る

このスキルの問題を報告する