Skip to content
cccskills
FreePublished on 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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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.

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 19, 2026

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).

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 19, 2026

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.

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 19, 2026

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.

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 19, 2026

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).

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 19, 2026

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).

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 19, 2026

See all skills by armanisadeghi

Report a problem with this skill