From nostr
View or update the Nostr profile (kind:0 metadata). Caches identity info in profile.json. Use when the user wants to set their Nostr name, bio, avatar, NIP-05, or lightning address.
npx claudepluginhub cameri/claude-skills --plugin nostrThis skill is limited to using the following tools:
Manages the Nostr kind:0 metadata for this identity and caches it at
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Generates or updates index.md listing all files and subdirectories in a target folder with 3-10 word descriptions from file contents. Use for indexing documentation directories.
Manages the Nostr kind:0 metadata for this identity and caches it at
~/.claude/channels/nostr/profile.json.
Arguments passed: $ARGUMENTS
~/.claude/channels/nostr/profile.json
{
"pubkey": "<hex>",
"npub": "npub1...",
"name": "alice",
"display_name": "Alice",
"about": "Bio text",
"picture": "https://...",
"website": "https://...",
"nip05": "alice@domain.com",
"lud16": "alice@domain.com",
"updatedAt": 1234567890000
}
Only fields that have been set appear in the file. pubkey, npub, and updatedAt
are always written.
~/.claude/channels/nostr/profile.json. If missing, say no profile cached yet./nostr:profile set name=... display_name=... to update.set <field>=<value> [field=value ...]Parse key=value pairs. Supported fields:
name — short handledisplay_name — display nameabout — biopicture — avatar URLwebsite — website URLnip05 — NIP-05 identifierlud16 — lightning addresspublish_metadata tool with all merged fields (excluding pubkey, npub, updatedAt).fetch — fetch profile from relaysfetch_event with pubkey from .env/identity and kinds: [0].publish_metadata tool both publishes the event and writes profile.json atomically.publish_metadata will fail — tell the user to start it.user@domain format but serve different purposes (identity verification vs lightning payments).