Gift Finder
by BytesAgain
Recommend gifts by person, budget, and occasion with creative card ideas. Use when picking birthday gifts, finding presents, or writing greetings.
安装
claude skill add --url github.com/openclaw/skills/tree/main/skills/bytesagain1/gift-finder文档
Gift Finder
Multi-purpose utility tool for running tasks, managing configuration, tracking entries, searching data, and exporting results. All operations are logged with timestamps and stored locally for full traceability.
Commands
| Command | Usage | Description |
|---|---|---|
run | gift-finder run <input> | Execute main function with given input |
config | gift-finder config | Show configuration file location |
status | gift-finder status | Show current status (ready/not ready) |
init | gift-finder init | Initialize the data directory |
list | gift-finder list | List all entries from the data log |
add | gift-finder add <entry> | Add a new entry with today's date |
remove | gift-finder remove <entry> | Remove an entry |
search | gift-finder search <term> | Search entries for a keyword (case-insensitive) |
export | gift-finder export | Export all data from the log |
info | gift-finder info | Show version and data directory path |
help | gift-finder help | Show help with all available commands |
version | gift-finder version | Print version string |
Data Storage
All data is stored locally at ~/.local/share/gift-finder/ (override with GIFT_FINDER_DIR env var):
data.log— Main data log for entries added viaadd, listed vialist, searched viasearchhistory.log— Unified activity log across all commands with timestampsconfig.json— Configuration file (referenced byconfigcommand)- Follows XDG Base Directory spec (
XDG_DATA_HOMEsupported)
No cloud services, no network calls, no API keys required. Fully offline.
Requirements
- Bash 4+ (uses
set -euo pipefail) - Standard Unix utilities (
date,grep,cat) - No external dependencies
When to Use
- Maintaining a gift idea list — Use
gift-finder add "Wireless headphones for Dad's birthday"to build a running list of gift ideas, thengift-finder listto review them all when shopping time comes. - Searching past entries — Use
gift-finder search "birthday"to find all birthday-related entries across your data log when you need inspiration from previous ideas. - Initializing a fresh workspace — Use
gift-finder initwhen setting up on a new machine to create the data directory structure, thengift-finder statusto verify everything is ready. - Exporting data for sharing — Use
gift-finder exportto dump all entries to stdout, which can be redirected to a file or piped to another tool for further processing. - Quick system info check — Use
gift-finder infoto see the current version and data directory path, useful for debugging or verifying which instance is active.
Examples
# Initialize the data directory
gift-finder init
# Add a gift idea
gift-finder add "Kindle Paperwhite for Mom"
# Add another entry
gift-finder add "Board game collection for family game night"
# List all entries
gift-finder list
# Search for entries containing "Mom"
gift-finder search "Mom"
# Check current status
gift-finder status
# View configuration location
gift-finder config
# Show version and data path
gift-finder info
# Export all data
gift-finder export
# Run main function
gift-finder run "process holiday list"
# Remove an entry
gift-finder remove "Kindle Paperwhite for Mom"
How It Works
Gift Finder stores all data locally in ~/.local/share/gift-finder/. The add command appends entries to data.log with the current date prefix (YYYY-MM-DD). Every command logs its activity to history.log with timestamps in MM-DD HH:MM format. The list command displays the full data log, while search performs case-insensitive grep across entries.
Notes
- Entries are stored as plain text for easy inspection and portability
- The
removecommand logs the removal but actual deletion depends on implementation - All operations are purely local — no network access, no external APIs
- Redirect output to files with
gift-finder export > my_list.txt
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com