Best use case
plan2meal is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Teams using plan2meal should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/plan2meal/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How plan2meal Compares
| Feature / Agent | plan2meal | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill provides specific capabilities for your AI agent. See the About section for full details.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Plan2Meal Skill A ClawdHub skill for managing recipes and grocery lists via Plan2Meal, a React Native recipe app. ## Features - **Recipe Management**: Add recipes from URLs, search, view, and delete your recipes - **Grocery Lists**: Create and manage shopping lists with recipes - **Backend Authentication**: Secure authentication via Plan2Meal web app (no secrets in skill) - **Recipe Extraction**: Automatically fetch recipe metadata from URLs - **Telegram Formatting**: Pretty-printed output for Telegram ## Setup 1. Install via ClawdHub: ```bash clawdhub install plan2meal ``` 2. Configure environment variables: ```bash cp .env.example .env # Edit .env with your credentials ``` 3. Required environment variables: - `PLAN2MEAL_API_URL`: Your Plan2Meal backend API URL (e.g., `https://api.plan2meal.app`) **Optional:** - `PLAN2MEAL_AUTH_URL`: Custom authentication URL (defaults to `https://app.plan2meal.com/sign-in`) **Important**: - **Public Skill**: This skill is published on ClawdHub. No secrets are stored in the skill. - **Authentication**: Users authenticate via your Plan2Meal web app, then copy a session token back to Telegram. - **Backend Security**: All OAuth credentials (GitHub, Convex) are configured in your backend only, never exposed. ## Commands ### Recipe Commands | Command | Description | |---------|-------------| | `plan2meal add <url>` | Fetch recipe metadata from URL and create recipe | | `plan2meal list` | List your recent recipes | | `plan2meal search <term>` | Search your recipes | | `plan2meal show <id>` | Show detailed recipe information | | `plan2meal delete <id>` | Delete a recipe | ### Grocery List Commands | Command | Description | |---------|-------------| | `plan2meal lists` | List all your grocery lists | | `plan2meal list-show <id>` | Show grocery list with items | | `plan2meal list-create <name>` | Create a new grocery list | | `plan2meal list-add <listId> <recipeId>` | Add recipe to grocery list | ### Help | Command | Description | |---------|-------------| | `plan2meal help` | Show all available commands | ## Usage Examples ### Adding a Recipe ``` plan2meal add https://www.allrecipes.com/recipe/12345/pasta ``` Output: ``` ✅ Recipe added successfully! 📖 Recipe Details ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name: Classic Pasta Source: allrecipes.com Method: firecrawl-json (credit used) Time: 15 min prep + 20 min cook 🥘 Ingredients (4 servings) • 1 lb pasta • 2 cups marinara sauce • 1/2 cup parmesan 🔪 Steps 1. Boil water... ``` ### Searching Recipes ``` plan2meal search pasta ``` ### Creating a Grocery List ``` plan2meal list-create Weekly Shopping ``` ### Adding Recipe to List ``` plan2meal list-add <listId> <recipeId> ``` ## Recipe Limits The free tier allows up to **5 recipes**. You'll receive a warning when approaching this limit. ## Authentication Architecture ### How It Works **Skill Owner Setup** (one-time): 1. Configure your Plan2Meal backend API URL in the skill 2. Your backend handles all OAuth (GitHub credentials configured in Convex environment variables) 3. Your backend is configured with the Convex URL (stays private) **End User Flow**: 1. User sends a command (e.g., `plan2meal list`) 2. Skill responds with a link to your Plan2Meal sign-in page (`app.plan2meal.com/sign-in`) 3. User clicks the link and authenticates with GitHub via your web app 4. Your backend (using Convex Auth) handles the GitHub OAuth flow 5. After successful authentication, your backend shows the user a session token 6. User copies the token and sends it back to Telegram (or types `token: <token>`) 7. Skill validates the token with your backend and stores it securely **Backend Processing**: - Your Plan2Meal backend uses Convex Auth with GitHub provider - GitHub OAuth credentials are stored in Convex environment variables (never exposed) - After GitHub auth, backend generates a session token for the user - Skill sends session token to your backend API for all requests - Your backend validates the token and makes Convex API calls on behalf of the user - Convex URL is never exposed to users or the skill ### Key Points - **Public Skill**: No secrets in the skill - safe to publish on ClawdHub - **Backend OAuth**: All OAuth credentials (GitHub, Convex) stay in your backend - **User Identification**: Your backend maps session tokens to Convex users internally - **Privacy**: Convex URL stays private in your backend only - **Security**: Session tokens are validated with your backend before use ## License MIT
Related Skills
portfolio-watcher
Monitor stock/crypto holdings, get price alerts, track portfolio performance
portainer
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
portable-tools
Build cross-device tools without hardcoding paths or account names
polymarket
Trade prediction markets on Polymarket. Analyze odds, place bets, track positions, automate alerts, and maximize returns from event outcomes. Covers sports, politics, entertainment, and more.
polymarket-traiding-bot
No description provided.
polymarket-analysis
Analyze Polymarket prediction markets for trading edges. Pair Cost arbitrage, whale tracking, sentiment analysis, momentum signals, user profile tracking. No execution.
polymarket-agent
Autonomous prediction market agent - analyzes markets, researches news, and identifies trading opportunities
polymarket-5
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-4
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-3
Query Polymarket prediction market odds and events via CLI. Search for markets, get current prices, list events by category. Supports sports betting (NFL, NBA, soccer/EPL, Champions League), politics, crypto, elections, geopolitics. Real money markets = more accurate than polls. No API key required. Use when asked about odds, probabilities, predictions, or "what are the chances of X".
polymarket-2
Query Polymarket prediction markets - check odds, trending markets, search events, track prices.
pollinations
Pollinations.ai API for AI generation - text, images, videos, audio, and analysis. Use when user requests AI-powered generation (text completion, images, videos, audio, vision/analysis, transcription) or mentions Pollinations. Supports 25+ models (OpenAI, Claude, Gemini, Flux, Veo, etc.) with OpenAI-compatible chat endpoint and specialized generation endpoints.