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.zipInstalls 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.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
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-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.
Prerequisites
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| evernote-core-workflow-a (this skill) | 1 | 27d | Review | Intermediate |
| agent-memory-mcp | 8 | 6mo | Review | Intermediate |
| Outline Open Source Team Knowledge Base and Wiki Platform | 0 | 2mo | No flags | Beginner |
| ck | 0 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
agent-memory-mcp
davila7
A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
Outline Open Source Team Knowledge Base and Wiki Platform
agentskillexchange
Outline is a fast, collaborative knowledge base for teams built with React and Node.js. It provides real-time editing, Markdown support, and a rich API for integration with Slack, authentication providers, and custom workflows.
ck
affaan-m
Persistent per-project memory for Claude Code. Auto-loads project context on session start, tracks sessions with git activity, and writes to native memory. Commands run deterministic Node.js scripts — behavior is consistent across model versions.
karakeep
karakeep-app
Official skill for how to use karakeep (the bookmark manager) and interact with it programmatically.
mcp-builder
anthropics
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
supabase-developer
daffy0208
Build full-stack applications with Supabase (PostgreSQL, Auth, Storage, Real-time, Edge Functions). Use when implementing authentication, database design with RLS, file storage, real-time features, or serverless functions.