跳到正文
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 useOpenQuickNoteSaveOverlay.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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 save-to-notes overlay flow (useOpenQuickNoteSaveOverlay from features/overlays/definitions/saveToNotes.overlay.tsx) — 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 the saveToNotes overlay 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 opening the saveToNotes overlay (useOpenQuickNoteSaveOverlay)
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 open the saveToNotes overlay directly:

import { openOverlay } from '@ai-matrx/summon';

dispatch(openOverlay({ overlayId: 'saveToNotes', data: { initialContent: content } }));
// or, in a component: useOpenQuickNoteSaveOverlay() from features/overlays/definitions/saveToNotes.overlay

OverlayWorldHost 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 OverlayWorldHost 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. saveToNotes overlay 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/host/OverlayWorldHost.tsx — overlay host for modal/sheet (see the overlay-system skill)
  • @ai-matrx/summon — openOverlay({ overlayId: 'saveToNotes' }); the definition is features/overlays/definitions/saveToNotes.overlay.tsx

Provider Requirements

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

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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月19日 更新

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月19日 更新

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月19日 更新

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月19日 更新

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月19日 更新

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月19日 更新

查看 armanisadeghi 的全部技能

报告此技能的问题