skills
scenario-labs/skills의 67가지 에이전트 스킬(시나리오·게임·영상 포함), npx skills add로 설치
Whalory는 이미 사용 중인 AI에게 카피라이터가 어떻게 일하는지 가르칩니다
Whalory teaches the AI you already use how a copywriter works. It asks before drafting, follows each channel’s rules, keeps your voice, and brackets missing facts. Core is free.
스킬Python · HTMLGitHub @gilebehnam온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Writing discipline for the AI you already use: English and Persian copy, voice profiles, and local linters.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your AI. Your voice.
Whalory gives the AI you already use a copywriter's working method and a voice profile for each brand. Its linters check English and Persian copy on your own machine.
Whalory reads the brief before it writes. It asks at most three questions, and only when an answer would change the text. It keeps to the facts you supplied and marks each gap with a bracket, such as [confirm: serving time]. Then the linters check the draft on your machine, and a blind editor pass reviews it. Whalory Core is free, under open licenses.README 전문 보기 ↗Whalory Core 3.2.2. Download versioned Core assets from the tagged release. Local tools work without an API key. Automatic Hub synchronization remains disabled; archive checksums are integrity checks, not publisher signatures.
Whalory gives the AI you already use a copywriter's working method and a voice profile for each brand. Its linters check English and Persian copy on your own machine.
Whalory reads the brief before it writes. It asks at most three questions, and only when an answer would change the text. It keeps to the facts you supplied and marks each gap with a bracket, such as [confirm: serving time]. Then the linters check the draft on your machine, and a blind editor pass reviews it. Whalory Core is free, under open licenses.
It has an install route for Claude Code, Claude Desktop, claude.ai, Codex, Cursor, Gemini CLI, and GitHub Copilot in Visual Studio Code (VS Code). Any other chat assistant can take it as a pasted prompt.
Verified public release: Whalory Core 3.0.0 · Install guides for every host
In Claude Code, this repository is its own plugin marketplace:
claude plugin marketplace add gilebehnam/whalory
claude plugin install whalory@whalory
On Windows, add --config python=python to the install command. Every other host is in docs/INSTALL.md.
Whalory Pro and Studio add every playbook, the market files, transcreation, four more agents, and four more MCP tools. Pro costs $29 once, and Studio $199 a year. International checkout isn't open yet: join the waitlist, and nothing is charged until it opens.
[!NOTE] Whalory has no model of its own. It works inside the assistant you already use: your assistant writes, and Whalory brings the method, the voice profile, and the checks. The linters and the MCP server run on your machine and make no network calls. The study that will measure what Whalory changes is designed but hasn't run, so this page shows no scores.
Keep the assistant you already use. Each route below is a package that the 3.2.0 candidate build produces. We call a route tested only after a dated end-to-end test. Until then, its guide says it was checked against the host's own documentation. The last column shows the latest test, run on the 3.0.0 build.
| Host | Whalory Core (free) | Whalory Pro adds | Latest test record |
|---|---|---|---|
| Claude Code | The plugin from this repository, with the writer and editor agents, eight commands, and the MCP tools; or the skill folder | Four more agents, three more commands, a private marketplace | Claude Code 2.1.278 loaded the plugin and connected its MCP server. The marketplace install had not been run. |
| Claude Desktop | The .mcpb extension with six tools, plus the claude.ai skill upload | Four more tools | No end-to-end test recorded |
| claude.ai | Skill upload (-claudeai.zip), with code execution on | The full reference set | Not yet tested with a real upload |
| Codex | The skill folder, or the Agent Plugins package | Three more commands, in the Agent Plugins package | codex-cli 0.145.0 loaded the skills. The plugin's MCP server started only from the legacy .mcp.json and got no project folder. |
| Cursor | The skill folder, with the tools in .cursor/mcp.json | A Cursor plugin with agents | No end-to-end test recorded |
| VS Code with GitHub Copilot | The Agent Plugins package, or the skill folder | The full agent set | Neither plugin route had been tested when 3.0.0 was built |
| Gemini CLI | The skill folder. An extension with agents is built, and its repository is not published yet. | The full agent set, in the extension | No end-to-end test recorded |
| Any chat | Paste-in prompts of 1,500 and 4,000 characters, in English and Persian | An 8,000-character prompt; packs for Custom GPTs, ChatGPT Projects, Gemini Gems, and the Gemini app; editor and repository rules | Needs no install. No scripts run, so the check is manual. |
Hosts that read Agent Skills from .agents/skills/ can load the same folder. The full compatibility table, column by column, is on the site's download page.
Whalory is a set of files your assistant reads, plus a few small programs it can run. The model stays the one you chose.
| Part | What it does |
|---|---|
| Working method | Before it writes, Whalory settles the task, the channel, the reader, and the output language. It asks at most three short questions, each with a recommended answer. Reply "write" and it drafts at once. |
| Playbooks | Each task has a playbook. Core covers captions, social posts, taglines, SMS, email, customer replies, product descriptions, UI microcopy, error states, about pages, style repair, reviews, and voice profiles. |
| Three fixed rules | Nothing is invented: no made-up numbers, quotes, reviews, or results. No machine patterns, such as the straw-man contrast or the moral wrap-up. No claim goes out without evidence the brand can show; otherwise it gets a bracket like [source needed: …]. |
| Voice profile | VOICE.md and voice.json hold a brand's tone, the words it uses and avoids, its spelling variant, and its limits. Whalory reads the profile on every task, along with the LEARNINGS.md note beside it. |
| Two languages | English defaults to US spelling, and a profile can switch to en-GB, en-AU, en-CA, en-NZ, en-IE, or en-IN. Persian gets half-spaces, Persian digits, Persian quotation marks, and the Persian forms of yeh and kaf. |
| Local linters | lint.py picks the language of each line and hands it to lint_fa.py or lint_en.py. They check AI tells, puffery, facts missing from the brief, spelling, sentence length, readability, and channel limits. |
| Blind editor | In the Claude Code plugin, a second agent reviews each draft. It sees the draft, the facts, the profile, and the format, never the writer's reasoning. On other hosts, the same model runs that review as a separate pass. |
| MCP server | One Python file over stdio, with six tools in Core. It opens no sockets. It writes no files, apart from counts in the Hub folder while you have Hub statistics or packets on. |
| Whalory Hub | It keeps the rules current between releases. The plugins start the Hub client when a session starts, and once a day it downloads rule files that Whalory signed. It checks every signature before the linters use them. Sharing counts with Whalory stays off unless you turn it on at your own terminal. |
the brief
│
▼
┌──────────────────────────────────────────────┐
│ your AI drafts with the Whalory method │ task, channel, reader, language
│ SKILL.md + playbook + voice profile │ at most 3 questions, facts only
└──────────────────────┬───────────────────────┘
▼
┌──────────────────────────────────────────────┐
│ deterministic lint, on your machine │ lint.py → lint_fa.py / lint_en.py
│ same text in, same findings out │ exit 0 clean · 1 errors · 2 bad input
└──────────────────────┬───────────────────────┘
▼
┌──────────────────────────────────────────────┐
│ blind editor pass │ sees the draft, facts, profile,
│ score table and fixes │ format; never the reasoning
└──────────────────────┬───────────────────────┘
▼
revise ──► lint again
│
▼
deliver the copy, then a note that starts with
"Diagnosis:" and lists what is still missing
[confirm: weight].A café opens an hour earlier. From that one set of facts come an Instagram caption, a text message, and a web page, each in the shape its channel needs. The start date nobody supplied stays a visible placeholder in all three.
The site's examples were written by the Whalory team to show the method, and each one carries a label that says so. They are not model output.
You see two drafts of one brief, labeled A and B, and pick the one you would publish. Only then does the page show which one followed Whalory's method. The site collects no choices and publishes no win rate.
The home page runs the method on a prepared draft. Press Apply Whalory and each change arrives with its reason. It works at phone width, too.
Here is a short brief, and a draft that ignores it. The output below is copied from a real run of lint.py 3.1.0.
brief.txt
Tidy is a shared task planner for small teams. Free for up to 5 people. Paid plan: $6 per person per month. Syncs with Google Calendar.
draft.txt
In today's fast-paced world, Tidy isn't just a planner. It's a game-changer that empowers teams to unlock their full potential. Trusted by 10,000 teams, Tidy is free for up to 5 people and syncs with Google Calendar!
$ python skills/whalory/scripts/lint.py draft.txt --facts brief.txt
draft.txt:1:140 error en-fact-not-in-brief Number "10,000" is not in the facts; remove it, or bracket it: [source needed: …] "al. Trusted by 10,000 teams, Tidy is"
draft.txt warning en-bangs Exclamation marks: 1; limit 0
draft.txt:1:1 warning en-cliche-open Cliché "In today's fast-paced world"; start with the fact "In today's fast-paced world, Tidy isn't ju"
draft.txt:1:64 warning en-buzzword Buzzword "game-changer"; say what it does, for whom, with a number "lanner. It's a game-changer that empowers"
draft.txt:1:82 warning en-buzzword Buzzword "empowers"; say what it does, for whom, with a number "e-changer that empowers teams to unloc"
draft.txt:1:100 warning en-journey "unlock their full potential": use a concrete verb "owers teams to unlock their full potential. Trusted by 10"
draft.txt: [en] 3 sentences, 12.7 words on average, cap 25, grade 6.7, reading ease 69.3 · 1 errors · 5 warnings
The brief never mentions 10,000 teams, so the number is an error, and the linter exits with 1. A CI job fails at that point. The autolint hook never blocks an edit: it reports the error back to the assistant. To see every rule and format, run python skills/whalory/scripts/lint.py --rules.
~/.whalory/profiles/, so an update never overwrites them.lint.py, lint_fa.py, and lint_en.py, with --format, --channel, --profile, --facts, --variant, --house-style, --json, and --fix. textcount.py counts graphemes, X-weighted characters, UTF-16 units, and SMS segments.python skills/whalory/scripts/selftest.py runs the Persian, English, and MCP suites.whalory-writer and whalory-editor agents, and eight commands: write, review, voice, lint, learn, lessons, hub, and feedback.lint_text, lint_file, check_final, get_playbook, get_reference_section, and profile_lookup over MCP.hub_client.py status shows the rules in use, pin freezes them, and rollback returns to the previous set.claude plugin install whalory-autolint@whalory lints content and locale files after each edit.| Edition | Price | For | What it adds |
|---|---|---|---|
| Whalory Core | Free | Everyone, commercial work included | Everything in this repository |
| Whalory Pro | $29, one-time | One person, with 12 months of new versions | Every playbook, with multichannel chains; every craft and market file; four more agents; ten MCP tools in all; every install pack |
| Whalory Studio | $199 a year | Up to 5 people in one organization | Everything in Pro, for a shared repository or workspace that only those people can reach |
| Pro update renewal | $15 | An existing Pro license | Another 12 months of new versions, on the same license key |
These prices are in US dollars, for buyers outside Iran. International checkout isn't open yet, so the pricing page has a waitlist and takes no payment, pre-order, or deposit. The opening will be announced in this repository. Paying with an Iranian bank card? The Persian page covers that checkout, which isn't open yet either.
A Pro version you receive keeps working after its 12 months. Whether Studio keeps working after its year isn't settled yet. The license agreement for Pro and Studio is still a draft, and its refund terms aren't decided yet.
The stable baseline is 3.0.0. 3.2.0 is available as a public release, with Core archives and SHA256SUMS. Read installation instructions and the host verification limits before installing.
| You use | Start with |
|---|---|
| Claude Code | claude plugin marketplace add gilebehnam/whalory, then claude plugin install whalory@whalory |
| Claude Desktop | whalory-core-mcp-3.2.0.mcpb for the tools, and whalory-core-3.2.0-claudeai.zip in Customize > Skills for the method |
| claude.ai | Turn on code execution, then upload whalory-core-3.2.0-claudeai.zip in Customize > Skills |
| Codex | Copy skills/whalory into ~/.agents/skills/ and call it with $whalory |
| Cursor | Copy skills/whalory into .cursor/skills/, then add the tools in .cursor/mcp.json |
| VS Code with GitHub Copilot | Unzip whalory-core-3.2.0-agent-plugin.zip and add its folder to chat.pluginLocations |
| Gemini CLI | Unzip whalory-core-3.2.0-skill.zip into ~/.gemini/skills/, then confirm when Gemini asks to activate the skill |
| Any chat | Paste a prompt from whalory-core-3.2.0-paste.zip into the custom instructions |
Python 3.8 or later runs the linters and the MCP server. Without Python, the skill still works and checks by hand.
To check the install, ask your assistant: Write a caption introducing [product]. You should get one to three short questions, or the caption with a note that starts with "Diagnosis:". Unknown facts stay in brackets.
Every draft goes through this loop before you see it. In the Claude Code plugin, a second agent does the review; on other hosts, the same model does it in a separate pass.
review command runs the same pass on any file or pasted text.The linter exits with 0 when there are no errors, 1 when there are, and 2 on bad input. Any CI system can run it. Add --strict to fail on warnings, too. The skill's guide has a ready GitHub Actions job and a pre-commit hook: Continuous integration.
Status: pending. We have designed the study and fixed its protocol. No model has run yet, so there are no results.
We fixed protocol version 1.1 on September 28, 2026, before any run. The full design is on the site's evidence page.
python skills/whalory/scripts/hub_client.py off updates turns this off, and WHALORY_HUB=0 turns off the whole Hub.lint.py --fix saves a fixed copy next to the original, and --write fixes the file in place.PRIVACY.md has the details: every switch, and what the Hub keeps on your computer.
Public 3.0.0 is the verified released baseline. The private 3.1.0 development precursor contains the canonical Hub implementation, final checks and user-approved lessons. This 3.2.0 candidate continues that source as a public release. See CHANGELOG.md for the corrected history.
Next:
We welcome reports of false positives, missing rules, host install notes, and fixes to the English or Persian references. Start with CONTRIBUTING.md. In short: open an issue with the exact text and the command, keep Python to the standard library, and run python skills/whalory/scripts/selftest.py before a pull request.
This repository is built from the Whalory source. The maintainers carry an accepted change into the source, and it arrives here with the next release, credited in the changelog.
Everyone who takes part agrees to the Code of Conduct. For questions, see SUPPORT.md.
Please report a vulnerability privately through GitHub: Report a vulnerability. Don't open a public issue. The scope and the process are in SECURITY.md.
Whalory Core is free for everyone, commercial work included.
scripts/ folder, come under the MIT License.When you share Core, credit it like this:
Based on Whalory by the Whalya studio, https://github.com/gilebehnam/whalory, licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). [Unmodified / Modified: one line on what changed]
The full terms are in LICENSE-CORE.en.md and LICENSE.en.md. Pro and Studio files aren't in this repository, and a separate paid license covers them.
We wrote this page with Whalory, like all the copy on the Whalory website. Each section started from a short brief and passed the linter with zero errors. Then the same AI reread it in a separate pass and scored it at least 17 of 20. How we wrote the site
A Whalya product · © 2026 Whalya