Maya Workflow Kit
Blender에서 Maya 전체 워크플로를 한 번에 설치, 무료 오픈소스, Blender 4.5‑5.2 지원
sauce는 AI 초안을 위한 무료 오픈소스 편집기로, 사실과 목소리를 검증하고 Claude와 Cursor에 내장
sauce is a free, open-source editor for AI drafts, not a detector. It checks every draft against your own facts and your own voice before it goes out. Inside Claude and Cursor.
플러그인GitHub @bhavya-in-sf온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
The taste layer for AI. A Claude plug-in that checks every draft before you post and learns from your edits.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Formerly Tastee. Renamed 26 Oct 2026. The old repo URL redirects here. If you installed
tastee@tastee, run/plugin uninstall tastee@tastee, then the two install lines below. Your profile in~/.tasteekeeps working;~/.sauceis also read.
The taste layer for AI. It learns what good looks like to you, and checks every draft before you see it.
A free, open-source check that runs inside Claude Code, Claude Desktop and Cursor today, and behind an API for everything else. It starts with founder writing: launch posts, LinkedIn and X posts, cold emails, bios, investor updates.
A typical AI draft, checked against a real founder's profile (personas/bhavya):
In today's fast-paced world, every founder needs a game-changer — and AI is it.
We've helped 300+ founders grow, and our clients see 10x reach in 30 days.
Want to know how? Comment below!
What sauce sends back, in under a second, with no model call:
BLOCK
BLOCK em_dash: '—' Em dash or double hyphen (house rule).
FIX unapproved_claim: '300+ founders' Number not in claims.md. Add it to claims.md or cut it.
FIX unapproved_claim: '10x' Number not in claims.md. Add it to claims.md or cut it.
BLOCK banned_phrase: "in today's fast-paced world" Generic AI filler she cuts from every draft
BLOCK banned_phrase: 'game-changer' Generic AI filler she cuts from every draft
And a post in her own voice, with only approved numbers:
100 investors who back women building AI.
Every week the same question lands in my inbox: who writes the checks?
So here they are. Angels and funds, pre-seed through growth.
Comment "INVESTORS" and I'll send you the list.
PASS
Then /sauce:critique scores the draft on 8 separate axes against her own samples, and rewrites only the weakest line.
Tested on a real team. On 47 messages a startup's team drafted for its creator program, Sauce flagged the pay terms 32 times, because two versions of the terms were in circulation. Once the team confirmed one version, 46 of 47 passed, and the gate still caught the one unsupported number.
/sauce:bolder, /sauce:quieter, /sauce:shorter, /sauce:clearer. One rewrite, checked, and nothing changes until you say yes./sauce:variants shows 3 hooks; your pick is saved as taste data (sauce_pick).linkedin, x, cold_email, investor_update, bio (plus reddit, instagram, youtube), each with its own rules and target score./sauce:extract: turn your past posts or LinkedIn export into a starter TASTE.md and claims.md./sauce:doctor: checks your profile is complete and up to date.~/.sauce/hook-log.jsonl.Check any draft against the real founder profile that ships with the repo:
git clone https://github.com/bhavya-in-sf/sauce && cd sauce
echo "We just hit \$50k MRR — a total game-changer." | python3 scripts/gate.py --persona personas/bhavya -
Python 3.10+ only, nothing to install. Then make it yours with /sauce:setup.
AI writing sounds like everyone else. Memory tools help the AI know who you are, but nothing checks the finished draft against your taste. Sauce adds that check, the critic step, and learns from what you actually change.
Claude Code (plug-in: commands plus the MCP tools):
/plugin marketplace add bhavya-in-sf/sauce
/plugin install sauce@sauce
In Claude Code, the plug-in also adds a small check at the end of each reply: if Claude wrote a draft you might post and didn't run Sauce on it, it sends Claude back once to check it. Turn it off with SAUCE_HOOK=0.
Claude Desktop, Cursor and other MCP apps: see docs/INSTALL.md. No API key needed.
| Command | What it does |
|---|---|
/sauce:setup | 5 questions and 3 samples of your writing become TASTE.md, your taste in one file |
/sauce:critique | The critic step. Scores a draft on 8 separate axes and rewrites only the weakest part |
/sauce:learn | Paste the AI's draft and what you actually posted. It proposes up to 3 rules; you approve each one |
Everything stays in a plain TASTE.md in your folder. No account, no server, no data leaves your machine beyond your normal Claude session.
Checkable (firm for everyone): Clarity, Proof, Why you, Ask. Taste (yours, from TASTE.md): Hook, Voice, Boldness, Rhythm.
There's no single overall score, on purpose. See reference/axes.md.
| Taste Skill | Impeccable | Sauce | |
|---|---|---|---|
| Domain | Frontend design | Frontend design | Writing (founders first) |
| Whose taste | The author's rules | The author's rules | Yours, seeded with expert defaults |
| Learns from your edits | No | No | Yes (/learn, you approve each rule) |
| Critic step | Look-and-fix loop on screenshots | critique, audit commands | critique on 8 separate axes |
| Profile file | 3 dials | PRODUCT.md, DESIGN.md | TASTE.md, scoped per folder |
| Sources for its rules | Study of 247 curated sites | Grew from Anthropic's frontend-design skill | Public evidence ledger |
| License | MIT | Apache-2.0 | MIT |
Use them together: Taste Skill or Impeccable for your landing page, Sauce for the words on it.
Every rule maps to research or labeled practitioner experience in EVIDENCE.md, including what each source does not prove.
Personal agents now post, email and message as their owner. sauce is the check they run first. One call, deterministic, local, no model, about 4 ms.
import sys; sys.path.insert(0, "path/to/sauce")
from sauce_core import check, profile_from_folder
profile = profile_from_folder("~/.sauce") # the owner's TASTE.md + claims.md
r = check("We're leveraging AI to 10x your workflow. 300+ founders trust us.", profile, surface="linkedin")
r["verdict"] # "FIX"
r["issues"][0] # {"level": "FIX", "check": "unapproved_claim", "quote": "10x", "detail": "Number not in claims.md. Add it to claims.md or cut it."}
From a shell or any language:
python3 scripts/sauce.py check - --json <<'DRAFT'
the draft
DRAFT
Exit code 2 = BLOCK (do not send), 1 = FIX (fix the quoted lines, then send), 0 = PASS. --profile <folder> checks as a client or a company instead of the owner.
Rules for an agent: never send on BLOCK; never invent a number to satisfy a claim check (cut it or ask the owner to approve it); add facts only after the owner says yes (sauce.py add approved_fact "..."); when the owner edits your draft, run sauce.py learn draft.txt final.txt and propose the rules it finds.
openclaw/ (clawhub install sauce).sauce_check, sauce_add, sauce_learn).api/, SDKs in sdk/.sauce_core/: the taste layer as a library. JSON in, JSON out.mcp/server.py: MCP server with sauce_check, sauce_critique (works without an API key), sauce_learn, sauce_add and sauce_profile. Ships inside the plug-in.api/: the Taste API (REST): profiles, check, critique, learn, rule approval, usage. See docs/API.md.sdk/: Python and TypeScript clients. examples/writing_app.py shows a writing app gating every draft.personas/bhavya/: a real founder's profile, published with her permission: TASTE.md built from 673 public LinkedIn posts, an approved-facts list, and 553 posts to test against. Point Sauce at it to see a real taste profile in action: SAUCE_PROFILE_DIR=personas/bhavya.evals/: a regression suite (same input, same verdict) and an edit-pairs suite. Run python3 -m unittest discover -s tests.TASTE.mdsauce_addMIT. Built by Bhavya Goel.
python3 scripts/deck_check.py deck.pdf checks a deck slide by slide and flags the same noun with different numbers across slides ("300 customers" on slide 3, "350" on slide 9). Also .pptx and .md.python3 scripts/taste_card.py --out card.html renders a shareable one-page card of how you write, measured from your own samples. Nothing invented.sauce setup --linkedin export.zip builds your TASTE.md and claims.md from your own posts in one command.sauce check --max-sameness 50 turns the sameness score into a team gate.