skills/sbti-personality-test/SKILL.md
```markdown --- name: sbti-personality-test description: A single-page HTML personality/quiz test web app (SBTI Test mirror) with split image and HTML assets, deployable as a static site. triggers: - "set up sbti test" - "deploy personality quiz html" - "mirror sbti test page" - "customize sbti quiz" - "host static quiz site" - "modify sbti test questions" - "add sbti test to my site" - "embed personality test html" --- # SBTI Personality Test (Mirror) > Skill by [ara.so](https
npx skillsauth add aradotso/trending-skills skills/sbti-personality-testInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: sbti-personality-test
description: A single-page HTML personality/quiz test web app (SBTI Test mirror) with split image and HTML assets, deployable as a static site.
triggers:
- "set up sbti test"
- "deploy personality quiz html"
- "mirror sbti test page"
- "customize sbti quiz"
- "host static quiz site"
- "modify sbti test questions"
- "add sbti test to my site"
- "embed personality test html"
---
# SBTI Personality Test (Mirror)
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
## What This Project Does
SBTI Test is a **single-page static web application** that presents a personality/type quiz (SBTI-style) to users. The entire app is self-contained HTML with associated image assets — no backend, no build step, no dependencies to install. The HTML file itself is the full source code.
- **Live demo**: https://sbti.unun.dev
- **Original author**: Bilibili @蛆肉儿串儿
- **License**: None declared — use at your own discretion, do not trouble the original author.
The repo splits images and HTML into separate files for easier hosting/mirroring.
---
## Project Structure
SBTI-test/ ├── index.html # Main quiz page (entire app logic + UI) ├── images/ # Quiz result images, type illustrations, etc. │ ├── *.png / *.jpg └── README.md
---
## How to Deploy
### Option 1: GitHub Pages (recommended)
1. Fork or clone the repo.
2. Push to your GitHub repository.
3. Go to **Settings → Pages → Source**: set branch to `main`, folder to `/ (root)`.
4. Your site will be live at `https://<username>.github.io/<repo-name>/`.
### Option 2: Netlify / Vercel (drag & drop)
1. Download/clone the repo locally.
2. Drag the project folder into [Netlify Drop](https://app.netlify.com/drop) or import via Vercel dashboard.
3. No build command needed — output directory is the root `.`.
**Netlify config (optional `netlify.toml`):**
```toml
[build]
publish = "."
command = ""
[[headers]]
for = "/*"
[headers.values]
Cache-Control = "public, max-age=3600"
# Clone the repo
git clone https://github.com/UnluckyNinja/SBTI-test.git
cd SBTI-test
# Serve locally (Python 3)
python3 -m http.server 8080
# Then open http://localhost:8080
# OR with Node.js npx
npx serve .
# Then open http://localhost:3000
index.html — The Entire AppSince the whole app is one HTML file, all customization happens here.
Typical structure inside index.html:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SBTI 测试</title>
<style>
/* All CSS is inline */
body { font-family: sans-serif; ... }
.question { ... }
.result { ... }
</style>
</head>
<body>
<div id="app">
<!-- Quiz questions rendered here -->
</div>
<script>
// All quiz logic is inline JavaScript
const questions = [ ... ];
const results = { ... };
// Scoring, rendering, navigation logic
</script>
</body>
</html>
<!-- In <head> -->
<title>My Custom Personality Test</title>
<html lang="en"> <!-- change from zh-CN -->
Locate the questions array in the <script> block:
const questions = [
{
id: 1,
text: "你更喜欢...", // Question text
options: [
{ text: "选项A", scores: { E: 1, I: 0 } },
{ text: "选项B", scores: { E: 0, I: 1 } }
]
},
// Add more question objects here
];
Result images are referenced relative to the images/ directory:
const results = {
"ENFP": {
label: "活动家",
image: "images/ENFP.png", // <-- update path if you rename/move images
description: "..."
},
// ...
};
To replace an image:
# Replace an image file (keep same filename)
cp my-new-ENFP.png images/ENFP.png
# OR update the path in index.html results object
<!-- Embed the quiz in any page -->
<iframe
src="https://sbti.unun.dev"
width="100%"
height="800px"
frameborder="0"
style="border-radius: 12px;"
title="SBTI Personality Test">
</iframe>
If you want to add deep-linking for results, add this to the script:
// Save result to URL hash
function showResult(type) {
window.location.hash = type; // e.g. #ENFP
// ... render result UI
}
// On page load, check for hash
window.addEventListener('load', () => {
const hash = window.location.hash.slice(1); // e.g. "ENFP"
if (hash && results[hash]) {
showResult(hash);
}
});
# Connect GitHub repo in Cloudflare Pages dashboard
# Build settings:
# Framework preset: None
# Build command: (leave empty)
# Build output directory: /
# Root directory: /
CNAME file to the repo root:sbti.yourdomain.com
<username>.github.io.images/ folder is present and filenames match exactly (case-sensitive on Linux servers).index.html are relative, not absolute: images/X.png not /images/X.png (unless hosted at root).file:// directly (some browsers block relative paths).python3 -m http.server or npx serve . locally.questions array breaks everything.<meta name="viewport" content="width=device-width, initial-scale=1.0"> is present in <head>.<style> block:@media (max-width: 600px) {
.question { font-size: 16px; padding: 10px; }
.options { flex-direction: column; }
}
| Task | Where |
|------|-------|
| Edit questions | <script> block → questions array |
| Edit results/types | <script> block → results object |
| Change images | images/ folder + update paths in results |
| Change styles | <style> block in <head> |
| Deploy static | GitHub Pages / Netlify / Vercel / npx serve . |
| Local preview | python3 -m http.server 8080 |
development
```markdown --- name: compose-performance-skills description: Install and use the skydoves/compose-performance-skills agent skill library to diagnose and fix Jetpack Compose performance issues including stability, recomposition, lazy layouts, modifiers, side effects, and build configuration. triggers: - "my composable recomposes too often" - "LazyColumn drops frames during scroll" - "diagnose Compose stability issues" - "fix unnecessary recomposition in Jetpack Compose" - "optimize Com
development
Headless iOS Simulator manager with host-side HID input injection, 60fps streaming, and device farm web UI for iOS 26
development
```markdown --- name: claude-code-game-studios description: Turn Claude Code into a full 49-agent game dev studio with 72 workflow skills, automated hooks, and a real studio hierarchy for Godot, Unity, and Unreal projects. triggers: - "set up claude code game studios" - "use ai agents for game development" - "set up game dev studio with claude" - "add game studio agents to my project" - "how do I use claude code for game dev" - "set up godot unity unreal ai workflow" - "49 agents g
development
```markdown --- name: xq-py-quantum-vm description: Python implementation of the Quip Network's quantum virtual machine (xqvm) triggers: - quantum virtual machine python - xqvm quip network - quantum circuit simulation python - xq-py quantum vm - quip network quantum python - simulate quantum gates python - quantum vm xqvm - xqvm-py quantum circuit --- # xq-py Quantum Virtual Machine > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. `xqvm-py` is a Python impl