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.
Files changed (40) hide show
  1. package/CONTRIBUTING.md +19 -0
  2. package/LICENSE +21 -0
  3. package/LICENSE-DECISION.md +14 -0
  4. package/README.md +150 -0
  5. package/SECURITY.md +14 -0
  6. package/bin/workflow-kit.mjs +11 -0
  7. package/catalog.json +59 -0
  8. package/docs/cli.md +99 -0
  9. package/docs/future-work.md +57 -0
  10. package/docs/mvp-plan.md +30 -0
  11. package/docs/release-checklist.md +23 -0
  12. package/docs/repository-analysis.md +51 -0
  13. package/examples/perudo.project.json +94 -0
  14. package/lib/commands.mjs +93 -0
  15. package/lib/files.mjs +119 -0
  16. package/lib/install.mjs +93 -0
  17. package/lib/project.mjs +37 -0
  18. package/lib/validation.mjs +42 -0
  19. package/package.json +35 -0
  20. package/presets/enterprise.json +20 -0
  21. package/presets/quick-mvp.json +18 -0
  22. package/schemas/lock.v1.schema.json +16 -0
  23. package/schemas/project.v1.schema.json +15 -0
  24. package/scripts/check.mjs +48 -0
  25. package/skills/commit-hook/SKILL.md +31 -0
  26. package/skills/design-polish/SKILL.md +40 -0
  27. package/skills/design-polish/assets/project.example.json +30 -0
  28. package/skills/design-polish/assets/review-entry.md +16 -0
  29. package/skills/design-polish/assets/run.example.json +27 -0
  30. package/skills/design-polish/references/records.md +49 -0
  31. package/skills/design-polish/references/workflow.md +88 -0
  32. package/skills/project-bootstrap/SKILL.md +31 -0
  33. package/skills/skill-author/SKILL.md +31 -0
  34. package/tests/cli.test.mjs +223 -0
  35. package/tests/design-polish.scenarios.md +28 -0
  36. package/tests/package.test.mjs +44 -0
  37. package/tests/reliability.test.mjs +95 -0
  38. package/tests/setup-skills.scenarios.md +19 -0
  39. package/workflows/design-implementation.json +15 -0
  40. package/workflows/project-onboarding.json +14 -0
@@ -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.
@@ -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
+ }