Notes Processor Skill
Version: 1.0.0 Last Updated: January 27, 2026
Purpose
Systematically organize daily notes using the LNO framework to maintain strategic focus and ensure high-leverage work gets appropriate priority. This skill transforms ad-hoc note-taking into a strategic prioritization system that surfaces ROI-based work categorization.
Invocation
Trigger phrases:
- •"add action items to notes.md"
- •"update my notes"
- •"process notes"
- •"categorize these tasks"
- •"organize my daily tasks"
- •"sync action items from [initiative]"
Usage:
Invoked by agents (initiative-tracker, meeting-notes-router) or directly when user requests notes organization
Framework: LNO Prioritization
Core Philosophy
The Problem: Not all work is equal. PMs often treat all tasks as equally important, leading to strategic work being crowded out by tactical firefighting.
The Solution: Shreyas Doshi's LNO framework categorizes work by ROI potential:
- •
🟢 Leverage (L): 10x-100x ROI potential
- •Strategic initiatives, experiments, research
- •Documentation systems, templates, automation
- •Work that compounds over time
- •Example: "Design experiment to test new onboarding flow"
- •
🟡 Neutral (N): 1x ROI (equal effort to return)
- •Regular meetings, standard project work
- •Planning, coordination, reviews
- •Necessary but not amplifying
- •Example: "Weekly sync with engineering team"
- •
🔴 Overhead (O): <1x ROI (necessary but low return)
- •Administrative work, required responses
- •Urgent fixes, firefighting
- •Work that must be done but doesn't move strategic goals
- •Example: "Respond to expense report request"
Why This Matters
Customer Value: By surfacing high-leverage work, PMs spend more time on initiatives that compound customer value rather than reacting to daily noise.
Trade-off: Requires discipline to categorize honestly. Accepting that not all work is strategic enables better resource allocation.
Outcome: Over time, ratio of L:N:O work shifts toward leverage, driving disproportionate impact.
Execution Protocol
Phase 1: UNDERSTAND - Read Current State
CRITICAL: Always read notes.md before modifying.
- •Read
notes.mdto understand current structure - •Identify current date section (format:
# Jan 27:or# Jan 27 (Completed):) - •Check for:
- •Unformatted content at top of file
- •Processing Queue items
- •Incomplete tasks in previous date sections
- •Tasks missing LNO categorization
Phase 2: CATEGORIZE - Apply LNO Framework
For each task or note item:
Step 1: Identify Task Type
- •Action item with clear deliverable?
- •Meeting/coordination?
- •Administrative/reactive work?
- •Strategic/experimental work?
Step 2: Assess ROI Potential Ask: "If I complete this, what's the multiplier effect?"
- •
10x return? → Leverage
- •~1x return? → Neutral
- •<1x return but necessary? → Overhead
Step 3: Apply Classification Use keyword hints to guide categorization:
Leverage indicators: "strategic", "experiment", "optimize", "automate", "research", "design", "framework", "template" Neutral indicators: "meeting", "sync", "update", "coordinate", "plan", "review" Overhead indicators: "respond", "urgent", "required", "send message", "fix bug", "admin"
Step 4: Validate Against Framework
- •Am I being honest about ROI or inflating importance?
- •Would Shreyas Doshi agree with this categorization?
- •Does this serve strategic outcomes or just feel busy?
Phase 3: STRUCTURE - Organize in notes.md
Current Date Section Format:
# Jan 27: ## 🟢 Leverage (L) - [ ] **[L]** High-leverage task description *(Created: Jan 20)* ## 🟡 Neutral (N) - [ ] **[N]** Standard task description *(Created: Jan 27)* ## 🔴 Overhead (O) - [ ] **[O]** Administrative task description *(Created: Jan 27)*
Task Format Rules:
- •Checkbox states:
- •
[ ]for incomplete (not started) - •
[>]for in progress - •
[~]for blocked/waiting - •
[-]for cancelled/no longer needed - •
[X]or[x]for completed
- •
- •Label:
**[L]**,**[N]**, or**[O]** - •Creation date:
*(Created: [date])*in abbreviated format (e.g., "Jan 27") - •Completion date (when finished):
*(Completed: [date])* - •Cancellation date (when cancelled):
*(Cancelled: [date])*with brief reason
Phase 4: DATE TRANSITIONS - Carry Forward Logic
When creating new date section:
CRITICAL RULE: Only carry forward active incomplete tasks [ ] and blocked tasks [~]. Never carry forward completed [X], cancelled [-], or in-progress [>] tasks from previous days.
Carryforward Protocol:
For each task in previous date section:
IF checkbox is [ ] (not started):
IF has *(Created: [date])*:
→ Preserve *(Created: [date])* exactly as is
ELSE:
→ Add *(Created: [previous-date])*
→ Copy to new date section
ELSE IF checkbox is [~] (blocked/waiting):
→ Carry forward (still active, waiting on external factors)
→ Preserve creation date
ELSE IF checkbox is [X] or [x] (completed):
→ Skip (done successfully, leave in original date section)
ELSE IF checkbox is [-] (cancelled/no longer needed):
→ Skip (done by cancellation, leave in original date section)
ELSE IF checkbox is [>] (in progress from yesterday):
→ Reset to [ ] and carry forward (new day, new start)
→ Preserve creation date
Why This Matters: Preserving creation dates shows task age, helping identify:
- •Tasks lingering too long (need to be broken down or escalated)
- •Patterns of what gets delayed
- •True cycle time for work
Mark Previous Section Complete:
# Jan 26 (Completed):
Phase 5: ROUTE - Initiative-Specific Content
When notes reference specific initiatives, route to initiative CLAUDE.md:
Detection Keywords (examples, dynamically discover actual initiatives):
Routing Protocol:
- •Identify initiative-specific content (meetings, decisions, insights)
- •Extract relevant notes
- •Append to initiative's RunningNotes.md with date header
- •Log routing in notes.md "✅ Processed Notes" section
Why Route: Initiatives need context persistence. Daily notes are ephemeral; initiative files are durable memory.
Phase 6: COMPLETION & CANCELLATION TRACKING
When task changes from incomplete to complete:
- •Change checkbox:
[ ]→[X] - •Add completion timestamp:
*(Completed: Jan 27)* - •Leave task in original date section (do NOT move)
Format:
- [X] **[L]** Completed task description *(Created: Jan 20)* *(Completed: Jan 27)*
When task becomes cancelled/no longer needed:
- •Change checkbox:
[ ]→[-] - •Add cancellation timestamp:
*(Cancelled: Jan 27)* - •Add brief reason inline or as sub-bullet
- •Leave task in original date section (do NOT move)
Format:
- [-] **[L]** Cancelled task description *(Created: Jan 20)* *(Cancelled: Jan 27)* - Reason: Superseded by new unified approach
Why Track Cancellations:
- •Documents strategic pivots and evolution of thinking
- •Shows what was considered but not pursued (learning)
- •Explains why effort wasn't invested (useful for retrospectives)
- •Transparency about changing priorities
Cancelled tasks behave like completed tasks: They stay in their original date section and do NOT carry forward to future dates.
Phase 7: METADATA UPDATE
Update "Last Updated" timestamp at bottom of notes.md:
--- **Last Updated**: 2026-01-27 14:30
Integration with Initiative Tracker
When invoked by initiative-tracker or meeting-notes-router:
Input: List of action items with context
Action Items: - [Owner: Khushal] Follow up with design team on wireframes - [Owner: Khushal] Draft experiment brief for onboarding test - Context: From meeting about FCC Beta launch
Processing:
- •Categorize each using LNO framework
- •Add to current date section in notes.md
- •Preserve context (note source/meeting if relevant)
- •Apply proper formatting with creation date
Output: Confirmation of items added with LNO classification
Quality Gates
Before completing any notes processing:
- • Read First: Did I read current notes.md state before modifying?
- • LNO Categorization: Are all tasks properly categorized by ROI potential?
- • Honest Assessment: Am I being truthful about leverage vs inflating importance?
- • Carryforward Accuracy: Did I ONLY carry forward incomplete tasks?
- • Creation Dates Preserved: Are original creation dates maintained on carried-forward tasks?
- • Completion Timestamps: Are completion dates added to all finished tasks?
- • Initiative Routing: Did I route initiative-specific content appropriately?
- • Metadata Updated: Is the "Last Updated" timestamp current?
- • Strategic Alignment: Does this organization serve the user's strategic priorities?
Integration with Shannon
This skill embodies Shannon's core philosophy:
Framework-Driven Thinking
- •LNO framework provides systematic approach to prioritization
- •Every task categorization is a trade-off decision
- •Framework reveals patterns: too much overhead? Need more leverage work.
Shreyas Doshi Quality Standards
- •Customer-centric logic: Leverage work directly serves customer value creation
- •Explicit trade-offs: Accepting honest categorization over optimistic inflation
- •Outcome-focused: LNO ratio shifts toward leverage drive real impact
- •Framework application: Every task gets systematic ROI assessment
Quality Standards Reference
See .claude/reference/quality-framework.md for full Shannon quality gates.
First Principles
- •Not all work is equal (fundamental truth)
- •Time is finite resource requiring allocation strategy
- •Strategic work gets crowded out without explicit prioritization
- •Honest categorization enables better resource allocation
Success Criteria
This skill succeeds when:
- •✅ All tasks in notes.md have clear LNO categorization
- •✅ Categorization reflects honest ROI assessment, not wishful thinking
- •✅ Date transitions preserve task history (creation dates maintained)
- •✅ Completed tasks stay in original date sections with completion timestamps
- •✅ Initiative-specific content routed to appropriate CLAUDE.md files
- •✅ User can scan notes.md and immediately see leverage vs overhead ratio
- •✅ Over time, user's work shifts toward more leverage activities
- •✅ Strategic work is visible and not buried in tactical noise
Anti-Patterns to Avoid
❌ False Leverage: Categorizing everything as [L] to feel productive
- •Reality check: Most work is Neutral or Overhead. True Leverage is rare.
❌ Category Inflation: "This meeting is strategic" when it's coordination
- •Fix: Be brutally honest. Coordination = Neutral, even if important.
❌ Carrying Forward Completed/Cancelled Tasks: Pollutes new date sections
- •Fix: Completed
[X]and cancelled[-]tasks stay in their original date forever. - •Both represent "done" - just in different ways (success vs obsolescence)
❌ Losing Task History: Updating creation dates when carrying forward
- •Fix: Preserve original
*(Created: [date])*to track task age.
❌ Skipping Categorization: Adding tasks without LNO labels
- •Fix: Every task gets a category. No exceptions.
❌ Processing Without Reading: Modifying notes.md without understanding current state
- •Fix: Always read first. Context matters.
Reference Materials
For detailed implementation rules, see:
- •LNO Framework Deep Dive:
.claude/reference/lno-framework.md(if exists) - •Notes Structure Rules: Original notes-processor agent for granular formatting rules
- •Quality Framework:
.claude/reference/quality-framework.md
Error Handling
Missing Date Section
If current date section doesn't exist:
- •Create it with proper LNO structure
- •Carry forward incomplete tasks from previous date
- •Mark previous section as "(Completed)"
Ambiguous Categorization
If task ROI is unclear:
- •Default to Neutral [N]
- •Add note: "(Category uncertain - review)"
- •User can recategorize later
Initiative Routing Uncertainty
If initiative mentioned but no matching folder found:
- •List discovered initiatives
- •Ask user which to route to, or skip routing
Invalid Task Format
If existing task lacks proper format:
- •Apply format corrections
- •Preserve task content
- •Add missing elements (creation date, LNO label)
Continuous Improvement
Over time, this skill enables:
- •Pattern recognition: Am I drowning in overhead?
- •Strategic shifts: Consciously increase leverage work percentage
- •Honest assessment: Seeing true work composition
- •Prioritization: When overloaded, drop overhead first, protect leverage
This is the point: Notes organization isn't admin work. It's strategic resource allocation made visible.