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,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
conversionFrom: 'src/workflows/audit-skill/audit-skill.spec.md'
|
|
3
|
+
originalFormat: 'BMAD Workflow Specification (Placeholder)'
|
|
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-remaining-steps', 'step-10-confirmation']
|
|
5
|
+
created: 2026-02-27
|
|
6
|
+
status: VALIDATED
|
|
7
|
+
confirmationDate: 2026-02-27
|
|
8
|
+
confirmationType: conversion
|
|
9
|
+
coverageStatus: complete
|
|
10
|
+
validationStatus: COMPLETE
|
|
11
|
+
validationDate: 2026-02-27
|
|
12
|
+
validationReport: './validation-report.md'
|
|
13
|
+
approvedDate: 2026-02-27
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Workflow Creation Plan
|
|
17
|
+
|
|
18
|
+
## Conversion Source
|
|
19
|
+
|
|
20
|
+
**Original Path:** src/workflows/audit-skill/audit-skill.spec.md
|
|
21
|
+
**Original Format:** BMAD Workflow Specification (Placeholder)
|
|
22
|
+
**Detected Structure:** 6-step create-only pipeline defined at spec level, no implementation files exist yet
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Original Workflow Analysis
|
|
27
|
+
|
|
28
|
+
### Goal (from source)
|
|
29
|
+
|
|
30
|
+
Drift detection between skill and current source. Compares an existing skill against its source code to detect drift. Forge tier: structural comparison via AST diff. Deep tier: full audit including semantic changes and temporal context via QMD. Produces a drift report with severity levels. ADR-A: core workflow, CI is optional export.
|
|
31
|
+
|
|
32
|
+
### Original Steps (Complete List)
|
|
33
|
+
|
|
34
|
+
**Step 1:** load-skill - Load existing skill and provenance map
|
|
35
|
+
**Step 2:** re-index - Re-scan source with current tools
|
|
36
|
+
**Step 3:** structural-diff - Compare AST extractions (Forge+)
|
|
37
|
+
**Step 4:** semantic-diff - Compare QMD knowledge context (Deep only)
|
|
38
|
+
**Step 5:** severity-classify - Classify drift items by severity
|
|
39
|
+
**Step 6:** report - Generate drift report
|
|
40
|
+
|
|
41
|
+
### Output / Deliverable
|
|
42
|
+
|
|
43
|
+
Drift report with severity levels (added/removed/changed exports, breaking changes). Document-producing workflow.
|
|
44
|
+
|
|
45
|
+
### Input Requirements
|
|
46
|
+
|
|
47
|
+
**Required:**
|
|
48
|
+
- Existing skill path
|
|
49
|
+
- Source code (current version)
|
|
50
|
+
|
|
51
|
+
**Optional:**
|
|
52
|
+
- None specified
|
|
53
|
+
|
|
54
|
+
### Key Instructions to LLM
|
|
55
|
+
|
|
56
|
+
- Primary agent: Ferris (Audit mode)
|
|
57
|
+
- Tiered operation: Forge tier (structural only) vs Deep tier (full semantic + QMD)
|
|
58
|
+
- The spec references AST diff for structural comparison and QMD for semantic context
|
|
59
|
+
- CI integration is noted as optional export (ADR-A decision)
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Conversion Notes (Memory-Enriched)
|
|
64
|
+
|
|
65
|
+
**What works well in original (preserve):**
|
|
66
|
+
- Clean 6-step pipeline with logical progression: load → scan → diff → classify → report
|
|
67
|
+
- Tiered Forge/Deep separation aligns with established SKF tier architecture
|
|
68
|
+
- Correct lifecycle positioning (Phase 2, after create-skill and test-skill)
|
|
69
|
+
- Clear input/output specification
|
|
70
|
+
- Document-producing output aligns with drift report use case
|
|
71
|
+
|
|
72
|
+
**What needs improvement (fix during build):**
|
|
73
|
+
- **Missing Quick tier path** — All SKF workflows support Quick/Forge/Deep with graceful degradation; Quick tier needs text-diff fallback
|
|
74
|
+
- **No provenance map format specification** — Step 01 loads it, but must reference known `provenance-map.json` from create-skill's `forge-data/{name}/` output
|
|
75
|
+
- **No confidence tier labels (T1/T2/T3)** — Every SKF workflow uses these for traceability; drift findings need confidence scoring
|
|
76
|
+
- **Step 04 conditional skip** — semantic-diff is Deep-only but spec has no skip logic or degradation behavior for Forge/Quick tiers
|
|
77
|
+
- No error handling or edge cases documented (missing skill, incompatible versions, no provenance map)
|
|
78
|
+
- No data files, templates, or supporting materials defined
|
|
79
|
+
|
|
80
|
+
**Missing features to add:**
|
|
81
|
+
- **Batch mode** (`--batch`, `--continue` flags) — Consistent with test-skill, create-skill, and all lifecycle workflows
|
|
82
|
+
- **Dual-mode support** — Individual skill vs stack skill auditing (stack skills have integration patterns needing cross-reference drift detection)
|
|
83
|
+
- **Remediation suggestions** — Like test-skill's gap report, drift items should include actionable fix recommendations
|
|
84
|
+
- **Update-skill chaining** — Drift report should optionally trigger update-skill workflow for detected issues
|
|
85
|
+
|
|
86
|
+
**Compliance gaps identified:**
|
|
87
|
+
- No step files exist (placeholder spec only)
|
|
88
|
+
- No workflow.md entry point
|
|
89
|
+
- No frontmatter on any files
|
|
90
|
+
- No data/ folder with supporting reference materials (severity classification rules, drift pattern definitions)
|
|
91
|
+
- No templates/ for drift report output format
|
|
92
|
+
- Mode is marked create-only — confirmed appropriate for audit (re-audit is a fresh run, not an edit)
|
|
93
|
+
|
|
94
|
+
**Cross-workflow integration points (from memory):**
|
|
95
|
+
- **Input from create-skill:** `forge-data/{name}/provenance-map.json`, `evidence-report.md`, `extraction-rules.yaml`
|
|
96
|
+
- **Input from setup-forge:** `forger-sidecar/forge-tier.yaml` for tier detection
|
|
97
|
+
- **Output feeds update-skill:** Drift report triggers remediation workflow
|
|
98
|
+
- **Sibling pattern: test-skill** — Same Ferris Audit mode, zero-hallucination AST citations, tier-aware depth scaling
|
|
99
|
+
- **SKF config:** Loads from `_bmad/skf/config.yaml` (project_name, output_folder, skills_output_folder, forge_data_folder, sidecar_path)
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Classification Decisions
|
|
104
|
+
|
|
105
|
+
**Workflow Name:** audit-skill
|
|
106
|
+
**Target Path:** {project-root}/_bmad/skf/workflows/audit-skill/
|
|
107
|
+
|
|
108
|
+
**4 Key Decisions:**
|
|
109
|
+
1. **Document Output:** true (drift report with severity levels)
|
|
110
|
+
2. **Module Affiliation:** SKF module
|
|
111
|
+
3. **Session Type:** single-session
|
|
112
|
+
4. **Lifecycle Support:** create-only
|
|
113
|
+
|
|
114
|
+
**Structure Implications:**
|
|
115
|
+
- Needs `steps-c/` folder only (no steps-e/ or steps-v/)
|
|
116
|
+
- Standard `step-01-init.md` (no continuation logic)
|
|
117
|
+
- Document template for progressive drift report building with `stepsCompleted` tracking
|
|
118
|
+
- SKF module variables available (forge_data_folder, skills_output_folder, sidecar_path)
|
|
119
|
+
- Config loaded from `_bmad/skf/config.yaml`
|
|
120
|
+
- Ferris Audit mode as primary agent with zero-hallucination AST citations
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Requirements
|
|
125
|
+
|
|
126
|
+
**Flow Structure:**
|
|
127
|
+
- Pattern: Linear with conditional skip (Step 04 skipped at Quick/Forge tier)
|
|
128
|
+
- Phases: Load & Baseline (01-02) → Analysis (03-04) → Assessment & Output (05-06)
|
|
129
|
+
- Estimated steps: 6 (matching spec)
|
|
130
|
+
- Step 01: init (load skill + provenance map + detect tier)
|
|
131
|
+
- Step 02: re-index (re-scan source with current tools)
|
|
132
|
+
- Step 03: structural-diff (AST comparison — Forge+ tiers)
|
|
133
|
+
- Step 04: semantic-diff (QMD comparison — Deep tier only, SKIP for Quick/Forge)
|
|
134
|
+
- Step 05: severity-classify (grade all drift items)
|
|
135
|
+
- Step 06: report (generate final drift report)
|
|
136
|
+
|
|
137
|
+
**User Interaction:**
|
|
138
|
+
- Style: Mostly autonomous with 1 confirmation gate
|
|
139
|
+
- Decision points: Gate 1 after Step 01 — confirm skill loaded, show baseline summary, offer degraded mode if provenance map missing
|
|
140
|
+
- Checkpoint frequency: Minimal — audit is deterministic analysis
|
|
141
|
+
|
|
142
|
+
**Inputs Required:**
|
|
143
|
+
- Required: Existing skill path (skills/{name}/ with SKILL.md, metadata.json)
|
|
144
|
+
- Required: Source code path (or auto-detect from provenance-map.json source_root)
|
|
145
|
+
- Prerequisites: setup-forge completed (forger-sidecar/forge-tier.yaml), skill created by create-skill (provenance-map.json in forge-data/{name}/)
|
|
146
|
+
- Optional: --batch flag for multiple skills, --continue for batch checkpoint resume, severity threshold filter
|
|
147
|
+
|
|
148
|
+
**Output Specifications:**
|
|
149
|
+
- Type: Document-producing drift report
|
|
150
|
+
- Format: Structured (required sections)
|
|
151
|
+
- Sections: Audit Summary, Structural Drift (Forge+), Semantic Drift (Deep only), Severity Classification (CRITICAL/HIGH/MEDIUM/LOW), Remediation Suggestions, Provenance
|
|
152
|
+
- Frequency: Single per skill (batch loops at workflow level)
|
|
153
|
+
- Output file: {forge_data_folder}/{skill_name}/drift-report-{timestamp}.md
|
|
154
|
+
- Pattern: Direct-to-Final (steps progressively build the report)
|
|
155
|
+
|
|
156
|
+
**Success Criteria:**
|
|
157
|
+
- All structural drift items detected with correct severity classification
|
|
158
|
+
- Every finding backed by AST file:line citations (zero hallucination)
|
|
159
|
+
- Confidence tier labels (T1/T2/T3) on all findings
|
|
160
|
+
- Graceful degradation: Quick (text diff) → Forge (AST diff) → Deep (AST + QMD)
|
|
161
|
+
- Actionable remediation suggestions per drift item
|
|
162
|
+
- Overall drift score: CLEAN / MINOR / SIGNIFICANT / CRITICAL
|
|
163
|
+
|
|
164
|
+
**Instruction Style:**
|
|
165
|
+
- Overall: Prescriptive
|
|
166
|
+
- Notes: Deterministic analysis, not creative facilitation. Matches established SKF pattern (test-skill, create-skill). Every step has exact instructions for what to load, compare, and output.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Tools Configuration
|
|
171
|
+
|
|
172
|
+
**Core BMAD Tools:**
|
|
173
|
+
- **Party Mode:** Excluded (menu option only) — Audit is deterministic analysis, not creative exploration
|
|
174
|
+
- **Advanced Elicitation:** Excluded (menu option only) — No phases benefit from deep elicitation
|
|
175
|
+
- **Brainstorming:** Excluded — Audit produces findings, not ideas
|
|
176
|
+
|
|
177
|
+
**LLM Features:**
|
|
178
|
+
- **File I/O:** Required — All phases read skill artifacts, source code, provenance maps; report step writes drift-report.md
|
|
179
|
+
- **Sub-Processes:** Included — Batch mode parallel auditing of multiple skills (Step 01 batch loop)
|
|
180
|
+
- **Sub-Agents:** Excluded — Single-agent workflow (Ferris Audit mode)
|
|
181
|
+
- **Web-Browsing:** Excluded — All analysis is local
|
|
182
|
+
|
|
183
|
+
**Memory:**
|
|
184
|
+
- Type: Single-session (no complex memory)
|
|
185
|
+
- Tracking: stepsCompleted in drift report frontmatter
|
|
186
|
+
- Sidecar: Reads forger-sidecar/forge-tier.yaml (pre-existing from setup-forge)
|
|
187
|
+
|
|
188
|
+
**External Integrations (SKF-specific, pre-detected by setup-forge):**
|
|
189
|
+
- **ast_bridge** (ast-grep): Required at Forge/Deep tier — Steps 02-03 structural extraction and comparison
|
|
190
|
+
- **gh_bridge** (gh CLI): Required at all tiers — Steps 01-02 source file reading
|
|
191
|
+
- **qmd_bridge** (QMD): Required at Deep tier only — Step 04 semantic knowledge context
|
|
192
|
+
- **skills_ref**: Included — Step 01 skill format validation and ecosystem cross-reference
|
|
193
|
+
|
|
194
|
+
**Installation Requirements:**
|
|
195
|
+
- None — all tools pre-detected by setup-forge workflow
|
|
196
|
+
- User preference: N/A (no installation needed)
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Workflow Design
|
|
201
|
+
|
|
202
|
+
### Step Sequence
|
|
203
|
+
|
|
204
|
+
| Step | Name | Type | Menu | Subprocess | Size Est. |
|
|
205
|
+
|------|------|------|------|------------|-----------|
|
|
206
|
+
| 01 | init | Init with Input Discovery | C only (user gate) | — | ~180 lines |
|
|
207
|
+
| 02 | re-index | Middle (Simple) | Auto-proceed | Pattern 2 (per-file AST) | ~150 lines |
|
|
208
|
+
| 03 | structural-diff | Middle (Simple) | Auto-proceed | Pattern 4 (parallel diff) | ~200 lines |
|
|
209
|
+
| 04 | semantic-diff | Middle (Simple) + Conditional Skip | Auto-proceed | Pattern 3 (QMD ops) | ~150 lines |
|
|
210
|
+
| 05 | severity-classify | Middle (Simple) | Auto-proceed | Pattern 3 (rules lookup) | ~180 lines |
|
|
211
|
+
| 06 | report | Final Step | No next step | — | ~200 lines |
|
|
212
|
+
|
|
213
|
+
### Step Details
|
|
214
|
+
|
|
215
|
+
**Step 01: init**
|
|
216
|
+
- Type: Init with Input Discovery
|
|
217
|
+
- Goal: Load existing skill, provenance map, and detect forge tier
|
|
218
|
+
- Input Discovery: skill path → SKILL.md + metadata.json, provenance-map.json from forge-data, forge-tier.yaml from sidecar
|
|
219
|
+
- Creates: drift report from template with frontmatter + Audit Summary skeleton
|
|
220
|
+
- User Gate: Present baseline summary (skill name, export count, provenance age, tier, source path). Offer degraded mode if provenance map missing.
|
|
221
|
+
- Menu: [C] Continue after confirmation
|
|
222
|
+
- Batch: If --batch, loop over skill list; if --continue, check sidecar checkpoint
|
|
223
|
+
|
|
224
|
+
**Step 02: re-index**
|
|
225
|
+
- Type: Middle (Simple), Auto-proceed
|
|
226
|
+
- Goal: Re-scan source code with current tier tools
|
|
227
|
+
- Quick: text pattern extraction via gh_bridge
|
|
228
|
+
- Forge: AST extraction via ast_bridge (T1 confidence)
|
|
229
|
+
- Deep: AST + QMD temporal context (T2 confidence)
|
|
230
|
+
- Subprocess: Pattern 2 — per source file, launch subprocess for extraction, return structured findings
|
|
231
|
+
- Output: Internal state (current extraction snapshot), no report append yet
|
|
232
|
+
|
|
233
|
+
**Step 03: structural-diff**
|
|
234
|
+
- Type: Middle (Simple), Auto-proceed
|
|
235
|
+
- Goal: Compare provenance map extractions against current scan
|
|
236
|
+
- Diff categories: added exports, removed exports, changed signatures
|
|
237
|
+
- Quick: text-based name comparison (T1-low)
|
|
238
|
+
- Forge/Deep: full AST structural comparison with line-level citations (T1)
|
|
239
|
+
- Subprocess: Pattern 4 — parallel comparison of export categories
|
|
240
|
+
- Output: Appends ## Structural Drift section to drift report
|
|
241
|
+
|
|
242
|
+
**Step 04: semantic-diff**
|
|
243
|
+
- Type: Middle (Simple) with Conditional Skip, Auto-proceed
|
|
244
|
+
- Goal: Compare QMD knowledge context (Deep tier only)
|
|
245
|
+
- If Deep → execute semantic comparison via qmd_bridge
|
|
246
|
+
- If Quick/Forge → skip with note in report
|
|
247
|
+
- Subprocess: Pattern 3 — QMD collection query for semantic changes
|
|
248
|
+
- Output: Appends ## Semantic Drift section (or skip notice) to report
|
|
249
|
+
|
|
250
|
+
**Step 05: severity-classify**
|
|
251
|
+
- Type: Middle (Simple), Auto-proceed
|
|
252
|
+
- Goal: Grade every drift finding by severity
|
|
253
|
+
- Loads: data/severity-rules.md for classification criteria
|
|
254
|
+
- CRITICAL: removed/renamed exports, changed signatures (breaking)
|
|
255
|
+
- HIGH: new public API not in skill
|
|
256
|
+
- MEDIUM: implementation changes behind stable API
|
|
257
|
+
- LOW: style/convention changes
|
|
258
|
+
- Subprocess: Pattern 3 — load rules, classify findings, return assignments
|
|
259
|
+
- Output: Appends ## Severity Classification section with categorized findings table
|
|
260
|
+
|
|
261
|
+
**Step 06: report**
|
|
262
|
+
- Type: Final Step (no nextStepFile)
|
|
263
|
+
- Goal: Finalize drift report with summary, remediation, provenance
|
|
264
|
+
- Calculate overall drift score: CLEAN / MINOR / SIGNIFICANT / CRITICAL
|
|
265
|
+
- Generate remediation suggestions per drift item
|
|
266
|
+
- Add update-skill chaining recommendation if CRITICAL/HIGH found
|
|
267
|
+
- Add provenance section (comparison metadata, tools used, timestamp)
|
|
268
|
+
- Update frontmatter: mark complete, set nextWorkflow if applicable
|
|
269
|
+
|
|
270
|
+
### Data Flow
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
Step 01 → Loads skill baseline + creates report skeleton
|
|
274
|
+
Step 02 → Produces current extraction snapshot (internal)
|
|
275
|
+
Step 03 → Appends ## Structural Drift (compares baseline vs current)
|
|
276
|
+
Step 04 → Appends ## Semantic Drift (Deep) or skip notice (Quick/Forge)
|
|
277
|
+
Step 05 → Appends ## Severity Classification (grades all findings)
|
|
278
|
+
Step 06 → Completes ## Audit Summary, ## Remediation, ## Provenance
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### File Structure
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
audit-skill/
|
|
285
|
+
├── workflow.md # Entry point (Ferris Audit mode)
|
|
286
|
+
├── data/
|
|
287
|
+
│ ├── severity-rules.md # CRITICAL/HIGH/MEDIUM/LOW classification rules
|
|
288
|
+
│ └── drift-report-template.md # Structured report template with frontmatter
|
|
289
|
+
└── steps-c/
|
|
290
|
+
├── step-01-init.md # Init with input discovery + user gate
|
|
291
|
+
├── step-02-re-index.md # Re-scan source (auto-proceed)
|
|
292
|
+
├── step-03-structural-diff.md # AST comparison (auto-proceed)
|
|
293
|
+
├── step-04-semantic-diff.md # QMD comparison/skip (auto-proceed)
|
|
294
|
+
├── step-05-severity-classify.md # Grade findings (auto-proceed)
|
|
295
|
+
└── step-06-report.md # Final report generation
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Role and Persona
|
|
299
|
+
|
|
300
|
+
- Role: Skill auditor operating in Ferris Audit mode
|
|
301
|
+
- Communication: Structured evidence-based reporting with file:line citations
|
|
302
|
+
- Style: Prescriptive — every step has exact instructions
|
|
303
|
+
- Principle: Zero hallucination — every finding must trace to actual code
|
|
304
|
+
|
|
305
|
+
### Workflow Chaining
|
|
306
|
+
|
|
307
|
+
- Required from setup-forge: {sidecar_path}/forge-tier.yaml
|
|
308
|
+
- Required from create-skill: {forge_data_folder}/{skill_name}/provenance-map.json
|
|
309
|
+
- Output feeds: update-skill (if CRITICAL/HIGH drift found)
|
|
310
|
+
- Frontmatter contract: workflowType: 'audit-skill', nextWorkflow: 'update-skill'
|
|
311
|
+
|
|
312
|
+
### Error Handling
|
|
313
|
+
|
|
314
|
+
- Missing skill: Error with path guidance
|
|
315
|
+
- Missing provenance map: Offer degraded mode (text-diff, T1-low confidence)
|
|
316
|
+
- Missing forge-tier.yaml: Error — run setup-forge first
|
|
317
|
+
- No drift found: Report CLEAN status
|
|
318
|
+
- Step 04 at non-Deep tier: Graceful skip with documented reason
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-skill
|
|
3
|
+
description: "Drift detection. Forge tier: structural. Deep tier: full."
|
|
4
|
+
web_bundle: true
|
|
5
|
+
installed_path: '{project-root}/_bmad/skf/workflows/audit-skill'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Audit Skill
|
|
9
|
+
|
|
10
|
+
**Goal:** Detect drift between an existing skill and its current source code, producing a severity-graded drift report with AST-backed findings and actionable remediation suggestions.
|
|
11
|
+
|
|
12
|
+
**Your Role:** In addition to your name, communication_style, and persona, you are also a skill auditor operating in Ferris Audit mode. This is a deterministic analysis workflow — every finding must trace to actual code with file:line citations. You enforce the zero-hallucination principle: structural truth over semantic guessing. You bring AST analysis expertise and drift detection methodology, while the source code provides the ground truth.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## WORKFLOW ARCHITECTURE
|
|
17
|
+
|
|
18
|
+
This uses **step-file architecture** for disciplined execution:
|
|
19
|
+
|
|
20
|
+
### Core Principles
|
|
21
|
+
|
|
22
|
+
- **Micro-file Design**: Each step is a self-contained instruction file that is a part of an overall workflow that must be followed exactly
|
|
23
|
+
- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
|
|
24
|
+
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
25
|
+
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array
|
|
26
|
+
- **Append-Only Building**: Build the drift report by appending sections as directed to the output file
|
|
27
|
+
- **Tier-Aware Execution**: Adapt analysis depth based on detected forge tier (Quick/Forge/Deep) with graceful degradation
|
|
28
|
+
|
|
29
|
+
### Step Processing Rules
|
|
30
|
+
|
|
31
|
+
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
32
|
+
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
33
|
+
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
34
|
+
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
35
|
+
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
|
36
|
+
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
|
37
|
+
|
|
38
|
+
### Critical Rules (NO EXCEPTIONS)
|
|
39
|
+
|
|
40
|
+
- 🛑 **NEVER** load multiple step files simultaneously
|
|
41
|
+
- 📖 **ALWAYS** read entire step file before execution
|
|
42
|
+
- 🚫 **NEVER** skip steps or optimize the sequence
|
|
43
|
+
- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
|
44
|
+
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
|
45
|
+
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
|
46
|
+
- 📋 **NEVER** create mental todo lists from future steps
|
|
47
|
+
- ⚙️ **TOOL/SUBPROCESS FALLBACK**: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
|
48
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## INITIALIZATION SEQUENCE
|
|
53
|
+
|
|
54
|
+
### 1. Module Configuration Loading
|
|
55
|
+
|
|
56
|
+
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
57
|
+
|
|
58
|
+
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
|
59
|
+
- `skills_output_folder`, `forge_data_folder`, `sidecar_path`
|
|
60
|
+
|
|
61
|
+
### 2. First Step Execution
|
|
62
|
+
|
|
63
|
+
Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the workflow.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Skill Brief Schema
|
|
2
|
+
|
|
3
|
+
## Required Fields
|
|
4
|
+
|
|
5
|
+
| Field | Type | Description | Validation |
|
|
6
|
+
|-------|------|-------------|------------|
|
|
7
|
+
| name | string | Kebab-case skill name | Must match `[a-z0-9-]+` |
|
|
8
|
+
| version | string | Semantic version | Must match `X.Y.Z` pattern, default "1.0.0" |
|
|
9
|
+
| source_repo | string | GitHub URL or local path | Must be accessible |
|
|
10
|
+
| language | string | Primary programming language | Must be detected or user-specified |
|
|
11
|
+
| scope | object | Inclusion/exclusion boundaries | Must have type + at least one pattern |
|
|
12
|
+
| description | string | What this skill covers | 1-3 sentences |
|
|
13
|
+
| forge_tier | string | Compilation tier | One of: quick, forge, deep |
|
|
14
|
+
| created | string | Creation date | ISO date format |
|
|
15
|
+
| created_by | string | User who created the brief | From config user_name |
|
|
16
|
+
|
|
17
|
+
## Scope Object Structure
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
scope:
|
|
21
|
+
type: full-library | specific-modules | public-api
|
|
22
|
+
include:
|
|
23
|
+
- "src/**/*.ts" # Glob patterns for included files/directories
|
|
24
|
+
exclude:
|
|
25
|
+
- "**/*.test.*" # Glob patterns for excluded files
|
|
26
|
+
- "**/node_modules/**"
|
|
27
|
+
notes: "Optional notes about scope decisions"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## YAML Template
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
---
|
|
34
|
+
name: "{skill-name}"
|
|
35
|
+
version: "1.0.0"
|
|
36
|
+
source_repo: "{github-url-or-local-path}"
|
|
37
|
+
language: "{detected-language}"
|
|
38
|
+
description: "{brief-description}"
|
|
39
|
+
forge_tier: "{quick|forge|deep}"
|
|
40
|
+
created: "{date}"
|
|
41
|
+
created_by: "{user_name}"
|
|
42
|
+
scope:
|
|
43
|
+
type: "{full-library|specific-modules|public-api}"
|
|
44
|
+
include:
|
|
45
|
+
- "{pattern}"
|
|
46
|
+
exclude:
|
|
47
|
+
- "{pattern}"
|
|
48
|
+
notes: "{optional-scope-notes}"
|
|
49
|
+
---
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Human-Readable Presentation Format
|
|
53
|
+
|
|
54
|
+
When presenting the brief for confirmation (step 04), display as:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Skill Brief: {name}
|
|
58
|
+
====================
|
|
59
|
+
|
|
60
|
+
Target: {source_repo}
|
|
61
|
+
Language: {language}
|
|
62
|
+
Forge Tier: {forge_tier}
|
|
63
|
+
Description: {description}
|
|
64
|
+
|
|
65
|
+
Scope: {scope.type}
|
|
66
|
+
Include: {scope.include patterns, one per line}
|
|
67
|
+
Exclude: {scope.exclude patterns, one per line}
|
|
68
|
+
Notes: {scope.notes}
|
|
69
|
+
|
|
70
|
+
Version: {version}
|
|
71
|
+
Created: {created}
|
|
72
|
+
Created by: {created_by}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Validation Rules
|
|
76
|
+
|
|
77
|
+
1. `name` must be unique within {forge_data_folder}
|
|
78
|
+
2. `source_repo` must be accessible (gh api for GitHub, path exists for local)
|
|
79
|
+
3. `language` must be a recognized programming language
|
|
80
|
+
4. `scope.type` must be one of the three defined types
|
|
81
|
+
5. `scope.include` must have at least one pattern
|
|
82
|
+
6. `forge_tier` must match the tier from forge-tier.yaml (or default to quick)
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01-gather-intent'
|
|
3
|
+
description: 'Initialize brief-skill workflow, discover forge tier, and gather user intent for skill creation'
|
|
4
|
+
|
|
5
|
+
nextStepFile: './step-02-analyze-target.md'
|
|
6
|
+
forgeTierFile: '{project-root}/_bmad/_memory/forger-sidecar/forge-tier.yaml'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Step 1: Gather Intent
|
|
10
|
+
|
|
11
|
+
## STEP GOAL:
|
|
12
|
+
|
|
13
|
+
To initialize the brief-skill workflow by discovering the forge tier configuration, then gathering the user's target repository, intent, and any upfront scope hints for skill creation.
|
|
14
|
+
|
|
15
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
16
|
+
|
|
17
|
+
### Universal Rules:
|
|
18
|
+
|
|
19
|
+
- 🛑 NEVER generate content without user input
|
|
20
|
+
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
21
|
+
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
22
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
23
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
24
|
+
- ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
|
25
|
+
|
|
26
|
+
### Role Reinforcement:
|
|
27
|
+
|
|
28
|
+
- ✅ You are a skill scoping architect in Ferris Architect mode (exploratory, collaborative)
|
|
29
|
+
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
30
|
+
- ✅ We engage in collaborative dialogue, not command-response
|
|
31
|
+
- ✅ You bring source code analysis and skill design expertise, user brings their domain knowledge and use case
|
|
32
|
+
- ✅ Maintain a warm, guiding tone — this is a discovery conversation
|
|
33
|
+
|
|
34
|
+
### Step-Specific Rules:
|
|
35
|
+
|
|
36
|
+
- 🎯 Focus only on gathering intent — do not analyze the repo yet (that's step 02)
|
|
37
|
+
- 🚫 FORBIDDEN to examine source code or list exports in this step
|
|
38
|
+
- 💬 Approach: Open-ended discovery facilitation — "What interests you about this library?"
|
|
39
|
+
- 📋 Collect: target repo, user intent, scope hints, skill name
|
|
40
|
+
|
|
41
|
+
## EXECUTION PROTOCOLS:
|
|
42
|
+
|
|
43
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
44
|
+
- 💾 Accumulate gathered information conversationally for use in subsequent steps
|
|
45
|
+
- 📖 This is the init step — sets up everything that follows
|
|
46
|
+
- 🚫 FORBIDDEN to proceed without a confirmed target repository
|
|
47
|
+
|
|
48
|
+
## CONTEXT BOUNDARIES:
|
|
49
|
+
|
|
50
|
+
- Available context: Module config (forge_data_folder, user_name), forge-tier.yaml (if available)
|
|
51
|
+
- Focus: Understanding WHAT the user wants to skill and WHY
|
|
52
|
+
- Limits: Do not analyze source code, detect language, or list exports — that's step 02
|
|
53
|
+
- Dependencies: None — this is the first step
|
|
54
|
+
|
|
55
|
+
## MANDATORY SEQUENCE
|
|
56
|
+
|
|
57
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
|
58
|
+
|
|
59
|
+
### 1. Discover Forge Tier
|
|
60
|
+
|
|
61
|
+
Attempt to load `{forgeTierFile}`:
|
|
62
|
+
|
|
63
|
+
**If found:**
|
|
64
|
+
- Read the tier level (quick, forge, or deep)
|
|
65
|
+
- Note available tools for scoping guidance later
|
|
66
|
+
|
|
67
|
+
**If not found:**
|
|
68
|
+
- Display: "**Note:** No forge tier configuration found. Defaulting to Quick tier. Run **setup-forge** first for full capabilities."
|
|
69
|
+
- Default to: `forge_tier: quick`
|
|
70
|
+
|
|
71
|
+
### 2. Welcome and Explain
|
|
72
|
+
|
|
73
|
+
"**Welcome to Brief Skill — the skill scoping workflow.**
|
|
74
|
+
|
|
75
|
+
I'll help you define exactly what to skill and produce a `skill-brief.yaml` that drives the create-skill compilation workflow.
|
|
76
|
+
|
|
77
|
+
We'll work through this together:
|
|
78
|
+
1. **Now:** Understand what you want to skill and why
|
|
79
|
+
2. **Next:** Analyze the target repo structure
|
|
80
|
+
3. **Then:** Define scope boundaries
|
|
81
|
+
4. **Finally:** Confirm and write the brief
|
|
82
|
+
|
|
83
|
+
**Your forge tier:** {detected tier} — this determines what compilation capabilities are available.
|
|
84
|
+
|
|
85
|
+
Let's get started."
|
|
86
|
+
|
|
87
|
+
### 3. Gather Target Repository
|
|
88
|
+
|
|
89
|
+
"**What repository do you want to create a skill for?**
|
|
90
|
+
|
|
91
|
+
Provide either:
|
|
92
|
+
- A **GitHub URL** (e.g., `https://github.com/org/repo`)
|
|
93
|
+
- A **local path** (e.g., `/path/to/project`)
|
|
94
|
+
|
|
95
|
+
**Target:**"
|
|
96
|
+
|
|
97
|
+
Wait for user response. Confirm the target.
|
|
98
|
+
|
|
99
|
+
### 4. Gather User Intent
|
|
100
|
+
|
|
101
|
+
"**What's your intent for this skill?**
|
|
102
|
+
|
|
103
|
+
Help me understand:
|
|
104
|
+
- **What** specifically do you want to skill from this repo?
|
|
105
|
+
- **Why** — what's the use case? How will an AI agent use this skill?
|
|
106
|
+
- **Any initial thoughts** on scope? (Full library? Specific modules? Public API only?)
|
|
107
|
+
|
|
108
|
+
Take your time — the more context you share, the better the brief."
|
|
109
|
+
|
|
110
|
+
Wait for user response. Ask follow-up questions if intent is unclear.
|
|
111
|
+
|
|
112
|
+
### 5. Capture Scope Hints
|
|
113
|
+
|
|
114
|
+
If the user mentioned scope preferences in their intent response, acknowledge them:
|
|
115
|
+
|
|
116
|
+
"**I noted these scope hints from your response:**
|
|
117
|
+
- {list any scope hints mentioned}
|
|
118
|
+
|
|
119
|
+
We'll refine these after analyzing the repo structure in the next step."
|
|
120
|
+
|
|
121
|
+
If no scope hints were mentioned, that's fine — skip this acknowledgment.
|
|
122
|
+
|
|
123
|
+
### 6. Derive Skill Name
|
|
124
|
+
|
|
125
|
+
Based on the target repo and intent, propose a skill name:
|
|
126
|
+
|
|
127
|
+
"**Suggested skill name:** `{derived-name}` (kebab-case)
|
|
128
|
+
|
|
129
|
+
This will be used for the output directory and file naming. Want to use this name or suggest something different?"
|
|
130
|
+
|
|
131
|
+
Wait for confirmation or alternative.
|
|
132
|
+
|
|
133
|
+
### 7. Summarize Gathered Intent
|
|
134
|
+
|
|
135
|
+
"**Here's what I've captured:**
|
|
136
|
+
|
|
137
|
+
- **Target:** {repo URL or path}
|
|
138
|
+
- **Intent:** {user's intent summary}
|
|
139
|
+
- **Scope hints:** {any hints, or "None — we'll define scope after analysis"}
|
|
140
|
+
- **Skill name:** {confirmed name}
|
|
141
|
+
- **Forge tier:** {tier}
|
|
142
|
+
|
|
143
|
+
Ready to analyze the target repository?"
|
|
144
|
+
|
|
145
|
+
### 8. Present MENU OPTIONS
|
|
146
|
+
|
|
147
|
+
Display: "**Select:** [C] Continue to Target Analysis"
|
|
148
|
+
|
|
149
|
+
#### Menu Handling Logic:
|
|
150
|
+
|
|
151
|
+
- IF C: Load, read entire file, then execute {nextStepFile}
|
|
152
|
+
- IF Any other: Help user, then [Redisplay Menu Options](#8-present-menu-options)
|
|
153
|
+
|
|
154
|
+
#### EXECUTION RULES:
|
|
155
|
+
|
|
156
|
+
- ALWAYS halt and wait for user input after presenting menu
|
|
157
|
+
- ONLY proceed to next step when user selects 'C'
|
|
158
|
+
|
|
159
|
+
## CRITICAL STEP COMPLETION NOTE
|
|
160
|
+
|
|
161
|
+
ONLY WHEN C is selected and target repository is confirmed will you load and read fully `./step-02-analyze-target.md` to execute target analysis.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
166
|
+
|
|
167
|
+
### ✅ SUCCESS:
|
|
168
|
+
|
|
169
|
+
- Forge tier discovered (or defaulted to Quick with warning)
|
|
170
|
+
- Target repository confirmed (GitHub URL or local path)
|
|
171
|
+
- User intent captured with enough context for scoping
|
|
172
|
+
- Skill name derived and confirmed
|
|
173
|
+
- Scope hints noted (if provided)
|
|
174
|
+
- User ready to proceed to analysis
|
|
175
|
+
|
|
176
|
+
### ❌ SYSTEM FAILURE:
|
|
177
|
+
|
|
178
|
+
- Analyzing source code in this step (too early)
|
|
179
|
+
- Proceeding without a confirmed target repository
|
|
180
|
+
- Not attempting to discover forge tier
|
|
181
|
+
- Generating a skill name without user confirmation
|
|
182
|
+
- Skipping the intent gathering conversation
|
|
183
|
+
|
|
184
|
+
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|