From 6f148b991034a2b030a579559e619b1a96766329 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 13 Jul 2026 22:49:23 +0200 Subject: [PATCH] docs(skills): lead the clide skill description with the entry action (T-512) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FR-2: settled-reach's drifted copy of the skill had a sharper opening — naming clide-on-PATH + CLIDE_SOCK and `clide capabilities` as the first move — which de-forking back to canonical would have dropped. The description is what an agent reads when deciding whether to invoke the skill, so the entry action belongs up front. Frontmatter wording only. Co-Authored-By: Claude Fable 5 --- .claude/skills/clide/SKILL.md | 11 +++---- .pql/changelog/ticket_history/2026-07.sql | 1 + .pql/changelog/tickets/2026-07.sql | 2 ++ CHANGELOG.md | 3 ++ feature-request.md | 35 +++-------------------- 5 files changed, 16 insertions(+), 36 deletions(-) diff --git a/.claude/skills/clide/SKILL.md b/.claude/skills/clide/SKILL.md index 8de4b6fe..a17cc23a 100644 --- a/.claude/skills/clide/SKILL.md +++ b/.claude/skills/clide/SKILL.md @@ -1,11 +1,12 @@ --- name: clide description: > - Use when you are running inside the clide IDE and want to observe or drive - its live UI — panes, editor, files, git, readers, toasts, layout — through - the `clide` CLI, or to find out what commands clide exposes. clide is the - IDE hosting this session. Triggers: "what can clide do", "drive the clide - UI", "open this in clide", "show the user", "toast", or invoking /clide. + clide is the IDE hosting this session; it puts `clide` on your PATH and a + per-workspace socket in `CLIDE_SOCK`. Start with `clide capabilities` to + enumerate the live tool surface, then observe or drive the UI — panes, + editor, files, git, readers, toasts, layout — via `clide `. + Triggers: "what can clide do", "drive the clide UI", "open this in clide", + "show the user", "toast", or invoking /clide. user-invocable: true allowed-tools: Bash --- diff --git a/.pql/changelog/ticket_history/2026-07.sql b/.pql/changelog/ticket_history/2026-07.sql index b250a7fa..c1edee79 100644 --- a/.pql/changelog/ticket_history/2026-07.sql +++ b/.pql/changelog/ticket_history/2026-07.sql @@ -108,3 +108,4 @@ CLI (D-6): one cmd id env.path → clide env path list|set|add|remove|clear|capt .worktrees/ added to IgnoreSet.builtin() and the project-init gitignore scaffold. Tests: path_preset_test (pure fns + real worktree layout), env_path_commands_test (all verbs), agent_bootstrap prependDirs cases, PaneRegistry pathForSpawn PTY test, widget tests for the control incl. worktree key sharing + capture. make test (4048) + make test-a11y green.', NULL, '2026-07-13 15:39:31', '2026-07-13 15:39:31.309', '2026-07-13 15:39:31.309', NULL, '44007d87d28b52050716cd913009d341', 2) ON CONFLICT(hash) DO NOTHING; INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FNR3DP0D48AZZ3NRA8JF3Q10', 'status', 'in_progress', 'done', NULL, '2026-07-13 16:48:56', '2026-07-13 16:48:56.833', '2026-07-13 16:48:56.833', NULL, 'd6c02324e60b8d412840b1ffd600a13f', 2) ON CONFLICT(hash) DO NOTHING; +INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FNTF7KE5Y497PQC7SCFGR1KC', 'status', 'backlog', 'done', NULL, '2026-07-13 20:49:17', '2026-07-13 20:49:17.282', '2026-07-13 20:49:17.282', NULL, 'd2d3b437c1063f835e5b34c0cd996f9d', 2) ON CONFLICT(hash) DO NOTHING; diff --git a/.pql/changelog/tickets/2026-07.sql b/.pql/changelog/tickets/2026-07.sql index a6ae975b..adb6cd0f 100644 --- a/.pql/changelog/tickets/2026-07.sql +++ b/.pql/changelog/tickets/2026-07.sql @@ -97,3 +97,5 @@ Injection (prepend, dedup, next-spawn semantics): PTY panes via PaneRegistry.pat CLI (D-6): one cmd id env.path → clide env path list|set|add|remove|clear|capture; Flutter-free handler lib/src/daemon/env_path_commands.dart over an injected PathPresetStore port (adapter in main.dart); mutations publish on envPathChannel; capture diffs loginShellPathOrNull() (new shell_env getter) vs process PATH. UI: Settings → Tools → Workspace PATH section, custom control (ordered list, add/remove/reorder, missing-dir warning, worktree note, capture suggestions) in builtin.tools-settings; en+nl catalogs. .worktrees/ added to IgnoreSet.builtin() and the project-init gitignore scaffold. Tests: path_preset_test (pure fns + real worktree layout), env_path_commands_test (all verbs), agent_bootstrap prependDirs cases, PaneRegistry pathForSpawn PTY test, widget tests for the control incl. worktree key sharing + capture. make test (4048) + make test-a11y green.', 'done', 'high', NULL, NULL, 'D-106', '2026-07-13 15:17:10.275', '2026-07-13 16:48:56.833', NULL, '09c6b262b3c0ecfd2f621d27f2cc5eb2', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash); +INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FNTF7KE5Y497PQC7SCFGR1KC', 'task', NULL, 'Lead the clide skill description with clide capabilities + env mechanics (FR-2)', NULL, 'backlog', 'low', NULL, NULL, NULL, '2026-07-13 20:48:23.409', '2026-07-13 20:48:23.409', NULL, '28edb12dfa1f2bf75d108f6cf9465ea5', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash); +INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FNTF7KE5Y497PQC7SCFGR1KC', 'task', NULL, 'Lead the clide skill description with clide capabilities + env mechanics (FR-2)', NULL, 'done', 'low', NULL, NULL, NULL, '2026-07-13 20:48:23.409', '2026-07-13 20:49:17.282', NULL, 'b7eaec1d037d1c36cf54fac07b3b2dd4', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash); diff --git a/CHANGELOG.md b/CHANGELOG.md index ba713af0..d92f8441 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,9 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit. skills removed, repo-agnostic ones moved to user scope, and stale guidance in the remaining five (paths, commands, icon API) brought back in line with the repo. +- The `clide` skill description now leads with the hosting mechanics (`clide` + on PATH, `CLIDE_SOCK`) and `clide capabilities` as the entry action, so an + agent deciding whether to invoke it sees the first move up front (T-512). ### Fixed diff --git a/feature-request.md b/feature-request.md index 31ac1680..ae481fc7 100644 --- a/feature-request.md +++ b/feature-request.md @@ -17,36 +17,9 @@ in the D-record. --- -## FR-2 — Lead the `clide` skill `description` with `clide capabilities` - -- **Status:** proposed -- **Source:** settled-reach estate-cleanup session, 2026-07-13 — de-forking - the hand-copied `clide` skill back to canonical surfaced a description - improvement in the consumer's fork worth keeping. -- **Severity:** low; discoverability wording, not a functional gap. - -### Problem - -The canonical `.claude/skills/clide/SKILL.md` `description` names the -triggers but not the *first move*. settled-reach's drifted copy had a -sharper opening that named `clide capabilities` as the entry action and the -`clide`-on-PATH + `CLIDE_SOCK` mechanics inline. Syncing that copy back to -canonical (de-forking) drops the improvement unless it's adopted here. The -skill *body* already says "discover the surface first → `clide capabilities`", -but the `description` — what an agent reads when *deciding* whether to invoke -the skill — buries that lead. - -### Proposal - -Fold the fork's opening into the canonical `description` frontmatter: - -> clide is the IDE hosting this session; it puts `clide` on your PATH and a -> per-workspace socket in `CLIDE_SOCK`. Start with `clide capabilities` to -> enumerate the live tool surface. +## FR-2 — Lead the `clide` skill `description` with `clide capabilities` *(accepted → T-512, 2026-07-13)* +Applied: the canonical `.claude/skills/clide/SKILL.md` `description` now +leads with the hosting context (`clide` on PATH, `CLIDE_SOCK`) and +`clide capabilities` as the entry action, keeping the trigger list. Pure frontmatter wording; no behavior change. - ---- - -*Logged from a settled-reach session (consuming the clide skill), not -authored in a clide session — review and triage/commit from clide.*