fru-fru
Skill0 starsChanged 21 days agoMITView on GitHub
Fru-fru — "frustration" of a topic, i.e. an exhaustive brainstorm without code changes. First two independent analysts (a Claude subagent and Codex) search in parallel for material in sources of different types — from scientific papers and conference talks to engineering blogs, forums and popular magazines — then propose as many options as possible (20–40, from conservative to radical). The coordinator verifies the options against the code, merges them and outputs a concise table with idea quality and code impact, plus a sources table. Use when the user writes «фру-фру …», «фрустрация …», calls /fru-fru, or asks for the maximum number of options or ideas, a brainstorm or мозговой штурм on a topic with source research.
In this repository7 other files it gives its agents.
- conceptSkill
- dorabotaySkill
- obsidian-styleSkill
- optimumSkill
- predlozhiSkill
- razrabotaySkill
- staged-developmentSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
When delegating, tell subagents and Codex to think in English.
- Distinctive: line 28
Write a brief — a shared text for both analysts (only the source matrix differs, see step 2):
- Distinctive: line 68
If Codex isn't found, crashed or returned an empty answer, tell the user once and continue with Claude only (then the «Автор» column says …
- Distinctive: line 69
If the Claude subagent failed, likewise continue with Codex and, if possible, hand its source types to a second Codex run or a new subagent.
- Distinctive: line 70
If both analysts failed, say so and don't invent a table.
- Distinctive: line 82
If the analysts contradict each other (one advises X, the other the opposite), keep both options if both are justified.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Fru-fru
Language
- Think, reason, plan and write internal notes, briefs and subagent/Codex prompts in English.
- Reply to the user in Russian: chat messages, questions, progress updates, reports and tables. Files the user will read (reports, sites, docs, commit messages) also stay in Russian unless the project's own conventions say otherwise.
- When delegating, tell subagents and Codex to think in English; their results come back to you, and you present them to the user in Russian.
User request: $ARGUMENTS
When launching subagents and Codex, follow the
optimumskill (§2 models, §3 prompt, §7 Codex); if it isn't installed, the models are given below.
"Frustration" here is an exhaustive-enumeration mode: collect as many options on the topic as possible, drawing on a wide range of sources, and rate each by quality and by code impact.
You are the coordinator. Two independent analysts — a Claude subagent and Codex — search for sources and come up with options. You set their task, verify their options and combine everything into two tables: options and sources.
Change nothing: don't edit or create project files, don't commit, don't run state-changing commands (package installs, migrations, formatters that write). Only reading, searching (in code and on the web), running non-writing checks and writing temporary files to the scratchpad are allowed. Pass the same restriction to both analysts.
1. Topic and brief
- From the request, determine the topic and scope: which part of the code or product, which aspect (mechanics, UX, performance, graphics, architecture, reliability, new capabilities…). If the request is empty or general, take the project or area discussed most recently in the conversation and formulate the topic yourself. Don't ask clarifying questions — state the topic in one line at the start of your answer.
- Orient yourself briefly (Glob/Grep, 2–5 calls), only to give the analysts an entry point: root, key folders or files, platform and version, constraints. Don't do deep analysis — that's the analysts' job.
- Write a brief — a shared text for both analysts (only the source matrix differs, see step 2):
- topic and scope, project root, entry points;
- context from the conversation that isn't in the code (user goals, already rejected ideas, constraints);
- task: first a broad search for sources of the types assigned to the analyst (step 2), then studying the code (cite
file:line) and generating options; don't propose what's already implemented; change nothing; - quantity and diversity: 20–40 concrete options, the full spectrum — from conservative (improve what exists) through notable enhancements to radical (change the approach, architecture, technology), necessarily several unconventional and "what if…" ones; options must not be rephrasings of each other;
- answer format — one line per option:
option · where · why · code impact (targeted/several modules/architecture) · quality (high/medium/low) · source (number from the source list); after the list — sources:№ · type · title and link · year · how it helps (one phrase).
2. Broad search and two analysts in parallel
The source search happens before idea generation and must be broad: each analyst runs at least 10–15 web searches of different types, not 2–3 superficial ones. For each source found, it records the type, year and how it helps with the topic.
Source type matrix — split it between the analysts so that together they cover more (skip types irrelevant to the topic; put each analyst's part of the matrix into their brief):
| Source type | Examples | Assigned to |
| Scientific papers | Google Scholar, arXiv, ACM DL, IEEE Xplore | Codex |
| Conference talks | GDC Vault, SIGGRAPH, topic-specific conferences | Claude |
| Books | classic and recent books on the topic, chapters, surveys | Codex |
| Documentation and standards | official docs of engines, libraries, platforms, specifications, RFCs | Claude |
| Company engineering blogs | technical blogs of studios and companies, postmortems | Claude |
| Open source | GitHub repositories, issues, PRs, design discussions | Codex |
| Magazines and media | specialized outlets, down to popular ones: Wired, The Verge, Habr, Medium | Claude |
| Forums and Q&A | Stack Overflow, Reddit, Hacker News, specialized forums | Codex |
| Video and podcasts | YouTube talks, breakdowns, podcasts | Claude |
Launch both in one message, both in the background.
- Claude —
Agentwithsubagent_type: general-purpose,run_in_background: true,modelandeffortper the optimum §2 role table (without optimum —sonnethigh), prompt — the brief with its part of the matrix. For a broad topic it may split the search into parts itself. Codex — launch per the optimum §7 template. Specifics: model
gpt-6-astra, efforthigh, read-only sandbox, with web search (--search),-C "<project root>",-o "<scratchpad>/frufru-codex.md", prompt — the brief with Codex's part of the matrix; read the result fromfrufru-codex.md. Without optimum (the--searchflag goes beforeexec; viaBashwithrun_in_background: true, timeout at least 20 minutes):codex --search exec --skip-git-repo-check -m gpt-6-astra -c model_reasoning_effort=high -s read-only -C "<project root>" -o "<scratchpad>/frufru-codex.md" - < "<scratchpad>/frufru-brief-codex.md"Save the brief for Codex to
frufru-brief-codex.md.
While the analysts work, don't research the same topic yourself — wait for the completion notifications.
Fault tolerance
- If Codex isn't found, crashed or returned an empty answer, tell the user once and continue with Claude only (then the «Автор» column says Claude everywhere). If time allows, launch an additional Claude subagent on the source types assigned to Codex.
- If the Claude subagent failed, likewise continue with Codex and, if possible, hand its source types to a second Codex run or a new subagent.
- If both analysts failed, say so and don't invent a table.
3. Aggregation
- Merge duplicates: options that are essentially the same become one item with author «Claude + Codex»; take the more precise wording and location, merge the sources. Agreement between two independent analysts is a strong signal; other things being equal, rank such an item higher. Merge identical sources in the lists too.
- Verify each option against the code (read the cited spot): discard false ones, already implemented ones, ones not applicable to the project, and ones referencing nonexistent files, APIs or sources. Don't split one idea into several items, but don't glue different approaches to one problem together either — in fru-fru, alternatives are valuable.
- Group by direction (e.g., «механика», «рендер», «архитектура», «UX») — write the direction at the start of the «Вариант» cell or use row order within groups of the same rating.
- Re-rate them yourself, without copying the analysts' ratings:
- Idea quality: ★★★ high (noticeable benefit, new to the project, backed by sources) · ★★ medium · ★ low (doubtful benefit or weak justification).
- Code impact: 🟢 точечно (one file or function) · 🟡 несколько модулей (new logic, edits in different places) · 🔴 архитектура (rework, risks, new dependencies). If implementation difficulty differs noticeably from the volume of changes (little code but a hard algorithm), note it with a word in the cell, e.g. «🟢 точечно, сложный алгоритм».
- Sort: by quality per unit of impact — ★★★🟢 → ★★★🟡 → ★★🟢 → ★★★🔴 → ★★🟡 → ★🟢 → ★★🔴 → ★🟡 → ★🔴; within a group, «Claude + Codex» goes higher.
- Keep all verified options — don't cut down to 5–15 as in /predlozhi. If the topic allows, there should be at least 20 options; if fewer remain after verification, honestly say why (narrow topic, many discarded).
- If the analysts contradict each other (one advises X, the other the opposite), keep both options if both are justified; otherwise choose based on the code and sources; briefly note the disagreement in the notes.
4. Result (in Russian)
- One line: the topic, who participated (Claude, Codex, or only one and why), how many sources by type (e.g., «источников 27: 5 статей, 4 доклада, 6 блогов, 3 репозитория, 4 форума, 3 СМИ, 2 видео»).
- Options table:
| № | Вариант | Где | Зачем | Влияние на код | Качество | Источник | Автор |
| 1 | кратко, что сделать | файл:строка, модуль или компонент | кратко, какую проблему решает или что даёт | 🟢 точечно | ★★★ | И3, И7 | Claude + Codex |
Cells — one short phrase each, no line breaks and no | inside the text. «Где» — the shortest precise location of the change: file:line, file, folder or component (for new code — where it will appear, e.g. «новый src/sync.ts»). «Источник» — numbers from the sources table (И1, И2…) or «—» if the option was devised without relying on a source. «Автор» — Claude, Codex or Claude + Codex.
3. Compact sources table (only those referenced by options or that significantly influenced the analysis):
| № | Тип | Источник (ссылка) | Год | Что дал |
| И1 | статья | Название | 2024 | одна фраза: какую идею или факт дал |
- Below the tables — 3–5 lines of notes: non-obvious items (
№ — approach), significant disagreements between analysts, and one line on how many options were discarded during verification and why (e.g., «отброшено 9: 4 уже реализованы, 3 неприменимы, 2 ссылались на несуществующий API»). - Models line:
Модели: аналитик Claude — <модель, effort>; Codex — <модель, effort / не запускался>. - Last line: «Скажите номера вариантов — внедрю (например, через /dorabotay)».
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

