owflow 0.5.0 → 0.7.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 (195) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +448 -261
  3. package/dist/agents/bottleneck-analyzer.md +332 -329
  4. package/dist/agents/code-quality-pragmatist.md +353 -354
  5. package/dist/agents/code-reviewer.md +238 -239
  6. package/dist/agents/codebase-analysis-reporter.md +245 -246
  7. package/dist/agents/docs-operator.md +22 -23
  8. package/dist/agents/e2e-test-verifier.md +447 -448
  9. package/dist/agents/gap-analyzer.md +501 -502
  10. package/dist/agents/implementation-completeness-checker.md +219 -220
  11. package/dist/agents/implementation-planner.md +308 -309
  12. package/dist/agents/information-gatherer.md +690 -691
  13. package/dist/agents/production-readiness-checker.md +278 -279
  14. package/dist/agents/project-analyzer.md +403 -403
  15. package/dist/agents/reality-assessor.md +365 -366
  16. package/dist/agents/research-planner.md +449 -450
  17. package/dist/agents/research-synthesizer.md +402 -403
  18. package/dist/agents/solution-brainstormer.md +256 -257
  19. package/dist/agents/solution-designer.md +371 -372
  20. package/dist/agents/spec-auditor.md +297 -298
  21. package/dist/agents/specification-creator.md +333 -334
  22. package/dist/agents/task-classifier.md +449 -450
  23. package/dist/agents/task-group-implementer.md +283 -284
  24. package/dist/agents/test-suite-runner.md +194 -195
  25. package/dist/agents/user-docs-generator.md +508 -509
  26. package/dist/commands/reviews-code.md +90 -90
  27. package/dist/commands/reviews-pragmatic.md +99 -99
  28. package/dist/commands/reviews-production-readiness.md +113 -113
  29. package/dist/commands/reviews-reality-check.md +110 -110
  30. package/dist/commands/reviews-spec-audit.md +114 -114
  31. package/dist/commands/work.md +280 -280
  32. package/dist/configuration/agents-config.d.ts +2 -0
  33. package/dist/configuration/agents-config.js +8 -44
  34. package/dist/configuration/commands-config.d.ts +23 -0
  35. package/dist/configuration/commands-config.js +17 -17
  36. package/dist/configuration/skills-config.d.ts +2 -0
  37. package/dist/configuration/skills-config.js +3 -3
  38. package/dist/hooks/hooks-diagnostics.d.ts +3 -0
  39. package/dist/hooks/hooks-diagnostics.js +21 -0
  40. package/dist/hooks/hooks-persistence.d.ts +17 -0
  41. package/dist/hooks/hooks-persistence.js +207 -0
  42. package/dist/hooks/hooks-registry.d.ts +6 -0
  43. package/dist/hooks/hooks-registry.js +104 -0
  44. package/dist/hooks/hooks-wrapper.d.ts +25 -0
  45. package/dist/hooks/hooks-wrapper.js +318 -0
  46. package/dist/hooks/internal/before-tool.d.ts +6 -0
  47. package/dist/hooks/internal/before-tool.js +13 -0
  48. package/dist/hooks/internal/session-compaction.d.ts +9 -0
  49. package/dist/hooks/{session-compaction.js → internal/session-compaction.js} +9 -7
  50. package/dist/hooks/runtime/circuit-breaker.d.ts +23 -0
  51. package/dist/hooks/runtime/circuit-breaker.js +39 -0
  52. package/dist/hooks/runtime/failure-policy.d.ts +15 -0
  53. package/dist/hooks/runtime/failure-policy.js +49 -0
  54. package/dist/hooks/runtime/process-executor.d.ts +33 -0
  55. package/dist/hooks/runtime/process-executor.js +147 -0
  56. package/dist/hooks/runtime/status-recorder.d.ts +27 -0
  57. package/dist/hooks/runtime/status-recorder.js +111 -0
  58. package/dist/index.d.ts +7 -0
  59. package/dist/index.js +111 -40
  60. package/dist/skills/agents-md-generator/SKILL.md +223 -223
  61. package/dist/skills/codebase-analyzer/SKILL.md +162 -162
  62. package/dist/skills/codebase-analyzer/references/code-analysis.md +63 -63
  63. package/dist/skills/codebase-analyzer/references/combined.md +31 -31
  64. package/dist/skills/codebase-analyzer/references/context-discovery.md +63 -63
  65. package/dist/skills/codebase-analyzer/references/file-discovery.md +51 -51
  66. package/dist/skills/codebase-analyzer/references/migration-target.md +23 -23
  67. package/dist/skills/codebase-analyzer/references/pattern-mining.md +22 -22
  68. package/dist/skills/dev-analyze/SKILL.md +115 -115
  69. package/dist/skills/dev-bugfix/SKILL.md +452 -452
  70. package/dist/skills/dev-finalize/SKILL.md +118 -118
  71. package/dist/skills/dev-implement/SKILL.md +167 -167
  72. package/dist/skills/dev-plan/SKILL.md +147 -147
  73. package/dist/skills/dev-spec/SKILL.md +182 -182
  74. package/dist/skills/dev-tdd-red/SKILL.md +94 -94
  75. package/dist/skills/dev-verify/SKILL.md +153 -153
  76. package/dist/skills/development/SKILL.md +260 -260
  77. package/dist/skills/diagrams-mermaid/SKILL.md +183 -159
  78. package/dist/skills/diagrams-mermaid/references/reference.md +220 -148
  79. package/dist/skills/docs-manager/SKILL.md +379 -379
  80. package/dist/skills/docs-manager/docs/INDEX.md +199 -199
  81. package/dist/skills/docs-manager/docs/standards/backend/api.md +25 -25
  82. package/dist/skills/docs-manager/docs/standards/backend/migrations.md +22 -22
  83. package/dist/skills/docs-manager/docs/standards/backend/models.md +25 -25
  84. package/dist/skills/docs-manager/docs/standards/backend/queries.md +22 -22
  85. package/dist/skills/docs-manager/docs/standards/frontend/accessibility.md +25 -25
  86. package/dist/skills/docs-manager/docs/standards/frontend/components.md +28 -28
  87. package/dist/skills/docs-manager/docs/standards/frontend/css.md +16 -16
  88. package/dist/skills/docs-manager/docs/standards/frontend/responsive.md +28 -28
  89. package/dist/skills/docs-manager/docs/standards/global/coding-style.md +25 -25
  90. package/dist/skills/docs-manager/docs/standards/global/commenting.md +10 -10
  91. package/dist/skills/docs-manager/docs/standards/global/conventions.md +31 -31
  92. package/dist/skills/docs-manager/docs/standards/global/error-handling.md +22 -22
  93. package/dist/skills/docs-manager/docs/standards/global/minimal-implementation.md +22 -22
  94. package/dist/skills/docs-manager/docs/standards/global/validation.md +28 -28
  95. package/dist/skills/docs-manager/docs/standards/testing/test-writing.md +25 -25
  96. package/dist/skills/docs-manager/references/agents-md-template.md +29 -29
  97. package/dist/skills/docs-manager/references/index-md-template.md +73 -73
  98. package/dist/skills/flow-init/SKILL.md +234 -234
  99. package/dist/skills/flow-init/references/architecture-template.md +45 -45
  100. package/dist/skills/flow-init/references/roadmap-templates.md +93 -93
  101. package/dist/skills/flow-init/references/tech-stack-template.md +70 -70
  102. package/dist/skills/flow-init/references/vision-templates.md +75 -75
  103. package/dist/skills/goal-development/SKILL.md +96 -96
  104. package/dist/skills/goal-migration/SKILL.md +114 -114
  105. package/dist/skills/goal-performance/SKILL.md +126 -0
  106. package/dist/skills/goal-research/SKILL.md +118 -118
  107. package/dist/skills/html-renderer/SKILL.md +173 -173
  108. package/dist/skills/html-renderer/references/index.html +318 -318
  109. package/dist/skills/html-renderer/references/styles.css +388 -388
  110. package/dist/skills/html-renderer/references/tokens.json +104 -104
  111. package/dist/skills/implementation-plan-executor/SKILL.md +378 -378
  112. package/dist/skills/implementation-verifier/SKILL.md +307 -307
  113. package/dist/skills/migration/SKILL.md +268 -268
  114. package/dist/skills/migration-analyze/SKILL.md +126 -126
  115. package/dist/skills/migration-finalize/SKILL.md +161 -161
  116. package/dist/skills/migration-fix/SKILL.md +155 -155
  117. package/dist/skills/migration-implement/SKILL.md +131 -131
  118. package/dist/skills/migration-plan/SKILL.md +131 -131
  119. package/dist/skills/migration-spec/SKILL.md +135 -135
  120. package/dist/skills/migration-spec/references/migration-strategies.md +430 -430
  121. package/dist/skills/migration-target/SKILL.md +134 -134
  122. package/dist/skills/migration-target/references/migration-types.md +489 -489
  123. package/dist/skills/migration-verify/SKILL.md +184 -184
  124. package/dist/skills/orchestrator-framework/SKILL.md +65 -65
  125. package/dist/skills/orchestrator-framework/references/command-namespacing.md +7 -7
  126. package/dist/skills/orchestrator-framework/references/confirm-or-revise-exception.md +20 -20
  127. package/dist/skills/orchestrator-framework/references/delegation-rules.md +54 -54
  128. package/dist/skills/orchestrator-framework/references/dispatcher-handoff.md +27 -27
  129. package/dist/skills/orchestrator-framework/references/fix-loop-contract.md +65 -65
  130. package/dist/skills/orchestrator-framework/references/gate-contract.md +122 -117
  131. package/dist/skills/orchestrator-framework/references/orchestrator-creation-checklist.md +51 -51
  132. package/dist/skills/orchestrator-framework/references/orchestrator-patterns.md +235 -235
  133. package/dist/skills/performance/SKILL.md +267 -437
  134. package/dist/skills/performance-analyze/SKILL.md +129 -0
  135. package/dist/skills/{performance → performance-analyze}/references/performance-optimization-guide.md +271 -365
  136. package/dist/skills/performance-finalize/SKILL.md +117 -0
  137. package/dist/skills/performance-implement/SKILL.md +114 -0
  138. package/dist/skills/performance-plan/SKILL.md +112 -0
  139. package/dist/skills/performance-spec/SKILL.md +145 -0
  140. package/dist/skills/performance-verify/SKILL.md +164 -0
  141. package/dist/skills/research/SKILL.md +249 -249
  142. package/dist/skills/research-brainstorm/SKILL.md +120 -120
  143. package/dist/skills/research-brainstorm/references/brainstorming-techniques.md +84 -84
  144. package/dist/skills/research-converge/SKILL.md +130 -130
  145. package/dist/skills/research-design/SKILL.md +146 -146
  146. package/dist/skills/research-design/references/design-techniques.md +40 -40
  147. package/dist/skills/research-finalize/SKILL.md +125 -125
  148. package/dist/skills/research-fork/SKILL.md +190 -190
  149. package/dist/skills/research-gather/SKILL.md +133 -133
  150. package/dist/skills/research-plan/SKILL.md +141 -141
  151. package/dist/skills/research-plan/references/research-methodologies.md +710 -710
  152. package/dist/skills/research-quick/SKILL.md +139 -139
  153. package/dist/skills/research-synthesize/SKILL.md +127 -127
  154. package/dist/skills/rule-reviewer/SKILL.md +334 -334
  155. package/dist/skills/standards-discover/SKILL.md +260 -260
  156. package/dist/skills/standards-discover/references/aggregation-strategy.md +76 -76
  157. package/dist/skills/standards-discover/references/code-pattern-prompt.md +68 -68
  158. package/dist/skills/standards-discover/references/config-analyzer-prompt.md +67 -67
  159. package/dist/skills/standards-discover/references/docs-extractor-prompt.md +65 -65
  160. package/dist/skills/standards-discover/references/external-analyzer-prompt.md +75 -75
  161. package/dist/skills/standards-update/SKILL.md +207 -207
  162. package/dist/templates/orchestrator-state-base.yml +17 -17
  163. package/dist/templates/orchestrator-state-development.yml +95 -95
  164. package/dist/templates/orchestrator-state-migration.yml +95 -95
  165. package/dist/templates/orchestrator-state-performance.yml +64 -53
  166. package/dist/templates/orchestrator-state-research.yml +67 -67
  167. package/dist/tools/fork_task.d.ts +17 -0
  168. package/dist/tools/fork_task.js +21 -11
  169. package/dist/tools/verify_template.d.ts +11 -0
  170. package/dist/tools/verify_template.js +32 -17
  171. package/dist/tui/hooks-dialogs.d.ts +20 -0
  172. package/dist/tui/hooks-dialogs.js +181 -0
  173. package/dist/tui/hooks-presenter.d.ts +15 -0
  174. package/dist/tui/hooks-presenter.js +70 -0
  175. package/dist/tui/hooks-sidebar.d.ts +10 -0
  176. package/dist/tui/hooks-sidebar.js +104 -0
  177. package/dist/tui/primitives.d.ts +21 -0
  178. package/dist/tui/primitives.js +47 -0
  179. package/dist/tui.d.ts +12 -0
  180. package/dist/tui.js +129 -0
  181. package/dist/types/hook-types.d.ts +125 -0
  182. package/dist/types/hook-types.js +76 -0
  183. package/dist/types/opencode-types.d.ts +13 -0
  184. package/dist/utils/file-util.d.ts +2 -0
  185. package/dist/utils/file-util.js +6 -6
  186. package/dist/utils/fork-task.d.ts +27 -0
  187. package/dist/utils/fork-task.js +18 -23
  188. package/dist/utils/plugin-info.d.ts +3 -0
  189. package/dist/utils/plugin-info.js +8 -10
  190. package/dist/utils/workflow-paths.d.ts +17 -0
  191. package/dist/utils/workflow-paths.js +18 -0
  192. package/dist/utils/yaml-structure.d.ts +7 -0
  193. package/dist/utils/yaml-structure.js +7 -11
  194. package/package.json +68 -48
  195. package/dist/hooks/before-tool.js +0 -19
