AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
113
archive/inactive-skills/reflect/SKILL.md
Normal file
113
archive/inactive-skills/reflect/SKILL.md
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
name: reflect
|
||||
description: Append to daily notes and create notes in Reflect. Use for capturing thoughts, todos, or syncing information to your knowledge graph.
|
||||
homepage: https://reflect.app
|
||||
---
|
||||
|
||||
# Reflect Notes Skill
|
||||
|
||||
Reflect is a networked note-taking app. Notes are E2E encrypted, so the API is **append-only** — we can write but not read note contents.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Create OAuth credentials at https://reflect.app/developer/oauth
|
||||
2. Generate an access token from that interface
|
||||
3. Set environment variables:
|
||||
```bash
|
||||
export REFLECT_TOKEN="your-access-token"
|
||||
export REFLECT_GRAPH_ID="your-graph-id" # Find via: curl -H "Authorization: Bearer $REFLECT_TOKEN" https://reflect.app/api/graphs
|
||||
```
|
||||
|
||||
Or store in 1Password and update `scripts/reflect.sh` with your vault/item path.
|
||||
|
||||
## What We Can Do
|
||||
|
||||
1. **Append to daily notes** — Add items to today's note (or a specific date)
|
||||
2. **Create new notes** — Create standalone notes with subject + markdown content
|
||||
3. **Create links** — Save bookmarks with highlights
|
||||
4. **Get links/books** — Retrieve saved links and books
|
||||
|
||||
## API Reference
|
||||
|
||||
Base URL: `https://reflect.app/api`
|
||||
Auth: `Authorization: Bearer <access_token>`
|
||||
|
||||
### Append to Daily Note
|
||||
|
||||
```bash
|
||||
curl -X PUT "https://reflect.app/api/graphs/$REFLECT_GRAPH_ID/daily-notes" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"text": "Your text here",
|
||||
"transform_type": "list-append",
|
||||
"date": "2026-01-25", # optional, defaults to today
|
||||
"list_name": "[[List Name]]" # optional, append to specific list
|
||||
}'
|
||||
```
|
||||
|
||||
### Create a Note
|
||||
|
||||
```bash
|
||||
curl -X POST "https://reflect.app/api/graphs/$REFLECT_GRAPH_ID/notes" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"subject": "Note Title",
|
||||
"content_markdown": "# Heading\n\nContent here...",
|
||||
"pinned": false
|
||||
}'
|
||||
```
|
||||
|
||||
### Create a Link
|
||||
|
||||
```bash
|
||||
curl -X POST "https://reflect.app/api/graphs/$REFLECT_GRAPH_ID/links" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"url": "https://example.com",
|
||||
"title": "Page Title",
|
||||
"description": "Optional description",
|
||||
"highlights": ["Quote 1", "Quote 2"]
|
||||
}'
|
||||
```
|
||||
|
||||
### Get Links
|
||||
|
||||
```bash
|
||||
curl "https://reflect.app/api/graphs/$REFLECT_GRAPH_ID/links" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN"
|
||||
```
|
||||
|
||||
## Helper Script
|
||||
|
||||
Use `scripts/reflect.sh` for common operations:
|
||||
|
||||
```bash
|
||||
# Append to daily note
|
||||
./scripts/reflect.sh daily "Remember to review PR #6"
|
||||
|
||||
# Append to specific list in daily note
|
||||
./scripts/reflect.sh daily "Buy milk" "[[Shopping]]"
|
||||
|
||||
# Create a new note
|
||||
./scripts/reflect.sh note "Meeting Notes" "# Standup\n\n- Discussed X\n- Action item: Y"
|
||||
|
||||
# Save a link
|
||||
./scripts/reflect.sh link "https://example.com" "Example Site" "Great resource"
|
||||
```
|
||||
|
||||
## Use Cases
|
||||
|
||||
- **Capture todos** from chat → append to daily note
|
||||
- **Save interesting links** mentioned in conversation
|
||||
- **Create meeting notes** or summaries
|
||||
- **Sync reminders** to Reflect for persistence
|
||||
- **Backlink to lists** like `[[Ideas]]` or `[[Project Name]]`
|
||||
|
||||
## Limitations
|
||||
|
||||
- **Cannot read note contents** (E2E encrypted)
|
||||
- **Append-only** — can't edit or delete existing content
|
||||
- **No search** — can't query existing notes
|
||||
6
archive/inactive-skills/reflect/_meta.json
Normal file
6
archive/inactive-skills/reflect/_meta.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"ownerId": "kn7dc3y2vjvgj20sxwzn58htth7zxk5g",
|
||||
"slug": "reflect",
|
||||
"version": "1.0.0",
|
||||
"publishedAt": 1769370070278
|
||||
}
|
||||
113
archive/inactive-skills/reflect/scripts/reflect.sh
Normal file
113
archive/inactive-skills/reflect/scripts/reflect.sh
Normal file
@@ -0,0 +1,113 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Reflect API helper script
|
||||
# Usage:
|
||||
# reflect.sh daily "text" ["list_name"]
|
||||
# reflect.sh note "subject" "content_markdown"
|
||||
# reflect.sh link "url" "title" ["description"]
|
||||
# reflect.sh links
|
||||
|
||||
# Configuration: Set these environment variables
|
||||
# REFLECT_TOKEN - Your Reflect API access token (required)
|
||||
# REFLECT_GRAPH_ID - Your graph ID (required, find via /api/graphs endpoint)
|
||||
|
||||
# Check for required environment variables
|
||||
if [[ -z "${REFLECT_TOKEN:-}" ]]; then
|
||||
echo "Error: REFLECT_TOKEN environment variable not set" >&2
|
||||
echo "Get your token at: https://reflect.app/developer/oauth" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${REFLECT_GRAPH_ID:-}" ]]; then
|
||||
echo "Error: REFLECT_GRAPH_ID environment variable not set" >&2
|
||||
echo "Find your graph ID by running:" >&2
|
||||
echo " curl -H \"Authorization: Bearer \$REFLECT_TOKEN\" https://reflect.app/api/graphs" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
API_BASE="https://reflect.app/api/graphs/$REFLECT_GRAPH_ID"
|
||||
|
||||
case "${1:-help}" in
|
||||
daily)
|
||||
TEXT="${2:?Usage: reflect.sh daily \"text\" [\"list_name\"]}"
|
||||
LIST_NAME="${3:-}"
|
||||
|
||||
PAYLOAD=$(jq -n \
|
||||
--arg text "$TEXT" \
|
||||
--arg list "$LIST_NAME" \
|
||||
'{
|
||||
text: $text,
|
||||
transform_type: "list-append"
|
||||
} + (if $list != "" then {list_name: $list} else {} end)')
|
||||
|
||||
curl -s -X PUT "$API_BASE/daily-notes" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$PAYLOAD"
|
||||
;;
|
||||
|
||||
note)
|
||||
SUBJECT="${2:?Usage: reflect.sh note \"subject\" \"content_markdown\" [pinned]}"
|
||||
CONTENT="${3:?Usage: reflect.sh note \"subject\" \"content_markdown\" [pinned]}"
|
||||
PINNED="${4:-false}"
|
||||
|
||||
curl -s -X POST "$API_BASE/notes" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$(jq -n \
|
||||
--arg subject "$SUBJECT" \
|
||||
--arg content "$CONTENT" \
|
||||
--argjson pinned "$PINNED" \
|
||||
'{subject: $subject, content_markdown: $content, pinned: $pinned}')"
|
||||
;;
|
||||
|
||||
link)
|
||||
URL="${2:?Usage: reflect.sh link \"url\" \"title\" [\"description\"]}"
|
||||
TITLE="${3:?Usage: reflect.sh link \"url\" \"title\" [\"description\"]}"
|
||||
DESC="${4:-}"
|
||||
|
||||
PAYLOAD=$(jq -n \
|
||||
--arg url "$URL" \
|
||||
--arg title "$TITLE" \
|
||||
--arg desc "$DESC" \
|
||||
'{url: $url, title: $title} + (if $desc != "" then {description: $desc} else {} end)')
|
||||
|
||||
curl -s -X POST "$API_BASE/links" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$PAYLOAD"
|
||||
;;
|
||||
|
||||
links)
|
||||
curl -s "$API_BASE/links" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" | jq .
|
||||
;;
|
||||
|
||||
books)
|
||||
curl -s "$API_BASE/books" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" | jq .
|
||||
;;
|
||||
|
||||
graphs)
|
||||
# Helper to find your graph ID
|
||||
curl -s "https://reflect.app/api/graphs" \
|
||||
-H "Authorization: Bearer $REFLECT_TOKEN" | jq .
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Reflect API Helper"
|
||||
echo ""
|
||||
echo "Setup:"
|
||||
echo " export REFLECT_TOKEN=\"your-access-token\""
|
||||
echo " export REFLECT_GRAPH_ID=\"your-graph-id\""
|
||||
echo ""
|
||||
echo "Usage:"
|
||||
echo " reflect.sh daily \"text\" [\"[[List Name]]\"] - Append to daily note"
|
||||
echo " reflect.sh note \"subject\" \"markdown\" - Create a new note"
|
||||
echo " reflect.sh link \"url\" \"title\" [\"desc\"] - Save a link"
|
||||
echo " reflect.sh links - List saved links"
|
||||
echo " reflect.sh books - List books"
|
||||
echo " reflect.sh graphs - List your graphs (to find graph ID)"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user