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". allowed-tools: Read, Write, Edit, Bash(npm:*), Grep version: 1.0.0 license: MIT author: Jeremy Longshore <jeremy@intentsolutions.io>
Allowed Tools
No tools specified
Provided by Plugin
evernote-pack
Claude Code skill pack for Evernote (24 skills)
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. This covers the essential CRUD operations that form the foundation of any Evernote integration.
## Prerequisites
- Completed `evernote-install-auth` setup
- Understanding of ENML format
- Valid access token configured
## Instructions
### Step 1: Note Creation Service
```javascript
// services/note-service.js
const Evernote = require('evernote');
class NoteService {
constructor(noteStore) {
this.noteStore = noteStore;
}
/**
* Create a new note with proper ENML formatting
*/
async createNote({ title, content, notebookGuid, tagNames = [] }) {
const note = new Evernote.Types.Note();
note.title = this.sanitizeTitle(title);
note.content = this.wrapInENML(content);
if (notebookGuid) {
note.notebookGuid = notebookGuid;
}
if (tagNames.length > 0) {
note.tagNames = tagNames;
}
return this.noteStore.createNote(note);
}
/**
* Create note from plain text
*/
async createTextNote(title, text, notebookGuid = null) {
const content = this.textToENML(text);
return this.createNote({ title, content, notebookGuid });
}
/**
* Create note from HTML (converted to ENML)
*/
async createHtmlNote(title, html, notebookGuid = null) {
const content = this.htmlToENML(html);
return this.createNote({ title, content, notebookGuid });
}
/**
* Create a checklist note
*/
async createChecklistNote(title, items, notebookGuid = null) {
const checklistHtml = items.map(item => {
if (typeof item === 'string') {
return ` ${this.escapeHtml(item)}`;
}
return ` ${this.escapeHtml(item.text)}`;
}).join('\n');
return this.createNote({
title,
content: checklistHtml,
notebookGuid
});
}
// Helper methods
wrapInENML(content) {
return `
${content}
`;
}
textToENML(text) {
const escaped = this.escapeHtml(text).replace(/\n/g, '
'); return this.wrapInENML(`
'); return this.wrapInENML(`
${escaped}
`);
}
htmlToENML(html) {
// Remove forbidden elements and attributes
let clean = html
.replace(/