@@ -1,75 +1,75 @@
1
- # External Standards Analyzer — Subagent Prompt Template
2
-
3
- Analyze pull requests, CI/CD configurations, and pre-commit hooks to discover enforced standards.
4
-
5
- ## Task
6
-
7
- Mine external sources for standards evidence, return findings as YAML.
8
-
9
- ## Sources to Analyze
10
-
11
- ### 1. Pull Requests (via gh CLI)
12
-
13
- **First check availability:**
14
- ```bash
15
- which gh && gh auth status
16
- ```
17
-
18
- If gh CLI available:
19
- - Get last `[pr_count]` merged PRs: `gh pr list --state merged --limit [pr_count] --json number,title`
20
- - For each PR, check review comments for repeated feedback patterns
21
- - Look for: "Please use...", "Always...", "Avoid...", "Per our convention...", "Style:", "Nit:"
22
- - Only report patterns that appear in **3+ different PRs** (significant feedback, not one-off)
23
-
24
- If gh CLI unavailable: skip PR analysis, note in output, not an error.
25
-
26
- ### 2. CI/CD Workflows
27
-
28
- - **GitHub Actions**: `.github/workflows/*.yml`
29
- - **GitLab CI**: `.gitlab-ci.yml`
30
- - **Other**: `Jenkinsfile`, `.circleci/config.yml`, `.travis.yml`
31
-
32
- Extract: lint steps, test requirements, coverage thresholds, build quality gates, pre-deployment checks.
33
-
34
- ### 3. Pre-commit Hooks
35
-
36
- - **Husky**: `.husky/` directory (pre-commit, pre-push scripts)
37
- - **pre-commit framework**: `.pre-commit-config.yaml`
38
- - **lint-staged**: `lint-staged` config in `package.json` or `.lintstagedrc`
39
-
40
- Extract: mandatory checks, formatting enforcement, commit message validation.
41
-
42
- ## Confidence Ranges
43
-
44
- | Source | Confidence Range | Rationale |
45
- |--------|-----------------|-----------|
46
- | CI/CD enforced standards | 85-95% | Enforced by automation — very reliable |
47
- | Pre-commit hooks | 80-90% | Actively enforced on every commit |
48
- | PR review patterns (5+ PRs) | 70-80% | Strong team consensus |
49
- | PR review patterns (3-4 PRs) | 60-70% | Emerging pattern |
50
-
51
- ## Output Format
52
-
53
- Return YAML:
54
-
55
- ```yaml
56
- github_available: true # or false
57
- findings:
58
- - category: "[category/subcategory]"
59
- standard_name: "[Short Name]"
60
- description: "[What the standard requires]"
61
- confidence: [60-95]
62
- evidence:
63
- - "[source]: [specific evidence]"
64
- source: "[pr-reviews|ci-config|pre-commit]"
65
- examples: []
66
- ```
67
-
68
- ## Rules
69
-
70
- - Handle gh CLI gracefully — return `github_available: false` and empty PR findings, not error
71
- - Only report PR patterns appearing in 3+ different PRs
72
- - For CI/CD: extract specific thresholds and rules, not just "runs tests"
73
- - Return empty findings list if no external sources available
74
- - Be specific: "80% coverage required" not "has coverage check"
75
- - Do NOT write any files to the project directory. Write your YAML results to: `[output_file]` (the orchestrator replaces this placeholder with an actual temp file path when invoking you).
1
+ # External Standards Analyzer — Subagent Prompt Template
2
+
3
+ Analyze pull requests, CI/CD configurations, and pre-commit hooks to discover enforced standards.
4
+
5
+ ## Task
6
+
7
+ Mine external sources for standards evidence, return findings as YAML.
8
+
9
+ ## Sources to Analyze
10
+
11
+ ### 1. Pull Requests (via gh CLI)
12
+
13
+ **First check availability:**
14
+ ```bash
15
+ which gh && gh auth status
16
+ ```
17
+
18
+ If gh CLI available:
19
+ - Get last `[pr_count]` merged PRs: `gh pr list --state merged --limit [pr_count] --json number,title`
20
+ - For each PR, check review comments for repeated feedback patterns
21
+ - Look for: "Please use...", "Always...", "Avoid...", "Per our convention...", "Style:", "Nit:"
22
+ - Only report patterns that appear in **3+ different PRs** (significant feedback, not one-off)
23
+
24
+ If gh CLI unavailable: skip PR analysis, note in output, not an error.
25
+
26
+ ### 2. CI/CD Workflows
27
+
28
+ - **GitHub Actions**: `.github/workflows/*.yml`
29
+ - **GitLab CI**: `.gitlab-ci.yml`
30
+ - **Other**: `Jenkinsfile`, `.circleci/config.yml`, `.travis.yml`
31
+
32
+ Extract: lint steps, test requirements, coverage thresholds, build quality gates, pre-deployment checks.
33
+
34
+ ### 3. Pre-commit Hooks
35
+
36
+ - **Husky**: `.husky/` directory (pre-commit, pre-push scripts)
37
+ - **pre-commit framework**: `.pre-commit-config.yaml`
38
+ - **lint-staged**: `lint-staged` config in `package.json` or `.lintstagedrc`
39
+
40
+ Extract: mandatory checks, formatting enforcement, commit message validation.
41
+
42
+ ## Confidence Ranges
43
+
44
+ | Source | Confidence Range | Rationale |
45
+ |--------|-----------------|-----------|
46
+ | CI/CD enforced standards | 85-95% | Enforced by automation — very reliable |
47
+ | Pre-commit hooks | 80-90% | Actively enforced on every commit |
48
+ | PR review patterns (5+ PRs) | 70-80% | Strong team consensus |
49
+ | PR review patterns (3-4 PRs) | 60-70% | Emerging pattern |
50
+
51
+ ## Output Format
52
+
53
+ Return YAML:
54
+
55
+ ```yaml
56
+ github_available: true # or false
57
+ findings:
58
+ - category: "[category/subcategory]"
59
+ standard_name: "[Short Name]"
60
+ description: "[What the standard requires]"
61
+ confidence: [60-95]
62
+ evidence:
63
+ - "[source]: [specific evidence]"
64
+ source: "[pr-reviews|ci-config|pre-commit]"
65
+ examples: []
66
+ ```
67
+
68
+ ## Rules
69
+
70
+ - Handle gh CLI gracefully — return `github_available: false` and empty PR findings, not error
71
+ - Only report PR patterns appearing in 3+ different PRs
72
+ - For CI/CD: extract specific thresholds and rules, not just "runs tests"
73
+ - Return empty findings list if no external sources available
74
+ - Be specific: "80% coverage required" not "has coverage check"
75
+ - Do NOT write any files to the project directory. Write your YAML results to: `[output_file]` (the orchestrator replaces this placeholder with an actual temp file path when invoking you).
@@ -1,207 +1,207 @@
1
- ---
2
- name: owflow:standards-update
3
- description: Update or create project standards from conversation context or explicit description
4
- argument-hint: "[description of standard/convention] [--from=PATH]"
5
- user-invocable: true
6
- ---
7
-
8
- # Update Project Standards
9
-
10
- Update or create standards in `.owflow/docs/standards/` based on conversation context or a provided description. Automatically detects the best-matching category and file. Supports both baseline categories (global, frontend, backend, testing) and custom user-defined categories.
11
-
12
- ## Usage
13
-
14
- ```bash
15
- /owflow:standards-update # Detect from conversation
16
- /owflow:standards-update "always use React.memo for lists" # From description
17
- /owflow:standards-update --from=/path/to/other-project # Sync from another project
18
- ```
19
-
20
- ---
21
-
22
- ## Mode: Sync from External Project (`--from=PATH`)
23
-
24
- When `--from=PATH` is provided, the skill switches to **sync mode** — importing standards from another project's `.owflow/docs/standards/` into the current project. This bypasses Phases 1-3 and uses a dedicated flow.
25
-
26
- ### SYNC STEP 1: Validate Source
27
-
28
- 1. Resolve the path (absolute or relative to cwd)
29
- 2. Check `PATH/.owflow/docs/standards/` exists. If not, inform the user and stop.
30
- 3. Check `.owflow/docs/standards/` exists in the current project. If not, offer to run `/owflow:flow-init` first.
31
-
32
- ### SYNC STEP 2: Analyze Differences
33
-
34
- 1. Scan source project's `standards/*/` — list all categories and files
35
- 2. Scan current project's `standards/*/` — list all categories and files
36
- 3. For each source file, compare against the local counterpart:
37
- - **Missing locally**: Category or file doesn't exist in the current project
38
- - **Differs**: Both exist but content differs (read and compare)
39
- - **Identical**: No action needed
40
- 4. Present a summary to the user via question (multi-select):
41
- - Group by status: "New standards to add" and "Standards that differ"
42
- - Each item shows: `[category]/[file]` with brief description of what it contains
43
- - Options: individual files to sync, plus "Select all new" / "Select all different" convenience options
44
- - User selects which standards to import
45
-
46
- ### SYNC STEP 3: Apply Selected Standards
47
-
48
- For each selected standard:
49
-
50
- - **Missing locally**: Copy the file from source. Create category directory if needed.
51
- - **Differs**: Show a brief diff summary and use question per file:
52
- - "Replace with source version" — overwrite local file
53
- - "Merge (append new sections)" — read both files, append `###` sections from source that don't exist locally
54
- - "Skip" — leave local file unchanged
55
-
56
- ### SYNC STEP 4: Update INDEX.md
57
-
58
- Invoke `docs-operator` subagent via Task tool (subagent_type: `docs-operator`):
59
-
60
- > "Regenerate INDEX.md to include all newly added/updated standards. Verify AGENTS.md integration."
61
-
62
- Wait for docs-operator to complete, then immediately proceed to SYNC STEP 5.
63
-
64
- ### SYNC STEP 5: Exit Gate
65
-
66
- Present results and close (Exit Gate contract, [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
67
-
68
- ```markdown
69
- ## ✅ STANDARDS SYNC COMPLETE
70
-
71
- **Added** — [added count]
72
- **Updated** — [updated count]
73
- **Skipped** — [skipped count]
74
- **Total** — [total]
75
-
76
- **Artifacts**
77
- - `.owflow/docs/standards/<category>/<file>.md` [per synced standard]
78
- - `.owflow/docs/INDEX.md`
79
- ```
80
-
81
- Use `question` — "Are these results correct?" with options:
82
-
83
- - **Accept** — sync is complete; print next steps below.
84
- - **Adjust** — re-run selected imports with different merge choices, then re-present the results box.
85
- - **Discuss** — walk through merged/differing standards in more depth; then re-ask.
86
- - **Stop here** — end.
87
-
88
- Next steps (after Accept): review the imported standards, then commit.
89
-
90
- ---
91
-
92
- ## Mode: Conversation / Description (default)
93
-
94
- When `--from` is NOT provided, the skill uses the standard detect-and-update flow below.
95
-
96
- ---
97
-
98
- ## PHASE 1: Detect Standard
99
-
100
- **Step 1: Gather input**
101
-
102
- - **If argument provided**: Use the description as primary input. Also scan last 15-20 messages for additional context, examples, or related conventions.
103
- - **If no argument**: Scan last 15-20 messages for convention discussions. Look for patterns like "we should always...", "our convention is...", "prefer X over Y", "never use...", code examples showing patterns.
104
-
105
- **Step 2: Discover existing categories and files**
106
-
107
- Scan `.owflow/docs/standards/*/` to find all existing categories and standard files. This determines what's available — not limited to baseline categories.
108
-
109
- **Step 3: Match to category and file**
110
-
111
- Based on the topic detected, suggest the best-matching existing category and file. Consider:
112
-
113
- - File names and their content (read existing files if topic is close)
114
- - Whether the convention fits an existing file or needs a new one
115
-
116
- **Step 4: Present suggestion**
117
-
118
- - **If confident match** → question: "This convention about [topic] fits [category/file]. Update it?" (Yes / Choose different / Cancel)
119
- - **If ambiguous** → question listing possible categories/files + "Create new category" + "Create new file in [category]"
120
- - **If nothing detected** (no argument, no conversation context) → ask user to describe the convention they want to document
121
-
122
- ---
123
-
124
- ## PHASE 2: Determine Action
125
-
126
- Check if the target file exists:
127
-
128
- - **Exists** → update mode
129
- - **Doesn't exist** → create mode (if new category, create the directory too)
130
-
131
- No user prompt needed — just inform: "Updating existing standard: [name]" or "Creating new standard: [category/name]"
132
-
133
- ---
134
-
135
- ## PHASE 3: Gather Standard Content
136
-
137
- ### If updating
138
-
139
- 1. Read current content
140
- 2. Show summary of existing practices
141
- 3. Ask what to add/change
142
- 4. Extract: new practices, modifications, removals, code examples
143
-
144
- ### If creating
145
-
146
- 1. Inform user of target path
147
- 2. Ask for practices, conventions, code examples, do's/don'ts
148
- 3. Optionally show plugin baseline if similar standard exists in docs-manager's bundled docs
149
-
150
- ---
151
-
152
- ## PHASE 4: Apply via docs-manager
153
-
154
- > Each standard uses a `###` heading with 1-10 lines description (excluding code snippets). Multiple standards per topic file. Split large topics into sub-topic files.
155
-
156
- **Invoke `docs-operator` subagent** via Task tool (subagent_type: `docs-operator`) with context:
157
-
158
- For **updates**:
159
-
160
- > "Update documentation file: standards/[category]/[name].md. Current content: [content]. Add/change: [new conventions]. Integrate new practices, maintain markdown formatting, organize logically, preserve existing unless conflicts. Update INDEX.md entry with practice-specific description (enumerate actual practices, not generic category)."
161
-
162
- For **creates**:
163
-
164
- > "Create documentation file: standards/[category]/[name].md. Category: [category]. Content: [conventions]. Create with proper markdown, organized sections, code examples. Add to INDEX.md with practice-specific description. Verify AGENTS.md integration."
165
-
166
- Wait for docs-operator to complete, then immediately proceed to Phase 5.
167
-
168
- ---
169
-
170
- ## PHASE 5: Validate & Exit Gate
171
-
172
- 1. Verify standard file exists and has content
173
- 2. Verify INDEX.md references the standard with practice-specific description (not generic)
174
- 3. Verify AGENTS.md integration
175
- 4. Present results (Exit Gate contract, [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
176
-
177
- **Results box**:
178
-
179
- ```markdown
180
- ## ✅ STANDARDS UPDATE COMPLETE
181
-
182
- **Action** — [created / updated] `standards/<category>/<name>.md`
183
- **Practices** — [count added/changed]
184
- **INDEX/AGENTS** — [integration status]
185
-
186
- **Artifacts**
187
- - `.owflow/docs/standards/<category>/<name>.md`
188
- - `.owflow/docs/INDEX.md`
189
- ```
190
-
191
- **Results-acceptance question** — use `question` — "Are these results correct?" with options:
192
-
193
- - **Accept** — standard is good; print next steps below.
194
- - **Adjust** — revise the standard (wording, more practices, better examples), via docs-operator, then re-present the results box.
195
- - **Discuss** — walk through what was written and why in more depth; then re-ask.
196
- - **Stop here** — end.
197
-
198
- **Next steps (after Accept)**:
199
-
200
- - Review the applied standard file
201
- - Commit the changes and share with the team
202
-
203
- ---
204
-
205
- ## Prerequisites
206
-
207
- If `.owflow/docs/` doesn't exist, offer to run `/owflow:flow-init` first.
1
+ ---
2
+ name: owflow:standards-update
3
+ description: Update or create project standards from conversation context or explicit description
4
+ argument-hint: "[description of standard/convention] [--from=PATH]"
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Update Project Standards
9
+
10
+ Update or create standards in `.owflow/docs/standards/` based on conversation context or a provided description. Automatically detects the best-matching category and file. Supports both baseline categories (global, frontend, backend, testing) and custom user-defined categories.
11
+
12
+ ## Usage
13
+
14
+ ```bash
15
+ /owflow:standards-update # Detect from conversation
16
+ /owflow:standards-update "always use React.memo for lists" # From description
17
+ /owflow:standards-update --from=/path/to/other-project # Sync from another project
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Mode: Sync from External Project (`--from=PATH`)
23
+
24
+ When `--from=PATH` is provided, the skill switches to **sync mode** — importing standards from another project's `.owflow/docs/standards/` into the current project. This bypasses Phases 1-3 and uses a dedicated flow.
25
+
26
+ ### SYNC STEP 1: Validate Source
27
+
28
+ 1. Resolve the path (absolute or relative to cwd)
29
+ 2. Check `PATH/.owflow/docs/standards/` exists. If not, inform the user and stop.
30
+ 3. Check `.owflow/docs/standards/` exists in the current project. If not, offer to run `/owflow:flow-init` first.
31
+
32
+ ### SYNC STEP 2: Analyze Differences
33
+
34
+ 1. Scan source project's `standards/*/` — list all categories and files
35
+ 2. Scan current project's `standards/*/` — list all categories and files
36
+ 3. For each source file, compare against the local counterpart:
37
+ - **Missing locally**: Category or file doesn't exist in the current project
38
+ - **Differs**: Both exist but content differs (read and compare)
39
+ - **Identical**: No action needed
40
+ 4. Present a summary to the user via question (multi-select):
41
+ - Group by status: "New standards to add" and "Standards that differ"
42
+ - Each item shows: `[category]/[file]` with brief description of what it contains
43
+ - Options: individual files to sync, plus "Select all new" / "Select all different" convenience options
44
+ - User selects which standards to import
45
+
46
+ ### SYNC STEP 3: Apply Selected Standards
47
+
48
+ For each selected standard:
49
+
50
+ - **Missing locally**: Copy the file from source. Create category directory if needed.
51
+ - **Differs**: Show a brief diff summary and use question per file:
52
+ - "Replace with source version" — overwrite local file
53
+ - "Merge (append new sections)" — read both files, append `###` sections from source that don't exist locally
54
+ - "Skip" — leave local file unchanged
55
+
56
+ ### SYNC STEP 4: Update INDEX.md
57
+
58
+ Invoke `docs-operator` subagent via Task tool (subagent_type: `docs-operator`):
59
+
60
+ > "Regenerate INDEX.md to include all newly added/updated standards. Verify AGENTS.md integration."
61
+
62
+ Wait for docs-operator to complete, then immediately proceed to SYNC STEP 5.
63
+
64
+ ### SYNC STEP 5: Exit Gate
65
+
66
+ Present results and close (Exit Gate contract, [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
67
+
68
+ ```markdown
69
+ ## ✅ STANDARDS SYNC COMPLETE
70
+
71
+ **Added** — [added count]
72
+ **Updated** — [updated count]
73
+ **Skipped** — [skipped count]
74
+ **Total** — [total]
75
+
76
+ **Artifacts**
77
+ - `.owflow/docs/standards/<category>/<file>.md` [per synced standard]
78
+ - `.owflow/docs/INDEX.md`
79
+ ```
80
+
81
+ Use `question` — "Are these results correct?" with options:
82
+
83
+ - **Accept** — sync is complete; print next steps below.
84
+ - **Adjust** — re-run selected imports with different merge choices, then re-present the results box.
85
+ - **Discuss** — walk through merged/differing standards in more depth; then re-ask.
86
+ - **Stop here** — end.
87
+
88
+ Next steps (after Accept): review the imported standards, then commit.
89
+
90
+ ---
91
+
92
+ ## Mode: Conversation / Description (default)
93
+
94
+ When `--from` is NOT provided, the skill uses the standard detect-and-update flow below.
95
+
96
+ ---
97
+
98
+ ## PHASE 1: Detect Standard
99
+
100
+ **Step 1: Gather input**
101
+
102
+ - **If argument provided**: Use the description as primary input. Also scan last 15-20 messages for additional context, examples, or related conventions.
103
+ - **If no argument**: Scan last 15-20 messages for convention discussions. Look for patterns like "we should always...", "our convention is...", "prefer X over Y", "never use...", code examples showing patterns.
104
+
105
+ **Step 2: Discover existing categories and files**
106
+
107
+ Scan `.owflow/docs/standards/*/` to find all existing categories and standard files. This determines what's available — not limited to baseline categories.
108
+
109
+ **Step 3: Match to category and file**
110
+
111
+ Based on the topic detected, suggest the best-matching existing category and file. Consider:
112
+
113
+ - File names and their content (read existing files if topic is close)
114
+ - Whether the convention fits an existing file or needs a new one
115
+
116
+ **Step 4: Present suggestion**
117
+
118
+ - **If confident match** → question: "This convention about [topic] fits [category/file]. Update it?" (Yes / Choose different / Cancel)
119
+ - **If ambiguous** → question listing possible categories/files + "Create new category" + "Create new file in [category]"
120
+ - **If nothing detected** (no argument, no conversation context) → ask user to describe the convention they want to document
121
+
122
+ ---
123
+
124
+ ## PHASE 2: Determine Action
125
+
126
+ Check if the target file exists:
127
+
128
+ - **Exists** → update mode
129
+ - **Doesn't exist** → create mode (if new category, create the directory too)
130
+
131
+ No user prompt needed — just inform: "Updating existing standard: [name]" or "Creating new standard: [category/name]"
132
+
133
+ ---
134
+
135
+ ## PHASE 3: Gather Standard Content
136
+
137
+ ### If updating
138
+
139
+ 1. Read current content
140
+ 2. Show summary of existing practices
141
+ 3. Ask what to add/change
142
+ 4. Extract: new practices, modifications, removals, code examples
143
+
144
+ ### If creating
145
+
146
+ 1. Inform user of target path
147
+ 2. Ask for practices, conventions, code examples, do's/don'ts
148
+ 3. Optionally show plugin baseline if similar standard exists in docs-manager's bundled docs
149
+
150
+ ---
151
+
152
+ ## PHASE 4: Apply via docs-manager
153
+
154
+ > Each standard uses a `###` heading with 1-10 lines description (excluding code snippets). Multiple standards per topic file. Split large topics into sub-topic files.
155
+
156
+ **Invoke `docs-operator` subagent** via Task tool (subagent_type: `docs-operator`) with context:
157
+
158
+ For **updates**:
159
+
160
+ > "Update documentation file: standards/[category]/[name].md. Current content: [content]. Add/change: [new conventions]. Integrate new practices, maintain markdown formatting, organize logically, preserve existing unless conflicts. Update INDEX.md entry with practice-specific description (enumerate actual practices, not generic category)."
161
+
162
+ For **creates**:
163
+
164
+ > "Create documentation file: standards/[category]/[name].md. Category: [category]. Content: [conventions]. Create with proper markdown, organized sections, code examples. Add to INDEX.md with practice-specific description. Verify AGENTS.md integration."
165
+
166
+ Wait for docs-operator to complete, then immediately proceed to Phase 5.
167
+
168
+ ---
169
+
170
+ ## PHASE 5: Validate & Exit Gate
171
+
172
+ 1. Verify standard file exists and has content
173
+ 2. Verify INDEX.md references the standard with practice-specific description (not generic)
174
+ 3. Verify AGENTS.md integration
175
+ 4. Present results (Exit Gate contract, [Gate Contract](../orchestrator-framework/references/gate-contract.md)):
176
+
177
+ **Results box**:
178
+
179
+ ```markdown
180
+ ## ✅ STANDARDS UPDATE COMPLETE
181
+
182
+ **Action** — [created / updated] `standards/<category>/<name>.md`
183
+ **Practices** — [count added/changed]
184
+ **INDEX/AGENTS** — [integration status]
185
+
186
+ **Artifacts**
187
+ - `.owflow/docs/standards/<category>/<name>.md`
188
+ - `.owflow/docs/INDEX.md`
189
+ ```
190
+
191
+ **Results-acceptance question** — use `question` — "Are these results correct?" with options:
192
+
193
+ - **Accept** — standard is good; print next steps below.
194
+ - **Adjust** — revise the standard (wording, more practices, better examples), via docs-operator, then re-present the results box.
195
+ - **Discuss** — walk through what was written and why in more depth; then re-ask.
196
+ - **Stop here** — end.
197
+
198
+ **Next steps (after Accept)**:
199
+
200
+ - Review the applied standard file
201
+ - Commit the changes and share with the team
202
+
203
+ ---
204
+
205
+ ## Prerequisites
206
+
207
+ If `.owflow/docs/` doesn't exist, offer to run `/owflow:flow-init` first.
@@ -1,17 +1,17 @@
1
- orchestrator:
2
- started_phase: null
3
- completed_phases: []
4
- failed_phases: []
5
- auto_fix_attempts: {}
6
- options: {}
7
- created: "YYYY-MM-DDTHH:MM:SSZ"
8
- updated: "YYYY-MM-DDTHH:MM:SSZ"
9
- task_path: null
10
- task_ids: {}
11
-
12
- task:
13
- title: null
14
- description: null
15
- status: pending
16
- tags: []
17
- priority: null
1
+ orchestrator:
2
+ started_phase: null
3
+ completed_phases: []
4
+ failed_phases: []
5
+ auto_fix_attempts: {}
6
+ options: {}
7
+ created: "YYYY-MM-DDTHH:MM:SSZ"
8
+ updated: "YYYY-MM-DDTHH:MM:SSZ"
9
+ task_path: null
10
+ task_ids: {}
11
+
12
+ task:
13
+ title: null
14
+ description: null
15
+ status: pending
16
+ tags: []
17
+ priority: null