docs(skills): lead the clide skill description with the entry action (T-512)
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 <noreply@anthropic.com>
This commit is contained in:
@@ -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 <subsystem> <verb>`.
|
||||
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
|
||||
---
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
+4
-31
@@ -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.*
|
||||
|
||||
Reference in New Issue
Block a user