EV

evernote-core-workflow-a

Automates note-taking operations in Evernote.

Install

mkdir -p .claude/skills/evernote-core-workflow-a && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2396" && unzip -o skill.zip -d .claude/skills/evernote-core-workflow-a && rm skill.zip

Installs to .claude/skills/evernote-core-workflow-a

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Execute Evernote primary workflow: Note Creation and Management.
64 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Create new Evernote notes with ENML formatting
  • Retrieve and read existing notes
  • Update note content and metadata
  • Organize notes into notebooks and stacks
  • Manage tags for categorization
  • Create checklist notes with en-todo elements

How it works

The skill outlines the use of a NoteService class to wrap Evernote NoteStore operations, including methods for creating various note types, retrieving content, updating fields, and organizing notes and notebooks.

Inputs & outputs

You give it
Note content, title, tags, and notebook GUID
You get back
Created, retrieved, or updated Evernote notes, organized within notebooks and stacks

When to use evernote-core-workflow-a

  • Create Evernote notes programmatically
  • Manage notebook organization
  • Format note content with ENML
  • Tag and categorize notes

About this skill

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

  • 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 <en-todo> elements

Error Handling

ErrorCauseSolution
BAD_DATA_FORMATInvalid ENMLUse wrapInENML() helper; remove forbidden elements (<script>, <form>)
LIMIT_REACHEDToo many notebooks (250 max)Clean up unused notebooks before creating
DATA_REQUIREDMissing title or contentValidate inputs before API call
INVALID_USERToken expiredRe-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.

Prerequisites

Completed `evernote-install-auth` setupUnderstanding of ENML formatValid access token configured

Limitations

  • Invalid ENML can cause `BAD_DATA_FORMAT` errors
  • Exceeding 250 notebooks can cause `LIMIT_REACHED` errors
  • Missing title or content can cause `DATA_REQUIRED` errors

How it compares

This skill provides a structured, programmatic approach to Evernote note creation and management using a service class and ENML formatting, as opposed to manual note-taking within the Evernote application.

Compared to similar skills

evernote-core-workflow-a side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
evernote-core-workflow-a (this skill)127dReviewIntermediate
agent-memory-mcp86moReviewIntermediate
Outline Open Source Team Knowledge Base and Wiki Platform02moNo flagsBeginner
ck02moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

Search skills

Search the agent skills registry