bmad-module-skill-forge 0.2.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/.nvmrc +1 -0
- package/LICENSE +26 -0
- package/README.md +213 -0
- package/docs/404.md +20 -0
- package/docs/agents.md +73 -0
- package/docs/architecture.md +301 -0
- package/docs/examples.md +144 -0
- package/docs/getting-started.md +198 -0
- package/docs/index.md +75 -0
- package/docs/workflows.md +190 -0
- package/package.json +109 -0
- package/src/agents/forger.agent.yaml +93 -0
- package/src/forger/README.md +17 -0
- package/src/forger/forge-tier.yaml +13 -0
- package/src/forger/preferences.yaml +10 -0
- package/src/knowledge/agentskills-spec.md +158 -0
- package/src/knowledge/confidence-tiers.md +153 -0
- package/src/knowledge/manual-section-integrity.md +156 -0
- package/src/knowledge/overview.md +56 -0
- package/src/knowledge/progressive-capability.md +120 -0
- package/src/knowledge/provenance-tracking.md +163 -0
- package/src/knowledge/skf-knowledge-index.csv +9 -0
- package/src/knowledge/skill-lifecycle.md +150 -0
- package/src/knowledge/zero-hallucination.md +101 -0
- package/src/module-help.csv +12 -0
- package/src/module.yaml +22 -0
- package/src/workflows/README.md +148 -0
- package/src/workflows/analyze-source/data/skill-brief-schema.md +75 -0
- package/src/workflows/analyze-source/data/unit-detection-heuristics.md +88 -0
- package/src/workflows/analyze-source/steps-c/step-01-init.md +191 -0
- package/src/workflows/analyze-source/steps-c/step-01b-continue.md +144 -0
- package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +208 -0
- package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +199 -0
- package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +222 -0
- package/src/workflows/analyze-source/steps-c/step-05-recommend.md +236 -0
- package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +239 -0
- package/src/workflows/analyze-source/templates/analysis-report-template.md +41 -0
- package/src/workflows/analyze-source/validation-report.md +657 -0
- package/src/workflows/analyze-source/workflow-plan-analyze-source.md +385 -0
- package/src/workflows/analyze-source/workflow.md +61 -0
- package/src/workflows/audit-skill/data/drift-report-template.md +62 -0
- package/src/workflows/audit-skill/data/severity-rules.md +52 -0
- package/src/workflows/audit-skill/steps-c/step-01-init.md +195 -0
- package/src/workflows/audit-skill/steps-c/step-02-re-index.md +191 -0
- package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +194 -0
- package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +199 -0
- package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +210 -0
- package/src/workflows/audit-skill/steps-c/step-06-report.md +217 -0
- package/src/workflows/audit-skill/validation-report.md +545 -0
- package/src/workflows/audit-skill/workflow-plan-audit-skill.md +318 -0
- package/src/workflows/audit-skill/workflow.md +63 -0
- package/src/workflows/brief-skill/data/skill-brief-schema.md +82 -0
- package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +184 -0
- package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +203 -0
- package/src/workflows/brief-skill/steps-c/step-03-scope-definition.md +225 -0
- package/src/workflows/brief-skill/steps-c/step-04-confirm-brief.md +185 -0
- package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +156 -0
- package/src/workflows/brief-skill/validation-report.md +630 -0
- package/src/workflows/brief-skill/workflow-plan-brief-skill.md +360 -0
- package/src/workflows/brief-skill/workflow.md +57 -0
- package/src/workflows/create-skill/data/extraction-patterns.md +63 -0
- package/src/workflows/create-skill/data/skill-sections.md +166 -0
- package/src/workflows/create-skill/steps-c/step-01-load-brief.md +176 -0
- package/src/workflows/create-skill/steps-c/step-02-ecosystem-check.md +143 -0
- package/src/workflows/create-skill/steps-c/step-03-extract.md +184 -0
- package/src/workflows/create-skill/steps-c/step-04-enrich.md +152 -0
- package/src/workflows/create-skill/steps-c/step-05-compile.md +198 -0
- package/src/workflows/create-skill/steps-c/step-06-validate.md +162 -0
- package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +165 -0
- package/src/workflows/create-skill/steps-c/step-08-report.md +160 -0
- package/src/workflows/create-skill/validation-report.md +189 -0
- package/src/workflows/create-skill/workflow-plan-create-skill.md +491 -0
- package/src/workflows/create-skill/workflow.md +52 -0
- package/src/workflows/create-stack-skill/data/integration-patterns.md +61 -0
- package/src/workflows/create-stack-skill/data/manifest-patterns.md +35 -0
- package/src/workflows/create-stack-skill/data/stack-skill-template.md +110 -0
- package/src/workflows/create-stack-skill/steps-c/step-01-init.md +142 -0
- package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +145 -0
- package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +161 -0
- package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +155 -0
- package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +154 -0
- package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +160 -0
- package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +202 -0
- package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +193 -0
- package/src/workflows/create-stack-skill/steps-c/step-09-report.md +137 -0
- package/src/workflows/create-stack-skill/validation-report.md +401 -0
- package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +481 -0
- package/src/workflows/create-stack-skill/workflow.md +59 -0
- package/src/workflows/export-skill/data/managed-section-format.md +70 -0
- package/src/workflows/export-skill/data/snippet-format.md +32 -0
- package/src/workflows/export-skill/steps-c/step-01-load-skill.md +184 -0
- package/src/workflows/export-skill/steps-c/step-02-package.md +153 -0
- package/src/workflows/export-skill/steps-c/step-03-generate-snippet.md +166 -0
- package/src/workflows/export-skill/steps-c/step-04-update-context.md +222 -0
- package/src/workflows/export-skill/steps-c/step-05-token-report.md +126 -0
- package/src/workflows/export-skill/steps-c/step-06-summary.md +167 -0
- package/src/workflows/export-skill/validation-report.md +263 -0
- package/src/workflows/export-skill/workflow-plan-export-skill.md +369 -0
- package/src/workflows/export-skill/workflow.md +56 -0
- package/src/workflows/quick-skill/data/registry-resolution.md +91 -0
- package/src/workflows/quick-skill/data/skill-template.md +66 -0
- package/src/workflows/quick-skill/steps-c/step-01-resolve-target.md +165 -0
- package/src/workflows/quick-skill/steps-c/step-02-ecosystem-check.md +143 -0
- package/src/workflows/quick-skill/steps-c/step-03-quick-extract.md +177 -0
- package/src/workflows/quick-skill/steps-c/step-04-compile.md +180 -0
- package/src/workflows/quick-skill/steps-c/step-05-validate.md +150 -0
- package/src/workflows/quick-skill/steps-c/step-06-write.md +160 -0
- package/src/workflows/quick-skill/validation-report.md +543 -0
- package/src/workflows/quick-skill/workflow-plan-quick-skill.md +405 -0
- package/src/workflows/quick-skill/workflow.md +56 -0
- package/src/workflows/setup-forge/data/tier-rules.md +50 -0
- package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +140 -0
- package/src/workflows/setup-forge/steps-c/step-02-write-config.md +141 -0
- package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +116 -0
- package/src/workflows/setup-forge/steps-c/step-04-report.md +131 -0
- package/src/workflows/setup-forge/validation-report.md +504 -0
- package/src/workflows/setup-forge/workflow-plan-setup-forge.md +428 -0
- package/src/workflows/setup-forge/workflow.md +49 -0
- package/src/workflows/test-skill/data/output-section-formats.md +96 -0
- package/src/workflows/test-skill/data/scoring-rules.md +74 -0
- package/src/workflows/test-skill/steps-c/step-01-init.md +185 -0
- package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +162 -0
- package/src/workflows/test-skill/steps-c/step-03-coverage-check.md +222 -0
- package/src/workflows/test-skill/steps-c/step-04-coherence-check.md +249 -0
- package/src/workflows/test-skill/steps-c/step-05-score.md +222 -0
- package/src/workflows/test-skill/steps-c/step-06-report.md +175 -0
- package/src/workflows/test-skill/templates/test-report-template.md +24 -0
- package/src/workflows/test-skill/validation-report.md +390 -0
- package/src/workflows/test-skill/workflow-plan-test-skill.md +288 -0
- package/src/workflows/test-skill/workflow.md +57 -0
- package/src/workflows/update-skill/data/manual-section-rules.md +44 -0
- package/src/workflows/update-skill/data/merge-conflict-rules.md +62 -0
- package/src/workflows/update-skill/steps-c/step-01-init.md +208 -0
- package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +184 -0
- package/src/workflows/update-skill/steps-c/step-03-re-extract.md +187 -0
- package/src/workflows/update-skill/steps-c/step-04-merge.md +230 -0
- package/src/workflows/update-skill/steps-c/step-05-validate.md +187 -0
- package/src/workflows/update-skill/steps-c/step-06-write.md +204 -0
- package/src/workflows/update-skill/steps-c/step-07-report.md +201 -0
- package/src/workflows/update-skill/validation-report.md +559 -0
- package/src/workflows/update-skill/workflow-plan-update-skill.md +441 -0
- package/src/workflows/update-skill/workflow.md +56 -0
- package/tools/cli/commands/install.js +33 -0
- package/tools/cli/commands/status.js +195 -0
- package/tools/cli/commands/uninstall.js +226 -0
- package/tools/cli/commands/update.js +63 -0
- package/tools/cli/lib/compiler.js +306 -0
- package/tools/cli/lib/ide-commands.js +244 -0
- package/tools/cli/lib/installer.js +307 -0
- package/tools/cli/lib/manifest.js +109 -0
- package/tools/cli/lib/ui.js +277 -0
- package/tools/cli/lib/version-check.js +86 -0
- package/tools/cli/skf-cli.js +45 -0
- package/tools/skf-npx-wrapper.js +36 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
---
|
|
2
|
+
conversionFrom: 'src/workflows/quick-skill/quick-skill.spec.md'
|
|
3
|
+
originalFormat: 'Workflow Specification (spec.md)'
|
|
4
|
+
stepsCompleted: ['step-00-conversion', 'step-02-classification', 'step-03-requirements', 'step-04-tools', 'step-05-plan-review', 'step-06-design', 'step-07-foundation', 'step-08-build-step-01', 'step-09-build-steps-02-06']
|
|
5
|
+
created: 2026-02-26
|
|
6
|
+
status: VALIDATED
|
|
7
|
+
approvedDate: 2026-02-27
|
|
8
|
+
confirmationDate: 2026-02-27
|
|
9
|
+
confirmationType: conversion
|
|
10
|
+
coverageStatus: complete
|
|
11
|
+
validationDate: 2026-02-27
|
|
12
|
+
validationStatus: COMPLETE
|
|
13
|
+
validationReport: './validation-report.md'
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Workflow Creation Plan
|
|
17
|
+
|
|
18
|
+
## Conversion Source
|
|
19
|
+
|
|
20
|
+
**Original Path:** src/workflows/quick-skill/quick-skill.spec.md
|
|
21
|
+
**Original Format:** Workflow Specification (spec.md) — pre-designed blueprint with step table, inputs/outputs, and agent integration
|
|
22
|
+
**Detected Structure:** Single specification document defining a 6-step create-only workflow for brief-less skill generation from package names or GitHub URLs
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Original Workflow Analysis
|
|
27
|
+
|
|
28
|
+
### Goal (from source)
|
|
29
|
+
|
|
30
|
+
Brief-less fast skill with package-to-repo resolution. The fastest path to a skill — accepts a GitHub URL or package name, resolves to source, reads exports via source reading (no AST required), and produces a best-effort SKILL.md. No brief needed. Package-to-repo resolution handles npm/PyPI/crates.io names.
|
|
31
|
+
|
|
32
|
+
### Original Steps (Complete List)
|
|
33
|
+
|
|
34
|
+
**Step 1:** resolve-target - Resolve package name or URL to GitHub repo
|
|
35
|
+
**Step 2:** ecosystem-check - Search if official skill already exists
|
|
36
|
+
**Step 3:** quick-extract - Read source, extract public API surface
|
|
37
|
+
**Step 4:** compile - Assemble best-effort SKILL.md
|
|
38
|
+
**Step 5:** validate - Validate against spec
|
|
39
|
+
**Step 6:** write - Write skill files
|
|
40
|
+
|
|
41
|
+
### Output / Deliverable
|
|
42
|
+
|
|
43
|
+
Document-producing workflow generating three files:
|
|
44
|
+
- `{skills_output_folder}/{name}/SKILL.md` — Best-effort skill document
|
|
45
|
+
- `{skills_output_folder}/{name}/context-snippet.md` — Passive context for platform injection
|
|
46
|
+
- `{skills_output_folder}/{name}/metadata.json` — With `source_authority: community`
|
|
47
|
+
|
|
48
|
+
### Input Requirements
|
|
49
|
+
|
|
50
|
+
**Required:**
|
|
51
|
+
- GitHub URL or package name (npm/PyPI/crates.io)
|
|
52
|
+
|
|
53
|
+
**Optional:**
|
|
54
|
+
- Language hint
|
|
55
|
+
- Scope hint (specific directories)
|
|
56
|
+
|
|
57
|
+
### Key Instructions to LLM
|
|
58
|
+
|
|
59
|
+
- Uses Ferris agent persona (Architect mode) as primary agent
|
|
60
|
+
- No brief needed — this is a speed-first entry point
|
|
61
|
+
- Package-to-repo resolution via `manifest_reader` internal utility
|
|
62
|
+
- Source reading approach (no AST required) — reads exports directly
|
|
63
|
+
- Best-effort output quality — not full-depth skill analysis
|
|
64
|
+
- `source_authority: community` designation for all outputs
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Conversion Notes
|
|
69
|
+
|
|
70
|
+
**What works well in original:**
|
|
71
|
+
- Clear 6-step pipeline with well-defined boundaries between steps
|
|
72
|
+
- Smart input flexibility (URL or package name from multiple registries)
|
|
73
|
+
- Explicit output file list with metadata conventions
|
|
74
|
+
- Ecosystem-aware (checks for existing official skills before duplicating work)
|
|
75
|
+
|
|
76
|
+
**What needs improvement:**
|
|
77
|
+
- Spec only — no step-level implementation details exist yet
|
|
78
|
+
- No menu structures or user interaction points defined
|
|
79
|
+
- No data files or templates specified
|
|
80
|
+
- Step granularity may need adjustment during build (e.g., resolve-target could be complex)
|
|
81
|
+
|
|
82
|
+
**Compliance gaps identified:**
|
|
83
|
+
- No step files exist (need full creation, not conversion)
|
|
84
|
+
- No frontmatter definitions for steps
|
|
85
|
+
- No workflow.md entry point
|
|
86
|
+
- No data/ folder templates
|
|
87
|
+
- No validation mode steps defined (spec says create-only, which is valid)
|
|
88
|
+
- Need to define critical path and state tracking across steps
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Memory-Informed Discovery Notes
|
|
93
|
+
|
|
94
|
+
**Preserve:**
|
|
95
|
+
- 6-step linear pipeline matches proven create-skill pattern
|
|
96
|
+
- Ecosystem-check advisory gate pattern (5s timeout, graceful degradation, P/I/A menu only on match)
|
|
97
|
+
- `source_authority: community` correctly positions output in SKF authority hierarchy
|
|
98
|
+
- No-brief differentiator — alternative entry point to create-skill pipeline
|
|
99
|
+
|
|
100
|
+
**Address:**
|
|
101
|
+
- `manifest_reader` utility doesn't exist — need self-contained resolution logic or clear tool requirements
|
|
102
|
+
- No tier awareness needed — operates at fixed Quick-tier equivalent (best-effort)
|
|
103
|
+
- Need explicit error handling table (hard halt, graceful degradation, silent skip patterns)
|
|
104
|
+
- Step 03 "source reading" needs clear definition: README, manifest files, top-level exports
|
|
105
|
+
|
|
106
|
+
**Add:**
|
|
107
|
+
- Graceful fallback chain for resolution: GitHub URL direct > registry API lookup > web search > fail gracefully
|
|
108
|
+
- Advisory ecosystem-check following create-skill step-02 exact pattern
|
|
109
|
+
- Lighter validation for community source_authority tier
|
|
110
|
+
- Ferris Architect mode with tier-aware acknowledgment
|
|
111
|
+
|
|
112
|
+
**Audience:** Same SKF users — developers wanting fast community skill generation without full brief-skill > create-skill pipeline. Phase 1b (Entry Points) build priority.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Classification Decisions
|
|
117
|
+
|
|
118
|
+
**Workflow Name:** quick-skill
|
|
119
|
+
**Target Path:** {project-root}/_bmad/skf/workflows/quick-skill/
|
|
120
|
+
**Build Path:** {bmb_creations_output_folder}/workflows/quick-skill/
|
|
121
|
+
|
|
122
|
+
**4 Key Decisions:**
|
|
123
|
+
1. **Document Output:** true — produces SKILL.md, context-snippet.md, metadata.json
|
|
124
|
+
2. **Module Affiliation:** skf — part of Skills Knowledge Framework module
|
|
125
|
+
3. **Session Type:** single-session — speed-first, 6 focused steps, best-effort output
|
|
126
|
+
4. **Lifecycle Support:** create-only — steps-c/ only, no edit/validate modes
|
|
127
|
+
|
|
128
|
+
**Structure Implications:**
|
|
129
|
+
- Needs `steps-c/` directory only (no steps-e/ or steps-v/)
|
|
130
|
+
- Standard `step-01` init (no continuation logic, no step-01b-continue)
|
|
131
|
+
- Document-producing: steps contribute progressively to output files
|
|
132
|
+
- Module-based: has access to SKF-specific variables (skills_output_folder, forge-tier, etc.)
|
|
133
|
+
- No stepsCompleted tracking needed in output document (single-session)
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Requirements
|
|
138
|
+
|
|
139
|
+
**Flow Structure:**
|
|
140
|
+
- Pattern: linear
|
|
141
|
+
- Phases: resolve input (01), dedup check (02), extraction (03), compilation (04), validation (05), output (06)
|
|
142
|
+
- Estimated steps: 6
|
|
143
|
+
- Conditional branch: step-02 ecosystem-check shows P/I/A menu only if match found, otherwise auto-proceeds
|
|
144
|
+
|
|
145
|
+
**User Interaction:**
|
|
146
|
+
- Style: mostly autonomous
|
|
147
|
+
- Decision points: step-01 (user provides input), step-02 (conditional — only if ecosystem match), step-04 (optional checkpoint to review compiled SKILL.md)
|
|
148
|
+
- Checkpoint frequency: minimal — speed-first design, most steps auto-proceed (P3)
|
|
149
|
+
|
|
150
|
+
**Inputs Required:**
|
|
151
|
+
- Required: GitHub URL or package name (npm/PyPI/crates.io)
|
|
152
|
+
- Optional: language hint, scope hint (specific directories)
|
|
153
|
+
- Prerequisites: none — this is the brief-less entry point, no setup-forge or brief-skill needed
|
|
154
|
+
|
|
155
|
+
**Output Specifications:**
|
|
156
|
+
- Type: multi-file document output
|
|
157
|
+
- Files:
|
|
158
|
+
- `{skills_output_folder}/{name}/SKILL.md` — structured template following agentskills.io spec sections
|
|
159
|
+
- `{skills_output_folder}/{name}/context-snippet.md` — strict two-line format per ADR-L (~30 tokens)
|
|
160
|
+
- `{skills_output_folder}/{name}/metadata.json` — strict JSON with `source_authority: community`
|
|
161
|
+
- Format: structured (SKILL.md), strict (context-snippet.md, metadata.json)
|
|
162
|
+
- Frequency: single run per skill
|
|
163
|
+
|
|
164
|
+
**Success Criteria:**
|
|
165
|
+
- Package/URL successfully resolved to GitHub repo source
|
|
166
|
+
- Public exports documented (best-effort, may be incomplete)
|
|
167
|
+
- Valid SKILL.md with core sections populated
|
|
168
|
+
- context-snippet.md in correct two-line format
|
|
169
|
+
- metadata.json with `source_authority: community` and required fields
|
|
170
|
+
- No ecosystem duplicate if official skill already exists (user chose to proceed)
|
|
171
|
+
|
|
172
|
+
**Instruction Style:**
|
|
173
|
+
- Overall: prescriptive
|
|
174
|
+
- Notes: mechanical pipeline with exact operations per step. Ferris Architect mode provides precision execution. Matches Tax Organizer / SOP Writer pattern — focused questions, specific operations, no creative facilitation.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Tools Configuration
|
|
179
|
+
|
|
180
|
+
**Core BMAD Tools:**
|
|
181
|
+
- **Party Mode:** excluded — prescriptive pipeline, no creative facilitation needed
|
|
182
|
+
- **Advanced Elicitation:** excluded — mechanical steps, no deep exploration needed
|
|
183
|
+
- **Brainstorming:** excluded — no ideation phases
|
|
184
|
+
|
|
185
|
+
**LLM Features:**
|
|
186
|
+
- **Web-Browsing:** included — critical for step-01 (registry API lookups, package-to-repo resolution), step-02 (ecosystem search), step-03 (reading GitHub source)
|
|
187
|
+
- **File I/O:** included — step-03 reads source files, step-06 writes three output files
|
|
188
|
+
- **Sub-Agents:** excluded — linear pipeline, no parallelization needed
|
|
189
|
+
- **Sub-Processes:** excluded — linear pipeline, no parallelization needed
|
|
190
|
+
|
|
191
|
+
**Memory:**
|
|
192
|
+
- Type: single-session
|
|
193
|
+
- Tracking: none — no complex state management needed
|
|
194
|
+
|
|
195
|
+
**External Integrations:**
|
|
196
|
+
- None required — web-browsing handles registry lookups and GitHub access
|
|
197
|
+
|
|
198
|
+
**Installation Requirements:**
|
|
199
|
+
- None — all selected tools are built-in
|
|
200
|
+
|
|
201
|
+
**Workflow Structure Preview:**
|
|
202
|
+
|
|
203
|
+
| Phase | Step | Name | Purpose | Menu |
|
|
204
|
+
|-------|------|------|---------|------|
|
|
205
|
+
| 1 | 01 | resolve-target | Accept input, resolve package/URL to GitHub repo | Init — user provides input |
|
|
206
|
+
| 2 | 02 | ecosystem-check | Query agentskills.io for existing official skill | Conditional P/I/A (match only) |
|
|
207
|
+
| 3 | 03 | quick-extract | Read source, extract public API surface | P3 auto-proceed |
|
|
208
|
+
| 4 | 04 | compile | Assemble SKILL.md, context-snippet, metadata | P2 checkpoint (review output) |
|
|
209
|
+
| 5 | 05 | validate | Validate against agentskills.io spec (community tier) | P3 auto-proceed |
|
|
210
|
+
| 6 | 06 | write | Write files to output folder, display summary | Final step |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Workflow Design
|
|
215
|
+
|
|
216
|
+
### File Structure
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
quick-skill/
|
|
220
|
+
├── workflow.md # Entry point
|
|
221
|
+
├── data/
|
|
222
|
+
│ ├── skill-template.md # SKILL.md section template
|
|
223
|
+
│ └── registry-resolution.md # Package-to-repo resolution patterns
|
|
224
|
+
└── steps-c/
|
|
225
|
+
├── step-01-resolve-target.md
|
|
226
|
+
├── step-02-ecosystem-check.md
|
|
227
|
+
├── step-03-quick-extract.md
|
|
228
|
+
├── step-04-compile.md
|
|
229
|
+
├── step-05-validate.md
|
|
230
|
+
└── step-06-write.md
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Step Sequence Table
|
|
234
|
+
|
|
235
|
+
| # | Name | Type | Menu | Frontmatter Refs |
|
|
236
|
+
|---|------|------|------|-----------------|
|
|
237
|
+
| 01 | resolve-target | Init (non-continuable) | User input → auto-proceed | nextStepFile, registryResolutionData |
|
|
238
|
+
| 02 | ecosystem-check | Middle (Simple) | Conditional P/I/A if match, else P3 | nextStepFile |
|
|
239
|
+
| 03 | quick-extract | Middle (Simple) | P3 auto-proceed | nextStepFile |
|
|
240
|
+
| 04 | compile | Middle (Simple) | P2 (C only) checkpoint | nextStepFile, skillTemplateData |
|
|
241
|
+
| 05 | validate | Middle (Simple) | P3 auto-proceed | nextStepFile |
|
|
242
|
+
| 06 | write | Final | No next step | — |
|
|
243
|
+
|
|
244
|
+
### Step Action Plans
|
|
245
|
+
|
|
246
|
+
**Step 01 — resolve-target (Init):**
|
|
247
|
+
- Accept user input: GitHub URL or package name
|
|
248
|
+
- If GitHub URL: validate URL format, extract org/repo
|
|
249
|
+
- If package name: resolution fallback chain (from registry-resolution.md data):
|
|
250
|
+
1. npm registry API → extract `repository.url`
|
|
251
|
+
2. PyPI API → extract `project_urls.Source`
|
|
252
|
+
3. crates.io API → extract `repository`
|
|
253
|
+
4. Web search fallback → find GitHub repo
|
|
254
|
+
- Accept optional: language hint, scope hint
|
|
255
|
+
- Set state: resolved_url, repo_name, language_hint, scope_hint
|
|
256
|
+
- Auto-proceed to step-02
|
|
257
|
+
|
|
258
|
+
**Step 02 — ecosystem-check (Conditional):**
|
|
259
|
+
- Query agentskills.io ecosystem for repo_name skill
|
|
260
|
+
- 5-second timeout, tool unavailability = silent skip
|
|
261
|
+
- No match: auto-proceed to step-03 (no user interaction)
|
|
262
|
+
- Match found: conditional menu P/I/A
|
|
263
|
+
- [P] Proceed — compile custom skill anyway
|
|
264
|
+
- [I] Install — install existing official skill (exit workflow)
|
|
265
|
+
- [A] Abort — cancel compilation
|
|
266
|
+
|
|
267
|
+
**Step 03 — quick-extract (Auto-proceed):**
|
|
268
|
+
- Read repo README.md for description, features, usage
|
|
269
|
+
- Read manifest file (package.json / pyproject.toml / Cargo.toml)
|
|
270
|
+
- Scan top-level exports (index.js/ts, __init__.py, lib.rs)
|
|
271
|
+
- If scope hint: focus on specified directories
|
|
272
|
+
- Extract: export names, function signatures, type definitions (surface-level)
|
|
273
|
+
- No AST — grep/pattern-based extraction
|
|
274
|
+
- Set state: extraction_inventory
|
|
275
|
+
- Auto-proceed to step-04
|
|
276
|
+
|
|
277
|
+
**Step 04 — compile (Checkpoint):**
|
|
278
|
+
- Load skill-template.md from data/
|
|
279
|
+
- Assemble SKILL.md from extraction_inventory
|
|
280
|
+
- Generate context-snippet.md in two-line format (ADR-L, ~30 tokens)
|
|
281
|
+
- Generate metadata.json with source_authority: community
|
|
282
|
+
- Present compiled SKILL.md for review
|
|
283
|
+
- [C] Continue to validation
|
|
284
|
+
|
|
285
|
+
**Step 05 — validate (Auto-proceed):**
|
|
286
|
+
- Check SKILL.md has required sections populated
|
|
287
|
+
- Check context-snippet.md format compliance (two-line)
|
|
288
|
+
- Check metadata.json has required fields
|
|
289
|
+
- Community-tier validation (lighter than official)
|
|
290
|
+
- Report any gaps/issues
|
|
291
|
+
- Auto-proceed to step-06
|
|
292
|
+
|
|
293
|
+
**Step 06 — write (Final):**
|
|
294
|
+
- Create output directory: {skills_output_folder}/{name}/
|
|
295
|
+
- Write SKILL.md, context-snippet.md, metadata.json
|
|
296
|
+
- Display summary: files written, paths, token estimate
|
|
297
|
+
- Recommend next: test-skill (advisory), export-skill
|
|
298
|
+
|
|
299
|
+
### Data Flow
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
step-01 → resolved_url, repo_name, language_hint, scope_hint
|
|
303
|
+
↓
|
|
304
|
+
step-02 → ecosystem_status (match/no-match/skip)
|
|
305
|
+
↓
|
|
306
|
+
step-03 → extraction_inventory (exports, description, manifest_data)
|
|
307
|
+
↓
|
|
308
|
+
step-04 → skill_content (SKILL.md), context_snippet, metadata_json
|
|
309
|
+
↓
|
|
310
|
+
step-05 → validation_result (pass/fail, issues_list)
|
|
311
|
+
↓
|
|
312
|
+
step-06 → writes files, displays summary
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Error Handling
|
|
316
|
+
|
|
317
|
+
| Error | Response |
|
|
318
|
+
|-------|----------|
|
|
319
|
+
| Unresolvable package name | Hard halt — cannot proceed without source |
|
|
320
|
+
| GitHub repo inaccessible | Hard halt — need source to extract |
|
|
321
|
+
| Ecosystem check tool unavailable | Silent skip — proceed as no-match |
|
|
322
|
+
| Ecosystem check timeout (>5s) | Silent skip — proceed as no-match |
|
|
323
|
+
| No exports found in source | Graceful — minimal SKILL.md from README |
|
|
324
|
+
| Validation failures | Advisory — report issues, allow proceed |
|
|
325
|
+
| File write failure | Hard halt — cannot complete without output |
|
|
326
|
+
|
|
327
|
+
### Workflow Chaining
|
|
328
|
+
|
|
329
|
+
- **Prerequisites:** none (brief-less entry point)
|
|
330
|
+
- **Alternative to:** brief-skill → create-skill pipeline
|
|
331
|
+
- **Recommended next:** test-skill (advisory), export-skill
|
|
332
|
+
- **Output contract:** {skills_output_folder}/{name}/ with SKILL.md, context-snippet.md, metadata.json
|
|
333
|
+
|
|
334
|
+
### Subprocess Optimization
|
|
335
|
+
|
|
336
|
+
No subprocess optimization needed — linear pipeline, no parallelization opportunities.
|
|
337
|
+
|
|
338
|
+
### Role and Persona
|
|
339
|
+
|
|
340
|
+
Ferris — Architect mode. Prescriptive precision execution, speed-first, no creative facilitation.
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Foundation Build Complete
|
|
345
|
+
|
|
346
|
+
**Created:**
|
|
347
|
+
- Folder structure at: {bmb_creations_output_folder}/workflows/quick-skill/
|
|
348
|
+
- workflow.md — entry point with SKF config loading, Ferris rapid compiler role
|
|
349
|
+
- data/skill-template.md — SKILL.md section structure, context-snippet format (ADR-L), metadata.json format
|
|
350
|
+
- data/registry-resolution.md — package-to-repo resolution fallback chain (npm/PyPI/crates.io/web search)
|
|
351
|
+
- steps-c/ directory — ready for step file creation
|
|
352
|
+
|
|
353
|
+
**Configuration:**
|
|
354
|
+
- Workflow name: quick-skill
|
|
355
|
+
- Continuable: no (single-session)
|
|
356
|
+
- Document output: yes — multi-file (SKILL.md, context-snippet.md, metadata.json)
|
|
357
|
+
- Mode: create-only (steps-c/ only)
|
|
358
|
+
- Module config: {project-root}/_bmad/skf/config.yaml
|
|
359
|
+
- Module variables: skills_output_folder, forge_data_folder
|
|
360
|
+
|
|
361
|
+
**Next Steps:**
|
|
362
|
+
- Step 8: Build step-01-resolve-target (Init)
|
|
363
|
+
- Step 9: Build remaining steps 02-06 (repeatable)
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Step 01 Build Complete
|
|
368
|
+
|
|
369
|
+
**Created:**
|
|
370
|
+
- steps-c/step-01-resolve-target.md
|
|
371
|
+
|
|
372
|
+
**Step Configuration:**
|
|
373
|
+
- Type: Init (non-continuable, no input discovery)
|
|
374
|
+
- Menu: Auto-proceed after successful resolution
|
|
375
|
+
- Next Step: step-02-ecosystem-check
|
|
376
|
+
- Data ref: registry-resolution.md for fallback chain
|
|
377
|
+
- No step-01b (single-session workflow)
|
|
378
|
+
|
|
379
|
+
**Supporting Files:**
|
|
380
|
+
- data/registry-resolution.md (created in foundation)
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## Steps 02-06 Build Complete
|
|
385
|
+
|
|
386
|
+
**Created:**
|
|
387
|
+
- steps-c/step-02-ecosystem-check.md (143 lines) — Conditional advisory gate, P/I/A on match, auto-proceed on no-match/skip
|
|
388
|
+
- steps-c/step-03-quick-extract.md (177 lines) — Surface-level source reading, extraction inventory, auto-proceed
|
|
389
|
+
- steps-c/step-04-compile.md (180 lines) — Assembles SKILL.md/snippet/metadata from inventory, P2 checkpoint for review
|
|
390
|
+
- steps-c/step-05-validate.md (150 lines) — Community-tier advisory validation, auto-proceed
|
|
391
|
+
- steps-c/step-06-write.md (160 lines) — Final step, writes files, displays summary, recommends next workflows
|
|
392
|
+
|
|
393
|
+
**All step files within size limits except step-01 (165 vs 150 Init guideline — minor, 15 lines over)**
|
|
394
|
+
|
|
395
|
+
**Complete file manifest:**
|
|
396
|
+
- workflow.md (56 lines)
|
|
397
|
+
- data/skill-template.md (66 lines)
|
|
398
|
+
- data/registry-resolution.md (91 lines)
|
|
399
|
+
- steps-c/step-01-resolve-target.md (165 lines)
|
|
400
|
+
- steps-c/step-02-ecosystem-check.md (143 lines)
|
|
401
|
+
- steps-c/step-03-quick-extract.md (177 lines)
|
|
402
|
+
- steps-c/step-04-compile.md (180 lines)
|
|
403
|
+
- steps-c/step-05-validate.md (150 lines)
|
|
404
|
+
- steps-c/step-06-write.md (160 lines)
|
|
405
|
+
- Total: 10 files, 1188 lines
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quick-skill
|
|
3
|
+
description: Brief-less fast skill with package-to-repo resolution
|
|
4
|
+
web_bundle: true
|
|
5
|
+
installed_path: '{project-root}/_bmad/skf/workflows/quick-skill'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Quick Skill
|
|
9
|
+
|
|
10
|
+
**Goal:** The fastest path to a skill — accept a GitHub URL or package name, resolve to source, extract public API surface, and produce a best-effort SKILL.md with context snippet and metadata. No brief needed.
|
|
11
|
+
|
|
12
|
+
**Your Role:** In addition to your name, communication_style, and persona, you are also a rapid skill compiler collaborating with a developer. This is a partnership, not a client-vendor relationship. You bring source analysis and skill document assembly expertise, while the user brings the target package or repository they want to create a skill for. Work together efficiently — speed is the priority.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## WORKFLOW ARCHITECTURE
|
|
17
|
+
|
|
18
|
+
### Core Principles
|
|
19
|
+
|
|
20
|
+
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
|
|
21
|
+
- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
|
|
22
|
+
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
23
|
+
- **Append-Only Building**: Build output files progressively as directed by each step
|
|
24
|
+
|
|
25
|
+
### Step Processing Rules
|
|
26
|
+
|
|
27
|
+
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
28
|
+
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
29
|
+
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
30
|
+
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
31
|
+
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
|
32
|
+
|
|
33
|
+
### Critical Rules (NO EXCEPTIONS)
|
|
34
|
+
|
|
35
|
+
- 🛑 **NEVER** load multiple step files simultaneously
|
|
36
|
+
- 📖 **ALWAYS** read entire step file before execution
|
|
37
|
+
- 🚫 **NEVER** skip steps or optimize the sequence
|
|
38
|
+
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
|
39
|
+
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
|
40
|
+
- 📋 **NEVER** create mental todo lists from future steps
|
|
41
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## INITIALIZATION SEQUENCE
|
|
46
|
+
|
|
47
|
+
### 1. Module Configuration Loading
|
|
48
|
+
|
|
49
|
+
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
50
|
+
|
|
51
|
+
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
|
52
|
+
- `skills_output_folder`, `forge_data_folder`
|
|
53
|
+
|
|
54
|
+
### 2. First Step Execution
|
|
55
|
+
|
|
56
|
+
Load, read the full file and then execute `./steps-c/step-01-resolve-target.md` to begin the workflow.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Tier Calculation Rules
|
|
2
|
+
|
|
3
|
+
## Tool Detection Commands
|
|
4
|
+
|
|
5
|
+
| Tool | Verification Command | What Confirms Availability |
|
|
6
|
+
|------|---------------------|---------------------------|
|
|
7
|
+
| ast-grep | `ast-grep --version` | Returns version string without error |
|
|
8
|
+
| gh | `gh --version` | Returns version string without error |
|
|
9
|
+
| qmd | `qmd status` | Returns status indicating initialized and operational |
|
|
10
|
+
|
|
11
|
+
**Important:** Use verification commands, not existence checks (`which`, `command -v`). A tool must be functional, not just present on PATH.
|
|
12
|
+
|
|
13
|
+
## Tier Calculation
|
|
14
|
+
|
|
15
|
+
| Tier | Required Tools | Rule |
|
|
16
|
+
|------|---------------|------|
|
|
17
|
+
| Quick | None | Default when no tools are available |
|
|
18
|
+
| Forge | ast-grep | ast-grep available, regardless of gh/qmd |
|
|
19
|
+
| Deep | ast-grep + gh + qmd | All three tools available and functional |
|
|
20
|
+
|
|
21
|
+
**Override:** If `tier_override` is set in preferences.yaml, use that value instead of calculated tier.
|
|
22
|
+
|
|
23
|
+
**Edge cases:**
|
|
24
|
+
- gh available but no ast-grep → Quick (gh alone doesn't unlock Forge)
|
|
25
|
+
- ast-grep + gh but no qmd → Forge (qmd required for Deep)
|
|
26
|
+
- ast-grep + qmd but no gh → Forge (gh required for Deep)
|
|
27
|
+
|
|
28
|
+
## Tier Capability Descriptions
|
|
29
|
+
|
|
30
|
+
Use these for positive-framing in the report step. Describe what the tier GIVES, never what it lacks.
|
|
31
|
+
|
|
32
|
+
### Quick Tier
|
|
33
|
+
"Quick tier active. You have fast, template-driven skill generation with package-name resolution. Perfect for getting started quickly."
|
|
34
|
+
|
|
35
|
+
### Forge Tier
|
|
36
|
+
"Forge tier active. You have AST-backed structural code analysis with line-level citations, plus template-driven generation. Every skill instruction traces to verified source code."
|
|
37
|
+
|
|
38
|
+
### Deep Tier
|
|
39
|
+
"Deep tier active. Full capability unlocked — AST-backed code analysis, GitHub repository exploration, and QMD knowledge search with cross-repository synthesis. Maximum provenance and intelligence."
|
|
40
|
+
|
|
41
|
+
## Re-run Tier Change Messages
|
|
42
|
+
|
|
43
|
+
### Upgrade
|
|
44
|
+
"Tier upgraded from {previous} to {current}. {newly available tool(s)} now detected — expanded capabilities unlocked."
|
|
45
|
+
|
|
46
|
+
### Downgrade
|
|
47
|
+
"Tier changed from {previous} to {current}. {tool} no longer detected. Run the tool's installation to restore capabilities."
|
|
48
|
+
|
|
49
|
+
### Same
|
|
50
|
+
"Tier unchanged: {current}. All previously detected tools confirmed."
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01-detect-and-tier'
|
|
3
|
+
description: 'Detect available tools and determine forge capability tier'
|
|
4
|
+
|
|
5
|
+
nextStepFile: './step-02-write-config.md'
|
|
6
|
+
tierRulesData: '../data/tier-rules.md'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Step 1: Detect Tools and Determine Tier
|
|
10
|
+
|
|
11
|
+
## STEP GOAL:
|
|
12
|
+
|
|
13
|
+
Verify availability of the three forge tools (ast-grep, gh, qmd), read any existing configuration for re-run comparison, check for tier override, and calculate the capability tier.
|
|
14
|
+
|
|
15
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
16
|
+
|
|
17
|
+
### Universal Rules:
|
|
18
|
+
|
|
19
|
+
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
20
|
+
- 🔄 CRITICAL: When loading next step, ensure entire file is read
|
|
21
|
+
- 🎯 Execute all operations autonomously — no user interaction
|
|
22
|
+
|
|
23
|
+
### Role Reinforcement:
|
|
24
|
+
|
|
25
|
+
- ✅ You are a system executor performing environment resolution
|
|
26
|
+
- ✅ Tool detection must be empirical — run actual commands, never assume
|
|
27
|
+
- ✅ Record exact results (version strings, error messages)
|
|
28
|
+
|
|
29
|
+
### Step-Specific Rules:
|
|
30
|
+
|
|
31
|
+
- 🎯 Focus only on tool detection and tier calculation
|
|
32
|
+
- 🚫 FORBIDDEN to write any files — that is step-02's job
|
|
33
|
+
- 🚫 FORBIDDEN to skip any tool check — all 3 must be verified
|
|
34
|
+
- 💬 Tool command failures are NOT errors — they indicate unavailability
|
|
35
|
+
|
|
36
|
+
## EXECUTION PROTOCOLS:
|
|
37
|
+
|
|
38
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
39
|
+
- 💾 Store all results in memory for step-02
|
|
40
|
+
- 📖 Load tier-rules.md for calculation reference
|
|
41
|
+
- 🚫 FORBIDDEN to proceed without checking all 3 tools
|
|
42
|
+
|
|
43
|
+
## CONTEXT BOUNDARIES:
|
|
44
|
+
|
|
45
|
+
- This is the first step — no prior context exists
|
|
46
|
+
- Available: forge-tier.yaml and preferences.yaml may exist from prior runs
|
|
47
|
+
- Focus: tool verification and tier calculation only
|
|
48
|
+
- Dependencies: none — this step bootstraps everything
|
|
49
|
+
|
|
50
|
+
## MANDATORY SEQUENCE
|
|
51
|
+
|
|
52
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
53
|
+
|
|
54
|
+
### 1. Load Tier Rules
|
|
55
|
+
|
|
56
|
+
Load and read {tierRulesData} for the tool detection commands and tier calculation logic.
|
|
57
|
+
|
|
58
|
+
### 2. Check for Existing Configuration (Re-run Detection)
|
|
59
|
+
|
|
60
|
+
**Read existing forge-tier.yaml** at `{project-root}/_bmad/_memory/forger-sidecar/forge-tier.yaml`:
|
|
61
|
+
- If exists: store the current `tier` value as `{previous_tier}` and `tier_detected_at` as `{previous_detection_date}`
|
|
62
|
+
- If not found: set `{previous_tier}` to null (first run)
|
|
63
|
+
|
|
64
|
+
**Read existing preferences.yaml** at `{project-root}/_bmad/_memory/forger-sidecar/preferences.yaml`:
|
|
65
|
+
- If exists: check for `tier_override` value
|
|
66
|
+
- If not found: set `{tier_override}` to null
|
|
67
|
+
|
|
68
|
+
### 3. Verify Tool: ast-grep
|
|
69
|
+
|
|
70
|
+
Run: `ast-grep --version`
|
|
71
|
+
|
|
72
|
+
- If succeeds: record `{ast_grep: true}` and store version string
|
|
73
|
+
- If fails (command not found or error): record `{ast_grep: false}`
|
|
74
|
+
|
|
75
|
+
### 4. Verify Tool: gh
|
|
76
|
+
|
|
77
|
+
Run: `gh --version`
|
|
78
|
+
|
|
79
|
+
- If succeeds: record `{gh_cli: true}` and store version string
|
|
80
|
+
- If fails: record `{gh_cli: false}`
|
|
81
|
+
|
|
82
|
+
### 5. Verify Tool: qmd
|
|
83
|
+
|
|
84
|
+
Run: `qmd status`
|
|
85
|
+
|
|
86
|
+
- If succeeds and indicates operational: record `{qmd: true}`
|
|
87
|
+
- If fails or indicates not initialized: record `{qmd: false}`
|
|
88
|
+
|
|
89
|
+
### 6. Calculate Tier
|
|
90
|
+
|
|
91
|
+
**If `{tier_override}` is set and valid (Quick, Forge, or Deep):**
|
|
92
|
+
- Use `{tier_override}` as `{calculated_tier}`
|
|
93
|
+
- Note that override is active for the report step
|
|
94
|
+
|
|
95
|
+
**If no override, apply tier rules from {tierRulesData}:**
|
|
96
|
+
- `{ast_grep}` AND `{gh_cli}` AND `{qmd}` all true → **Deep**
|
|
97
|
+
- `{ast_grep}` true (regardless of gh/qmd) → **Forge**
|
|
98
|
+
- Otherwise → **Quick**
|
|
99
|
+
|
|
100
|
+
**If `{tier_override}` is set but invalid:** ignore it, use detected tier, flag for warning in report.
|
|
101
|
+
|
|
102
|
+
### 7. Auto-Proceed
|
|
103
|
+
|
|
104
|
+
"**Proceeding to write configuration...**"
|
|
105
|
+
|
|
106
|
+
#### Menu Handling Logic:
|
|
107
|
+
|
|
108
|
+
- After tier calculation is complete, immediately load, read entire file, then execute {nextStepFile}
|
|
109
|
+
|
|
110
|
+
#### EXECUTION RULES:
|
|
111
|
+
|
|
112
|
+
- This is an auto-proceed step with no user choices
|
|
113
|
+
- Proceed directly to next step after detection and calculation
|
|
114
|
+
|
|
115
|
+
## CRITICAL STEP COMPLETION NOTE
|
|
116
|
+
|
|
117
|
+
ONLY WHEN all 3 tools have been verified and the tier has been calculated will you load and read fully `{nextStepFile}` to execute the configuration write step.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
122
|
+
|
|
123
|
+
### ✅ SUCCESS:
|
|
124
|
+
|
|
125
|
+
- All 3 tools checked via verification commands (not existence checks)
|
|
126
|
+
- Existing forge-tier.yaml read for re-run comparison (if present)
|
|
127
|
+
- Existing preferences.yaml read for tier_override (if present)
|
|
128
|
+
- Tier correctly calculated from tool results or override applied
|
|
129
|
+
- All results stored in context for step-02
|
|
130
|
+
- Auto-proceeded to step-02
|
|
131
|
+
|
|
132
|
+
### ❌ SYSTEM FAILURE:
|
|
133
|
+
|
|
134
|
+
- Skipping any tool verification
|
|
135
|
+
- Using `which` or `command -v` instead of verification commands
|
|
136
|
+
- Assuming tool availability without running the command
|
|
137
|
+
- Writing files in this step (that is step-02)
|
|
138
|
+
- Not checking for existing configuration on re-runs
|
|
139
|
+
|
|
140
|
+
**Master Rule:** Every tool MUST be verified empirically. No assumptions, no shortcuts.
|