bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Wireframes without the distraction. no-fi is an agent skill that draws UI as plain text, so a team argues about layout, content, and flow instead of color and type.
Ask for a screen and Claude answers with a monospaced drawing: boxes, fields, buttons, tables, and bar charts made from plain characters. There are no colors, fonts, or icons to react to, so the only thing left to discuss is structure.
╔══════════════════════════════════════╗
║ SIGN IN ║
║ ║
║ ┌──────────────────────────────────┐ ║
║ │ Email │ ║
║ │ [ [email protected]_______________ ] │ ║
║ │ │ ║
║ │ Password │ ║
║ │ [ ************_______________ ] │ ║
║ │ │ ║
║ │ [[ Sign in ]] [ Forgot? ] │ ║
║ └──────────────────────────────────┘ ║
╚══════════════════════════════════════╝
The outer frame is double-lined, every box inside it is single-lined, and the primary button gets double brackets. Larger screens are in Examples.
Pick one. Each puts the no-fi skill folder where your agent loads skills from.
With a prompt
Copy the install prompt from no-fi.dev and paste it into Claude Code or any agent. It runs the npx command below, or downloads the files one by one if it can't run npx.
With npx
npx no-fi-skill
This copies the skill into ~/.claude/skills/no-fi. Add --project to install it into ./.claude/skills/no-fi instead, and --force to replace an existing install.
With the skills CLI
npx skills add p-a-u-l-i-e/no-fi --skill no-fi
By hand
git clone https://github.com/p-a-u-l-i-e/no-fi.git
cp -R no-fi/plugin/skills/no-fi ~/.claude/skills/
On claude.ai
Download no-fi.zip and upload it under Settings, Capabilities, Skills. It holds only the skill folder. GitHub's Download ZIP holds the whole repository, which claude.ai won't take as a skill.
The skill is plain text plus one small checker script, in Node and Python, so you can read every file before you install it.
Ask for a screen the way you would ask a designer for a sketch. Saying wireframe or sketch is enough to load the skill, or type /no-fi in Claude Code.
Wireframe a send-money form with three steps.
Draw the settings page for notification preferences.
Let's talk through the transactions table before we design it.
Claude replies with a fenced code block, runs the checker on it, and adds a note below the drawing for anything that needs a visual described in words.
Seven rules keep every wireframe readable. The full text is in SKILL.md.
44 elements in 7 groups: Structure, Fields, Buttons, Feedback, Navigation, Data, and Charts. Each element looks like the component it stands for:
// grip.( Paid ). A tag is removable, <Food x>.The complete table, with a drawing and a note for each element, is in SKILL.md. The same data is in vocabulary.json.
Seven finished screens in examples/, built to use the whole vocabulary:
| Screen | File |
|---|---|
| Fintech dashboard | fintech-dashboard.txt |
| Send money form | send-money-form.txt |
| Transactions table | transactions-table.txt |
| Spending report | spending-report.txt |
| Card details | card-details.txt |
| Notification settings | settings-notifications.txt |
| Activity patterns | activity-patterns.txt |
Your agent checks every wireframe before it shows you one. To check one yourself, from anywhere:
npx no-fi-skill check wireframe.txt
The checker also ships with the skill, in Node and Python with the same output. From an install, or from this repository:
node ~/.claude/skills/no-fi/scripts/check_wireframe.mjs wireframe.txt
python3 plugin/skills/no-fi/scripts/check_wireframe.py wireframe.txt
It fails on unsupported characters, tabs, ASCII box borders, boxes that don't close or line up, mixed double and single lines in one box, a double-line box nested inside another box, table dividers that don't land in the same column, progress bars whose fill disagrees with their percentage, bar chart rows whose length disagrees with their value, heatmaps and stacked columns without a legend, and column charts that don't say what a row is worth.
plugin/skills/no-fi/vocabulary.json is the source of truth. These scripts live in scripts/, outside the skill, so they don't ship to users. After editing the vocabulary, run:
python3 scripts/sync_vocabulary.py # rewrite the tables in SKILL.md
node scripts/check_coverage.mjs # every element appears in an example
node plugin/skills/no-fi/scripts/check_wireframe.mjs plugin/skills/no-fi/examples/*.txt
python3 scripts/check_coverage.py gives the same coverage output without Node.
plugin/ the Claude plugin
.claude-plugin/ plugin.json
skills/no-fi/ the skill
SKILL.md rules and vocabulary tables
vocabulary.json the element vocabulary as data
examples/ finished example screens
scripts/ the wireframe checker
scripts/ maintainer scripts: vocabulary sync and coverage
bin/no-fi-skill.mjs the npx no-fi-skill command
assets/ README images
site/ the no-fi.dev site