Install Anti-Slop Oxlint Rules
dmmulroy/anti-slop
Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.
Entry point and router for the music composition library (作曲编曲工作流与路由).
$ npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/music-composition/skills/mc-workflow .claude/skills/mc-workflow && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mc-workflow" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflow into .claude/skills/mc-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/music-composition/skills/mc-workflow .agents/skills/mc-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mc-workflow" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflow into .agents/skills/mc-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/music-composition/skills/mc-workflow .cursor/skills/mc-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mc-workflow" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflow into .cursor/skills/mc-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jtydhr88/music-composition-skills.git --path plugins/music-composition/skills/mc-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/music-composition/skills/mc-workflow .gemini/skills/mc-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mc-workflow" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflow into .gemini/skills/mc-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jtydhr88/music-composition-skills mc-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/music-composition/skills/mc-workflow .github/skills/mc-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mc-workflow" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflow into .github/skills/mc-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jtydhr88/music-composition-skills mc-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jtydhr88/music-composition-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/music-composition/skills/mc-workflow .opencode/skills/mc-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mc-workflow" agent skill from https://github.com/jtydhr88/music-composition-skills/tree/main/plugins/music-composition/skills/mc-workflow into .opencode/skills/mc-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mc-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mc-workflowEntry point and router for the music composition library (作曲编曲工作流与路由).
Mc Workflow is an agent skill from jtydhr88/music-composition-skills. Entry point and router for the music composition library (作曲编曲工作流与路由). The S0-S7 stage table from brief to delivered audio, which skill to load for which task, the full-library boundary table that prevents two skills claiming the same decision, the ARR-SPEC gate rules, and the three testing devices (routing, text-layer A/B, compliance rate). Load this FIRST for any request that will produce or change an ARR-SPEC (a whole track, a section rewrite, a generation run). A single knowledge question or a single-part…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `ARR-SPEC.schema.md`, `ARR-SPEC.template.yaml` and `backends.yaml`).
It sits in Development, covering Linting and formatting. The repository describes itself as: Professional agent skills for composing and arranging popular music. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7adca0c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mc Workflow loads about 3.5k tokens when it runs. Until then it costs about 208 tokens; SKILL.md has 980 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jtydhr88/music-composition-skills at commit 7adca0c, republished under its MIT licence (© jtydhr88). 980 words, ~3,548 tokens.
.claude/skills/mc-workflow/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.任何作曲/编曲请求先读这个 skill,再决定读哪个别的。
这个库的产出不是音频,是一份 ARR-SPEC(编曲规格单)。 音频由后端生成,规格单决定它长什么样、以及怎么验收它。
本库的根本立场:AI 味不是音色问题,是没有人做过选择。 整套流程就是一台强迫做选择的机器。
| 你现在要做的事 | 去 |
|---|---|
| 从零开始一首歌 | §1 阶段表,从 S0 走。★ S2a 必须先读 mc-development 再填 material 与 form[].development,只照 schema 的字段说明填会把每段写成一个新画面 |
| 已有 brief,要出规格单 | §1 的 S1–S4(S2 现分 S2a 材料与发展、S2b 和声) |
| 规格单写完了,要生成 | §1 的 S5 + mc-render-compile |
| 生成回来了,不对劲 | §4 诊断路径 |
| 不知道某个问题归哪个 skill | §2 全库边界表 |
| lint 不过 | §3.2 |
| 要交给别的库 / 别的人 | §5 跨库接口 |
| 要跑测试 | §6 三个测试装置 |
| 要混合两种风格(rap + 中国风、city pop + EDM…) | ★ §2.4 |
每个阶段有明确的产出物和门禁。门禁不过不许进下一阶段。
| 阶段 | 做什么 | 产出 | 门禁 | 主用 skill |
|---|---|---|---|---|
| S0 立意 | 把 brief 变成"只干一件事" | intent 四项 | 四项齐全,borrow 不许只写歌名 | 本 skill §3.1 |
| S1 骨架 | 定调、拍、速度、曲式表 | meta + form | 段落首尾相接;不许全是 8 的倍数 | mc-form、mc-harmony、mc-arrangement-arch |
| S2a 材料与发展 | 定主题动机、原始陈述在哪段、每段拿它做什么 | material + form[].development | 先读 mc-development 再填;motif 与 stated_in 非空;每段 development 都填;填 new 的段不过半 | mc-development、mc-melody |
| S2b 旋律与和声 | 写主旋律、和声进行、必要的对位 | form[].harmony + harmony_letters | 双记号都要有;至少一段有调外和弦 | mc-melody、mc-harmony、mc-progressions、mc-modulation、mc-counterpoint |
| S3 编制 | 谁在场、什么时候进退、占什么频段 | arrangement 全段 | 能量曲线必须有下降;至少一件乐器提前退场;至少一个减法事件 | mc-arrangement-arch、mc-orchestration、mc-texture-layering、mc-rhythm-section、mc-sound-design |
| S4 演唱与混音意图 | 怎么唱、声场怎么摆 | vocal + mix_intent | 力度逐段不同;副歌逐遍有变化;宽度至少两种取值 | mc-vocal-direction、mc-mix-intent |
| S5 编译 | 规格单 → 各后端输入 | render.* | 按 §3.0 的 20 条自查一遍;不过的条目改掉或写明理由 | mc-render-compile、mc-symbolic-score |
| S6 生成 | 跑后端,取多版 | 音频 | 按 backends.yaml 的 honors 决定哪些字段可指望 | mc-render-compile |
| S7 验收 | 先算再听 | 照做率 + AI 味旗标 | 先分开看两件事:后端照做了没有、成品有没有机器指纹;耳朵在这之后介入 | mc-ai-tell-audit |
intent 不齐不许写 form —— 这是整套流程唯一的硬门禁第 3 条最容易破。"我听着不对,我调一下混音"—— 那一刻你就从规格驱动掉回手感驱动了, 而手感驱动的产物无法复现、无法 AB、无法积累。
照做率过关后才听,而且要:A/B 打乱 → 成对比较 → 同一对听两遍看结论稳不稳。 两遍不是多余的谨慎:听觉系统会在重复暴露里改变自己的处理策略,同一段声音第二次听可能得到不同的结论,这类判断天然容易不可重复(p0251-p0252)。结论两遍不一致 = 这个差异不存在,别改。
如果两次听中间隔的时间较长,还要防一种相反的偏差:耳朵会对持续暴露的音色变化逐渐适应,越听越觉得两版差不多,容易把真实存在的差异误判成"不存在"(p0342)。两次判断之间留出间断,别来回连着切,能同时防住这两头。
每一个决策只有一个 owner。 拿不准就查这张表。
| 问题 | Owner |
|---|---|
| 这首歌要干什么 | 本 skill S0 |
| 用什么曲式、段落多长 | mc-form(乐理) + mc-arrangement-arch(非对称与能量) |
| 旋律怎么写、可唱性 | mc-melody |
| 和弦怎么选、怎么配 | mc-harmony |
| 查一个现成进行 | mc-progressions |
| 怎么转调 | mc-modulation |
| 节奏型是什么 | mc-rhythm-groove |
| 声部怎么独立、怎么避免平行 | mc-counterpoint |
| 一个动机怎么长成一段、一段怎么长成一首 | mc-development(L1);旋律本身在 mc-melody,段落功能在 mc-form |
| 乐器什么时候进、什么时候退、能量曲线 | mc-arrangement-arch |
| 用哪件乐器、混合音色 | mc-orchestration |
| 频段怎么分、谁和谁抢、前中后景 | mc-texture-layering |
| 打得像不像人、贝司和底鼓怎么配 | mc-rhythm-section |
| 合成器音色怎么做 | mc-sound-design |
| 人声怎么唱、和声怎么加 | mc-vocal-direction |
| 声场怎么摆、谁给谁让路 | mc-mix-intent |
| 这个风格该怎么做 | mc-style-*(L3) |
| 规格单怎么变成 prompt | mc-render-compile |
| 要出 ABC / MIDI / MusicXML | mc-symbolic-score |
| 生成的东西哪里像 AI | mc-ai-tell-audit |
| 找一个真实作品的拆解 | mc-case-studies |
| A ⇄ B | 分界线 |
|---|---|
mc-form ⇄ mc-arrangement-arch | form 管曲式是什么(乐理),arrangement-arch 管这首歌为什么这么切(决策) |
mc-rhythm-groove ⇄ mc-rhythm-section | groove 管节奏本身是什么,rhythm-section 管怎么把它打出来像人 |
mc-texture-layering ⇄ mc-mix-intent | texture 的解法是"改写"(换音区/减音符/交替),mix-intent 的解法是"改混"(让频/侧链/动态)。能改写解决的不许留给混音 |
mc-orchestration ⇄ mc-sound-design | orchestration 管真实乐器与混合,sound-design 管合成音色的设计 |
mc-sound-design ⇄ 库三 | 本库的 sound-design 是乐音音色;影视意义的"声音设计"(音效/拟音/空间)是另一个库,同名不同事 |
| 本库 ⇄ 作词库 | 词的一切归作词库,包括词曲对齐(符割り、字余り、倒字、协音)——那是词的工序 |
★ 边界是分工,不是禁令。 隔离的目的是让每个选择都有人签字,不是把风格锁死。写 J-Pop 规格时顺手借一个 city pop 的裏和弦、写中国风时低音走了 hip-hop 的 808——只要在
style_layers/fusion_note里写一句为什么,就是合法的混合;轻微的串音完全可以接受,真正要防的是「没人选、默认长成那样」。
污染隔离 ≠ 禁止混合。 两者的区别只有一条:
混合是写下来的选择;污染是没人选。 一首 rap + 中国风的歌(如汪苏泷《桃花扇》)完全成立——前提是规格单说得出哪个维度归谁。
做法:meta.style_layers 填一张分工表(schema §1.1.1),一个 base + 若干 overlay,
每层写明它 owns 哪些维度:
| 维度 | 《桃花扇》式的分法(示意) |
|---|---|
harmony、melody、color_instruments | 中国风(五声旋律、民乐采样做色彩层) |
(完整分工见 mc-style-hiphop §8.1) | |
groove、low_end、vocal_delivery_verse | hip-hop(律动、808、主歌 flow) |
vocal_delivery_chorus、form | 中国风副歌唱、结构仍是主副歌 |
★ owns 是封闭集合,只能从这十四个里选:
harmony melody groove low_end fill_policy instrumentation color_instruments timbre arrangement_hook vocal_delivery(可拆成 vocal_delivery_verse / vocal_delivery_chorus) form mix。
要分配的东西不在表里,归到最接近的那个,并在 fusion_note 里写一句说明,不要自造名字。
三条规则(第 18 条自查):
groove = 两种默认值叠在一起,谁也没选fusion_note 一句话说这个组合为什么成立——说不出就是硬凑怎么用各 L3 的移植表:overlay 搬进来的,正是它移植表里标"不可搬/会被认出来"的项——
那就是你要的辨识度。但每搬一项都要在 owns 里签字,并看 base 风格的移植表是否允许让出那个维度
(例如 city pop 的移植表说"抢拍贝司可搬",那 base 是 city pop 时 groove 让给别人就要三思)。
路由上:混合 brief 应读全部被点名的 L3 skill,这不算污染; 读了没被点名的风格才是。测试集从 v3 起区分这两种情况。
| 内容 | 去哪 |
|---|---|
| EQ 频点、压缩比、混响参数、总线链、母带 | 库三:声音设计与混音库 |
| 影视音效、Foley、环境声、空间设计 | 库三 |
| 跟画面走的配乐结构、cue sheet、spotting | 库二:配乐库 |
| 歌词写作、押韵、意象、叙事人称 | 作词库 lyric-writing。★ 词的三种情况:用户没提词 → 可出可不出,出了就在 checks.exemptions 记一条"词未走作词库工序";用户明确要纯音乐 / 轻音乐 / 器乐 → 一个字都不加,vocal 留空;用户明确要词 → 必须出词,作词库在场就走它,不在场就按本库的 mc-vocal-direction 写并记豁免。只示意人声节奏(rap 的 flow、副歌字数)时用占位音节(da-da / 拉拉)或 X 标记 |
| 商业流程(compe、仮歌、版权、分成) | 不做 |
完整规范在本 skill 目录下的 ARR-SPEC.schema.md(v1.0),空模板 ARR-SPEC.template.yaml,后端能力档案 backends.yaml。
★ 写规格单前先 Read 模板,照它的字段名填——实测不看模板的话 agent 会自己发明字段(intent.scene/borrow、push_pull 写成字符串)。
(这三个文件就是本库随包交付的全部"格式"——除了 Read 它们,不需要任何工具。)
| 用途 | 怎么用 |
|---|---|
| 对外交接 | 给混音师/乐手/别的库看的,是这一份 |
| AB 测试对象 | 改一个字段 → 重生成 → 比对。变量可控 |
| 编译源 | mc-render-compile 把它编译成 Suno prompt / YuE 输入 / MIDI |
| 验收基准 | 生成回来的东西逐字段对照它,看后端照做了多少 |
★ 第二和第四条是关键:没有规格单就没有可控实验,没有可控实验就只能靠感觉。
本库不需要用户机器上有任何工具——没有 lint、没有脚本、不预设 Python 或 Node。
写完规格单,自己把下面 20 条逐条过一遍,结果写进 checks.self_audit。
★ 这是判据,不是铁律:某条不过,要么改,要么一句话写明为什么这首歌就该这样。
写了理由的偏离就是合法的选择;没有任何一条会"卡住"后面的编译。
★ 不要为了检查去写脚本(实测有 agent 这么干过,白费很多轮)——20 条全部用眼睛就能判。
| # | 自查问法 | 对照字段 |
|---|---|---|
| 1 | intent 四项都填了?reference_pair 恰好 2 项且每项写了"借哪一点"? | intent |
| 2 | 各段 start_bar 首尾相接?(上一段 start + bars = 下一段 start) | form |
| 3 | 至少一段的 bars 不是 8 的倍数? | form[].bars |
| 4 | energy_curve 的 key 集合 == form 的 id 集合?(不多不少) | energy_curve |
| 5 | 能量曲线至少下降一次? | energy_curve |
| 6 | subtraction_events ≥ 1? | subtraction_events |
| 7 | 每件乐器有 entry;至少一件 exit 不是 end? | roster |
| 8 | arrangement_hook.what 非空? | hooks |
| 9 | 至少一个非 Intro/Outro 段有调外和弦或转调标记? | form[].harmony |
| 10 | fill_policy.bars 不是公差 4 的等差数列? | groove |
| 11 | push_pull 至少一项 offset_ms ≠ 0,且每项是 {part, offset_ms, note} 字典? | groove |
| 12 | width_map 至少两种取值? | mix_intent |
| 13 | style_prompt 非空且无 epic/emotional/beautiful;section_tags 若手填则与 form 段数、顺序一致(由 form[].name 派生,可不填)? | render.suno |
| 14 | Σbars × 每小节拍数 ÷ tempo × 60 与 target_duration 偏差 ≤ 10%? | meta |
| 15 | 有人声时 dynamics_by_section 至少两种取值?(器乐作品跳过) | vocal |
| 16 | 有人声时 chorus_variation 非空?(器乐作品跳过) | vocal |
| 17 | 多风格时:恰好一个 base;每个维度只有一个 owner;每层至少一个维度;fusion_note 非空? | meta.style_layers |
| 18 | material.motif 与 stated_in 非空;每段 development 填了;new 不过半;至少一段 repeat 或 recap;副歌各遍不全是 new? | material form[].development |
| 19 | 和弦拼写全 ASCII,后缀在封闭集合里(maj7 m7b5 dim,不写 △ ø ° ♭ ♯ ×)? | form[].harmony_letters harmony |
| 20 | key 是"主音 major/minor";mode 在枚举内;段名在封闭集合内;subtraction_events[].at 是 {section, bar_offset} 这样的结构不是句子? | meta form[].name subtraction_events |
YAML 本身的自查(agent 最常写坏的地方):
roster / sound_stage / push_pull / emotional_arc …)的 - {…} 条目下面不能挂 note: 键——要注释用同级 xxx_note: 或 #不过的条目通常指向一个没读的 skill,而不是需要硬填:
| 不过的条目 | 多半是哪个 skill 没读 |
|---|---|
| 1(intent 不齐) | 本 skill §1 的 S0——回去想清楚,不要硬填 |
| 2、3、14(段落与时长) | mc-arrangement-arch §4 |
| 4、5(能量曲线) | mc-arrangement-arch §2 |
| 6(减法事件) | mc-arrangement-arch §3 |
| 7(编制进退场) | mc-arrangement-arch §5 |
| 8(arrangement_hook) | mc-arrangement-arch §7 |
| 9(和声单调) | mc-harmony、mc-modulation |
| 10、11(fill 与律动) | mc-rhythm-section §3、§8 |
| 12(宽度恒定) | mc-mix-intent §2 |
| 13(编译不完整) | mc-render-compile |
| 15、16(人声) | mc-vocal-direction §1、§4 |
豁免的规矩:写进 checks.exemptions,必须带理由。
静默跳过 = 没写完。
后端在无指令时会滑向左列。ARR-SPEC 的对应字段就是为了把它拉回来。
| 后端默认倾向 | 对抗字段 | lint |
|---|---|---|
| 段落等长、都是 8 的倍数 | form[].bars | #3 |
| 能量单调上升到底 | energy_curve | #5 |
| 开场就把乐器铺满 | roster[].entry | — |
| 所有乐器从头响到尾 | roster[].exit | #7 |
| 只加不减 | subtraction_events | #6 |
| 每 4 小节一个过门 | fill_policy.bars | #10 |
| 全声部严格对齐网格 | groove.push_pull | #11 |
| 人声全程一个力度 | vocal.dynamics_by_section | #15 |
| 副歌逐遍原样复制 | vocal.chorus_variation | #16 |
| 人声音准全中 | vocal.pitch_policy | 人工项 |
| 立体声宽度全曲不变 | mix_intent.width_map | #12 |
| 动态被压平 | mix_intent.dynamics | 人工项 |
| 没有非人声记忆点 | hooks.arrangement_hook | #8 |
| 时长永远 3:30 | meta.target_duration | #14 |
按这个顺序查,不要凭直觉跳。
听着"像 AI"
└─ 先分开两个问题:后端照做了没有(照做率)、成品有没有机器指纹(AI 味旗标)
├─ 照做率低 → 后端没照做
│ ├─ 查 backends.yaml:这个字段该后端 honors 是 none 吗?
│ │ └─ 是 → 不是它的错。换后端(YuE2 控制力最强)或接受
│ └─ 否 → 编译问题,查 mc-render-compile
└─ 照做率高但仍像 AI → 规格本身不够
└─ 走 mc-ai-tell-audit 的清单| 症状 | 先查 |
|---|---|
| 平、没起伏 | mc-arrangement-arch §2 能量曲线 |
| 糊、浑 | mc-texture-layering §4 → 先查持续音,不是先怪鼓 |
| 主角不突出 | mc-texture-layering §3 四条深度线索 |
| 机械、太准 | mc-rhythm-section §2 + mc-vocal-direction §4 |
| 听着还行但记不住 | mc-arrangement-arch §7 —— arrangement_hook 是不是空的 |
| 第二遍副歌和第一遍一样 | mc-arrangement-arch §6 + mc-vocal-direction §1④ |
| 人声埋在伴奏里 | 先查音准(mc-vocal-direction §4.1),再查频段 |
| 贝斯在手机上消失 | mc-sound-design §6 差音 |
| 结尾很突兀 / 淡出了事 | mc-arrangement-arch §8 三种结尾 |
| 技术上干净但情绪不对 | mc-mix-intent §3.1 —— mood 是不是没写 |
| 问什么 | 怎么算 | |
|---|---|---|
| 照做率 | 后端照着规格做了多少 | 逐字段对照规格听/看;仓库内部的度量工具能算成 0–100,不随包发布 |
| AI 味旗标 | 成品有没有机器指纹 | mc-ai-tell-audit 的清单,独立计数 |
照做率 100 的东西完全可能满是 AI 味——那说明规格写得像 AI。 反过来,照做率 40 但好听,说明后端自己干得不错,但你不可复现。
| 对方 | 交接物 | 方向 |
|---|---|---|
| 作词库 | LYR-SPEC ⇄ ARR-SPEC | 双向:先曲后词走 ARR→LYR,先词后曲走 LYR→ARR。共享 form[] 的段落 id 与小节数 |
| 配乐库(库二) | ARR-SPEC + 时间码表 | 单向:配乐要跟画面,段落由 spotting 决定而非曲式 |
| 声音设计与混音库(库三) | mix_intent 段 | 单向:我们只给意图,参数归他们 |
| 影视线 | 成品音频 + stems | 单向 |
form[].id / form[].bars / form[].name / meta.tempo / meta.key / vocal.persona
任何一边改了这六项,另一边必须同步。 这是双向耦合唯一的代价。
本库用 20 条典型请求做回归(仓库内,不随包发布),每加一个 skill 就重跑一次,看:
这就是为什么每个 skill 都必须有「边界:什么不归这个 skill 管」表—— 那张表是给路由看的,不只是给人看的。
评判表在看结果之前定稿。 改一个字段 → 重生成 → 盲比。 定稿之后再看结果,否则你会不自觉地把评判标准调向你已经看到的那个。
比响度前先对齐电平,再比内容:声音只要更响,耳朵就倾向觉得它更好,这条偏差会把"哪个字段起了作用"的判断,悄悄换成"哪个版本更响"(p0299-p0300)。两版生成结果如果响度或整体密度对不齐,先拉平这两项再做成对比较,不然字段本身的效果会被响度差盖过去。
见 §1 的 S7 与 §4.2。
★ 零点校准(仓库实验数字,供理解量级,不是交付门槛):不相关的、制作精良的成品在度量工具上得 63–66, 所以我们把 82 / 70 当"照做得好 / 勉强"的参考线,不是 60。 用户侧没有度量工具时,照做率就是逐字段对照后的一个判断,不必算成数。
随包发布(用户拿到的就是这些,全是文本):
skills/<27 个 skill>/SKILL.md, reference.md
skills/mc-workflow/ARR-SPEC.schema.md ★ 规格单定义(v1.0)
skills/mc-workflow/ARR-SPEC.template.yaml 空模板
skills/mc-workflow/backends.yaml ★ 各后端的 honors 声明
skills/mc-workflow/example-*.yaml 填好的示例(citypop / 混合 / 反面样本)
仓库内、不随包发布(skill 里提到它们只是标注来源):
本库架构文档、读书笔记(40+ 本)、实验记录与实测语料、度量与实验工具intent 四项是想出来的,不是为了过 lint 填的honors: none 本来就不指望mc-ai-tell-audit分库/分 skill 的判据是四件事全不同:交接物、裁判、语料、评判方法。 按工序切,不按知识领域切。
所以:
mc-harmony(写的时候)和 mc-progressions(查的时候)——
因为这是两道工序mc-rhythm-section,进 mc-style-citypop-rnb——
因为"打得像人"和"打得像 city pop"是两道工序mc-mix-intent,改写型解法在 mc-texture-layering,
参数在库三——因为它们的裁判不同(作曲判断 / 编曲判断 / 工程判断)详见 本库架构文档。
© jtydhr88, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files in plugins/music-composition/skills/mc-workflow of jtydhr88/music-composition-skills.
Open the folder on GitHubat commit 7adca0c
Mc Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mc Workflow this skilljtydhr88/music-composition-skills | 150 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop | 5.3k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Summarise Ecosystem Resultsastral-sh/ruff | 50k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Minimizing Ty Ecosystem Changesastral-sh/ruff | 50k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Babysit PR To Pass CIsgl-project/sglang | 37k | 2 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Rust Best Practicesfarm-fe/farm | 5.6k | 3 repos | ~1.1k | Automated safety check: Pass | MIT |
dmmulroy/anti-slop
Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
sgl-project/sglang
Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.
farm-fe/farm
Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.
chromedp/chromedp
This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…
jtydhr88/music-composition-skills
The post-generation AI-tell audit (AI 味诊断). An agent skill from jtydhr88/music-composition-skills.
jtydhr88/music-composition-skills
Arrangement architecture (编曲结构学) - the shape of a track over time rather than its notes.
jtydhr88/music-composition-skills
The corpus layer (语料层) - how real recordings are made to testify for or against the textbook rules.
jtydhr88/music-composition-skills
Thematic development (乐思发展层) - what the theme is and what each section does with it.
jtydhr88/music-composition-skills
Song form and section design (曲式与段落) - the terminology, the standard templates, and how to build a setsu backwards from the chorus.
jtydhr88/music-composition-skills
Melody writing (旋律法) - what a melodic line expresses and how to make it singable.
Categories
Entry point and router for the music composition library (作曲编曲工作流与路由). Mc Workflow is an agent skill from jtydhr88/music-composition-skills. Entry point and router for the music composition library (作曲编曲工作流与路由).
Mc Workflow fits situations like: starting a new track; unsure which skill owns a question; A spec fails lint; A generated result sounds wrong and you need the diagnostic path.
Run `npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a claude-code`. Or copy the skill folder (plugins/music-composition/skills/mc-workflow in jtydhr88/music-composition-skills) into .claude/skills/mc-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a codex`. Or copy the skill folder (plugins/music-composition/skills/mc-workflow in jtydhr88/music-composition-skills) into .agents/skills/mc-workflow in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jtydhr88/music-composition-skills --skill mc-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mc-workflow, .gemini/skills/mc-workflow, .github/skills/mc-workflow and .opencode/skills/mc-workflow in your project.
SKILL.md names no scripts, command-line tools or credentials: Mc Workflow is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mc Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mc Workflow: Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars) and Babysit PR To Pass CI (sgl-project/sglang, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jtydhr88 (a GitHub user) maintains it in jtydhr88/music-composition-skills, which has 150 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on September 22, 2026.
Source: jtydhr88/music-composition-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.