✅ 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):
Configure your Plan2Meal backend API URL in the skill
Your backend handles all OAuth (GitHub credentials configured in Convex environment variables)
Your backend is configured with the Convex URL (stays private)
End User Flow:
User sends a command (e.g., plan2meal list)
Skill responds with a link to your Plan2Meal sign-in page (app.plan2meal.com/sign-in)
User clicks the link and authenticates with GitHub via your web app
Your backend (using Convex Auth) handles the GitHub OAuth flow
After successful authentication, your backend shows the user a session token
User copies the token and sends it back to Telegram (or types token: <token>)
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
1---2name: plan2meal3description: Plan2Meal Skill4---5# Plan2Meal Skill67A ClawdHub skill for managing recipes and grocery lists via Plan2Meal, a React Native recipe app.89## Features1011- **Recipe Management**: Add recipes from URLs, search, view, and delete your recipes12- **Grocery Lists**: Create and manage shopping lists with recipes13- **Backend Authentication**: Secure authentication via Plan2Meal web app (no secrets in skill)14- **Recipe Extraction**: Automatically fetch recipe metadata from URLs15- **Telegram Formatting**: Pretty-printed output for Telegram1617## Setup18191. Install via ClawdHub:20 ```bash21 clawdhub install plan2meal22 ```23242. Configure environment variables:25 ```bash26 cp .env.example .env27 # Edit .env with your credentials28 ```29303. Required environment variables:31 - `PLAN2MEAL_API_URL`: Your Plan2Meal backend API URL (e.g., `https://api.plan2meal.app`)3233 **Optional:**34 - `PLAN2MEAL_AUTH_URL`: Custom authentication URL (defaults to `https://app.plan2meal.com/sign-in`)3536 **Important**: 37 - **Public Skill**: This skill is published on ClawdHub. No secrets are stored in the skill.38 - **Authentication**: Users authenticate via your Plan2Meal web app, then copy a session token back to Telegram.39 - **Backend Security**: All OAuth credentials (GitHub, Convex) are configured in your backend only, never exposed.4041## Commands4243### Recipe Commands4445| Command | Description |46|---------|-------------|47| `plan2meal add <url>` | Fetch recipe metadata from URL and create recipe |48| `plan2meal list` | List your recent recipes |49| `plan2meal search <term>` | Search your recipes |50| `plan2meal show <id>` | Show detailed recipe information |51| `plan2meal delete <id>` | Delete a recipe |5253### Grocery List Commands5455| Command | Description |56|---------|-------------|57| `plan2meal lists` | List all your grocery lists |58| `plan2meal list-show <id>` | Show grocery list with items |59| `plan2meal list-create <name>` | Create a new grocery list |60| `plan2meal list-add <listId> <recipeId>` | Add recipe to grocery list |6162### Help6364| Command | Description |65|---------|-------------|66| `plan2meal help` | Show all available commands |6768## Usage Examples6970### Adding a Recipe7172```73plan2meal add https://www.allrecipes.com/recipe/12345/pasta74```7576Output:77```78✅ Recipe added successfully!7980📖 Recipe Details81━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━82Name: Classic Pasta83Source: allrecipes.com84Method: firecrawl-json (credit used)85Time: 15 min prep + 20 min cook8687🥘 Ingredients (4 servings)88• 1 lb pasta89• 2 cups marinara sauce90• 1/2 cup parmesan9192🔪 Steps931. Boil water...94```9596### Searching Recipes9798```99plan2meal search pasta100```101102### Creating a Grocery List103104```105plan2meal list-create Weekly Shopping106```107108### Adding Recipe to List109110```111plan2meal list-add <listId> <recipeId>112```113114## Recipe Limits115116The free tier allows up to **5 recipes**. You'll receive a warning when approaching this limit.117118## Authentication Architecture119120### How It Works121122**Skill Owner Setup** (one-time):1231. Configure your Plan2Meal backend API URL in the skill1242. Your backend handles all OAuth (GitHub credentials configured in Convex environment variables)1253. Your backend is configured with the Convex URL (stays private)126127**End User Flow**:1281. User sends a command (e.g., `plan2meal list`)1292. Skill responds with a link to your Plan2Meal sign-in page (`app.plan2meal.com/sign-in`)1303. User clicks the link and authenticates with GitHub via your web app1314. Your backend (using Convex Auth) handles the GitHub OAuth flow1325. After successful authentication, your backend shows the user a session token1336. User copies the token and sends it back to Telegram (or types `token: <token>`)1347. Skill validates the token with your backend and stores it securely135136**Backend Processing**:137- Your Plan2Meal backend uses Convex Auth with GitHub provider138- GitHub OAuth credentials are stored in Convex environment variables (never exposed)139- After GitHub auth, backend generates a session token for the user140- Skill sends session token to your backend API for all requests141- Your backend validates the token and makes Convex API calls on behalf of the user142- Convex URL is never exposed to users or the skill143144### Key Points145146- **Public Skill**: No secrets in the skill - safe to publish on ClawdHub147- **Backend OAuth**: All OAuth credentials (GitHub, Convex) stay in your backend148- **User Identification**: Your backend maps session tokens to Convex users internally149- **Privacy**: Convex URL stays private in your backend only150- **Security**: Session tokens are validated with your backend before use151152## License153154MIT
Run npx skillmds@latest add demerzels-lab/plan2meal in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Plan2Meal Skill It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Demerzels-lab (@demerzels-lab) published this skill. Their other Agent Skills are listed on their SkillMD profile.