← Back to Skills Marketplace
yanbo92

Bark Notifications

by yanbo92 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
126
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install bark
Description
Send push notifications to iOS devices via Bark app (https://github.com/Finb/Bark). Use when user asks to push a notification to their iPhone, send a Bark no...
README (SKILL.md)

Bark Skill

Send push notifications to iOS devices via the Bark app. The Bark key is stored in ~/.bark/key.

Key Setup

Key file: ~/.bark/key (plain text, just the key string).

If the file doesn't exist or is empty, ask the user for their Bark key and write it to ~/.bark/key.

API Overview

  • Base URL: https://api.day.app/
  • Method: GET or POST
  • Required: Bark key (from ~/.bark/key), body text
  • Optional: title, subtitle, URL, icon, sound, group, level, etc.

Quick Send (GET)

Send a simple notification:

GET https://api.day.app/{key}/{body}

Send with title:

GET https://api.day.app/{key}/{title}/{body}

Send with title and subtitle:

GET https://api.day.app/{key}/{title}/{subtitle}/{body}

POST Request (Recommended for multi-line / special chars)

Use POST + --data-urlencode for plain text, newlines, and special characters:

KEY=$(cat ~/.bark/key)
curl -s -X POST "https://api.day.app/$KEY" \
  -d "title=Notification Title" \
  --data-urlencode "body=First line
Second line
Third line"

Notes:

  • Use -d "title=..." and --data-urlencode "body=..." to separate title and body
  • Newlines in body are literal line breaks (press Enter, not \ as a string)
  • --data-urlencode auto URL-encodes, no manual handling needed for Chinese or special chars
  • Do not use -d "body=multiline content" — newlines won't be preserved in form-data

Parameters

Param Description
title Notification title, slightly larger than body
subtitle Subtitle
body Notification body, use `\
` for line breaks
url URL to open when notification is tapped
group Message group for grouping notifications
icon Push icon (iOS 15+)
sound Notification sound, e.g. alarm, birdsong
level active (default, lights up screen immediately) / timeSensitive (shows during Focus mode) / passive (adds to list without lighting screen)
criticalAlert true to play sound even in Do Not Disturb (use with caution)

How to Use

  1. Read key from ~/.bark/key
  2. If key file doesn't exist or is empty, ask user for their Bark key and write it to ~/.bark/key
  3. Build the request with the key and user-provided parameters
  4. Execute via exec/curl
  5. Confirm notification received

Example

Key stored in ~/.bark/key: yourkey Title: Meeting Reminder Body: Team sync at 3pm tomorrow

curl -s -X POST "https://api.day.app/yourkey" \
  -d "title=Meeting Reminder" \
  --data-urlencode "body=Team sync at 3pm tomorrow"

Notes

  • If user doesn't have a Bark key, tell them to install the Bark app and copy the test URL from the app
  • Default public server is api.day.app; Bark also supports self-hosted servers
  • For critical alerts (level=critical), the device will play sound even in Do Not Disturb
  • Sound will loop for 30 seconds if call=1 parameter is used
Usage Guidance
This skill is coherent with its purpose but performs two sensitive actions: it will execute curl (network access) and write your Bark key in plaintext to ~/.bark/key. Only install/use it if you trust the agent. Suggested precautions: (1) provide a throwaway or limited Bark key if possible, (2) prefer entering the key on demand rather than permanently storing it, (3) if you store the key, set tight permissions (chmod 600 ~/.bark/key) and remove the file when you no longer want the skill to send notifications, (4) verify that the agent has no other unexpected shell/network privileges, and (5) consider using a self-hosted Bark endpoint if you want to avoid the public api.day.app. If you are uncomfortable with the agent writing secrets to disk, send Bark notifications manually via curl instead.
Capability Analysis
Type: OpenClaw Skill Name: bark Version: 1.0.0 The 'bark' skill is designed to send iOS push notifications using the Bark app API. It stores a user-provided API key in '~/.bark/key' and uses standard curl commands to interact with the legitimate 'api.day.app' service. The instructions in SKILL.md are transparent and directly support the stated functionality without any evidence of malicious intent, data exfiltration, or unauthorized execution.
Capability Assessment
Purpose & Capability
Name/description (Bark push notifications) align with the instructions: the skill reads a Bark key and sends requests to the Bark API. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
Instructions are narrowly scoped to reading/writing ~/.bark/key and calling the Bark API via curl. This is appropriate for the stated purpose, but the skill explicitly instructs the agent to write a plaintext key file in the user's home directory and to execute shell commands (curl), which are privacy/safety-relevant actions the user should consent to.
Install Mechanism
No install spec or external downloads; skill is instruction-only, so nothing is written to disk by an installer. This is the lowest-risk install profile.
Credentials
No environment variables or external credentials are requested. The only secret is the Bark key stored in ~/.bark/key (plain text). Requesting a single service key is proportional, but storing it unencrypted in the home directory is a potential privacy concern.
Persistence & Privilege
always:false and user-invocable:true (normal). The skill writes/reads a file in the user's home (~/.bark/key), giving it persistent local state; it does not modify other skills or system-wide settings. Users should be aware the agent will retain the key on disk unless removed.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bark
  3. After installation, invoke the skill by name or use /bark
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the Bark skill for sending push notifications to iOS devices via the Bark app. - Supports setup and storage of Bark key in `~/.bark/key`, prompting users if not found. - Provides concise instructions for both quick GET-based notifications and more robust POST-based notifications (for special characters and multiline content). - Allows customization with parameters such as title, subtitle, URL, sound, group, level, and critical alert. - Includes user guidance for first-time setup and handling of missing Bark key. - Designed to be triggered by phrases like "push to iPhone", "send a Bark notification", or "bark一下".
Metadata
Slug bark
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Bark Notifications?

Send push notifications to iOS devices via Bark app (https://github.com/Finb/Bark). Use when user asks to push a notification to their iPhone, send a Bark no... It is an AI Agent Skill for Claude Code / OpenClaw, with 126 downloads so far.

How do I install Bark Notifications?

Run "/install bark" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bark Notifications free?

Yes, Bark Notifications is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Bark Notifications support?

Bark Notifications is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bark Notifications?

It is built and maintained by yanbo92 (@yanbo92); the current version is v1.0.0.

💬 Comments