Bark Notifications

v1.0.0

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...

0· 87·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
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.
Assessment
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.

Like a lobster shell, security has layers — review code before you run it.

latestvk973cart2vnc1xzdp46a0yg6518457gm
87downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

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 \n 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

ParamDescription
titleNotification title, slightly larger than body
subtitleSubtitle
bodyNotification body, use \n for line breaks
urlURL to open when notification is tapped
groupMessage group for grouping notifications
iconPush icon (iOS 15+)
soundNotification sound, e.g. alarm, birdsong
levelactive (default, lights up screen immediately) / timeSensitive (shows during Focus mode) / passive (adds to list without lighting screen)
criticalAlerttrue 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

Comments

Loading comments...