Copilot-Generate-UI-From-UserStory-and-manage-Tickets
M365 Copilot declarative agent with MCP Server — generates HTML/CSS/JS interfaces from user stories and manages a UI ticket backlog directly in the Copilot chat.
Install / Use
claude mcp add RomainTheLowCodeBeardedBear -- npx -y github:RomainTheLowCodeBeardedBear/Copilot-Generate-UI-From-UserStory-and-manage-TicketsIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of Copilot-Generate-UI-From-UserStory-and-manage-Tickets
Copilot-Generate-UI-From-UserStory-and-manage-Tickets scores 81/100 on our quality scale, 3491st of 4,659 Development & Engineering skills we index.
Its MCP Server is 12 KB long, well organised into 33 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so Copilot-Generate-UI-From-UserStory-and-manage-Tickets is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Copilot-Generate-UI-From-UserStory-and-manage-Tickets compared with similar skills
All 4 of these similar skills score higher than Copilot-Generate-UI-From-UserStory-and-manage-Tickets; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Copilot-Generate-UI-From-UserStory-and-manage-Tickets (this skill)by RomainTheLowCodeBeardedBear | 81 | 3 | 2mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.4k | 5d ago | CLAUDE.md |
| taste-skillby Leonxlnx | 100 | 105.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.3k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 67.6k | 2d ago | CLAUDE.md |
Frequently asked questions
- How do I install Copilot-Generate-UI-From-UserStory-and-manage-Tickets?
- Run
claude mcp add RomainTheLowCodeBeardedBear -- npx -y github:RomainTheLowCodeBeardedBear/Copilot-Generate-UI-From-UserStory-and-manage-Tickets. The install tabs above show the steps for each supported agent. - Which AI agents does Copilot-Generate-UI-From-UserStory-and-manage-Tickets work with?
- It is written for Claude Code, Claude Desktop and GitHub Copilot, as a MCP Server file. Other agents that read the same format can often use it too.
- Is Copilot-Generate-UI-From-UserStory-and-manage-Tickets safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Copilot-Generate-UI-From-UserStory-and-manage-Tickets still maintained?
- The repository was last updated about 2 months ago, so Copilot-Generate-UI-From-UserStory-and-manage-Tickets is actively maintained.
Skill content
View source on GitHubUI Generator and Backlog Management for M365 Copilot
Microsoft 365 Copilot declarative agent capable of generating HTML/CSS/JS interfaces on the fly, managing a UI ticket backlog, and then combining both to create, visualize, iterate on, and save interface proposals directly in the conversation flow.
🎨 Generating a Hero landing page from a ticket

📋 Complex application form generated in one sentence
“I would like to create a fairly detailed professional expense reimbursement request interface, with a black theme, an orange title, white text, and a banner at the top to display the form name.”

💻 Code view : inspect and save the generated HTML/CSS/JS

🗂️ Full-screen Ticket Board : manage your entire backlog

