*Version 2.0.0 - Consolidated from response-format and response-excellence skills*
Install
npx skillscat add wasintoh/toh-framework/src-skills-response-format Install via the SkillsCat registry.
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