DSH: model-invocable role loader (#39) #40

Merged
aep merged 1 commits from feat/39-dsh-role-loader into main 2026-10-24 15:30:45 +03:00
Owner

Что это

Модель DSH не может вызвать /role — это пользовательская slash-команда. PR добавляет model-invocable skill role, который читает ~/.dsh/roles/<r>.md и следует процессу роли.

Refs #39.

Что внутри

  • dsh/skills/role/SKILL.md: определяет роль по первому сообщению, читает ~/.dsh/roles → ~/.claude/roles → проектный .claude/roles, объявляет роль.
  • dsh/install.sh: --skills копирует и superpowers, и локальные dsh/skills; --check проверяет role skill; adapter-строка говорит модели использовать skill role, а /role оставляет пользователю.
  • dsh/tests/role-skill.test.mjs — frontmatter, пути, запрет вызова /role моделью.
  • dsh/tests/install.test.mjs — role skill копируется.
  • README/PORT обновлены.

Проверено

  • bash dsh/tests/run.sh — 30/30.
  • bash tests/run.sh — 630/630.

После мержа

  • bash dsh/install.sh --global --skills --roles;
  • перезапустить DSH;
  • свежая сессия, «Let's make a react todo list» → skill({name:"role"}) + чтение ~/.dsh/roles/dev.md до ответа.

Acceptance остаётся в #39 — PR не закрывает issue.

## Что это Модель DSH не может вызвать `/role` — это пользовательская slash-команда. PR добавляет model-invocable skill `role`, который читает `~/.dsh/roles/<r>.md` и следует процессу роли. Refs #39. ## Что внутри - `dsh/skills/role/SKILL.md`: определяет роль по первому сообщению, читает `~/.dsh/roles` → `~/.claude/roles` → проектный `.claude/roles`, объявляет роль. - `dsh/install.sh`: `--skills` копирует и superpowers, и локальные `dsh/skills`; `--check` проверяет role skill; adapter-строка говорит модели использовать skill `role`, а `/role` оставляет пользователю. - `dsh/tests/role-skill.test.mjs` — frontmatter, пути, запрет вызова `/role` моделью. - `dsh/tests/install.test.mjs` — role skill копируется. - README/PORT обновлены. ## Проверено - `bash dsh/tests/run.sh` — 30/30. - `bash tests/run.sh` — 630/630. ## После мержа - `bash dsh/install.sh --global --skills --roles`; - перезапустить DSH; - свежая сессия, «Let's make a react todo list» → `skill({name:"role"})` + чтение `~/.dsh/roles/dev.md` до ответа. Acceptance остаётся в #39 — PR не закрывает issue.
aep added 1 commit 2026-10-24 15:30:38 +03:00
aep merged commit d567882def into main 2026-10-24 15:30:45 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/claude-harness#40
No description provided.