🚀 First time? Check the Getting Started Guide : from installing VS Code to your first F5.
Table of contents
- Overview
- Supported use cases
- Key features
- Architecture
- Technical stack
- Available MCP tools
- HTML Widgets
- Project structure
- Prerequisites
- Installation
- 🚀 Getting Started
- Usage flow
- Data and persistence
- Skill references
- Version
- Reference template
- Documentation references
Overview
This project is an M365 Copilot declarative agent connected to a Node.js/TypeScript MCP Server. It turns a natural-language request into a usable HTML/CSS/JS interface while also providing simple management of a UI ticket backlog.
The goal is to cover a complete cycle:
- describe an interface,
- generate a prototype,
- preview it in a widget,
- iterate on it through chat,
- attach it to a ticket or save it for later.
Supported use cases
Use case 1 : Generate a UI from an existing ticket
The user selects a ticket from the backlog, asks the agent to produce an interface proposal, then views the result in the side panel. They can then refine the interface through conversation and keep the proposal associated with the ticket.
Use case 2 : Create a ticket, then generate its UI
The user describes a need, the agent creates a ticket with the useful metadata (status, priority, assignee), then generates the corresponding interface from this new backlog entry.
Use case 3 : Generate a freeform UI without a ticket
The user directly describes an interface without going through the backlog. The agent then generates a standalone UI, enables successive iterations, and may later suggest saving the result to an existing or newly created ticket.
Key features
This project is a Microsoft 365 Copilot declarative agent (Declarative Copilot Agent), connected to an MCP Server via the Model Context Protocol, with interactive MCP Apps widgets (Embedded Apps) displayed directly in M365 Copilot chat.
- M365 Copilot declarative agent : manifest v1.26, agent v1.6, plugin v2.4 with
RemoteMCPServer - Node.js/TypeScript/Express MCP Server : 10 tools exposed via Streamable HTTP
- MCP Apps widgets : 2 interactive HTML widgets embedded in chat (backlog + preview)
- HTML/CSS/JS interface generation from a natural-language description
- Incremental updates to an existing UI through chat
- UI ticket backlog management with status, priority, and assignee
- Immediate preview in full-screen mode with automatic real-time refresh
- Saving an interface proposal to an existing or new ticket
- Quick reset of demo data
- Simple storage in JSON files, without a database
Architecture
┌───────────────────────────────────────────────────────┐
│ M365 Copilot Chat │
│ (Declarative Agent + MCP App widgets) │
└──────────────────────────┬────────────────────────────┘
│ MCP Protocol (HTTP/SSE)
┌──────────────────────────▼────────────────────────────┐
│ MCP Server (Node.js) │
│ │
│ Tools: generateUI, updateUI, listTickets, getTicket │
│ generateUIFromTicket, saveUIToTicket │
│ createTicket, updateTicket, resetTickets │
│ viewTicketUI │
│ │
│ HTML Widgets (MCP Apps) │
│ · tickets-list-widget (backlog + preview) │
│ · ui-preview-widget (standalone preview) │
└───────────────────────────────────────────────────────┘
│
┌────▼────┐
│ JSON │ tickets.json (runtime data)
│ Files │ tickets-default.json (demo reset)
└─────────┘
Technical stack
| Component | Technology |
|-----------|-------------|
| Agent | M365 Declarative Copilot |
| Manifest | manifest.json v1.26 |
| Declarative agent schema | v1.6 |
| MCP Server | Node.js + TypeScript + Express |
| Transport | Streamable HTTP |
| Interactive widgets | @modelcontextprotocol/ext-apps |
| UI / theme | Fluent UI Web Components |
| Local development | M365 Agents Toolkit, devtunnel, F5 |
| Persistence | JSON files (tickets.json) |
Available MCP tools
The server exposes 10 MCP tools.
| Tool | Description |
|------|-------------|
| generateUI | Generates HTML/CSS/JS from a freeform description, without a ticket |
| updateUI | Updates an already generated freeform UI |
| listTickets | Lists all tickets in the backlog widget |
| getTicket | Retrieves the details of a ticket, including its UI proposal |
| generateUIFromTicket | Generates a UI from a ticket description and saves it to that ticket |
| saveUIToTicket | Saves a UI to an existing ticket |
| createTicket | Creates a new ticket, with an optional htmlCode |
| updateTicket | Updates a ticket's fields |
| resetTickets | Resets the backlog with demo data |
| viewTicketUI | Opens a ticket's UI proposal in the preview panel |
HTML Widgets
The project includes 2 HTML widgets used as MCP Apps in Copilot chat.
1. tickets-list-widget.html
Backlog widget displaying:
- tickets with status badges,
- priorities with color coding,
- the Generate UI, View & Edit UI, and Delete UI actions,
- a full-screen preview mode,
- automatic refresh by polling.
2. ui-preview-widget.html
Standalone preview widget intended for freeform generations (use case 3), with:
- direct HTML rendering,
- code display,
- syntax highlighting via Prism.js.
Project structure
Copilot-Generate-UI-From-UserStory-and-manage-Tickets/
├── appPackage/
│ ├── manifest.json ← M365 app manifest (v1.26)
│ ├── uiGeneratorAgent.json ← Agent definition (v1.6)
│ ├── ai-plugin.json ← MCP tools + LLM routing (v2.4)
│ └── instruction.txt ← LLM system prompt
├── mcp-server/
│ ├── src/
│ │ ├── index.ts ← Express server + CORS
│ │ └── mcp-server.ts ← 10 MCP tools + 2 widget resources
│ ├── assets/
│ │ ├── tickets-list-widget.html ← Backlog + full-screen preview
│ │ └── ui-preview-widget.html ← Standalone preview
│ ├── data/
│ │ ├── tickets.json ← Runtime data
│ │ └── tickets-default.json ← Demo data
│ ├── package.json
│ └── .env.sample
├── docs/
│ ├── getting-started.md
│ ├── TEMPLATE.md
│ └── skills/ ← Reference documentation
├── m365agents.yml ← Provisioning + deployment
├── m365agents.local.yml ← Local debug with devtunnel
└── env/
└── .env.dev ← Environment variables
Prerequisites
Before starting the project, make sure you have:
- Node.js 18, 20, or 22
- Visual Studio Code with the Microsoft 365 Agents Toolkit extension
- A Microsoft 365 account with a Copilot license
- No additional third-party secrets: no API key and no database required
Installation
git clone https://github.com/romain-gerard-exp/Copilot-Generate-UI-From-UserStory-and-manage-Tickets.git
cd Copilot-Generate-UI-From-UserStory-and-manage-Tickets
cd mcp-server
cp .env.sample .env
npm install
cd ..
# F5 dans VS Code → Debug in Copilot (Edge)
Installation notes
- The project can be run locally without a database.
- Tickets are stored in JSON files to simplify demos and iterations.
- The standard debug flow relies on M365 Agents Toolkit and devtunnel.
🚀 Getting Started
For a step-by-step setup, see the dedicated guide: docs/getting-started.md
Quick start:
- Open the project in VS Code
- Check the local configuration in
env/andmcp-server/.env - Start debugging with F5
- Wait for Copilot to open in Edge
- Interact with the agent, for example:
- Create a modern registration form with first name, last name, email, and a primary button
- Show the backlog and generate the UI for the highest-priority ticket
- Save this proposal to a new UI ticket
Usage flow
Generate a UI from an existing ticket
- List the backlog tickets
- Select a ticket
- Generate an interface proposal
- View the rendering in the side panel
- Request modifications in natural language
- Save the final version to the ticket
Create a ticket, then generate its UI
- Describe the business or functional need
- Create the ticket with its metadata
- Generate the corresponding interface
- Review the result in the widget
- Update the ticket if needed
Generate a freeform UI without a ticket
- Freely describe an interface in chat
- Display the preview in the standalone widget
- Iterate as many times as needed
- Then choose whether to keep the result as-is or attach it to a ticket
Data and persistence
Persistence relies only on JSON files:
mcp-server/data/tickets.json: current backlog statemcp-server/data/tickets-default.json: reference state for reset
This choice enables:
- quick onboarding,
- a simple demo environment,
- no dependency on a database,
- instant resets via the
resetTicketstool.
Skill references
| Skill | Description | |-------|-------------| | ui-generation-workflow.md | How to generate, edit, and save an interface from Copilot chat | | declarative-agent-mcp-setup.md | How to create an M365 declarative agent connected to an MCP Server | | mcp-app-widgets.md | How to build interactive widgets in M365 Copilot chat | | mcp-app-csp-resources.md | How to unblock CDN resources in M365 iframes | | widget-display-and-resourceuri.md | How to control which widget opens and avoid loops | | widget-fullscreen-and-state.md | How to manage full screen without losing widget state | | widget-realtime-updates.md | How to update a widget in real time while the AI is working | | llm-tool-routing.md | How to guide the LLM so it chooses the right tool |
Version
| Version | Description |
|---------|-------------|
| v1.0.0 | Initi
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
106.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
taste-skill
105.7kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
headroom
78.3kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
67.6kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
