evernote-core-workflow-a

Execute Evernote primary workflow: Note Creation and Management. Use when creating notes, organizing content, managing notebooks, or implementing note-taking features. Trigger with phrases like "create evernote note", "evernote note workflow", "manage evernote notes", "evernote content".

claude-codecodexopenclaw
5 Tools
evernote-pack Plugin
saas packs Category

Allowed Tools

ReadWriteEditBash(npm:*)Grep

Provided by Plugin

evernote-pack

Claude Code skill pack for Evernote (24 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the evernote-pack plugin:

/plugin install evernote-pack@claude-code-plugins-plus

Click to copy

Instructions

Evernote Core Workflow A: Note Creation & Management

Overview

Primary workflow for creating, organizing, and managing notes in Evernote. Covers CRUD operations, ENML formatting, notebook organization, and tag management.

Prerequisites

  • Completed evernote-install-auth setup
  • Understanding of ENML format
  • Valid access token configured

Instructions

Step 1: Note Creation Service

Build a NoteService class that wraps NoteStore operations. Key methods: createNote() with ENML wrapping, createTextNote() for plain text, createChecklistNote() for items. Always sanitize titles (max 255 chars, no newlines) and wrap content in the required ENML envelope.


// Wrap raw HTML in required ENML envelope
function wrapInENML(content) {
  return `<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd">
<en-note>${content}</en-note>`;
}

const note = new Evernote.Types.Note();
note.title = 'Meeting Notes';
note.content = wrapInENML('<p>Discussion points...</p>');
note.tagNames = ['meeting', 'team'];
const created = await noteStore.createNote(note);

Step 2: Note Retrieval and Reading

Use getNote(guid, withContent, withResources, withRecognition, withAltData) to control response size. Extract plain text from ENML by stripping tags. Check for uncompleted todos with /.

Step 3: Note Updates

Update notes by fetching metadata, modifying fields, and calling noteStore.updateNote(). Append content by inserting before the closing tag. Add tags via note.tagNames array. Move notes between notebooks by changing note.notebookGuid.

Step 4: Note Organization

Manage notebooks with listNotebooks(), createNotebook(), and getDefaultNotebook(). Use notebook.stack to group notebooks into stacks. Implement ensureNotebook(name) to find-or-create by name.

Step 5: Complete Workflow Example

See Implementation Guide for the full NoteService, NotebookService, and a combined workflow that creates meeting notes with checklists, appends content, and toggles todos.

Output

  • NoteService class with create, read, update, and delete operations
  • ENML content formatting and validation helpers
  • NotebookService for notebook CRUD and stack organization
  • Tag management (add, remove, find-or-create)
  • Checklist note support with elements

Error Handling

Error Cause Solution
BADDATAFORMAT Invalid ENML Use wrapInENML() helper; remove forbidden elements (