generate-demo
Skill8 starsChanged 3 months agoMITView on GitHub
Generate realistic static demo endpoints for simulating APIs like CRM, support tickets, etc. Based on scenario type, generate realistic JSON data: Support Schema: Inventory Schema: Generate multiple response files for the scenario:
- Commits and pushes
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 155
Create/update the main endpoint that apps fetch:
- Very specific: line 194
Use description to customize: /generate-demo crm "struggling startup with 2 deals"
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Generate Demo Skill
Generate realistic static demo endpoints for simulating APIs like CRM, support tickets, etc.
Usage
/generate-demo <scenario> [description]Examples:
/generate-demo crm
/generate-demo crm "enterprise software sales with 5 active deals"
/generate-demo support "IT helpdesk with mixed priority tickets"
/generate-demo inventory "warehouse with low stock alerts"Supported Scenarios
| Scenario | Description |
crm | Sales CRM with deals, contacts, pipeline stages |
support | Help desk with tickets, priorities, agents |
inventory | Product inventory with stock levels |
calendar | Meeting scheduler with appointments |
custom | Describe your own scenario |
Execution
Step 1: Parse Input
scenario = first argument (crm, support, inventory, calendar, custom)
description = remaining text (optional context for generation)Step 2: Generate Demo Data
Based on scenario type, generate realistic JSON data:
CRM Schema:
{
"assistant_response": "## Your Sales Pipeline\n\n| Deal | Company | Value | Stage | Close Date |\n|------|---------|-------|-------|------------|\n...",
"voice_response": "You have X active deals worth $Y total.",
"agent_logs": "[Demo Mode] CRM Agent - Retrieved pipeline data",
"user_guid": "demo-user-crm",
"mode": "demo",
"data": {
"deals": [
{
"id": "deal_001",
"name": "Enterprise License",
"company": "Acme Corp",
"value": 50000,
"stage": "negotiation",
"probability": 75,
"close_date": "2025-02-15",
"contact": "Jane Smith",
"notes": "Final pricing review scheduled"
}
],
"summary": {
"total_deals": 5,
"total_value": 185000,
"weighted_value": 125000,
"stages": {
"prospecting": 1,
"qualification": 1,
"proposal": 1,
"negotiation": 2
}
}
}
}Support Schema:
{
"assistant_response": "## Open Tickets\n\n| ID | Subject | Priority | Status | Assigned |\n|----|---------|----------|--------|----------|\n...",
"voice_response": "You have X open tickets, Y are high priority.",
"agent_logs": "[Demo Mode] Support Agent - Retrieved ticket queue",
"user_guid": "demo-user-support",
"mode": "demo",
"data": {
"tickets": [
{
"id": "TKT-1234",
"subject": "Login issue after password reset",
"priority": "high",
"status": "open",
"created": "2025-01-30T10:30:00Z",
"customer": "john.doe@company.com",
"assigned_to": "Agent Sarah",
"category": "authentication"
}
],
"summary": {
"total_open": 12,
"high_priority": 3,
"avg_response_time": "2.5 hours"
}
}
}Inventory Schema:
{
"assistant_response": "## Inventory Status\n\n| SKU | Product | Stock | Status | Reorder |\n|-----|---------|-------|--------|----------|\n...",
"voice_response": "X items are low on stock and need reordering.",
"agent_logs": "[Demo Mode] Inventory Agent - Retrieved stock levels",
"user_guid": "demo-user-inventory",
"mode": "demo",
"data": {
"products": [
{
"sku": "WIDGET-001",
"name": "Premium Widget",
"stock": 15,
"min_stock": 50,
"status": "low",
"reorder_qty": 100,
"supplier": "WidgetCo",
"last_restock": "2025-01-15"
}
],
"summary": {
"total_products": 150,
"low_stock": 8,
"out_of_stock": 2
}
}
}Step 3: Create Response Files
Generate multiple response files for the scenario:
api-demo/scenarios/<scenario>/
├── overview.json # Dashboard/summary view
├── list.json # List all items
├── detail.json # Single item detail
├── create.json # Response after creating item
├── update.json # Response after updating item
└── search.json # Search resultsStep 4: Update Active Scenario
Create/update the main endpoint that apps fetch:
# Copy overview as the default response
cp api-demo/scenarios/<scenario>/overview.json api-demo/responses/<scenario>.jsonStep 5: Commit and Push
cd /Users/kodywildfeuer/Documents/GitHub/CommunityRAPP
git add api-demo/
git commit -m "Generate: <scenario> demo data - <description>"
git push origin mainStep 6: Output Results
✅ Demo scenario generated: <scenario>
📁 Files created:
- api-demo/scenarios/<scenario>/overview.json
- api-demo/scenarios/<scenario>/list.json
- api-demo/scenarios/<scenario>/detail.json
- api-demo/responses/<scenario>.json
🔗 Test endpoints:
- Overview: https://raw.githubusercontent.com/kody-w/CommunityRAPP/main/api-demo/responses/<scenario>.json
- List: https://raw.githubusercontent.com/kody-w/CommunityRAPP/main/api-demo/scenarios/<scenario>/list.json
💡 Use in your app:
fetch('https://raw.githubusercontent.com/kody-w/CommunityRAPP/main/api-demo/responses/<scenario>.json')Tips
- Generated data uses realistic names, dates, and values
- Each run creates fresh data (previous scenario preserved in scenarios/)
- Use description to customize:
/generate-demo crm "struggling startup with 2 deals" - Chain scenarios: generate CRM, then support for same "company"
Triggering from Apps
Apps can simulate different states by fetching different scenario files:
// Fetch based on user action
const scenario = userAction === 'view_pipeline' ? 'overview' : 'list';
const url = `https://raw.githubusercontent.com/kody-w/CommunityRAPP/main/api-demo/scenarios/crm/${scenario}.json`;
const response = await fetch(url);In this repository509 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- rapp_ai/CLAUDE.mdCLAUDE.md
- rapp_brainstem/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- rapp_ai/.github/copilot-instructions.mdCopilot instructions
- community_rappSkill
- rapp-brainstemSkill
- aibast-easy-mode-brainstemSkill
- aibast-easy-mode-copilotSkill
- aibast-staging-ring-testSkill
- account-intelligence-account-overviewSkill
- account-intelligence-competitive-intelSkill
- account-intelligence-executive-briefingSkill
- account-intelligence-risk-assessmentSkill
- account-intelligence-stakeholder-mapSkill
- account-intelligence-value-messagingSkill
- escalation-routingSkill
- follow-up-planSkill
- handle-inquirySkill
- interaction-summarySkill
- knowledge-searchSkill
- prepare-actionsSkill
- recommend-resolutionSkill
- satisfaction-surveySkill
- benefits-summarySkill
- health-insuranceSkill
- leave-balanceSkill
- parental-leaveSkill
- remindersSkill
- remote-workSkill
- submit-time-offSkill
- time-off-checkSkill
- asset-maintenance-forecast-asset-healthSkill
- asset-maintenance-forecast-budget-projectionSkill
- asset-maintenance-forecast-maintenance-forecastSkill
- asset-maintenance-forecast-work-order-planSkill
- compare-plansSkill
- deadline-remindersSkill
- document-checklistSkill
- election-draftSkill
- enrollment-windowSkill
- life-event-changeSkill
- provider-networkSkill
- approval-routeSkill
- content-scanSkill
- draft-briefSkill
- figure-checkSkill
- gap-reportSkill
- list-templatesSkill
- proactive-applicant-updatesSkill
- new-application-intake-checkSkill
- automated-code-compliance-reviewSkill
- synthetic-permit-fee-estimateSkill
- inspector-board-and-coverageSkill
- intake-triage-and-review-routingSkill
- permit-backlog-and-complaint-riskSkill
- permit-issuance-packageSkill
- permit-status-and-zoning-detailSkill
- permit-review-checklistSkill
- plan-review-routingSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

