- Clarify P tag (uppercase) is ZAPS ONLY
- Reactions use p-tag (lowercase) to mention content author
- Fixed REACTION QUERIES to use -p for "reactions to my content"
- Added "reactions by someone" example using -a
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
CRITICAL DISTINCTIONS now clearly stated:
- -a, --author = WHO SIGNED the event (cryptographic author)
- -p = WHO IS MENTIONED via p-tag (tagged pubkey, NOT author)
- --tag P = WHO IS MARKED AS AUTHOR in P-tag (original content author)
Also:
- Added TAG FILTERING section explaining k, P, e, p tags
- Added REACTION QUERIES section with proper examples
- Clarified zap receipts are SIGNED by LNURL servers
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
- Explain p=recipient (gets sats) vs P=original author distinction
- Add example for filtering zaps by original content author
- Note that both tags are queryable via -p (case-insensitive)
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
- Add --tag option for generic tag filtering
- Document k-tag filtering for reactions, zaps, comments
- Clarify zap queries: -p is recipient, -a is LNURL server
- Distinguish comments (kind 1111) from note replies (kind 1)
- Add examples for filtering by referenced event kind
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
- Handle AUTH challenges from group relay using onauth callback
- Send kind 9021 join request when connecting to group
- Use direct Relay connection instead of SimplePool for group relay
- Properly close relay connection on shutdown
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
- Remove markdown formatting instructions
- Remove relay recommendations
- Remove follow-up question suggestions
- Remove non-existent @kind syntax reference
- Focus on short, direct answers with just the command and explanation
- Plain text output suitable for posting directly to group chat
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
- Reorganize filter flags into logical sections (event selection, tags, time, display)
- Add filter limitations section explaining what REQ cannot do
- Add common query patterns with practical examples
- Include NIP-05 resolution alias (@nip05)
- Add guidance on when to use the lookup tools
- Better structure for response guidelines
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
Adds npm run assistant "question" command to test the LLM processing
without needing the Nostr connection.
Also:
- Add proper API key validation with clear error message
- Add debug logging (DEBUG=1) for troubleshooting
Usage:
export ANTHROPIC_API_KEY=sk-ant-...
npm run assistant "how do I see what my contacts are zapping"
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
Bot now publishes a kind 0 profile event with name "sancho" and about
"a grimoire assistant" to discovery relays when starting up.
Discovery relays:
- relay.damus.io
- nos.lol
- relay.nostr.band
- purplepag.es
- The group relay
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz
Adds a Nostr bot that listens for mentions in NIP-29 group chats and
helps users craft REQ queries for the Nostr protocol.
Features:
- Listens for @mentions in groups.0xchat.com'NkeVhXuWHGKKJCpn
- Uses Claude (via pi-ai SDK) to understand user questions
- Provides REQ command suggestions with explanations
- Tools to look up event kinds, NIPs, and their relationships
Stack: TypeScript, nostr-tools, @mariozechner/pi-ai
https://claude.ai/code/session_01X4HWkMGrghBv2RfY89L5Lz