MartinYe1234 and Danilo Leal
37c19c17bf
Replace Rules UI with Skills creation UI ( #56924 )
...
Replaces the legacy Rules creation UI with a focused "New Skill"
creation window when the `SkillsFeatureFlag` is on.
The new `skills_library` crate provides a single-skill form with:
- Name, Description, and Body fields (placeholders double as labels)
- Live validation matching the SKILL.md spec (name: 1–64 lowercase +
digits + hyphens, no leading/trailing hyphen; description: non-empty,
≤1024 chars)
- A scope dropdown listing every local worktree in the originating
workspace plus "Global"
- An Optional Parameters card with the `disable-model-invocation`
checkbox
- Save writes `<scope>/.agents/skills/<name>/SKILL.md` via
`serde_yaml_ng` (YAML-safe escaping), refuses to overwrite existing
skills, shows a success toast in the originating workspace, then closes
the window
The "Rules" entry in the agent panel triple-dot menu is renamed to
"Skills" when the flag is on. The existing `cmd-alt-l` keyboard shortcut
still works: `AgentPanel::deploy_rules_library` reroutes to
`deploy_skills_library` when the flag is on, so any persisted keymaps
and the menu's automatic shortcut lookup keep functioning without
changes to the default keymap files.
The old `rules_library` crate is intentionally left in place for this PR
— once the flag rolls out and the few remaining `OpenRulesLibrary {
prompt_to_select }` call sites (in thread_view link handlers and
@-mention crease) are migrated to an "open existing skill" flow, a
follow-up can delete the crate entirely.
15 unit tests cover the validation rules, frontmatter formatting
(including YAML-special-character round-tripping), and disk write
behavior (creates directory, refuses overwrite).
Closes AI-247
Release Notes:
- Added a new Skills creation UI that replaces the old Rules library
when the Skills feature flag is enabled.
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com >
2026-05-20 02:40:57 +00:00
..
2026-05-19 09:51:42 +00:00
2026-04-24 15:53:14 +00:00
2026-05-15 16:27:14 +00:00
2026-05-15 12:01:31 +00:00
2026-05-20 00:28:09 +00:00
2026-05-19 17:45:07 +00:00
2026-05-08 17:06:02 +00:00
2026-05-20 02:40:57 +00:00
2026-05-20 02:40:57 +00:00
2026-05-07 15:43:43 +00:00
2026-05-15 13:57:33 +00:00
2026-04-23 23:47:30 +00:00
2026-03-24 00:58:09 +01:00
2026-05-15 09:08:55 +00:00
2026-05-01 22:33:54 +00:00
2026-05-20 01:26:06 +00:00
2026-05-15 16:27:11 +00:00
2026-03-13 08:00:22 +00:00
2026-04-16 12:54:17 +00:00
2026-05-19 21:31:34 +00:00
2026-05-08 15:53:40 +00:00
2026-05-11 15:53:20 +00:00
2026-05-20 01:26:06 +00:00
2026-02-25 08:12:04 +01:00
2026-05-18 14:49:40 +00:00
2026-05-18 14:49:40 +00:00
2026-05-11 15:22:43 +00:00
2026-04-02 17:06:57 -03:00
2026-05-19 21:31:34 +00:00
2026-05-08 15:53:40 +00:00
2026-03-27 18:06:56 -07:00
2026-05-05 22:41:13 +00:00
2026-04-15 21:51:15 -03:00
2026-05-19 17:45:07 +00:00
2026-05-18 21:10:06 +00:00
2026-05-18 09:57:08 +00:00
2026-05-15 17:08:40 +00:00
2026-05-04 06:30:47 +00:00
2026-04-02 17:06:57 -03:00
2026-05-15 11:12:41 +00:00
2026-04-27 08:42:45 +00:00
2026-04-29 10:27:47 +00:00
2026-04-24 10:29:51 +00:00
2026-01-14 07:19:13 +00:00
2026-05-13 23:35:10 +00:00
2026-05-14 22:20:34 +00:00
2026-05-12 08:21:38 +00:00
2026-04-29 10:27:47 +00:00
2026-04-23 07:36:36 +00:00
2026-05-08 14:18:44 +00:00
2026-04-30 11:10:14 +00:00
2026-05-15 15:14:41 +00:00
2026-05-13 11:34:50 +00:00
2026-05-05 22:41:13 +00:00
2026-05-06 17:03:01 +00:00
2026-04-10 13:27:04 -04:00
2026-05-14 22:20:34 +00:00
2026-05-19 17:04:29 +00:00
2026-05-06 09:28:05 +00:00
2026-05-08 10:36:03 +00:00
2026-04-07 12:28:19 -03:00
2026-02-28 21:47:30 -05:00
2026-05-19 11:29:00 +00:00
2026-02-19 18:57:49 +01:00
2026-02-28 22:42:19 -05:00
2026-05-06 18:52:31 +00:00
2026-04-29 07:27:05 +00:00
2026-05-18 12:59:22 +00:00
2026-05-11 17:58:17 +00:00
2026-05-05 22:41:13 +00:00
2026-05-20 00:28:09 +00:00
2026-04-18 06:34:19 +00:00
2026-05-04 06:30:47 +00:00
2026-05-13 12:43:39 +00:00
2026-05-19 20:14:50 +00:00
2026-02-19 18:57:49 +01:00
2026-04-03 11:00:13 +00:00
2026-05-06 10:56:20 +00:00
2026-05-16 18:54:51 +00:00
2026-05-15 21:34:20 +00:00
2026-04-30 14:17:32 +00:00
2026-05-19 14:32:46 +00:00
2026-05-08 10:36:03 +00:00
2026-05-12 08:55:22 +00:00
2026-05-20 00:05:34 +00:00
2026-05-18 23:57:51 +00:00
2026-05-12 08:59:58 +00:00
2026-05-04 22:51:56 +00:00
2026-03-24 11:05:12 +00:00
2026-04-24 08:58:26 +00:00
2026-04-14 18:14:31 +02:00
2026-04-23 23:47:30 +00:00
2026-05-04 22:51:56 +00:00
2026-05-15 15:34:18 +00:00
2026-05-07 14:09:39 +00:00
2026-05-19 22:03:01 +00:00
2026-04-07 11:19:21 +05:30
2026-05-19 13:28:45 +00:00
2026-05-08 10:36:03 +00:00
2026-04-22 22:22:10 +00:00
2026-05-14 22:20:34 +00:00
2026-02-12 00:28:17 +00:00
2026-05-05 22:41:13 +00:00
2026-04-29 10:27:47 +00:00
2026-05-14 22:20:34 +00:00
2026-05-08 13:19:33 +00:00
2026-04-18 00:55:44 +02:00
2026-04-02 12:52:42 +00:00
2026-05-19 12:51:42 +00:00
2026-05-19 19:04:48 +00:00
2026-05-18 17:15:04 +00:00
2026-05-15 16:27:11 +00:00
2026-03-25 12:07:34 -06:00
2026-05-08 10:36:03 +00:00
2026-05-18 16:18:59 +00:00
2026-05-18 21:10:06 +00:00
2026-05-08 10:36:03 +00:00
2026-02-03 15:51:40 -05:00
2026-05-01 17:29:27 +00:00
2026-03-06 16:49:55 +00:00
2026-03-17 08:36:37 +01:00
2026-05-19 17:20:24 +00:00
2026-05-15 22:51:51 +00:00
2025-12-30 07:49:01 -03:00
2026-05-04 22:51:56 +00:00
2026-04-23 18:41:52 +00:00
2026-05-06 12:27:58 +00:00
2026-05-06 09:28:05 +00:00
2026-02-17 10:41:10 +00:00
2026-02-20 13:36:04 +00:00
2026-05-18 21:10:06 +00:00
2026-04-24 10:29:51 +00:00
2026-05-14 21:03:56 +00:00
2026-04-15 02:21:56 -04:00
2026-05-05 22:41:13 +00:00
2026-05-18 12:22:22 +00:00
2026-05-14 19:51:10 +00:00
2026-04-07 12:28:19 -03:00
2026-05-18 17:15:04 +00:00
2026-05-05 05:10:46 +00:00
2026-05-08 10:36:03 +00:00
2026-05-12 15:52:52 +00:00
2026-05-14 16:30:08 +00:00
2026-05-06 14:06:48 +00:00
2026-04-08 00:34:54 +00:00
2026-03-31 12:48:22 +03:00
2026-05-19 17:53:00 +00:00
2026-05-05 22:41:13 +00:00
2026-05-14 01:24:30 +00:00
2026-05-05 22:41:13 +00:00
2026-05-20 01:26:06 +00:00
2026-05-06 20:08:42 +00:00
2026-05-09 01:54:42 +00:00
2025-12-15 13:30:13 +00:00
2026-05-15 21:17:43 +00:00
2026-05-05 22:41:13 +00:00
2026-04-16 16:36:09 -07:00
2026-05-07 17:40:28 +00:00
2026-05-15 12:07:32 +00:00
2026-05-08 21:03:40 +00:00
2026-03-21 14:05:30 +01:00
2026-05-04 16:38:14 +00:00
2026-05-05 22:41:13 +00:00
2026-05-15 10:07:50 +00:00
2026-03-27 14:41:25 +01:00
2026-05-13 23:35:10 +00:00
2026-03-18 12:05:57 -07:00
2026-05-15 22:52:11 +00:00
2026-05-19 17:45:07 +00:00
2026-03-25 12:07:34 -06:00
2025-11-21 08:28:17 -07:00
2026-04-02 00:44:53 +00:00
2026-05-20 02:40:57 +00:00
2026-05-05 16:25:56 +00:00
2026-05-19 21:08:39 +00:00
2026-05-20 02:40:57 +00:00
2026-04-29 10:27:47 +00:00
2026-05-05 22:41:13 +00:00
2026-04-24 10:29:51 +00:00
2026-03-21 14:05:30 +01:00
2026-03-29 14:43:05 +00:00
2026-03-31 08:06:37 -06:00
2026-05-04 06:30:47 +00:00
2026-05-05 22:41:13 +00:00
2026-05-12 16:20:53 +00:00
2026-05-05 22:41:13 +00:00
2025-11-07 11:36:05 +00:00
2026-01-28 16:36:44 -08:00
2026-05-13 15:51:42 +00:00
2026-05-17 17:15:09 +00:00
2026-05-06 09:28:05 +00:00
2026-05-20 02:33:07 +00:00
2026-03-27 14:41:25 +01:00
2026-03-27 14:41:25 +01:00
2026-04-23 23:47:30 +00:00
2026-05-14 20:03:29 +00:00
2026-02-28 21:47:30 -05:00
2026-05-20 01:26:06 +00:00
2026-05-08 10:36:03 +00:00
2026-05-20 02:22:25 +00:00
2026-03-13 19:37:18 -03:00
2026-03-27 15:31:49 +00:00
2026-03-27 14:41:25 +01:00
2026-05-12 22:47:51 +00:00
2026-05-14 06:39:33 +00:00
2026-03-19 12:53:26 -04:00
2026-03-09 13:22:12 +01:00
2026-05-12 19:40:00 +00:00
2026-03-27 14:41:25 +01:00
2026-05-01 22:33:54 +00:00
2026-05-19 21:31:34 +00:00
2026-05-19 17:53:00 +00:00
2026-02-19 18:57:49 +01:00
2026-05-07 09:56:04 +00:00
2026-05-20 02:40:57 +00:00
2026-05-20 02:40:57 +00:00
2026-04-02 17:06:57 -03:00
2026-04-02 17:06:57 -03:00
2026-05-13 11:34:50 +00:00
2026-03-03 08:37:58 +00:00
2025-11-07 22:27:14 +00:00
2026-02-11 11:24:04 +00:00
2025-12-05 17:23:06 +00:00