*Version 2.0.0 - Consolidated from response-format and response-excellence skills*
Instal·la
npx skillscat add wasintoh/toh-framework/src-skills-response-format Instal·la des del registre de SkillsCat.
Response Format Skill
Skill: response-format
Version: 2.0.0
For: Toh Framework v1.4.0+
Used by: ALL Agents (MANDATORY)
🎯 Purpose
Define the standard response format that ALL agents MUST use to ensure users:
- Know what AI did for them
- Know what they received
- Know what they need to do next (if anything)
Golden Rule: "If the user has to ask a follow-up question, your response wasn't complete enough."
🚨 The Problem We're Solving
❌ Bad Response (Anti-Pattern)
AI: "Done! The automatic ngrok URL detection system is ready.
Files created:
- /src/app/api/ngrok/detect/route.ts
- /src/lib/webhook-url.ts
How to use:
1. Open ngrok: ngrok http 3000
2. Open Settings page..."
User: "Wait, so I need to run ngrok myself first?"
→ User had to ask because AI didn't clearly state what USER must do✅ Good Response (Required Format)
AI: "## ✅ What I Did
**Files created:**
- `/src/app/api/ngrok/detect/route.ts` - Auto-detect ngrok URL
- `/src/lib/webhook-url.ts` - Webhook URL utility
---
## 🎁 What You Get
- ✅ Automatic ngrok URL detection
- ✅ Webhook URL updates dynamically
- ✅ Status badge on Settings page
---
## 👉 What You Need To Do
### Right now:
1. **Run ngrok first:** `ngrok http 3000`
2. Copy the URL you get (e.g., https://xxxx.ngrok.io)
3. Open Settings → Chatbot → Channels tab
4. The system will detect your ngrok URL automatically
⚠️ **Important:** You must run ngrok yourself. The system only detects
the URL - it doesn't start ngrok for you."
→ User knows exactly what to do without asking📋 Required Response Format
The Three Sections (MANDATORY)
Every response after completing work MUST include these three sections:
## ✅ What I Did
**Files created:**
- `/path/to/file.tsx` - Brief description
**Files modified:**
- `/path/to/file.tsx` - What changed
**Dependencies installed:** (if any)
- `package-name` - Purpose
---
## 🎁 What You Get
- ✅ Feature/benefit 1 (user-facing, not technical)
- ✅ Feature/benefit 2
- ✅ Feature/benefit 3
**Preview:** http://localhost:3000/path (if applicable)
---
## 👉 What You Need To Do
### Right now:
[Clear, actionable steps OR "Nothing! Just open the preview and check it out."]
### Optional next steps:
[Suggestions for what to do next]📝 Section Guidelines
Section 1: ✅ What I Did
Purpose: Tell user exactly what was created/changed
Must include:
- File paths with brief descriptions
- Dependencies installed (if any)
- Configuration changes (if any)
Example:
## ✅ What I Did
**Files created:**
- `/src/app/dashboard/page.tsx` - Main dashboard page
- `/src/components/dashboard/StatsCard.tsx` - Statistics card component
- `/src/hooks/useStats.ts` - Hook for fetching stats
**Files modified:**
- `/src/components/Sidebar.tsx` - Added dashboard link
- `/src/app/layout.tsx` - Added navigation item
**Dependencies installed:**
- `recharts` - For charts and graphsSection 2: 🎁 What You Get
Purpose: Describe benefits in USER terms, not technical terms
Must include:
- User-facing features/benefits
- What they can now do
- Preview URL (if UI was created)
✅ Good (User perspective):
## 🎁 What You Get
- ✅ Dashboard page ready to use
- ✅ Real-time statistics display
- ✅ Charts showing 7-day trends
- ✅ Responsive on all devices
- ✅ Dark mode support
**Preview:** http://localhost:3000/dashboard❌ Bad (Technical perspective):
## 🎁 What You Get
- ✅ Created page.tsx successfully
- ✅ Imported recharts library
- ✅ Used Tailwind CSS classesSection 3: 👉 What You Need To Do
Purpose: Tell user EXACTLY what action they need to take
Three scenarios:
Scenario A: No action needed
## 👉 What You Need To Do
### Right now:
Nothing! ✨ Just open http://localhost:3000/dashboard and check it out.
### Want to customize?
- Change colors: Tell me your preferred color scheme
- Add more charts: Tell me what data you want to visualizeScenario B: User action required
## 👉 What You Need To Do
### Right now:
1. **Run ngrok:** `ngrok http 3000`
2. **Copy the HTTPS URL** you get (e.g., https://abc123.ngrok.io)
3. **Tell me the URL** so I can configure the webhook
⚠️ **Why ngrok?** LINE webhooks require HTTPS. Ngrok creates a secure tunnel to your localhost.Scenario C: Multiple options
## 👉 What You Need To Do
### Choose your path:
**Option A: Use mock data first (Recommended)**
- Nothing to do! Open the preview and test the UI
- We'll connect real data later
**Option B: Connect Supabase now**
1. Create a project at https://supabase.com
2. Copy your API keys
3. Tell me "Ready to connect Supabase"
Which would you prefer?🎯 Context-Specific Templates
After Creating UI
## ✅ What I Did
**Files created:**
- [list files with descriptions]
---
## 🎁 What You Get
- ✅ [Feature 1]
- ✅ [Feature 2]
- ✅ [Feature 3]
**Preview:** http://localhost:3000/[path]
---
## 👉 What You Need To Do
### Right now:
Open http://localhost:3000/[path] and check it out!
### Want changes?
- Different layout? Just describe what you want
- Different colors? Tell me your preferenceAfter Fixing a Bug
## ✅ What I Fixed
**Problem:** [Description of the bug]
**Root cause:** [What was causing it]
**Files modified:**
- [list files with what changed]
---
## 🎁 Result
- ✅ [Problem] is now fixed
- ✅ [Any side benefits]
---
## 👉 What You Need To Do
### Right now:
Refresh the page (or hard refresh: Cmd+Shift+R) and test again.
### Still having issues?
Let me know and I'll investigate further.After Backend Integration
## ✅ What I Did
**Integration:** [Supabase/API/etc.]
**Files created:**
- [list files]
**Environment variables needed:**
- `SUPABASE_URL` - Your Supabase project URL
- `SUPABASE_ANON_KEY` - Your public API key
---
## 🎁 What You Get (after setup)
- ✅ [Feature 1]
- ✅ [Feature 2]
---
## 👉 What You Need To Do
### Step 1: Get your API keys
1. Go to https://supabase.com/dashboard
2. Open your project (or create one)
3. Go to Settings → API
### Step 2: Add to your project
Create/edit `.env.local` and add:SUPABASE_URL=your_url_here
SUPABASE_ANON_KEY=your_key_here
### Step 3: Restart and test
1. Restart dev server: `npm run dev`
2. Test at http://localhost:3000/[path]
### Step 4: Let me know
Tell me "Keys are set" and I'll continue with the next step.⚠️ Rules (MUST Follow)
ALWAYS DO:
- ✅ Include all three sections in every completion response
- ✅ State clearly what user needs to do (even if it's "nothing")
- ✅ Provide preview URLs for UI work
- ✅ Explain WHY if user needs to do something non-obvious
- ✅ Anticipate follow-up questions and answer them preemptively
NEVER DO:
- ❌ End with just "Done!" without the three sections
- ❌ Use technical jargon in "What You Get" section
- ❌ Leave user guessing what to do next
- ❌ Forget to mention required user actions (like running ngrok)
- ❌ Skip the preview URL when UI was created
✅ Pre-Response Checklist
Before sending ANY completion response, verify:
| Check | Question |
|---|---|
| □ | Did I include "✅ What I Did" section? |
| □ | Did I include "🎁 What You Get" section? |
| □ | Did I include "👉 What You Need To Do" section? |
| □ | Is "What You Get" written from USER perspective? |
| □ | Is "What You Need To Do" clear and actionable? |
| □ | If nothing needed, did I explicitly say "Nothing needed"? |
| □ | If preview exists, did I include the URL? |
| □ | Can user follow my instructions without asking questions? |
If any check fails → Fix before sending!
🌐 Language Adaptation
The response format sections should adapt to the project's language setting:
English (Default)
- ✅ What I Did
- 🎁 What You Get
- 👉 What You Need To Do
Thai
- ✅ สิ่งที่ทำให้
- 🎁 สิ่งที่คุณได้
- 👉 สิ่งที่คุณต้องทำ
Other Languages
Translate section headers while keeping the same structure.
🔗 Integration with Agents
ALL agents must:
- Load this skill in their skills list
- Use this format in PHASE 5: REPORT (or equivalent delivery phase)
- Never skip sections even if they seem obvious
# In agent file
skills:
- response-format # MANDATORY for all agents
- [other skills...]Version 2.0.0 - Consolidated from response-format and response-excellence skills