AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
fstack 是一款 MIT 授權的 AI 代理技能堆疊,適用於仍自行撰寫產品的創辦人。同樣的斜線技能可在 Cursor、Claude Code、OpenAI Codex、Google Antigravity 與 OpenCode 中執行。由 Fabi 建置。
AI 翻譯
fstack is an MIT-licensed AI agent skill stack for founders who still write the product. The same slash skills run in Cursor, Claude Code, OpenAI Codex, Google Antigravity, and OpenCode. Built by Fabi
開發工具TypeScript · JavaScriptGitHub @Scino上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證fstack 是一套 MIT 授權的 AI 代理技能堆疊,適用於仍自行撰寫產品的創辦人。相同的斜線技能可在 Cursor、Claude 程式碼、OpenAI Codex、Google Antigravity 與 OpenCode 中執行。由 Fabio Parlascino 為其團隊打造,隨後向全球開放。
AI 翻譯
fstack is an MIT-licensed AI agent skill stack for founders who still write the product. The same slash skills run in Cursor, Claude Code, OpenAI Codex, Google Antigravity, and OpenCode. Built by Fabio Parlascino for his team, then opened to the world.
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
fstack is an AI agent stack for founders who still write the product. It is built by Fabio Parlascino. The F is both Fabio and founder. It is not tied to one editor or one lab. The same / skills run in Cursor, Claude Code, Google Antigravity, OpenAI Codex, OpenCode, Hermes, OpenClaw, and anything else that loads Agent Skills.檢視完整 README ↗fstack is an AI agent stack for founders who still write the product. It is built by Fabio Parlascino. The F is both Fabio and founder. It is not tied to one editor or one lab. The same / skills run in Cursor, Claude Code, Google Antigravity, OpenAI Codex, OpenCode, Hermes, OpenClaw, and anything else that loads Agent Skills.
A founder's job is to talk to users, build product, and iterate. Most agent stacks pick one of those and pretend the rest is "context." fstack keeps both in the same tree: the messy operating system of a company, and the engineering discipline that stops you shipping slop.
"Talk to users. Build the thing. Don't ship slop. Be a decent human." Fabio Parlascino
"Throughput without quality is not a goal. If you want to go fast, go deep first." Lauren Tan (poteto)
It works wherever you already work. Install once, use the same / skills.
npm: @scino/fstack · GitHub: Scino/fstack
There is a small family of named stacks in this corner of the internet.
gstack is Garry Tan's Claude Code setup. A virtual team of specialists. Office hours, CEO review, QA in a real browser, ship.
pstack is Lauren Tan's (poteto) engineering stack. Playbooks, principles, parallel agents, verify on the real artifact. I learned a lot from it.
fstack is mine. Same engineering bar, founder work as the default mode. The engineering engine is /engineer-mode. /poteto-mode remains as an alias so existing prompts keep working. The playbooks and principles started as her work, and they are credited. The founder loop, the support-to-fix bridge, the social and sales skills, the browsing engine, and the dual-engine router did not.
If you want Garry's specialist roster, use gstack. If you want poteto's engineering plugin as she ships it, use pstack. If you want one stack that can answer an inbound lead and then go fix the bug the customer just hit, this is the one.
Two engines. One orchestrator (/fstack) that classifies the request instead of dumping every skill into the prompt.
Founder operations. The work that happens between commits. Inbound leads that need an honest reply, not a demo-script. Support tickets that are sometimes bugs and sometimes the product being confusing. Posts that should sound like you, not like a growth agency. Competitive teardowns that do not get you banned by Cloudflare on paragraph two.
Engineering. /engineer-mode is the default for anything non-trivial in code. It routes to 23 engineering playbooks and 24 design principles. Reproduce first. Name the data shape before the abstraction. Architect across a function boundary. Verify on the real artifact. Delete the narrating comments. The principles are model-only leaves (user-invocable: false). Some IDE slash pickers still list them. That is the picker, not a catalog mistake.
75 skills total. 51 are user-facing.
The bridge skill is /support-loop. A customer paid and the workspace is still locked. The agent finds the webhook, writes a failing test, fixes the handler, checks what else that path touches, and drafts the reply you can actually send. Most stacks stop at "sounds like a billing bug."
npx @scino/fstack install --all
npx @scino/fstack doctor
Or clone the repo and run the same CLI:
git clone https://github.com/Scino/fstack.git
cd fstack
node bin/fstack.js install --all
Windows: ./setup.ps1. macOS/Linux: ./setup.sh.
npx @scino/fstack install --all detects which agents you have and links the skills into each one. fstack doctor prints what it found.
Cursor, Claude Code, Codex, Antigravity, OpenCode, and project-local .agents/skills are first-class. Cursor also gets a plugin install (logo and author) instead of a pile of anonymous skill folders. The others use their normal skills directory. Details are in the table below.
For a different project, not this repo:
npx @scino/fstack init
That writes .agents/skills for Hermes, OpenClaw, and anyone else who discovers skills from the repo. Do not commit it. Skip init inside the fstack repo itself. You already have skills/ here, and a second copy makes every command show up twice.
There is no separate updater. Re-run install. It relinks the current skill tree.
From npm:
npx @scino/fstack@latest install --all
update is an alias for install:
npx @scino/fstack@latest update --all
If you cloned this repo, Cursor already follows the clone (the plugin is a junction). Still re-run install so Claude, Codex, and the rest pick up new skills:
git pull
node bin/fstack.js install --all
Then reload the editor. fstack doctor prints the package version and what it found.
Paste last night's inbox into /inbox-triage. You get P0 deal-blockers, P1 hot leads, P2 questions, P3 noise, and drafts instead of a guilt pile.
An inbound from [email protected] asks about SSO you do not have. /lead-reply is supposed to be consultative and true. If the product cannot do it, the draft says so and offers a real next step. /unslop-email exists because the first pass will still try to "circle back" and "leverage."
A customer paid and the workspace is still locked. /support-loop is the whole loop, not a sympathy paragraph. If it is a bug, /engineer-mode owns the fix. If it is expected behavior, you still owe them a human explanation.
You shipped three PRs and need something public. /changelog-to-post turns the commit list into a customer changelog, a short email, and a post you would actually publish. /social-post knows X wants a punch and LinkedIn wants a story. It should read your /founder-voice profile rather than inventing a personal brand.
When it is time to build, you do not narrate a plan for forty lines. /engineer-mode on a real feature opens a todolist, starts with principles, picks the Feature playbook, and refuses to write logic until the data shape is named.
That is the product. Skills are the verbs.
/fstack)graph TD
User([Founder / Operator]) --> FStack["/fstack"]
FStack -->|"Sales and leads"| Sales["/lead-reply /unslop-email /inbox-triage"]
FStack -->|"Support"| Support["/support-loop"]
FStack -->|"Brand"| Social["/social-post /social-reply"]
FStack -->|"Launch"| Marketing["/changelog-to-post /geo-page"]
FStack -->|"Strategy"| Strategy["/office-hours /ceo-review /teardown"]
FStack -->|"Engineering"| Eng["/engineer-mode"]
Say /fstack when you do not want to pick. Say the specific skill when you already know.
/browse)Naive scrapers die on LinkedIn, X, and Cloudflare. /browse drives a real browser.
--remote-debugging-port=9222) when you need cookies, clicks, or a search UI. Empty landing pages are often search shells, not a login wall.fstack browse text https://example.com). Masks navigator.webdriver and restores window.chrome.runtime. Empty body text fails instead of printing nothing.Extracted text is sanitized before it hits the model. Zero-width characters and "ignore previous instructions" payloads get stripped. /teardown uses this so a pricing page cannot jailbreak the agent on the way through.
npx @scino/fstack browse text https://example.com
npx @scino/fstack browse check-cdp
These are the modes you type on purpose.
| Skill | When to use it |
|---|---|
/fstack | You have a request and want the stack to classify it. |
/founder-mode | Own the whole loop: product, code, copy, customer, speed. |
/engineer-mode | Non-trivial engineering. 23 engineering playbooks, 24 design principles. |
/poteto-mode | Same as /engineer-mode. Compatibility alias and credit to pstack. |
/setup-fstack | Point roles at the models you actually have. |
/stfu | Quiet execution. No filler, no diff recitation. |
/sudo | Authorized work where paternalistic refusals waste the session. |
The company-running verbs. Sales, support, brand, strategy, research.
| Skill | When to use it |
|---|---|
/lead-reply | Turn a raw inbound into a consultative reply that matches what you actually ship. |
/unslop-email | Strip corporate buzzwords. Keep the warmth. |
/inbox-triage | Rank a pile of threads by commercial urgency and draft answers. |
/support-loop | Ticket, then codebase, then fix, then the reply you can send. |
/founder-voice | Persistent voice profile so posts and emails stay yours. |
/social-post | X short and sharp. LinkedIn as a story with a takeaway. |
/social-reply | High-leverage replies to posts already moving. |
/changelog-to-post | Git history into a customer changelog and a launch note. |
/geo-page | Documentation written so AI search can cite it without hallucinating. |
The build verbs. Most of these are what /engineer-mode already routes to. You can still call them directly.
| Skill | When to use it |
|---|---|
/architect | Design function boundaries before writing logic. |
/arena | N models try the same problem. You keep the best parts. |
/swarm | Fan-out workers across slices or races. |
/interrogate | Adversarial multi-model review for races and edge cases. |
/tdd | Failing reproduction first, then the fix. |
/deslop | Strip wrappers, boilerplate, and narrating comments in code. |
/unslop | Same idea for prose. |
/no-comments | Delete comments the code already says. |
/technical-writing | RFCs, READMEs, PR bodies, commit messages. |
/how | Walk through how a subsystem actually works. |
Small tools that do not belong in either engine's headline, and still earn their folder.
| Skill | When to use it |
|---|---|
/bro | Restate the last message like a human talking to a human. |
/recall | Catch up on recent work from chats and the shared record. |
/reflect | Post-task judgment. What actually happened. |
/teach | Compose /how and /why into an explanation someone can follow. |
/automate-me | Turn a repeated habit into a durable skill. |
/what-did-i-get-done | What shipped, in language you could send to a team. |
22 principle-* skills sit beside these. /engineer-mode reads them. You should not have to.
| Harness | Where it lands |
|---|---|
| Cursor | Plugin at ~/.cursor/plugins/local/fstack |
| Claude Code | ~/.claude/skills |
| Antigravity | ~/.gemini/antigravity/skills |
| OpenAI Codex | ~/.codex/skills via CLI, or codex plugin marketplace add Scino/fstack for the full plugin |
| OpenCode | ~/.config/opencode/skills |
| Hermes / OpenClaw | .agents/skills via fstack init in the target project |
The same skill tree is what every agent loads. This GitHub repo also carries plugin manifests for Cursor and Codex so those two can install fstack as a plugin, not only as loose files. "Created by Cursor" in a slash picker is Cursor's own marketplace badge. We set logo and author so a plugin install is not anonymous. That does not make fstack a Cursor product.
Engineering playbooks, principles, and a few review/CI skills started as Lauren Tan's pstack and Cursor team-kit work. They are MIT. The notices travel in skills/engineer-mode/references/licenses/NOTICE.md. fstack ships that engineering engine as /engineer-mode, with /poteto-mode as an alias, and keeps the credit.
Founder-operations skills, the dual-engine router, the installer, the stealth browser, and the packaging are original to fstack.
MIT. Copyright (c) 2026 Fabio Parlascino. See LICENSE.
/customer-lens| Walk a flow as a skeptical first-time user. |
/office-hours | Six YC forcing questions on demand reality and the narrowest wedge. |
/ceo-review | Scope up, cherry-pick delight, hold, or cut to Friday. |
/retro | Weekly audit of velocity versus customer reality. |
/browse | Anti-bot browsing and extraction. |
/teardown | Competitor pricing, packaging, complaints, wedge. |
/why |
| Forensic "why is it like this" across git, tickets, and incidents. |
/blast-radius | Prove what else a change can break. |
/fix-ci | Red pipelines and flakes. |
/fix-merge-conflicts | Conflicts without losing the logical change. |
/make-pr-easy-to-review | Shape the diff for a human reviewer. |
/show-me-your-work | Decision trail on long or unsupervised runs. |
/typescript-best-practices | Illegal states unrepresentable, parse at the boundary. |
/figure-it-out | No bundled playbook fits. Design one, then run it. |
/babysit | Watch a PR to green. Skeptical of review bots. |
/create-verification-skill | Generate a project-local verify skill that drives the real app. |
/maintain-verification-skill | Keep that verify skill true as the app changes. |
/get-pr-comments | Pull review comments into the working set. |
/thermo-nuclear-code-quality-review | Unkind review. Use when you asked for it. |