From AIOS
Set up a Local OS — bootstrap a local Obsidian vault as your second brain and run personalized onboarding. Creates all directories, system files, Obsidian config, memory system, hooks, and output styles, then interviews the user to personalize everything. Two modes — Solopreneurs/Professionals (default), Business/Teams. The Local OS tier of the AIOS family (alongside Skill OS and Cloud OS). Use when user says "set up a local OS", "set up my vault", "bootstrap", "initialize", "onboarding", or runs /local-os-builder.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aios:local-os-builderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
USE WHEN the user runs `/local-os-builder` or asks to set up a Local OS, set up their vault, bootstrap the assistant, initialize the system, or configure a local Obsidian second brain.
references/claude-md-context.mdreferences/claude-md-daily.mdreferences/claude-md-departments.mdreferences/claude-md-intelligence.mdreferences/claude-md-onboarding.mdreferences/claude-md-processes.mdreferences/claude-md-projects.mdreferences/claude-md-resources.mdreferences/claude-md-skills.mdreferences/claude-md-team.mdreferences/claude-md-template-business.mdreferences/claude-md-template.mdreferences/claudeignore-template.mdreferences/context-brand.mdreferences/context-business.mdreferences/context-icp.mdreferences/context-infrastructure.mdreferences/context-market.mdreferences/context-me.mdreferences/context-operator.mdUSE WHEN the user runs /local-os-builder or asks to set up a Local OS, set up their vault, bootstrap the assistant, initialize the system, or configure a local Obsidian second brain.
This is the Local OS tier of the AIOS family — the brain lives in a local Obsidian vault on disk. It shares the same internal structure as the Skill OS and Cloud OS tiers, so a user can graduate between them.
This is a three-phase process:
Check if claude.md or CLAUDE.md exists only in the current working directory (do NOT search subdirectories or parent directories — check only the exact CWD path).
Ask the user to pick a mode using AskUserQuestion with these exact label and description values:
What type of vault do you want?Solopreneurs/Professionals — description: Blends work and personal. Best for solo founders, freelancers, consultants.Business/Teams — description: Org structure with departments, processes, stakeholders. Best for teams and companies.CRITICAL: You MUST pass both label AND description for each option in AskUserQuestion. The description field is what explains each mode to the user. Never leave description empty.
Mode mapping:
os-mode: professionalos-mode: businessAccept any clear signal: "solo", "professional", "freelancer", "business", "org", "team", etc.
If the user skips or says "I don't know", use Solopreneurs/Professionals (professional mode).
Store the selected mode. It will be written to CLAUDE.md frontmatter as os-mode: professional | business.
Create the directory structure and write all system files for the selected mode.
Every references/<file>.md mentioned below lives in the references/ subdirectory next to this SKILL.md — not in the user's working directory. Two conventions matter:
references/foo.md) → resolve relative to this SKILL.md's directory../Foo/CLAUDE.md) → resolve relative to the user's current working directory (the vault root).If the Read tool can't open a references/... path directly (some harnesses mount the skill at a path that differs between Read and Bash), run a quick discovery step once before Step A.2:
# Find the references directory; cache the result for the rest of Phase A.
find / -type d -path '*/setup/references' 2>/dev/null | head -1
Use that absolute path as the prefix for every reference read in Phase A and Phase B. Don't retry path resolution per-file — do it once and reuse.
All modes share this base:
mkdir -p .claude
mkdir -p Context
mkdir -p Projects
mkdir -p Daily
mkdir -p Resources
mkdir -p Skills
Solopreneurs/Professionals mode adds:
mkdir -p Intelligence/meetings/team-standups
mkdir -p Intelligence/meetings/client-calls
mkdir -p Intelligence/meetings/one-on-ones
mkdir -p Intelligence/meetings/general
mkdir -p Intelligence/competitors
mkdir -p Intelligence/market
mkdir -p Intelligence/decisions
mkdir -p Intelligence/archive
Business mode adds:
mkdir -p Intelligence/meetings/team-standups
mkdir -p Intelligence/meetings/client-calls
mkdir -p Intelligence/meetings/one-on-ones
mkdir -p Intelligence/meetings/board-reviews
mkdir -p Intelligence/meetings/all-hands
mkdir -p Intelligence/meetings/cross-team
mkdir -p Intelligence/meetings/general
mkdir -p Intelligence/competitors
mkdir -p Intelligence/market
mkdir -p Intelligence/decisions
mkdir -p Intelligence/processes
mkdir -p Intelligence/archive
mkdir -p Departments
mkdir -p Team
mkdir -p Onboarding
mkdir -p Resources/templates
Team/ is created empty here. Profile-first subfolders (Team/{org}/Profiles/{person}/...) are scaffolded in Phase B once Q6 answers are in.
Read each reference file and write it to the corresponding local path. The reference files contain the complete content for each system file.
All modes — shared system files:
| Reference File | Creates at Local Path |
|---|---|
references/settings-json-template.md | ./.claude/settings.json |
references/claudeignore-template.md | ./.claudeignore |
references/gitignore-template.md | ./.gitignore |
Mode-specific root CLAUDE.md template:
| Mode | Reference File | Creates at Local Path |
|---|---|---|
| Solopreneurs/Professionals | references/claude-md-template.md | ./CLAUDE.md |
| Business | references/claude-md-template-business.md | ./CLAUDE.md |
Per-folder routing indexes (every major folder gets its own CLAUDE.md — matches production vault convention):
| Mode | Reference File | Creates at Local Path |
|---|---|---|
| Solopreneurs/Professionals | references/claude-md-context.md | ./Context/CLAUDE.md |
| Solopreneurs/Professionals | references/claude-md-projects.md | ./Projects/CLAUDE.md |
| Solopreneurs/Professionals | references/claude-md-daily.md | ./Daily/CLAUDE.md |
| Solopreneurs/Professionals | references/claude-md-intelligence.md | ./Intelligence/CLAUDE.md |
| Solopreneurs/Professionals | references/claude-md-resources.md | ./Resources/CLAUDE.md |
| Solopreneurs/Professionals | references/claude-md-skills.md | ./Skills/CLAUDE.md |
| Business | references/claude-md-context.md | ./Context/CLAUDE.md |
| Business | references/claude-md-projects.md | ./Projects/CLAUDE.md |
| Business | references/claude-md-daily.md | ./Daily/CLAUDE.md |
| Business | references/claude-md-intelligence.md | ./Intelligence/CLAUDE.md |
| Business | references/claude-md-resources.md | ./Resources/CLAUDE.md |
| Business | references/claude-md-skills.md | ./Skills/CLAUDE.md |
| Business | references/claude-md-departments.md | ./Departments/CLAUDE.md |
| Business | references/claude-md-team.md | ./Team/CLAUDE.md |
| Business | references/claude-md-onboarding.md | ./Onboarding/CLAUDE.md |
| Business | references/claude-md-processes.md | ./Intelligence/processes/CLAUDE.md |
For each row applicable to the selected mode: read the reference file, then write its content to the local path.
All modes — create placeholder skill folders:
mkdir -p Skills/linkedin-writer/references
mkdir -p Skills/newsletter-writer/references
Then write placeholder files from references:
references/skills-placeholder-linkedin-notes.md → write to ./Skills/linkedin-writer/notes.mdreferences/skills-placeholder-linkedin-example.md → write to ./Skills/linkedin-writer/references/example-post.mdreferences/skills-placeholder-newsletter-strategy.md → write to ./Skills/newsletter-writer/strategy.mdreferences/skills-placeholder-newsletter-example.md → write to ./Skills/newsletter-writer/references/example-edition.mdSolopreneurs/Professionals mode:
references/context-me.md → write to ./Context/me.mdBusiness mode:
references/context-operator.md → write to ./Context/operator.mdreferences/context-organization.md → write to ./Context/organization.mdreferences/context-team.md → write to ./Context/team.mdreferences/context-strategy-business.md → write to ./Context/strategy.mdBusiness mode — Team/ is created empty in Phase A. Profile-first scaffolding (Team/{org}/Profiles/{person}/...) happens in Phase B Build Step 3 once Q6 answers identify the actual people.
chmod +x .claude/hooks/*.sh
Tell the user:
Skills/Resources/ for storing prompts, frameworks, swipe files, and templatesThen proceed to Phase B.
This skill runs inside Cowork. Phase B uses Cowork's rich-HTML widget tool — not AskUserQuestion — to render a real form with stacked categories, free-text textareas, and proper styling (matches the look of os-optimizer's "Audit run details" form).
It's a guided brain dump across 12 categories of the user's life and business, batched into 3 rich-HTML forms (4 categories per form). Bullet points inside each category are inspiration prompts — riff on whatever lands.
The pitch to the user: sit down for an hour or two, pour a beer, order a pizza, and brain-dump. It's not only for the assistant to feel personal on day one — it's a useful exercise in itself.
mcp__visualize__show_widget (Cowork-only)Each of the 3 forms is one call to mcp__visualize__show_widget. The tool accepts:
| Field | Purpose |
|---|---|
title | Internal widget identifier (e.g. os_setup_form_1_you_business) |
loading_messages | Array of short strings shown while the form renders |
widget_code | Raw HTML for the form (uses Cowork's elicit-* class conventions) |
The user fills in the form and submits. The submitted values come back to the agent as the tool result. The agent then proceeds to the next form. No AskUserQuestion. No radio buttons. No "Other" box.
Inside each category's textarea, the user can:
Two kinds of knowledge: what lives in your head (Whisper it) and what already lives online or in a tool (paste links / docs). Mix freely per category. Leave a textarea blank to skip that category.
Send this verbatim (or close to it), no tool call yet:
Three short forms, four categories each, twelve categories total. This isn't a quiz — it's a guided brain dump.
Each category has three ways to give me context: a brain-dump textarea, a links & file paths field, and a file upload. Use any or all. Brain-dump anything around the bullet inspirations — you don't have to hit each one. Leave a category blank to skip it.
Best inputs: a Whisper / dictation transcript, an About page URL, a brand guide PDF, an OKR doc, a LinkedIn profile, a Notion page. The more you give me, the less generic your vault will be on day one.
Sit down for an hour or two. Pour a beer. Order a pizza. This is worth it.
Submit each form when ready. Type "skip all" anytime to jump to defaults.
Each category gets three inputs: a brain-dump textarea, a links/paths textarea, and a file upload input. Any or all can be filled. All blank = skip.
Inside widget_code for each form, build a <form class="elicit"> containing one header and four elicit-group blocks. Per category:
<div class="elicit-group">
<label class="elicit-question">{N}/12 — {Category name}</label>
<div class="elicit-bullets" style="font-size:13px; color:var(--color-text-secondary); margin:8px 0">
<ul style="margin:0; padding-left:18px">
<li>{inspiration bullet 1}</li>
<li>{inspiration bullet 2}</li>
<li>{inspiration bullet 3}</li>
<!-- etc -->
</ul>
<p style="margin-top:6px; font-style:italic">Brain-dump in the textarea below, OR paste links / file paths, OR upload docs. Any combination. Leave all blank to skip this category.</p>
</div>
<textarea class="elicit-textarea" name="cat{N}_braindump" rows="6"
style="width:100%; border-radius:10px; padding:10px; border:1px solid var(--color-border-subtle); font-family:inherit; font-size:13px; margin-bottom:8px"
placeholder="Brain dump — paste a Whisper transcript, or type long-form…"></textarea>
<textarea class="elicit-textarea" name="cat{N}_links" rows="2"
style="width:100%; border-radius:10px; padding:10px; border:1px solid var(--color-border-subtle); font-family:inherit; font-size:13px; margin-bottom:8px"
placeholder="Links & file paths — one per line (Notion URL, LinkedIn profile, /path/to/file.pdf, etc.)"></textarea>
<input class="elicit-file" type="file" name="cat{N}_files" multiple
accept=".md,.txt,.pdf,.docx,.pptx,.xlsx,.csv,.json,.yaml,.yml,.png,.jpg,.jpeg"
style="font-size:12px; color:var(--color-text-secondary)">
</div>
And one header at the top of <form class="elicit">:
<div class="elicit-header">
<svg viewBox="0 0 20 20" fill="currentColor" width="20" height="20"><!-- pencil/clipboard icon --></svg>
<span>{Form title}</span>
</div>
<div class="elicit-body">
<!-- 4 elicit-group blocks -->
</div>
Reuse the SVG icon pattern from the os-optimizer Audit run details widget (clipboard-with-marks icon). Form titles: "You & business", "Customer & brand", "How you operate" (solo) — or "You & company", "Offer, customer & brand", "How the company operates" (business).
When the widget returns, the result is a record mapping each input's name to its value:
cat{N}_braindump → string (the typed text / transcript)cat{N}_links → string (newline-separated URLs and file paths)cat{N}_files → array of file references (Cowork uploads these into the workspace folder; the result gives you the paths or signed URLs)A category is "skipped" only when all three inputs are empty/blank.
After each form returns, for each category (N = 1..4 in this form):
cat{N}_braindump — if non-empty, tag and store raw in the working corpus under the category. Don't paraphrase.cat{N}_links — split on newlines. For each line:
cat{N}_files — for each uploaded file:
.md, .txt, .json, .yaml, .csv → Read directly.pdf → Read with pages param if large.docx/.pptx/.xlsx → use pandoc / textutil via Bash if available; otherwise note and continueMerge everything into the corpus tagged by category. Then immediately fire the next form. No commentary or summarization between forms.
Both modes use Oskar's category breakdown. Bullet inspiration prompts are Oskar's prompt blocks verbatim, plus Ben's framing of "brain-dump anything around any of these bullets."
Form 1 — You & business — one mcp__visualize__show_widget call. Title: os_setup_form_1_you_business. Contains Q1–Q4 as stacked elicit-group blocks.
Q1. You. Form header: You
Bullets:
Q2. Your origin and POV. Header: POV
Bullets:
Q3. What you sell. Header: Lines
Bullets (one paragraph per revenue line, or skip if none yet):
Q4. The promise. Header: Offer
Bullets:
Form 2 — Customer & brand — one mcp__visualize__show_widget call. Title: os_setup_form_2_customer_brand. Contains Q5–Q8 as stacked elicit-group blocks.
Q5. The customer. Header: Customer
Bullets:
Q6. Your voice and look. Header: Voice
Bullets:
Q7. Your positioning. Header: Position
Bullets:
Q8. This year's priorities. Header: Priorities
Bullets:
Form 3 — How you operate — one mcp__visualize__show_widget call. Title: os_setup_form_3_how_you_operate. Contains Q9–Q12 as stacked elicit-group blocks.
Q9. Active projects. Header: Projects
Bullets (for each project):
Q10. The people you work with. Header: People
Bullets:
Q11. Your stack. Header: Stack
Bullets:
Q12. Drains and workflows to automate. Header: Drains
Bullets:
Same question shape as solo mode. Three AskUserQuestion calls, four questions each.
Form 1 — You & company — one mcp__visualize__show_widget call. Title: os_setup_form_1_you_company. Contains Q1–Q4 as stacked elicit-group blocks.
Q1. You, as operator. Header: Operator
Bullets:
Q2. The company. Header: Company
Bullets:
Q3. The market. Header: Market
Bullets:
Q4. What you sell. Header: Lines
Bullets (for each revenue line):
Form 2 — Offer, customer & brand — one mcp__visualize__show_widget call. Title: os_setup_form_2_offer_customer_brand. Contains Q5–Q8 as stacked elicit-group blocks.
Q5. The promise. Header: Offer
Bullets:
Q6. The customer. Header: ICP
Bullets:
Q7. The brand voice and look. Header: Voice
Bullets:
Q8. The positioning. Header: Position
Bullets:
Form 3 — How the company operates — one mcp__visualize__show_widget call. Title: os_setup_form_3_how_company_operates. Contains Q9–Q12 as stacked elicit-group blocks.
Q9. The team. Header: Team
Bullets:
Q10. This year's OKRs. Header: OKRs
Bullets:
Q11. Active projects. Header: Projects
Bullets (for each project):
Q12. Stack, workflows, and stakeholders. Header: Stack
Bullets:
The user submits each form with one click. Per-category response patterns:
Accept whatever they give. Don't ask follow-ups inside or between forms. Extract what you can.
If the user submits every form empty — proceed to build with defaults only.
After Q12 (or "skip all") and before Phase B Build, ask one final AskUserQuestion to invite any leftover source material that didn't surface during the 12 categories. Most users still have brand decks, About pages, intake forms, LinkedIn URLs, Notion docs, PDFs, slide exports, voice/style guides, OKR docs, org charts, project briefs, etc. Always ask, even if Q1–Q12 looked rich.
Call AskUserQuestion (one question, header: Context):
Yes — I'll paste links / upload files — "Walk me through it"Yes — point me at a folder on disk — "I have local files"No — use just the answers above — "Build with what we have"Skip — "Skip this step"If the user picks a "Yes" option (or pastes content directly):
WebFetch (or WebSearch if the URL is a search). Extract the relevant content..md, .txt, .json, .yaml, .csv → read directly with Read.pdf → read with Read (use pages parameter if >10 pages).docx, .pptx, .xlsx → use Bash with pandoc or textutil if available; otherwise tell the user to export as PDF or MD and re-shareRead (multimodal)Glob to enumerate, then read each file.me.md, brand.md, icp.md, strategy.md, projects/{name}, etc.).If the user picks No or Skip: proceed straight to Build with only the Q1–Q12 answers from Phase B.
After Q12 + the additional-context drop (or skips), build everything you can from what the user gave you. Work silently — don't narrate each step.
The reference files in references/ are scaffolds — they show the section structure to use. They are not the output. Do not copy a template verbatim with placeholders intact.
For every file you write:
[brackets] or marked as TBD) with real data extracted from the 12 Phase B answers + the Phase B+ corpus.[name] or TBD. The output should never contain bracketed placeholders.icp.md and brand.md positioning). Place it in each file where it's relevant.updated: = today's date.A finished context file should read as a real human-written document about the user. If it reads like a fillable form, you did it wrong — go back and fill it.
Behavior depends on selected mode.
For every file below, source data from BOTH the Q answers AND the Phase B+ corpus (uploaded files, fetched links, folder reads). The corpus typically contains the depth — Q answers are anchors.
Solopreneurs/Professionals mode (Q1–Q12 = solo brain-dump categories):
Context/me.md — Always created. Fill from Q1 (name, role, location, peer-intro line, attributes, working style) + Q2 (origin / POV / wedge / enemy) + Q12 (drains, unclosed loops) + corpus. Read references/context-me.md as scaffold.Context/business.md — Only if Q3 had content. Fill from Q3 (revenue lines: name, what it does, who it's for, stage, baseline, origin) + corpus (About page, business overview docs). Read references/context-business.md as scaffold.Context/services.md — Only if Q3 lists multiple revenue lines or corpus has product/service docs. Read references/context-services.md as scaffold.Context/pain-points.md — Only if Q4 named problems or Q2 surfaced one. Include awareness column (aware vs needs education) using Q4's awareness signal. Read references/context-pain-points.md as scaffold.Context/icp.md — Only if Q5 had content or corpus has ICP material. Fill role, day, language, dream outcome, trigger, decision time, media, examples. Read references/context-icp.md as scaffold.Context/brand.md — Only if Q6 (voice), Q7 (positioning), or Q4 (why-pick-you) had content, or corpus has brand material. From Q4 take value prop + why-pick-you. From Q6 take voice descriptors, signature phrases, words-to-avoid, feeling, colors/fonts. From Q7 take enemy, differentiation, key messages. Read references/context-brand.md as scaffold.Context/strategy.md — Only if Q8 had content. Fill priorities, why, and explicit nos. Read references/context-strategy.md as scaffold.Context/team.md — Only if Q10 had content (people / collaborators) or corpus has a team / contractor list. Read references/context-team.md as scaffold.Context/infrastructure.md — Only if Q11 (stack) or Q12 (workflows) had content, or corpus has a stack doc. Combine tool stack (Q11) + workflows-to-automate (Q12). Read references/context-infrastructure.md as scaffold.Business mode (Q1–Q12 = business brain-dump categories):
Context/operator.md — Always created. Fill from Q1 (name, title, reports-to, decision authority, working style, drains) + corpus. Read references/context-operator.md as scaffold.Context/organization.md — Always created. Fill from Q2 (legal name, industry, stage, founded year, headcount, HQ, mission, origin, POV) + corpus (About page, company deck). Read references/context-organization.md as scaffold.Context/market.md — Only if Q3 had content or corpus has market / industry material. Fill industry, niche, trends, what's broken, last 5–10y shifts, main players. Read references/context-market.md as scaffold.Context/services.md — Only if Q4 had content. Fill revenue lines from Q4 + corpus (sales deck, product pages). Read references/context-services.md as scaffold.Context/pain-points.md — Only if Q5 surfaced problems or corpus has them. Include awareness signal from Q5. Read references/context-pain-points.md as scaffold.Context/icp.md — Only if Q6 had content or corpus has ICP material. Fill role, day, language, dream outcome, trigger, decision time, market trends, media, examples. Read references/context-icp.md as scaffold.Context/brand.md — Only if Q7 (voice) or Q8 (positioning) had content or corpus has brand material. From Q7 take tagline, voice descriptors, signature phrases, words-to-avoid, topics, colors/fonts, feeling. From Q8 take enemy, differentiation, personality adjectives, big concept, key messages. Read references/context-brand.md as scaffold.Context/team.md — Always created. Fill from Q9 (departments + leads, team members) + corpus (org chart). Read references/context-team.md as scaffold.Context/strategy.md — Always created. Fill from Q10 (objectives, KRs, owners, why, explicit nos) + corpus (OKR doc). Read references/context-strategy-business.md as scaffold.Context/infrastructure.md — Only if Q12 listed tools or workflows, or corpus has a stack / SOPs doc. Combine tool stack + sources of truth + workflows-to-automate from Q12. Read references/context-infrastructure.md as scaffold.Context/stakeholders.md — Only if Q12 mentioned external stakeholders or corpus has investor / partner / client lists. Read references/context-stakeholders.md as scaffold.Solo: from Q9 (active projects). Business: from Q11 (active projects / initiatives). Plus any project briefs / Notion exports / project lists in the corpus. Intelligently structure each project based on what the user gave you.
Analyze the info and decide the right structure:
README.mdREADME.md + relevant subdirsCreate subdirectories only when the content justifies them:
| Content type | Goes to |
|---|---|
| Overview, status, deadlines, contacts | README.md |
| Research, competitor analysis, references | research/{topic}.md |
| Specs, requirements, briefs | specs/{name}.md or briefs/{name}.md |
| Drafts, scripts, written content | drafts/{name}.md |
| Ideas, brainstorms | ideas/{name}.md |
| Notes, working docs | notes/{name}.md |
README.md is always the index:
---
type: project
status: active
owner: [name]
business: [business unit if applicable]
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
## Overview
[What this project is]
## Current Status
[Where things stand]
## Key Resources
[Links, tools, contacts]
## Next Steps
[What needs to happen]
Don't create empty subdirs. Don't cram everything into the README. Distribute content into the right files based on what it actually is.
Business mode only — from Q9 + corpus, also create Departments/{name}/README.md for each department with the lead's name, charter placeholder, and sops/ subfolder.
From Q9 + corpus (org chart, team roster), scaffold each person's profile workspace. Slug names are kebab-case.
{org-slug} is derived from Q2 (company name → kebab-case). If no company name given, default to team.
For each FT employee:
mkdir -p Team/{org-slug}/Profiles/{person-slug}/Daily
mkdir -p Team/{org-slug}/Profiles/{person-slug}/task-list
mkdir -p Team/{org-slug}/Profiles/{person-slug}/sub-schedules
Then write:
references/team-profile-template.md → write to ./Team/{org-slug}/Profiles/{person-slug}/{Person Name}.md. Fill frontmatter and sections from Q9 (name, role, reports-to, FT, location) + corpus.references/team-tasks-template.md → write to ./Team/{org-slug}/Profiles/{person-slug}/task-list/Tasks.md.For each contractor / advisor:
mkdir -p Team/External/contractors/{person-slug}
Then write the same team-profile-template.md (with employment: contractor or advisor) → ./Team/External/contractors/{person-slug}/{Person Name}.md.
If Q9 + corpus list no team members, don't scaffold anything under Team/{org-slug}/Profiles/. Leave Team/ with just the CLAUDE.md routing index.
Business mode only:
Intelligence/processes/{name}.mdOnboarding/{name}.mdCreate Daily/YYYY-MM-DD.md (today's date):
---
type: daily-note
date: YYYY-MM-DD
---
# YYYY-MM-DD
## Session
- **Focus**: Initial vault setup and onboarding
- **Completed**: Full vault bootstrap + personalized onboarding
- **Next Steps**: [based on what was discussed]
Tell the user:
mcp__visualize__show_widget (Cowork-only). Each form has 4 stacked categories with title, bullet inspiration, and a single free-text textarea per category. It's a guided brain dump, not a Q&A box. The bullets are inspiration, not strict asks. Always recommend Whisper / dictation + pasting docs / links / file paths into the textareaWebFetch / WebSearch); for every file or folder, read it (Read / Glob); merge into a single context corpus before building[bracketed placeholder] with real user data. If a section has no data after exhausting Q answers + corpus, omit the section — never leave placeholders in the written filenpx claudepluginhub benaios/benai-skills-main --plugin aiosBuilds a throwaway prototype to answer a design question about UI appearance or state/logic behavior. Guides you through two branches: interactive terminal app for logic validation, or multiple UI variations for visual exploration.