원클릭으로
example-app
Create an example Chatnificent app to be showcased in the /examples directory.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create an example Chatnificent app to be showcased in the /examples directory.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Deploy the Chatnificent website (examples/showcase.py) to the Linode production server. Use when the user asks to deploy, ship, push to prod, or release the website. Runs the push-already-done → pull → reload → verify loop.
Implement or extend Chatnificent pillars (LLM, Store, Engine, Auth, Tools, etc.)
Implement or modify a Chatnificent server (DevServer, Starlette, FastAPI, etc.)
| name | example-app |
| description | Create an example Chatnificent app to be showcased in the /examples directory. |
Use this skill when creating a new example app for the /examples/ directory.
All examples live in /examples/ as standalone scripts. See examples/README.md for the full index. Review existing examples before writing a new one.
.py file, not a directory# /// script metadata block declares dependencies — use uv add --script to set this upif __name__ == "__main__": app.run() guardprint() to demonstrate functionality<feature>_simple.py and <feature>_advanced.py — see "Two Versions per Example" belowEach example follows this order:
# /// script metadata block (PEP 723 inline dependencies)if __name__ == "__main__": guardThe docstring is the most important part. It should be a self-contained how-to guide that explains:
uv run examples/<name>.py)Be extensive and specific. A reader should understand the "why" behind every configuration choice, not just the "what."
Every example feature ships as two files: a simple version and an advanced version. This is non-negotiable — even a "trivial" feature gets both.
examples/<feature>_simple.py
examples/<feature>_advanced.py
No other suffixes. The shared <feature> prefix is what makes a pair discoverable in directory listings and README tables.
.py file — "advanced" means richer, not multi-file.| Role | File | What it shows |
|---|---|---|
| Simple | examples/ui_interactions.py | One Control, one DefaultLayout(controls=[...]) call — the entire feature in ~10 lines of app code |
| Advanced | examples/single_app_multi_chat_mode.py | Multiple controls + a custom delegating LLM (ModeRouter), a custom Engine (ModeAwareEngine), and a custom Layout (MultiChatModeLayout) — same primitives, production-shaped app |
When in doubt, study this pair: the simple file should feel as compact as ui_interactions.py, and the advanced file should feel as composed as single_app_multi_chat_mode.py.
Even features that look trivially small (a single LLM provider swap, a one-line system prompt) get an advanced companion. The advanced slot is where you showcase the parameter variety of that feature and pair it with one other pillar customization so the example earns its place.