Awesome-omni-skill project-overview
A protocol for creating a new IoT LED controller project from scratch, including setting up the folder structure, initializing PlatformIO for the firmware, and setting up a React/Vite project for the web UI.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/project-overview-kabroxiko" ~/.claude/skills/diegosouzapw-awesome-omni-skill-project-overview && rm -rf "$T"
manifest:
skills/development/project-overview-kabroxiko/SKILL.mdsource content
Agentic Project Scaffolding Protocol
As an AI assistant, your goal is to create a new, fully structured project for an IoT LED controller with a web-based UI. When the user asks to "create a new LED controller project" or similar, follow this protocol.
Step 1: Gather Requirements from the User
- Ask the user for a project name. This will be used for the root directory.
- Confirm the target microcontroller. Default to
for an ESP32.esp32dev - Inform the user that you will create a two-part project: a C++ firmware backend and a React/Vite web frontend.
Step 2: Create the Project Structure
Execute the following commands to create the necessary directories.
- Create Root Directory:
mkdir <project-name> cd <project-name> - Create Subdirectories:
mkdir src mkdir web mkdir scripts
Step 3: Initialize the Firmware Backend
- Initialize PlatformIO: Run this command in the project's root directory.
This will createplatformio project init --board esp32dev
and other necessary files.platformio.ini - Create
: Create a placeholdermain.cpp
file with a minimal Arduino sketch.src/main.cpp#include <Arduino.h> void setup() { Serial.begin(115200); Serial.println("Hello from the new project!"); } void loop() { delay(1000); }
Step 4: Initialize the Web UI Frontend
- Initialize Vite Project: Run this command from the project root to create a React project inside the
directory.webnpm create vite@latest web -- --template react - Install Dependencies:
npm install --prefix web
Step 5: Create Helper Scripts
- Create
: Create a placeholder Python script in theembed_assets.py
directory. This script will eventually be used to embed the web UI into the firmware.scripts/# scripts/embed_assets.py print("This script will be used to embed the web assets.") # TODO: Implement the logic to convert web/dist files into C++ headers.
Step 6: Conclude and Inform the User
- Summarize the project structure you have created.
- Provide the user with the next steps:
- "You can now start developing the firmware in the
directory."src - "To work on the web UI,
and runcd web
."npm run dev - "Remember to build the web UI and run the
script before deploying the firmware."embed_assets.py
- "You can now start developing the firmware in the