Evernote core workflow a
Skill jeremylongshore/claude-code-plugins-plus-skills/skills/.curated/evernote-core-workflow-a
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill evernote-core-workflow-aAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
'Execute Evernote primary workflow: Note Creation and Management.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.1 KB, 842 tokens by cl100k_base, as published. Nobody here has run it
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-authsetup - 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 <en-todo> 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 /<en-todo\s+checked="false"/.
Step 3: Note Updates
Update notes by fetching metadata, modifying fields, and calling noteStore.updateNote(). Append content by inserting before the closing </en-note> 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
NoteServiceclass with create, read, update, and delete operations- ENML content formatting and validation helpers
NotebookServicefor notebook CRUD and stack organization- Tag management (add, remove, find-or-create)
- Checklist note support with
<en-todo>elements
Error Handling
| Error | Cause | Solution |
|---|---|---|
BAD_DATA_FORMAT | Invalid ENML | Use wrapInENML() helper; remove forbidden elements (<script>, <form>) |
LIMIT_REACHED | Too many notebooks (250 max) | Clean up unused notebooks before creating |
DATA_REQUIRED | Missing title or content | Validate inputs before API call |
INVALID_USER | Token expired | Re-authenticate user via OAuth flow |
Resources
Next Steps
For search and retrieval workflows, see evernote-core-workflow-b.
Examples
Meeting notes workflow: Create a note with attendees, discussion points, and <en-todo> action items in a "Work" notebook. Append follow-up items after the meeting. Tag with meeting and team.
Bulk note import: Read Markdown files from disk, convert to ENML using htmlToENML(), and create notes in a designated notebook with automatic tag assignment.