Skip to content

feat(skills): add Apple Notes and Reminders skills via memo CLI#95

Merged
steipete merged 2 commits intoopenclaw:mainfrom
tylerwince:claude/add-apple-notes-reminders-tXagI
Jan 3, 2026
Merged

feat(skills): add Apple Notes and Reminders skills via memo CLI#95
steipete merged 2 commits intoopenclaw:mainfrom
tylerwince:claude/add-apple-notes-reminders-tXagI

Conversation

@tylerwince
Copy link
Copy Markdown
Contributor

Summary
∙ Add Apple Notes skill (skills/apple-notes/SKILL.md) for creating, viewing, editing, searching, moving, and exporting notes via the memo CLI
∙ Add Apple Reminders skill (skills/apple-reminders/SKILL.md) for creating, completing, and deleting reminders via the memo CLI
∙ Both skills use the memo Python CLI tool, installable via Homebrew (brew tap antoniorodr/memo && brew install antoniorodr/memo/memo)
Test plan
∙ Verify memo CLI installs correctly via Homebrew on macOS
∙ Test memo notes commands (list, add, search, edit, delete, move, export)
∙ Test memo rem commands (list, add, complete, delete)
∙ Confirm skills are detected by Clawdis skill loader with correct metadata (macOS-only, requires memo binary)
∙ Verify skill descriptions trigger appropriately when users ask about notes/reminders

@steipete
Copy link
Copy Markdown
Contributor

steipete commented Jan 3, 2026

🦞 Codex Review

Findings

  • ℹ️ Low: metadata only advertises Homebrew install while docs mention pip; installer/UX won't surface pip path.
  • ℹ️ Low: Frontmatter descriptions don't flag interactive/TTY requirement; agent may attempt in non-interactive context.

Summary
New Apple Notes/Reminders skills docs for memo CLI.

Review by Clawd 🦞 via Codex

@steipete
Copy link
Copy Markdown
Contributor

steipete commented Jan 3, 2026

That's super useful. thanks!

@steipete steipete merged commit 79403f9 into openclaw:main Jan 3, 2026
1 check passed
slathrop referenced this pull request in slathrop/openclaw-js Feb 11, 2026
slathrop referenced this pull request in slathrop/openclaw-js Feb 11, 2026
Tasks completed: 2/2
- Task 1: Port commit #95 (STATE_DIR for identity + canvas)
- Task 2: Port commit #101 (doctor migration warning suppression)

SUMMARY: .planning/phases/13-paths-config-refactoring/13-04-SUMMARY.md
github-actions bot pushed a commit to Piboonsak/openclaw_github that referenced this pull request Mar 9, 2026
CyberSpencer added a commit to CyberSpencer/openclaw that referenced this pull request Mar 19, 2026
…Swabble/github.com/apple/swift-testing-6.2.4

chore(deps): bump github.com/apple/swift-testing from 0.99.0 to 6.2.4 in /Swabble
zhyongrui added a commit to zhyongrui/openclaw that referenced this pull request Mar 20, 2026
0x666c6f added a commit to 0x666c6f/openclaw that referenced this pull request Mar 26, 2026
…openclaw#95)

* fix(sre:PLA-899): refresh thread context and stop handling

* fix(sre): address PR review findings

* fix(sre): address follow-up PR comments

* fix(sre): tighten slack thread abort followups

* docs(sre): clarify incident thread abort boundary

* fix(sre): refine incident thread abort controls

* docs(sre): clarify thread refresh safeguards

* fix(sre:PLA-902): improve bot response quality from thread review findings

Address all quality gaps identified in #bug-report thread review
(Curator App V2 allocation input, 2026-03-17):

- Add 11 new anti-pattern phrases to Response Discipline blocklist
- Add Bad Example 2 (24 messages for bug investigation + PR)
- Add content gate anti-patterns to SKILL.md and HEARTBEAT.md
- Add meta-response handling rule (fold capability answers into
  incident format)
- Add bold formatting self-check with full label list to all three
  config surfaces (SKILL.md, HEARTBEAT.md, openclaw.json)
- Add Fix PR convention preflight: mandatory CLAUDE.md/CONVENTIONS.md
  read, monorepo shared-package awareness, correct Linear team routing
- Add Linear ticket dedup check (scan thread for existing tickets
  before creating new ones)
- Strengthen #bug-report mandatory evidence checklist (PostHog, deploy
  history are NOT skippable)

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

* fix(sre): allow incident abort mention bypass

* fix(sre): tighten incident thread abort guards

* fix(sre:PLA-902): add AGENTS.md to convention preflight file list

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

* fix(sre:PLA-902): propagate mandatory evidence rule to SKILL.md, dedup team routing

- Add mandatory evidence collection rule to SKILL.md Slack Alert
  Intake section (was only in #bug-report systemPrompt, missing from
  monitoring channels)
- Consolidate duplicate Linear team routing — keep detailed version in
  Fix PR convention preflight, cross-reference from Linear Ticket Ops

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

* fix(sre:PLA-902): address PR review comments

- SKILL.md: clarify "ONE message per task" means one per logical step,
  not 8 progress updates narrating the same step
- abort.ts: use ReadonlySet for constant abort trigger collections
- abort.test.ts: add edge case tests for multiple spaces, mixed case,
  and trailing punctuation in abort detection
- prepare-thread-context.ts: pass oldest param for existing session
  refreshes to avoid full thread pagination; update inline comment scope
- media.ts: add oldest param to resolveSlackThreadHistory to bound
  Slack API pagination for existing sessions

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

* feat(sre:PLA-902): add runtime enforcement plugin for incident format

Prompt-level rules alone are insufficient — the model still uses
_italic_ labels and sends progress messages. This plugin enforces
at runtime via the message_sending hook:

- Replaces _Label:_ (italic) with *Label:* (bold) for all 16
  incident section labels before delivery
- Blocks progress-only messages (short messages starting with
  known noise prefixes like "Now let me...", "Found it.", etc.)

Registered as bundled plugin, always enabled for SRE agents.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

* fix(sre:PLA-902): address PR openclaw#95 review comments

- Gate plugin registration with cfg.sre (not unconditional)
- Fix channel detection: use metadata.channelId for Slack conversation
  ID, skip DMs (IDs starting with "D")
- Add false positive protection: don't block short messages containing
  incident section labels
- Fix regex comment: labels match at start-of-line only, not mid-text
- Fix oldest docstring: "at or after" (inclusive), not just "after"
- Add "What the PR does" label to test coverage

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants