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.
- package/LICENSE +21 -21
- package/README.md +448 -261
- package/dist/agents/bottleneck-analyzer.md +332 -329
- package/dist/agents/code-quality-pragmatist.md +353 -354
- package/dist/agents/code-reviewer.md +238 -239
- package/dist/agents/codebase-analysis-reporter.md +245 -246
- package/dist/agents/docs-operator.md +22 -23
- package/dist/agents/e2e-test-verifier.md +447 -448
- package/dist/agents/gap-analyzer.md +501 -502
- package/dist/agents/implementation-completeness-checker.md +219 -220
- package/dist/agents/implementation-planner.md +308 -309
- package/dist/agents/information-gatherer.md +690 -691
- package/dist/agents/production-readiness-checker.md +278 -279
- package/dist/agents/project-analyzer.md +403 -403
- package/dist/agents/reality-assessor.md +365 -366
- package/dist/agents/research-planner.md +449 -450
- package/dist/agents/research-synthesizer.md +402 -403
- package/dist/agents/solution-brainstormer.md +256 -257
- package/dist/agents/solution-designer.md +371 -372
- package/dist/agents/spec-auditor.md +297 -298
- package/dist/agents/specification-creator.md +333 -334
- package/dist/agents/task-classifier.md +449 -450
- package/dist/agents/task-group-implementer.md +283 -284
- package/dist/agents/test-suite-runner.md +194 -195
- package/dist/agents/user-docs-generator.md +508 -509
- package/dist/commands/reviews-code.md +90 -90
- package/dist/commands/reviews-pragmatic.md +99 -99
- package/dist/commands/reviews-production-readiness.md +113 -113
- package/dist/commands/reviews-reality-check.md +110 -110
- package/dist/commands/reviews-spec-audit.md +114 -114
- package/dist/commands/work.md +280 -280
- package/dist/configuration/agents-config.d.ts +2 -0
- package/dist/configuration/agents-config.js +8 -44
- package/dist/configuration/commands-config.d.ts +23 -0
- package/dist/configuration/commands-config.js +17 -17
- package/dist/configuration/skills-config.d.ts +2 -0
- package/dist/configuration/skills-config.js +3 -3
- package/dist/hooks/hooks-diagnostics.d.ts +3 -0
- package/dist/hooks/hooks-diagnostics.js +21 -0
- package/dist/hooks/hooks-persistence.d.ts +17 -0
- package/dist/hooks/hooks-persistence.js +207 -0
- package/dist/hooks/hooks-registry.d.ts +6 -0
- package/dist/hooks/hooks-registry.js +104 -0
- package/dist/hooks/hooks-wrapper.d.ts +25 -0
- package/dist/hooks/hooks-wrapper.js +318 -0
- package/dist/hooks/internal/before-tool.d.ts +6 -0
- package/dist/hooks/internal/before-tool.js +13 -0
- package/dist/hooks/internal/session-compaction.d.ts +9 -0
- package/dist/hooks/{session-compaction.js → internal/session-compaction.js} +9 -7
- package/dist/hooks/runtime/circuit-breaker.d.ts +23 -0
- package/dist/hooks/runtime/circuit-breaker.js +39 -0
- package/dist/hooks/runtime/failure-policy.d.ts +15 -0
- package/dist/hooks/runtime/failure-policy.js +49 -0
- package/dist/hooks/runtime/process-executor.d.ts +33 -0
- package/dist/hooks/runtime/process-executor.js +147 -0
- package/dist/hooks/runtime/status-recorder.d.ts +27 -0
- package/dist/hooks/runtime/status-recorder.js +111 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +111 -40
- package/dist/skills/agents-md-generator/SKILL.md +223 -223
- package/dist/skills/codebase-analyzer/SKILL.md +162 -162
- package/dist/skills/codebase-analyzer/references/code-analysis.md +63 -63
- package/dist/skills/codebase-analyzer/references/combined.md +31 -31
- package/dist/skills/codebase-analyzer/references/context-discovery.md +63 -63
- package/dist/skills/codebase-analyzer/references/file-discovery.md +51 -51
- package/dist/skills/codebase-analyzer/references/migration-target.md +23 -23
- package/dist/skills/codebase-analyzer/references/pattern-mining.md +22 -22
- package/dist/skills/dev-analyze/SKILL.md +115 -115
- package/dist/skills/dev-bugfix/SKILL.md +452 -452
- package/dist/skills/dev-finalize/SKILL.md +118 -118
- package/dist/skills/dev-implement/SKILL.md +167 -167
- package/dist/skills/dev-plan/SKILL.md +147 -147
- package/dist/skills/dev-spec/SKILL.md +182 -182
- package/dist/skills/dev-tdd-red/SKILL.md +94 -94
- package/dist/skills/dev-verify/SKILL.md +153 -153
- package/dist/skills/development/SKILL.md +260 -260
- package/dist/skills/diagrams-mermaid/SKILL.md +183 -159
- package/dist/skills/diagrams-mermaid/references/reference.md +220 -148
- package/dist/skills/docs-manager/SKILL.md +379 -379
- package/dist/skills/docs-manager/docs/INDEX.md +199 -199
- package/dist/skills/docs-manager/docs/standards/backend/api.md +25 -25
- package/dist/skills/docs-manager/docs/standards/backend/migrations.md +22 -22
- package/dist/skills/docs-manager/docs/standards/backend/models.md +25 -25
- package/dist/skills/docs-manager/docs/standards/backend/queries.md +22 -22
- package/dist/skills/docs-manager/docs/standards/frontend/accessibility.md +25 -25
- package/dist/skills/docs-manager/docs/standards/frontend/components.md +28 -28
- package/dist/skills/docs-manager/docs/standards/frontend/css.md +16 -16
- package/dist/skills/docs-manager/docs/standards/frontend/responsive.md +28 -28
- package/dist/skills/docs-manager/docs/standards/global/coding-style.md +25 -25
- package/dist/skills/docs-manager/docs/standards/global/commenting.md +10 -10
- package/dist/skills/docs-manager/docs/standards/global/conventions.md +31 -31
- package/dist/skills/docs-manager/docs/standards/global/error-handling.md +22 -22
- package/dist/skills/docs-manager/docs/standards/global/minimal-implementation.md +22 -22
- package/dist/skills/docs-manager/docs/standards/global/validation.md +28 -28
- package/dist/skills/docs-manager/docs/standards/testing/test-writing.md +25 -25
- package/dist/skills/docs-manager/references/agents-md-template.md +29 -29
- package/dist/skills/docs-manager/references/index-md-template.md +73 -73
- package/dist/skills/flow-init/SKILL.md +234 -234
- package/dist/skills/flow-init/references/architecture-template.md +45 -45
- package/dist/skills/flow-init/references/roadmap-templates.md +93 -93
- package/dist/skills/flow-init/references/tech-stack-template.md +70 -70
- package/dist/skills/flow-init/references/vision-templates.md +75 -75
- package/dist/skills/goal-development/SKILL.md +96 -96
- package/dist/skills/goal-migration/SKILL.md +114 -114
- package/dist/skills/goal-performance/SKILL.md +126 -0
- package/dist/skills/goal-research/SKILL.md +118 -118
- package/dist/skills/html-renderer/SKILL.md +173 -173
- package/dist/skills/html-renderer/references/index.html +318 -318
- package/dist/skills/html-renderer/references/styles.css +388 -388
- package/dist/skills/html-renderer/references/tokens.json +104 -104
- package/dist/skills/implementation-plan-executor/SKILL.md +378 -378
- package/dist/skills/implementation-verifier/SKILL.md +307 -307
- package/dist/skills/migration/SKILL.md +268 -268
- package/dist/skills/migration-analyze/SKILL.md +126 -126
- package/dist/skills/migration-finalize/SKILL.md +161 -161
- package/dist/skills/migration-fix/SKILL.md +155 -155
- package/dist/skills/migration-implement/SKILL.md +131 -131
- package/dist/skills/migration-plan/SKILL.md +131 -131
- package/dist/skills/migration-spec/SKILL.md +135 -135
- package/dist/skills/migration-spec/references/migration-strategies.md +430 -430
- package/dist/skills/migration-target/SKILL.md +134 -134
- package/dist/skills/migration-target/references/migration-types.md +489 -489
- package/dist/skills/migration-verify/SKILL.md +184 -184
- package/dist/skills/orchestrator-framework/SKILL.md +65 -65
- package/dist/skills/orchestrator-framework/references/command-namespacing.md +7 -7
- package/dist/skills/orchestrator-framework/references/confirm-or-revise-exception.md +20 -20
- package/dist/skills/orchestrator-framework/references/delegation-rules.md +54 -54
- package/dist/skills/orchestrator-framework/references/dispatcher-handoff.md +27 -27
- package/dist/skills/orchestrator-framework/references/fix-loop-contract.md +65 -65
- package/dist/skills/orchestrator-framework/references/gate-contract.md +122 -117
- package/dist/skills/orchestrator-framework/references/orchestrator-creation-checklist.md +51 -51
- package/dist/skills/orchestrator-framework/references/orchestrator-patterns.md +235 -235
- package/dist/skills/performance/SKILL.md +267 -437
- package/dist/skills/performance-analyze/SKILL.md +129 -0
- package/dist/skills/{performance → performance-analyze}/references/performance-optimization-guide.md +271 -365
- package/dist/skills/performance-finalize/SKILL.md +117 -0
- package/dist/skills/performance-implement/SKILL.md +114 -0
- package/dist/skills/performance-plan/SKILL.md +112 -0
- package/dist/skills/performance-spec/SKILL.md +145 -0
- package/dist/skills/performance-verify/SKILL.md +164 -0
- package/dist/skills/research/SKILL.md +249 -249
- package/dist/skills/research-brainstorm/SKILL.md +120 -120
- package/dist/skills/research-brainstorm/references/brainstorming-techniques.md +84 -84
- package/dist/skills/research-converge/SKILL.md +130 -130
- package/dist/skills/research-design/SKILL.md +146 -146
- package/dist/skills/research-design/references/design-techniques.md +40 -40
- package/dist/skills/research-finalize/SKILL.md +125 -125
- package/dist/skills/research-fork/SKILL.md +190 -190
- package/dist/skills/research-gather/SKILL.md +133 -133
- package/dist/skills/research-plan/SKILL.md +141 -141
- package/dist/skills/research-plan/references/research-methodologies.md +710 -710
- package/dist/skills/research-quick/SKILL.md +139 -139
- package/dist/skills/research-synthesize/SKILL.md +127 -127
- package/dist/skills/rule-reviewer/SKILL.md +334 -334
- package/dist/skills/standards-discover/SKILL.md +260 -260
- package/dist/skills/standards-discover/references/aggregation-strategy.md +76 -76
- package/dist/skills/standards-discover/references/code-pattern-prompt.md +68 -68
- package/dist/skills/standards-discover/references/config-analyzer-prompt.md +67 -67
- package/dist/skills/standards-discover/references/docs-extractor-prompt.md +65 -65
- package/dist/skills/standards-discover/references/external-analyzer-prompt.md +75 -75
- package/dist/skills/standards-update/SKILL.md +207 -207
- package/dist/templates/orchestrator-state-base.yml +17 -17
- package/dist/templates/orchestrator-state-development.yml +95 -95
- package/dist/templates/orchestrator-state-migration.yml +95 -95
- package/dist/templates/orchestrator-state-performance.yml +64 -53
- package/dist/templates/orchestrator-state-research.yml +67 -67
- package/dist/tools/fork_task.d.ts +17 -0
- package/dist/tools/fork_task.js +21 -11
- package/dist/tools/verify_template.d.ts +11 -0
- package/dist/tools/verify_template.js +32 -17
- package/dist/tui/hooks-dialogs.d.ts +20 -0
- package/dist/tui/hooks-dialogs.js +181 -0
- package/dist/tui/hooks-presenter.d.ts +15 -0
- package/dist/tui/hooks-presenter.js +70 -0
- package/dist/tui/hooks-sidebar.d.ts +10 -0
- package/dist/tui/hooks-sidebar.js +104 -0
- package/dist/tui/primitives.d.ts +21 -0
- package/dist/tui/primitives.js +47 -0
- package/dist/tui.d.ts +12 -0
- package/dist/tui.js +129 -0
- package/dist/types/hook-types.d.ts +125 -0
- package/dist/types/hook-types.js +76 -0
- package/dist/types/opencode-types.d.ts +13 -0
- package/dist/utils/file-util.d.ts +2 -0
- package/dist/utils/file-util.js +6 -6
- package/dist/utils/fork-task.d.ts +27 -0
- package/dist/utils/fork-task.js +18 -23
- package/dist/utils/plugin-info.d.ts +3 -0
- package/dist/utils/plugin-info.js +8 -10
- package/dist/utils/workflow-paths.d.ts +17 -0
- package/dist/utils/workflow-paths.js +18 -0
- package/dist/utils/yaml-structure.d.ts +7 -0
- package/dist/utils/yaml-structure.js +7 -11
- package/package.json +68 -48
- 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
|