amalshaji/cafeblr/add-to-cafeblr
- community
Checking that the SKILL.md file is still in the repository.
Add a cafe to Cafe BLR from a tweet URL — fetch the tweet, build the JSON entry with the next id, validate, and raise a PR. Use when the user gives an X/Twitter status link to add to the directory.
Install
npx vskill@latest install amalshaji/cafeblr/add-to-cafeblrSKILL.md
Add the cafe from the tweet URL in $ARGUMENTS to data/cafes.json and raise a PR.
Requirements: a clone of amalshaji/cafeblr (clone it if not already inside one), bun, and an authenticated gh CLI.
1. Start from latest main
Ids must be computed against the newest data, never a stale checkout:
2. Fetch the tweet
Extract the numeric status id from the URL (x.com/<user>/status/<id> or twitter.com/...), then:
3. Guardrails — stop and tell the user if any fail
- Tweet missing or deleted (adapter returns null).
- No photo — every entry needs an image; a text-only tweet cannot be added.
When multiple tweet media items exist, inspect them and prefer a food/drink photo first; if none show food or drink, use the best available tweet image.
- Duplicate — the source URL (or the same cafe) is already in
data/cafes.json. - Sourcing policy — the author must be a real person sharing a find. Reject brand
accounts, the cafe's own account, news aggregators, and marketing handles.
4. Build the entry
name/area— from the tweet text (📍 lines are common). If the name is not in the
tweet, check the author's own follow-up replies in the thread (browser). If still unknown, ask the user rather than guessing. Area is a neighbourhood ("Indiranagar", "HSR Layout"), not an address.
knownFor— one line paraphrasing what the post itself praises. Never invent
qualities the tweet doesn't mention.
image— inspect the tweet media and choose a photo that clearly shows the
food/drink item first. If no media shows food or drink, use the best available tweet photo (or the video's poster). video — best-bitrate mp4 URL if the media is a video, else null.
mapsUrl— Google Maps link if the tweet/thread contains one (check
entities.urls[].expanded_url), else null.
googleRating— Google Maps rating for the exact place if verified, elsenull.source— canonicalhttps://x.com/<user>/status/<id>.author—@<user>.postedAt— the tweet pagedatePublishedISO timestamp. Use the browser-rendered X page metadata, not a guessed date.likes—favorite_countfrom the fetch.addedAt— today,YYYY-MM-DD.id—max + 1over the file from step 1; entries stay in id order (schema and rules:
src/lib/schema.ts, README "Add a cafe").
Append to data/cafes.json (2-space indent, key order matching existing entries).
5. Validate
Both must pass before pushing.
Then geocode the new entry for the homepage map (fetches only ids missing from data/geo.json):
If it can't resolve the entry (opaque Google Maps data=!4m2… URLs need a browser), open the mapsUrl in the browser and copy the @lat,lng from the resolved address bar into data/geo.json under the new id. A cafe missing from geo.json just won't appear on the map — don't block the PR on it; mention it in the PR body instead.
6. Raise the PR
PR body: cafe details table (name, area, source link, likes) plus a Missing data section listing anything unknown (usually mapsUrl). If mapsUrl is null, also leave a PR comment listing the missing Maps links so a human can fill them in. No AI/assistant attribution in commits or the PR.
Finish by reporting the PR URL.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/add-to-cafeblr/SKILL.md
Popularity
- Repository stars
- 3
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/amalshaji/cafeblr/add-to-cafeblr)