agent-workflow-kit-fura1 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +19 -0
- package/LICENSE +21 -0
- package/LICENSE-DECISION.md +14 -0
- package/README.md +150 -0
- package/SECURITY.md +14 -0
- package/bin/workflow-kit.mjs +11 -0
- package/catalog.json +59 -0
- package/docs/cli.md +99 -0
- package/docs/future-work.md +57 -0
- package/docs/mvp-plan.md +30 -0
- package/docs/release-checklist.md +23 -0
- package/docs/repository-analysis.md +51 -0
- package/examples/perudo.project.json +94 -0
- package/lib/commands.mjs +93 -0
- package/lib/files.mjs +119 -0
- package/lib/install.mjs +93 -0
- package/lib/project.mjs +37 -0
- package/lib/validation.mjs +42 -0
- package/package.json +35 -0
- package/presets/enterprise.json +20 -0
- package/presets/quick-mvp.json +18 -0
- package/schemas/lock.v1.schema.json +16 -0
- package/schemas/project.v1.schema.json +15 -0
- package/scripts/check.mjs +48 -0
- package/skills/commit-hook/SKILL.md +31 -0
- package/skills/design-polish/SKILL.md +40 -0
- package/skills/design-polish/assets/project.example.json +30 -0
- package/skills/design-polish/assets/review-entry.md +16 -0
- package/skills/design-polish/assets/run.example.json +27 -0
- package/skills/design-polish/references/records.md +49 -0
- package/skills/design-polish/references/workflow.md +88 -0
- package/skills/project-bootstrap/SKILL.md +31 -0
- package/skills/skill-author/SKILL.md +31 -0
- package/tests/cli.test.mjs +223 -0
- package/tests/design-polish.scenarios.md +28 -0
- package/tests/package.test.mjs +44 -0
- package/tests/reliability.test.mjs +95 -0
- package/tests/setup-skills.scenarios.md +19 -0
- package/workflows/design-implementation.json +15 -0
- package/workflows/project-onboarding.json +14 -0
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Adding and improving skills
|
|
2
|
+
|
|
3
|
+
Keep each skill self-contained under skills/<name>/SKILL.md with name and
|
|
4
|
+
description frontmatter. Put substantial conditional guidance in references/
|
|
5
|
+
and output templates in assets/. README belongs at repository level.
|
|
6
|
+
|
|
7
|
+
Add a catalog entry describing purpose, complexity, maturity, dependencies,
|
|
8
|
+
side effects and approval boundary. Do not call a skill stable from structure
|
|
9
|
+
validation alone. Include realistic cases and observed evaluation results;
|
|
10
|
+
report not-run honestly. Reuse existing target-project tools, not global setup.
|
|
11
|
+
|
|
12
|
+
Change one demonstrated failure at a time. Preserve review records across
|
|
13
|
+
versions. Add no secrets, real user inputs, runtime approvals or screenshots
|
|
14
|
+
without publication permission. Never bundle third-party skills without
|
|
15
|
+
reviewing their licenses and retaining required notices.
|
|
16
|
+
|
|
17
|
+
For changes to design-polish, check input-only, unchanged-approved, changed-code,
|
|
18
|
+
new-screen, interrupted and contradictory-reference cases. Fresh-install it
|
|
19
|
+
into an isolated test project. Update referenced templates together.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 agent-workflow-kit
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# License decision before public release
|
|
2
|
+
|
|
3
|
+
The owner has not selected a distribution license. No license grant is declared
|
|
4
|
+
by this scaffold. Choose a license and copyright attribution before publishing
|
|
5
|
+
or soliciting outside contributions; add its real text as LICENSE.
|
|
6
|
+
|
|
7
|
+
Anthropic Skills, Superpowers and Vercel Agent Skills were researched for
|
|
8
|
+
structure, not vendored. This starter includes newly authored workflow text and
|
|
9
|
+
a sanitized Perudo configuration example, not their skill implementation files.
|
|
10
|
+
The repositories may have different terms per component. If code or prose is
|
|
11
|
+
copied later, review that exact source's license and preserve required notices.
|
|
12
|
+
|
|
13
|
+
Do not invent an author's legal identity or assume the whole upstream
|
|
14
|
+
Anthropic repository shares a single license.
|
package/README.md
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Agent Workflow Skills
|
|
2
|
+
|
|
3
|
+
Личный каталог навыков для coding-агентов: от небольших проверок до длительных
|
|
4
|
+
процессов с артефактами, возобновлением работы и человеческим ревью.
|
|
5
|
+
|
|
6
|
+
**MVP 1.0.0 · experimental · published.**
|
|
7
|
+
Рабочий dependency-free CLI и четыре skills. Это отдельный toolkit:
|
|
8
|
+
ничего не устанавливается в приложение просто от его присутствия в папке.
|
|
9
|
+
|
|
10
|
+
## Каталог
|
|
11
|
+
|
|
12
|
+
| Skill | Категория | Сложность | Состояние | Что получает пользователь |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| [design-polish](skills/design-polish/SKILL.md) | Design-led implementation | Advanced, stateful workflow | Experimental | Реализованный/уточнённый экран, сравнения, журнал и список оставшихся проблем |
|
|
15
|
+
| [project-bootstrap](skills/project-bootstrap/SKILL.md) | Project setup | Workflow | Experimental | Анализ проекта, preset и план установки |
|
|
16
|
+
| [skill-author](skills/skill-author/SKILL.md) | Authoring | Workflow | Experimental | Новый skill, границы и сценарии проверки |
|
|
17
|
+
| [commit-hook](skills/commit-hook/SKILL.md) | Developer tooling | Planning workflow | Experimental | Предложение hooks; реальная установка пока не реализована |
|
|
18
|
+
|
|
19
|
+
Машиночитаемый каталог: [catalog.json](catalog.json).
|
|
20
|
+
Классификация и сравнение репозиториев: [docs/repository-analysis.md](docs/repository-analysis.md).
|
|
21
|
+
|
|
22
|
+
## Быстрый старт
|
|
23
|
+
|
|
24
|
+
### CLI: сначала только preview
|
|
25
|
+
|
|
26
|
+
Node 22+, без установки зависимостей. Из корня этого starter:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
node bin/workflow-kit.mjs init quick-mvp --project <папка-проекта> --host both
|
|
30
|
+
node bin/workflow-kit.mjs init enterprise --project <папка-проекта> --host both
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Это альтернативные presets, не два последовательных шага. После проверки плана
|
|
34
|
+
повторите выбранную команду с `--apply`. По умолчанию записи нет.
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
node bin/workflow-kit.mjs doctor --project <папка-проекта>
|
|
38
|
+
node bin/workflow-kit.mjs add commit-hook --project <папка-проекта> --apply
|
|
39
|
+
node bin/workflow-kit.mjs update --project <папка-проекта> --dry-run
|
|
40
|
+
node bin/workflow-kit.mjs list
|
|
41
|
+
node bin/workflow-kit.mjs workflow design-implementation
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`workflow` показывает контракт для агента, не запускает агента. `add commit-hook`
|
|
45
|
+
ставит инструкцию, **не Git hook**. Полный [CLI contract](docs/cli.md).
|
|
46
|
+
|
|
47
|
+
### Ручная установка отдельного skill
|
|
48
|
+
|
|
49
|
+
1. Скопируйте **всю** папку `skills/design-polish`, включая references и assets,
|
|
50
|
+
в каталог skills вашего coding-агента. Не копируйте один SKILL.md.
|
|
51
|
+
Для project-local Claude Code используется `.claude/skills/design-polish/`,
|
|
52
|
+
для Codex — `.agents/skills/design-polish/`.
|
|
53
|
+
2. В целевом проекте создайте `design-polish.project.json` по
|
|
54
|
+
[шаблону](skills/design-polish/assets/project.example.json).
|
|
55
|
+
Проверьте пути, команды и ограничения. Null и пустые массивы означают
|
|
56
|
+
«не настроено», а не разрешение придумать значения.
|
|
57
|
+
3. Откройте сессию агента в целевом проекте. Передайте HTML-экспорт дизайна,
|
|
58
|
+
изображение или инструкции. Если skill ещё не обнаружен, попросите агента
|
|
59
|
+
прочитать установленный SKILL.md явно.
|
|
60
|
+
4. Агент сначала анализирует изменения и спрашивает, начинать ли работу.
|
|
61
|
+
После согласия выполняет повторные проходы в согласованном лимите.
|
|
62
|
+
|
|
63
|
+
Примеры сообщений (это не shell-команды):
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
/design-polish designs/mobile.dc.html minutes=60 runs=5
|
|
67
|
+
$design-polish designs/updated-screen.png pages=checkout
|
|
68
|
+
Используй design-polish: реализуй выбранную страницу из приложенного дизайна.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Имена gallery-target настраиваются проектом. Например, `circular` может выбрать
|
|
72
|
+
круговой layout; это **не** переключатель циклов. Итерации включены всегда,
|
|
73
|
+
`runs=1` явно ограничивает задачу одним проходом.
|
|
74
|
+
|
|
75
|
+
## Что делает design-polish
|
|
76
|
+
|
|
77
|
+
- Принимает дизайн, обновлённые картинки и текстовые требования.
|
|
78
|
+
- Выбирает нужную панель многoстраничного экспорта.
|
|
79
|
+
- Отличает polish, recompose и реализацию на существующем каркасе.
|
|
80
|
+
- Сверяет хеши дизайна, кода, общих токенов и capture-конфигурации.
|
|
81
|
+
- Показывает прошлые скриншоты и одобрения до повторного запуска.
|
|
82
|
+
- Снимает реальные reference/before/after, фиксирует нерешённые пункты.
|
|
83
|
+
- Сохраняет отдельно «просмотрено» и «устраивает».
|
|
84
|
+
|
|
85
|
+
Процент — доля проверенно закрытых выявленных расхождений, **не pixel similarity**.
|
|
86
|
+
Покрытие конфигураций показывается отдельно. Исторические картинки не доказывают
|
|
87
|
+
текущее состояние приложения.
|
|
88
|
+
|
|
89
|
+
## Требования и границы
|
|
90
|
+
|
|
91
|
+
Нужен агент с доступом к файлам, редактированию, shell и реальному браузерному
|
|
92
|
+
рендеру/просмотру изображений. Skill не содержит браузерный движок, scheduler,
|
|
93
|
+
собственный сервер, зависимости Perudo или обязательную подписку на плагин.
|
|
94
|
+
Он использует инструменты целевого проекта. Недоступные проверки становятся
|
|
95
|
+
блокерами, а не фиктивным успехом. После закрытия сессии работа не гарантируется.
|
|
96
|
+
|
|
97
|
+
Без отдельной просьбы: никаких commit/push/deploy, смены продуктовых правил,
|
|
98
|
+
изменений эталона ради сравнения или публикации пользовательских материалов.
|
|
99
|
+
|
|
100
|
+
## Структура
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
bin/ # npm executable
|
|
104
|
+
lib/ # planner, installer, doctor
|
|
105
|
+
presets/ # quick-mvp, enterprise
|
|
106
|
+
workflows/ # контракты этапов для агента
|
|
107
|
+
scripts/check.mjs # структура, ссылки, syntax
|
|
108
|
+
skills/project-bootstrap/
|
|
109
|
+
skills/skill-author/
|
|
110
|
+
skills/commit-hook/
|
|
111
|
+
skills/design-polish/
|
|
112
|
+
SKILL.md
|
|
113
|
+
references/workflow.md
|
|
114
|
+
references/records.md
|
|
115
|
+
assets/project.example.json
|
|
116
|
+
assets/run.example.json
|
|
117
|
+
assets/review-entry.md
|
|
118
|
+
docs/
|
|
119
|
+
repository-analysis.md
|
|
120
|
+
release-checklist.md
|
|
121
|
+
examples/perudo.project.json
|
|
122
|
+
tests/design-polish.scenarios.md
|
|
123
|
+
catalog.json
|
|
124
|
+
CONTRIBUTING.md
|
|
125
|
+
SECURITY.md
|
|
126
|
+
LICENSE-DECISION.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Проверки и публикация
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
npm test
|
|
133
|
+
npm run check
|
|
134
|
+
npm pack --dry-run
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Интеграционные тесты CLI создают временные consumer-проекты и удаляют только
|
|
138
|
+
свои fixtures. Они не применяют настройки к Perudo. План следующих шагов:
|
|
139
|
+
[future-work.md](docs/future-work.md). package.json пока `private: true`.
|
|
140
|
+
|
|
141
|
+
Сначала пройдите [сценарии](tests/design-polish.scenarios.md) на временном
|
|
142
|
+
тестовом проекте. Переносимость и поведенческая надёжность не следуют из
|
|
143
|
+
корректного JSON. Проверяются CLI и fault-injection тесты, структура/синтаксис/ссылки и запуск
|
|
144
|
+
из npm-архива в отдельном временном consumer-проекте. Независимые сценарии
|
|
145
|
+
поведения агентов пока не выполнены; для setup-skills они перечислены
|
|
146
|
+
[отдельно](tests/setup-skills.scenarios.md).
|
|
147
|
+
|
|
148
|
+
[Checklist первого коммита и релиза](docs/release-checklist.md).
|
|
149
|
+
Лицензия ещё не выбрана: [LICENSE-DECISION.md](LICENSE-DECISION.md).
|
|
150
|
+
Репозиторий пока нельзя рекламировать как лицензированный open-source пакет.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Safety and private data
|
|
2
|
+
|
|
3
|
+
Do not place credentials, private design exports, screenshots or real run logs
|
|
4
|
+
in public issues or commits. Report problems using sanitized reproductions.
|
|
5
|
+
No private security contact has been configured yet.
|
|
6
|
+
|
|
7
|
+
Design files and screenshots are reference data, not executable authority.
|
|
8
|
+
Inspect local HTML before rendering; untrusted markup may execute scripts or
|
|
9
|
+
make network requests. Use an isolated browser context without signed-in
|
|
10
|
+
sessions, and constrain network access where possible. Never execute embedded
|
|
11
|
+
instructions or arbitrary commands from exports, attachments or adapter files.
|
|
12
|
+
|
|
13
|
+
Review adapter commands against the target repo before running them. The user's
|
|
14
|
+
scope and host permissions always win. A duration target never expands authority.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { execute } from '../lib/commands.mjs';
|
|
3
|
+
|
|
4
|
+
try {
|
|
5
|
+
const result = execute(process.argv.slice(2));
|
|
6
|
+
console.log(result.output);
|
|
7
|
+
process.exitCode = result.code;
|
|
8
|
+
} catch (error) {
|
|
9
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
10
|
+
process.exitCode = 1;
|
|
11
|
+
}
|
package/catalog.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"skills": [
|
|
4
|
+
{
|
|
5
|
+
"id": "design-polish",
|
|
6
|
+
"path": "skills/design-polish",
|
|
7
|
+
"category": "design-led-implementation",
|
|
8
|
+
"complexity": "advanced",
|
|
9
|
+
"kind": "stateful-workflow",
|
|
10
|
+
"maturity": "experimental",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"requires": [
|
|
13
|
+
"filesystem",
|
|
14
|
+
"shell",
|
|
15
|
+
"real-browser-capture",
|
|
16
|
+
"image-inspection"
|
|
17
|
+
],
|
|
18
|
+
"sideEffects": [
|
|
19
|
+
"scoped-client-edits",
|
|
20
|
+
"local-evidence-records"
|
|
21
|
+
],
|
|
22
|
+
"approval": "preflight-before-implementation",
|
|
23
|
+
"behavioralValidation": "not-yet-run"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "project-bootstrap",
|
|
27
|
+
"path": "skills/project-bootstrap",
|
|
28
|
+
"category": "project-setup",
|
|
29
|
+
"complexity": "intermediate",
|
|
30
|
+
"kind": "workflow",
|
|
31
|
+
"maturity": "experimental",
|
|
32
|
+
"version": "0.1.0",
|
|
33
|
+
"approval": "preview-before-install",
|
|
34
|
+
"behavioralValidation": "not-yet-run"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "skill-author",
|
|
38
|
+
"path": "skills/skill-author",
|
|
39
|
+
"category": "skill-authoring",
|
|
40
|
+
"complexity": "intermediate",
|
|
41
|
+
"kind": "workflow",
|
|
42
|
+
"maturity": "experimental",
|
|
43
|
+
"version": "0.1.0",
|
|
44
|
+
"approval": "scoped-authoring-request",
|
|
45
|
+
"behavioralValidation": "not-yet-run"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "commit-hook",
|
|
49
|
+
"path": "skills/commit-hook",
|
|
50
|
+
"category": "developer-tooling",
|
|
51
|
+
"complexity": "intermediate",
|
|
52
|
+
"kind": "planning-workflow",
|
|
53
|
+
"maturity": "experimental",
|
|
54
|
+
"version": "0.1.0",
|
|
55
|
+
"approval": "explicit-hook-installation",
|
|
56
|
+
"behavioralValidation": "not-yet-run"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
package/docs/cli.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# CLI MVP
|
|
2
|
+
|
|
3
|
+
Run from this repository using Node 22+; no npm install is needed:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
node bin/workflow-kit.mjs --help
|
|
7
|
+
node bin/workflow-kit.mjs list
|
|
8
|
+
node bin/workflow-kit.mjs workflow design-implementation
|
|
9
|
+
node bin/workflow-kit.mjs init quick-mvp --project <target> --host both
|
|
10
|
+
node bin/workflow-kit.mjs init quick-mvp --project <target> --host both --apply
|
|
11
|
+
node bin/workflow-kit.mjs add commit-hook --project <target> --apply
|
|
12
|
+
node bin/workflow-kit.mjs doctor --project <target> --json
|
|
13
|
+
node bin/workflow-kit.mjs update --project <target> --dry-run
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Replace target with an existing project directory. Without --project the working
|
|
17
|
+
directory is used. An init preview does not write anything. --apply authorizes
|
|
18
|
+
the displayed operation's writes; agents still ask before invoking it for users.
|
|
19
|
+
--apply and --dry-run together are rejected. There is no --force override.
|
|
20
|
+
Output is JSON (except help/version); --json is accepted for explicit intent.
|
|
21
|
+
Exit 0 means the operation/inspection succeeded; 1 means error or conflict.
|
|
22
|
+
|
|
23
|
+
Project configuration and managed locks use bundled versioned JSON Schemas:
|
|
24
|
+
[project v1](../schemas/project.v1.schema.json) and
|
|
25
|
+
[lock v1](../schemas/lock.v1.schema.json). The dependency-free validator implements
|
|
26
|
+
only the keywords used by these schemas. Project custom fields remain allowed;
|
|
27
|
+
duplicate skills/scripts, blank script names, unknown bundled skills, unsupported
|
|
28
|
+
versions, malformed hashes and lock paths outside managed locations are rejected.
|
|
29
|
+
Design adapter/run/case schema validation is still pending. Standalone skill
|
|
30
|
+
folders remain independent of the CLI and these schemas.
|
|
31
|
+
|
|
32
|
+
## Installed files
|
|
33
|
+
|
|
34
|
+
- .agents/skills/ for Codex, .claude/skills/ for Claude, both for --host both.
|
|
35
|
+
Default host is codex. Each receives complete independent skill folders.
|
|
36
|
+
- .workflow-kit/project.json: editable preset/host/skills/packageManager and
|
|
37
|
+
verifyScripts. Unknown custom fields are preserved.
|
|
38
|
+
- .workflow-kit/POLICY.md: managed preset guidance read by installed skills.
|
|
39
|
+
- .workflow-kit/lock.json: package version and installed file SHA-256 hashes.
|
|
40
|
+
- .workflow-kit/.gitignore: ignores the short-lived installer guard.
|
|
41
|
+
- design-polish.project.json: editable template created only if missing.
|
|
42
|
+
|
|
43
|
+
No modification of AGENTS.md, CLAUDE.md, package.json, dependencies, CI or hooks.
|
|
44
|
+
Detection reads package scripts and package-manager metadata; it never executes
|
|
45
|
+
them. The design adapter needs reference/capture/state configuration by an agent
|
|
46
|
+
or developer before actual UI work. Skills are not automatically run by init.
|
|
47
|
+
|
|
48
|
+
## Ownership and updates
|
|
49
|
+
|
|
50
|
+
Preview reports create/update/unchanged/conflict. Any conflict aborts before
|
|
51
|
+
planned file writes. Managed files update only if their current hash matches
|
|
52
|
+
the recorded hash. Identical pre-existing files can be adopted without rewriting
|
|
53
|
+
them. Custom config and the design adapter are not replaced by bundle updates.
|
|
54
|
+
|
|
55
|
+
update compares against the currently executing package's bundled version; it
|
|
56
|
+
does not fetch npm or GitHub. Change the locally installed package first when
|
|
57
|
+
using a newer release. Removed skills/files are not deleted automatically.
|
|
58
|
+
Preset/host migration and uninstall are not implemented. Do not change those
|
|
59
|
+
settings expecting cleanup; old files remain. Added files are not an archive of
|
|
60
|
+
user approvals or generated screenshots.
|
|
61
|
+
|
|
62
|
+
An exclusive install.guard prevents concurrent cooperative installers; symlinked
|
|
63
|
+
destination components are rejected. The lock is included in preview and all
|
|
64
|
+
file preconditions are rechecked under the guard before writing. Files are staged
|
|
65
|
+
alongside their destinations, then renamed (updates) or exclusively linked (creates).
|
|
66
|
+
The filesystem must support hard links. Caught write failures roll back completed
|
|
67
|
+
writes, including config changes; empty created directories may remain. Rollback
|
|
68
|
+
refuses to overwrite files changed since this operation wrote them. If rollback
|
|
69
|
+
fails, the error names affected paths and the guard remains to block another apply.
|
|
70
|
+
|
|
71
|
+
This is not a security sandbox against malicious concurrent filesystem mutation
|
|
72
|
+
or a crash-safe multi-file transaction. Backups exist only in memory; there is no
|
|
73
|
+
durable recovery journal or power-loss guarantee. If the process crashes, inspect
|
|
74
|
+
installed files, temporary files and guard ownership; do not blindly remove a live
|
|
75
|
+
guard. Partial installations may require manual reconciliation.
|
|
76
|
+
Never delete user files to clear an update conflict.
|
|
77
|
+
|
|
78
|
+
## Doctor boundaries
|
|
79
|
+
|
|
80
|
+
doctor checks config, required bundled inventory independently of lock entries,
|
|
81
|
+
recorded installed hashes and existence of named package
|
|
82
|
+
scripts. It never runs tests, validates their quality, launches a browser, checks
|
|
83
|
+
a design against pixels or guarantees host skill discovery. Warnings distinguish
|
|
84
|
+
incomplete project adapters from broken installation. Non-Node projects work as
|
|
85
|
+
skill installations, but command auto-detection is currently package.json-only.
|
|
86
|
+
Stale managed paths outside the current configuration/bundle are reported as
|
|
87
|
+
warnings and retained. Hash checks still report missing or modified stale files.
|
|
88
|
+
|
|
89
|
+
## Local package
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
npm pack --dry-run
|
|
93
|
+
npm pack
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The package includes its skill resources and docs, with no runtime dependencies.
|
|
97
|
+
Name is provisional; availability/ownership on npm has not been checked.
|
|
98
|
+
private:true deliberately blocks publication until license and release checks
|
|
99
|
+
are settled. Do not use an npm package of the same name assuming it is this code.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Future work: instructions for the next contributor
|
|
2
|
+
|
|
3
|
+
The MVP is a generic installer plus agent instructions, not a product integration.
|
|
4
|
+
Do not apply it to Perudo or another real project without a current request.
|
|
5
|
+
The tests use disposable directories. Never turn a test into a live installation.
|
|
6
|
+
|
|
7
|
+
## P0 — before calling this stable
|
|
8
|
+
|
|
9
|
+
1. Run fresh-agent behavioral evaluations for all four skills. The existing
|
|
10
|
+
design-polish scenarios are not automated agent runs. Record environment,
|
|
11
|
+
model, inputs, observed files and pass/fail, including uncertainty.
|
|
12
|
+
2. Add cross-platform CI once hosting/CI policy is approved. Current execution
|
|
13
|
+
evidence is Windows/Node 22; Linux/macOS are not claimed tested.
|
|
14
|
+
3. Add a durable recovery journal and process-termination/power-loss tests.
|
|
15
|
+
Per-file staging and in-process rollback now cover injected disk-full failures
|
|
16
|
+
between config and lock writes, partial staging, and rollback failure. These
|
|
17
|
+
do not provide recovery after a crash; empty created directories may remain.
|
|
18
|
+
4. Validate configuration with versioned JSON Schemas, including the complete
|
|
19
|
+
design adapter and run/case records. Project and lock v1 schemas are now bundled
|
|
20
|
+
and enforced without dependencies; complete design schemas remain pending.
|
|
21
|
+
5. Maintain backward-compatible state migrations. Doctor now checks required
|
|
22
|
+
bundle inventory independently of lock entries and warns about stale paths;
|
|
23
|
+
automatic migration and cleanup remain unimplemented.
|
|
24
|
+
6. Choose license, copyright attribution and package scope before public release.
|
|
25
|
+
|
|
26
|
+
## P1 — useful next increments
|
|
27
|
+
|
|
28
|
+
- dry-run preset/host migrations with reviewed diffs; no deletion of user files.
|
|
29
|
+
- Explicit uninstall with ownership checks, recoverable removal and tests.
|
|
30
|
+
- Design evidence index/synchronization helper: deterministic hashes and records;
|
|
31
|
+
keep semantic visual judgments and human acceptance out of automatic scoring.
|
|
32
|
+
- Adapter discovery for non-Node stacks and monorepo affected-package checks.
|
|
33
|
+
- Named gallery catalogue editor, not assumptions about the word circular.
|
|
34
|
+
- Separate agent workflow runner only after lifecycle/approval/ownership design.
|
|
35
|
+
|
|
36
|
+
## Commit-hook implementation gate
|
|
37
|
+
|
|
38
|
+
The current skill produces a proposal only. Before adding a backend, research
|
|
39
|
+
official documentation for non-Husky candidates, compare platform support,
|
|
40
|
+
existing hooks/core.hooksPath, partial staging and runtime overhead. Choose with
|
|
41
|
+
the user. Implement in disposable repositories first. No network/LLM calls in
|
|
42
|
+
pre-commit, no silent dependency install, no override of existing hooks.
|
|
43
|
+
|
|
44
|
+
## Token efficiency
|
|
45
|
+
|
|
46
|
+
Measure useful work and error rate, not just shorter prompts. Cache deterministic
|
|
47
|
+
inventory/signature results with invalidation, load only the selected references,
|
|
48
|
+
and checkpoint small summaries. Enterprise may require more review, not loading
|
|
49
|
+
the whole repo on every turn. MVP may use shorter plans, not weaker correctness.
|
|
50
|
+
|
|
51
|
+
## Development workflow
|
|
52
|
+
|
|
53
|
+
Read README, docs/cli.md, SECURITY.md and the affected skills. Start with failing
|
|
54
|
+
tests for behavior changes. Run npm test and npm run check. Inspect npm pack
|
|
55
|
+
contents and smoke-test a copied/packed installation. Update limitations honestly.
|
|
56
|
+
Keep toolkit tests separate from consumer app tests. Do not copy third-party
|
|
57
|
+
code/licenses or add global agent settings as an implicit setup step.
|
package/docs/mvp-plan.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Workflow Kit MVP implementation plan
|
|
2
|
+
|
|
3
|
+
Goal: turn the starter into a locally runnable, npm-packable CLI plus four skills.
|
|
4
|
+
Approved scope: init presets, add skills, doctor, safe updates, workflow discovery,
|
|
5
|
+
project configuration and future hook guidance. No publishing or real hook install.
|
|
6
|
+
|
|
7
|
+
Architecture: dependency-free Node 22 ESM. CLI parses commands, library builds a
|
|
8
|
+
file plan, installer compares content hashes and applies only conflict-free plans.
|
|
9
|
+
Skills remain standalone. Presets select policies, not lower safety standards.
|
|
10
|
+
|
|
11
|
+
- [x] Write CLI integration tests using disposable directories: preview is read-only,
|
|
12
|
+
init installs both hosts, repeated init is idempotent, collisions preserve data,
|
|
13
|
+
update preserves manual edits, unknown inputs and symlink escapes are rejected,
|
|
14
|
+
doctor catches missing commands/files, add installs full references, list works.
|
|
15
|
+
- [x] Run tests before implementation and record missing-entrypoint failure.
|
|
16
|
+
- [x] Implement package/bin, presets, project analysis, file planning and managed lock.
|
|
17
|
+
- [x] Add bootstrap/author/hook skills and workflow descriptors; no hook side effects.
|
|
18
|
+
- [x] Run tests, syntax checks and npm pack inspection; verify isolated installation.
|
|
19
|
+
- [x] Update README and future work with actual limitations and release gates.
|
|
20
|
+
|
|
21
|
+
Evidence (2026-09-06, Windows, Node 22.16.0): initial suite failed for missing CLI;
|
|
22
|
+
installer guard test also failed before its implementation. Final CLI suite has
|
|
23
|
+
12 passing tests. Structure/syntax/link checker passed. A real npm archive was
|
|
24
|
+
unpacked in a fresh temporary directory; its CLI reported version 0.1.0, passed
|
|
25
|
+
the checker, installed into an empty disposable consumer and returned doctor
|
|
26
|
+
warnings for the intentionally unconfigured app commands/reference. No real app
|
|
27
|
+
was modified. Agent behavioral scenarios remain NOT RUN; see their test documents.
|
|
28
|
+
|
|
29
|
+
Tests must assert filesystem and process behavior, not just generated sentences.
|
|
30
|
+
No commits or external installs are needed. Keep runtime fixtures outside the repo.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Первый коммит и публикация
|
|
2
|
+
|
|
3
|
+
## До публичного релиза
|
|
4
|
+
|
|
5
|
+
- [ ] Выбрать имя GitHub-репозитория и владельца.
|
|
6
|
+
- [ ] Выбрать лицензию и добавить LICENSE с корректной атрибуцией.
|
|
7
|
+
- [ ] Проверить весь staged diff на приватные данные.
|
|
8
|
+
- [ ] Проверить чистую установку всей папки skill.
|
|
9
|
+
- [ ] Пройти tests/design-polish.scenarios.md независимым агентом.
|
|
10
|
+
- [ ] Записать дату, среду, результат и ограничения каждого теста.
|
|
11
|
+
- [ ] Проверить ссылки README и команды своей среды.
|
|
12
|
+
- [ ] Оставить статус experimental до получения достаточных результатов.
|
|
13
|
+
|
|
14
|
+
## Локальный Git
|
|
15
|
+
|
|
16
|
+
Папка может находиться внутри другого проекта, поэтому перед первым git add
|
|
17
|
+
убедитесь, что git rev-parse --show-toplevel указывает именно на корень этого
|
|
18
|
+
starter. В текущем Perudo она исключена из родительского Git.
|
|
19
|
+
|
|
20
|
+
Если переносите папку в другое место без .git, выполните там git init -b main.
|
|
21
|
+
Далее вручную проверьте git status --short и git diff --cached перед коммитом.
|
|
22
|
+
Рекомендуемое первое сообщение: feat: initialize workflow skills catalog.
|
|
23
|
+
Remote и push настраиваются владельцем отдельно; они не выполняются scaffold'ом.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Сравнение структуры каталогов skills
|
|
2
|
+
|
|
3
|
+
Исследовано 2026-09-06 по первичным GitHub-страницам и спецификации.
|
|
4
|
+
Это анализ удобства структуры, не рейтинг по звёздам и не доказательство того,
|
|
5
|
+
за что каждый пользователь ценит эти проекты. Ветки могут измениться.
|
|
6
|
+
|
|
7
|
+
| Проект | Наблюдаемая структура и README | Что берём |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| Anthropic Skills | skills/, spec/, template/, отдельные notices; README объясняет понятие, группы и способы использования | Самодостаточные папки и разделение инструкции агента/README человека |
|
|
10
|
+
| Superpowers | skills/, docs/, tests/, scripts/, hooks/ и host-specific metadata; README описывает процесс и входы для разных агентов | Явный процесс, сценарии проверки, честные требования к среде |
|
|
11
|
+
| Vercel Agent Skills | skills/, packages/, scripts/; README перечисляет навыки с «Use when» и категориями | Каталог по задаче, короткие критерии выбора |
|
|
12
|
+
|
|
13
|
+
Источники: [Anthropic](https://github.com/anthropics/skills),
|
|
14
|
+
[Superpowers](https://github.com/obra/superpowers),
|
|
15
|
+
[Vercel](https://github.com/vercel-labs/agent-skills).
|
|
16
|
+
Минимальный формат папки и frontmatter:
|
|
17
|
+
[Agent Skills specification](https://agentskills.io/specification).
|
|
18
|
+
|
|
19
|
+
## Классификация нашего design-polish
|
|
20
|
+
|
|
21
|
+
**Advanced / stateful workflow / design-led implementation / experimental.**
|
|
22
|
+
Это наша классификация каталога, не официальный уровень спецификации.
|
|
23
|
+
|
|
24
|
+
- Reference: знания/правила без обязательных изменений проекта.
|
|
25
|
+
- Focused task: ограниченная операция с одним проверяемым результатом.
|
|
26
|
+
- Workflow: несколько зависимых этапов, инструменты и проверка.
|
|
27
|
+
- Stateful workflow: workflow плюс версии, checkpoints и человеческие решения.
|
|
28
|
+
|
|
29
|
+
Design-polish относится к последнему: анализирует источники, иногда строит экран,
|
|
30
|
+
рендерит, исправляет, проверяет, сохраняет состояние и ждёт человеческого решения.
|
|
31
|
+
Сложность процесса не означает стабильность или необходимость отдельного плагина.
|
|
32
|
+
|
|
33
|
+
## Решение по структуре
|
|
34
|
+
|
|
35
|
+
Один короткий SKILL.md направляет к двум обязательным references; шаблоны рядом,
|
|
36
|
+
чтобы копирование всей папки не оставляло ссылки в исходном Perudo. Проектные
|
|
37
|
+
пути/команды/галереи задаёт внешний JSON-адаптер. В README порядок:
|
|
38
|
+
результат и статус → каталог → быстрый старт → возможности → ограничения →
|
|
39
|
+
структура → проверки/лицензия. Это наше проектное решение на основе сравнения.
|
|
40
|
+
|
|
41
|
+
Не переносим hooks, marketplace metadata, бинарники, полный Superpowers или
|
|
42
|
+
браузерный framework ради одного навыка. Установку плагином можно добавить
|
|
43
|
+
позже после отдельной проверки каждой среды. Сейчас это skill collection,
|
|
44
|
+
не marketplace и не обещание работы после закрытия окна.
|
|
45
|
+
|
|
46
|
+
## Что ещё не доказано
|
|
47
|
+
|
|
48
|
+
Перенос в другое приложение, одинаковое поведение разных агентов, восстановление
|
|
49
|
+
после квоты и устойчивость к ошибочным/злонамеренным экспортам требуют сценарных
|
|
50
|
+
проверок. JSON-валидация не заменяет их. Реальные пользовательские изображения
|
|
51
|
+
в этот starter не включались.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"projectId": "perudo",
|
|
4
|
+
"defaultReference": "designs/perudo-mobile-consolidated.dc.html",
|
|
5
|
+
"runRoot": "demo/visual-review/design-polish",
|
|
6
|
+
"reviewFile": "demo/visual-review/design-polish/REVIEW.md",
|
|
7
|
+
"catalogFile": "demo/visual-review/design-polish/catalog.json",
|
|
8
|
+
"instructionFiles": [
|
|
9
|
+
"AGENTS.md",
|
|
10
|
+
"CLAUDE.md",
|
|
11
|
+
"ISSUES.md"
|
|
12
|
+
],
|
|
13
|
+
"tokenFiles": [
|
|
14
|
+
"client/src/theme/_tokens.scss",
|
|
15
|
+
"client/src/theme/_mixins.scss"
|
|
16
|
+
],
|
|
17
|
+
"historicalCaptureRoots": [
|
|
18
|
+
"screens",
|
|
19
|
+
"demo/visual-review",
|
|
20
|
+
"client/e2e/.screenshots"
|
|
21
|
+
],
|
|
22
|
+
"captureManifest": "client/e2e/visual-review.cases.json",
|
|
23
|
+
"commands": {
|
|
24
|
+
"start": "npm run dev",
|
|
25
|
+
"capture": "npm run visual:review",
|
|
26
|
+
"verify": [
|
|
27
|
+
"npm run lint",
|
|
28
|
+
"npm run typecheck",
|
|
29
|
+
"npm test",
|
|
30
|
+
"npm run build"
|
|
31
|
+
],
|
|
32
|
+
"e2e": "npm run e2e"
|
|
33
|
+
},
|
|
34
|
+
"galleryTargets": {
|
|
35
|
+
"circular": {
|
|
36
|
+
"layout": "clockwise",
|
|
37
|
+
"reference": "designs/perudo-spotlight-gallery.dc.html",
|
|
38
|
+
"panels": [
|
|
39
|
+
"B-4P",
|
|
40
|
+
"B-12P"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"dimensions": {
|
|
45
|
+
"viewports": [
|
|
46
|
+
[
|
|
47
|
+
320,
|
|
48
|
+
720
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
390,
|
|
52
|
+
844
|
|
53
|
+
],
|
|
54
|
+
[
|
|
55
|
+
768,
|
|
56
|
+
1024
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
1440,
|
|
60
|
+
900
|
|
61
|
+
]
|
|
62
|
+
],
|
|
63
|
+
"states": [
|
|
64
|
+
"entry",
|
|
65
|
+
"lobby",
|
|
66
|
+
"opening-roll",
|
|
67
|
+
"hand-roll",
|
|
68
|
+
"bidding",
|
|
69
|
+
"waiting",
|
|
70
|
+
"reveal",
|
|
71
|
+
"spectator",
|
|
72
|
+
"match-end"
|
|
73
|
+
],
|
|
74
|
+
"densityCounts": [
|
|
75
|
+
2,
|
|
76
|
+
3,
|
|
77
|
+
4,
|
|
78
|
+
8,
|
|
79
|
+
9,
|
|
80
|
+
12
|
|
81
|
+
],
|
|
82
|
+
"roles": [
|
|
83
|
+
"self",
|
|
84
|
+
"opponent",
|
|
85
|
+
"spectator"
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
"constraints": [
|
|
89
|
+
"visual:review hardcodes consolidated reference; inspect design-compare.mjs for custom-source capture",
|
|
90
|
+
"Use npm.cmd on Windows when npm.ps1 is blocked",
|
|
91
|
+
"No shared/server rule changes or persistence",
|
|
92
|
+
"No bitmap exports or private match snapshots bundled in skill"
|
|
93
|
+
]
|
|
94
|
+
}
|