Skip to content

Releases: armelhbobdad/bmad-module-skill-forge

Skill Forge (SKF) v2.0.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 16:07
88b0fd8

What's New

New Features

  • feat(campaign): campaign workflow scaffolding + state schema
  • feat(campaign): campaign setup + campaign-brief.yaml (Stage 0)
  • feat(campaign): strategy generation + provenance (Stages 1 + 3)
  • feat(campaign): pin validation (Stage 2)
  • feat(campaign): dependency tracking + enforcement
  • feat(campaign): per-skill loop + kickoff emitter (Stage 4)
  • feat(campaign): tier B batch + capstone (Stages 5-6)
  • feat(campaign): verification + refinement (Stages 7-8)
  • feat(campaign): export + maintenance + campaign report (Stages 9-10)
  • feat(campaign): campaign resume
  • feat(campaign): standing directive
  • feat(campaign): onboard removal + v2.0 documentation
  • feat(campaign): persist capstone, verification and refinement outcomes to state
  • feat(setup): recommend deepwiki as the zero-ceremony first step
  • feat(installer): point first-run users at deepwiki after install
  • feat(analyze-source): codify the decomposition merge-vs-split decision
  • feat(shape-detect): accept optional grammar-file and tree-path signals
  • feat(shape-detect): classify whole-language repos by their grammar file
  • feat(shape-detect): detect hand-written compilers from tree structure
  • feat(shape-detect): classify Go repositories from go.mod
  • feat(analyze-source): harvest grammar and compiler-tree signals for scoping
  • feat(shared): add curated language-to-corpora registry
  • feat(analyze-source): seed whole-language skills with companion prose corpora
  • feat(analyze-source): record honest caveat for whole-language skills
  • feat(brief): carry per-corpus provenance through doc_urls
  • feat(brief): suppress non-corpus README noise for whole-language references
  • feat(shape-detect): classify Maven, Gradle, and Swift repositories
  • feat(create-skill): foreground language prose for whole-language references
  • feat(module-help): register skf-campaign in the menu CSV
  • feat(campaign): harden orchestration — scripted state, customization, headless front door, recovery

Bug Fixes

  • fix(analyze-source): use the deterministic manifest scanner in auto-scope
  • fix(analyze-source): handle remote URLs in auto-scope manifest scan
  • fix(scripts): invoke PEP-723 helpers via uv run <script>, not uv run python
  • fix(shape-detect): stop monorepo non-product members forcing reference-app
  • fix(shape-detect): classify parser/grammar tools by their own name
  • fix(detect-docs): widen doc-URL recall to doc. subdomains and language paths
  • fix(brief): normalize URLs when merging detected and seeded doc corpora
  • fix(campaign): use bare _bmad/custom path form so validate:refs resolves
  • fix(skf): close installed-mode wiring, halt-contract, and customization gaps across SKF workflows
  • fix(shared): resolve skill-brief schema beside the validator script
  • fix(analyze-source): wire docs-only brief write through the canonical writer
  • fix(campaign): resume to the next incomplete stage after a mid-stage halt
  • fix(test-skill): add multi-entry exports-map denominator clause

Other Changes

  • test(campaign): add structural linter for campaign step files
  • Merge pull request #416 from armelhbobdad/campaign-orchestration
  • docs: fix migration staleness and surface deepwiki + campaign entry points
  • docs: weave deepwiki and campaign into the BMM synergy playbook
  • docs: complete Deepwiki title casing in sidebar nav and intro
  • docs: round out campaign coverage and deepwiki/campaign troubleshooting
  • Merge pull request #417 from armelhbobdad/docs-accuracy-pass
  • docs(analyze-source): drop the unreachable Go language-detection entry
  • Merge pull request #419 from armelhbobdad/fix-autoscope-monorepo-discovery
  • Merge pull request #420 from armelhbobdad/surface-deepwiki-in-setup
  • Merge pull request #422 from armelhbobdad/fix-autoscope-remote-manifest-scan
  • docs(scripts): normalize uv run idiom in helper CLI docstrings
  • Merge pull request #423 from armelhbobdad/chore-uv-run-idiom
  • Merge pull request #424 from armelhbobdad/fix-shape-detect-monorepo-refapp
  • refactor(forger): rename the deepwiki pipeline alias to forge-auto
  • Merge pull request #426 from armelhbobdad/rename-deepwiki-to-forge-auto
  • Merge pull request #428 from armelhbobdad/codify-decomposition-cohesion-check
  • docs(shape-detect): note whole-language value is corpora-dependent
  • Merge pull request #429 from armelhbobdad/issue-427-language-reference-shape
  • Merge pull request #434 from armelhbobdad/issue-430-433-language-reference-followups
  • Merge pull request #435 from armelhbobdad/register-skf-campaign-help-entry
  • Merge pull request #436 from armelhbobdad/skf-campaign-quality-hardening
  • Merge pull request #437 from armelhbobdad/skf-workflows-quality-hardening
  • docs: true up pages against current workflow behavior
  • Merge pull request #438 from armelhbobdad/docs-post-merge-refresh
  • docs(readme): tighten snippet-injection timing and health-check routing wording
  • Merge pull request #439 from armelhbobdad/readme-precision-tweaks
  • docs(create-skill): document generic-class gap in ast-grep class recipes
  • Merge pull request #440 from armelhbobdad/skf-workflow-health-fixes
  • docs(create-skill): state the confidence_distribution sum invariant for the producer
  • Merge pull request #441 from armelhbobdad/fix-confidence-distribution-invariant
  • docs(create-skill): state the confidence_distribution binning rule at the compile step
  • Merge pull request #442 from armelhbobdad/docs-compile-confidence-distribution
  • refactor(analyze-source): retire the unreachable export_count decomposition threshold
  • Merge pull request #443 from armelhbobdad/retire-export-count-threshold

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.9.0...v2.0.0

Skill Forge (SKF) v1.9.0

Choose a tag to compare

@github-actions github-actions released this 26 May 20:45
424f9ba

What's New

New Features

  • feat(skf-shape-detect): add shared shape-detection script for repo classification
  • feat: doc detection chain shared module
  • feat: doc tracking at compile time
  • feat: doc drift detection in audit
  • feat: SS active_version manifest-state bugfix
  • feat: auto-scope mode for AN
  • feat: auto-brief generation for BS
  • feat: auto-brief validation with progressive fallback
  • feat: auto-decomposition for massive repos
  • feat: docs-only deepwiki path
  • feat: coexistence detection
  • feat: version pinning for deepwiki
  • feat: deepwiki pipeline alias + onboard deprecation
  • feat: v1.9 documentation
  • feat: tiered quality gate — hard gate
  • feat: per-pipeline quality thresholds
  • feat: evidence report on threshold fallback
  • feat: auto-shard at 400-line ceiling
  • feat: pre-apply workaround registry
  • feat: doc-rot correction hooks

Other Changes

  • docs: update workflow steps for doc sources and doc drift
  • Merge pull request #410 from armelhbobdad/source-intelligence-foundation
  • Merge pull request #411 from armelhbobdad/deepwiki-zero-ceremony-skill-creation
  • Merge pull request #412 from armelhbobdad/quality-scale-and-workaround-automation
  • docs: fix doc-rot in workflow and verification docs
  • Merge pull request #413 from armelhbobdad/quality-scale-and-workaround-automation
  • Merge pull request #414 from armelhbobdad/dev

Maintenance

  • chore: trigger CI

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.8.0...v1.9.0

Skill Forge (SKF) v1.8.0

Choose a tag to compare

@github-actions github-actions released this 25 May 16:56
3a56fd1

What's New

New Features

  • feat(skf-analyze-source): support composite sources and composite unit merges

Bug Fixes

  • fix(shared/scripts): close three health-check gaps (CCC registry, token gate, specific-modules)

Other Changes

  • Merge pull request #407 from armelhbobdad/fix/improvement-queue-batch-20260525
  • Merge pull request #408 from armelhbobdad/feat/analyze-source-composite-support

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.7.0...v1.8.0

Skill Forge (SKF) v1.7.0

Choose a tag to compare

@github-actions github-actions released this 25 May 04:38
e881994

What's New

New Features

  • feat(skf-brief-skill): add from_brief headless arg to ratify a pre-authored brief

Bug Fixes

  • fix(skf-create-skill): gate description recovery on deterministic validator, not judge score
  • fix(skf-create-skill): dismiss tessl "remove provenance annotations" suggestion
  • fix(skf-export-skill): prevent managed-section wipe and marker duplication
  • fix(skf-brief-skill): give workspace manifest_kind precedence in language detection
  • fix(skf-update-skill): add gap-driven change categories for structural, metadata, provenance-completeness, and rescope gaps
  • fix(skf-test-skill): harden coverage check against gaming, spot-check, and split-body gaps
  • fix(skf-brief-skill): warn when a cross-ecosystem workspace manifest is dropped
  • fix(skf-create-skill): define named-export counting unit and ccc init prerequisite
  • fix(skf-export-skill): exclude shared managed section from package total
  • fix(skf-test-skill): handle scalar denominator and normalize method entries in coverage check
  • fix(skf-update-skill): gate gap-derived exports on public reachability
  • fix(skf-export-skill): make managed-section writes atomic and verified
  • fix(skf-export-skill): correct helper-contract docs in update-context
  • fix(skf-export-skill): open atomic-write temp file in binary mode
  • fix(skf-test-skill): guard non-git auto-reuse against date-only timestamp collision
  • fix(shared-scripts): write atomic temp files in binary mode on Windows
  • fix(skf-brief-skill): harden portfolio-similarity check for qmd output and scale
  • fix(shared-scripts): parse current qmd collection list output in classifier
  • fix(skf-create-skill): resolve monorepo crate tags in source resolution
  • fix(skf-export-skill): pass managed-section content via stdin to avoid shell expansion
  • fix(skf-test-skill): add Rust grep fallback for deflation-guard barrel re-derivation
  • fix(skf-create-stack-skill): align compose-mode provenance confidence and stack version
  • fix(skf-enumerate-stack-skills): resolve version-nested skill layout
  • fix(skf-test-skill): add stack-skill branches to coverage scoring
  • fix(skf-verify-stack): resolve feasibility schema ref via probe order
  • fix(skf-verify-stack): distinguish deliberately-removed tech from skill gaps
  • fix(installer): write output_folder to generated SKF config
  • fix(skf-create-stack-skill): version re-composed stacks from prior release line
  • fix(skf-refine-architecture): scope gap/issue analysis to the document's surface
  • fix(skf-test-skill): accept stack/Rust export kinds and stack cross-refs
  • fix(skf): write health-check local queue to forge_data_folder
  • fix(skf-quick-skill): point context-snippet anchors at real QS headings
  • fix(skf-test-skill): accept quick-skill headings in structural-scan gate
  • fix(skf-test-skill): re-derive TS barrels across multi-line export blocks
  • fix(skf-create-skill): resolve package exports map for entry points outside src/
  • fix(skf-brief-skill): round-trip target_ref/tier_a_include/amendments on brief re-write
  • fix(skf-brief-skill): analyze pinned target_version at its git tag, not HEAD
  • fix(skf-create-skill): correct ast-grep 0.42.x TypeScript export recipes
  • fix(skf-brief-skill): document monorepo subpackage scope convention
  • fix(skf-create-skill): verify ccc index has source-language chunks
  • fix(skf-brief-skill): capture tier_a_include for coarse-glob monorepo subsets
  • fix(skf-skills): read skill-check score/counts from correct JSON paths
  • fix(skf-create-stack-skill): gate frontmatter before publishing the package
  • fix(skf-quick-skill): invoke frontmatter validator via uv run
  • fix(skf-analyze-source): recognize reference-app scope type in briefs
  • fix(skf-create-skill): omit effective_denominator for reference-app scope
  • fix(skf-test-skill): wire reference-app skip flag in scoring
  • fix(skf-test-skill): match Pattern Surface / Adoption Steps in structure scanner
  • fix(skf-create-stack-skill): pre-check SKILL.md body size before commit
  • fix(skf-test-skill,skf-export-skill): prefer active symlink when manifest lags
  • fix(skf-create-skill,skf-test-skill): persist scope_type so reference-app scoring fires
  • fix(skf-analyze-source): validate generated briefs with the deterministic schema check
  • fix(skf-manifest-ops): archive all stale active versions on set
  • fix(skf-create-stack-skill): extract library catalog for large stacks

Other Changes

  • Merge pull request #356 from armelhbobdad/fix/skf-tessl-description-judge-vs-validator
  • Merge pull request #357 from armelhbobdad/fix/skf-export-managed-section-safety
  • Merge pull request #358 from armelhbobdad/fix/skf-brief-detect-language-workspace-precedence
  • Merge pull request #359 from armelhbobdad/fix/skf-update-gap-driven-change-categories
  • Merge pull request #360 from armelhbobdad/fix/skf-test-coverage-gaming-guards
  • Merge pull request #361 from armelhbobdad/fix/skf-brief-cross-ecosystem-workspace-warning
  • Merge pull request #362 from armelhbobdad/fix/skf-create-denominator-unit-and-ccc-init
  • Merge pull request #363 from armelhbobdad/fix/skf-export-package-total-managed-section
  • Merge pull request #364 from armelhbobdad/fix/skf-test-scalar-denominator-and-method-normalization
  • Merge pull request #365 from armelhbobdad/fix/skf-update-public-reachability-gate
  • Merge pull request #366 from armelhbobdad/fix/skf-export-context-atomicity-and-manifest-envelope
  • Merge pull request #367 from armelhbobdad/fix/skf-test-nongit-staleness-precision-guard
  • Merge pull request #368 from armelhbobdad/fix/skf-atomic-writers-binary-mode
  • Merge pull request #369 from armelhbobdad/fix/skf-brief-portfolio-similarity-robustness
  • Merge pull request #370 from armelhbobdad/fix/skf-qmd-classify-collection-list-parsing
  • Merge pull request #371 from armelhbobdad/fix/skf-create-source-resolution-monorepo-tags
  • Merge pull request #372 from armelhbobdad/fix/skf-export-stdin-and-test-rust-denominator
  • Merge pull request #373 from armelhbobdad/fix/skf-create-stack-compose-mode-and-enumerate
  • Merge pull request #374 from armelhbobdad/fix/skf-test-skill-stack-coverage-branches
  • Merge pull request #375 from armelhbobdad/fix/skf-verify-stack-schema-ref-and-replaced-coverage
  • Merge pull request #376 from armelhbobdad/fix/skf-installer-inherit-output-folder
  • Merge pull request #377 from armelhbobdad/fix/skf-create-stack-skill-recompose-versioning
  • Merge pull request #378 from armelhbobdad/fix/skf-refine-architecture-gap-scope-filter
  • Merge pull request #379 from armelhbobdad/fix/skf-test-skill-stack-coverage-coherence
  • Merge pull request #380 from armelhbobdad/fix/skf-health-check-queue-path
  • Merge pull request #381 from armelhbobdad/fix/skf-quick-skill-heading-vocabulary
  • Merge pull request #382 from armelhbobdad/fix/skf-test-skill-ts-barrel-multiline
  • Merge pull request #384 from armelhbobdad/fix/skf-create-skill-exports-map-entrypoints
  • Merge pull request #386 from armelhbobdad/feat/skf-brief-skill-from-brief-headless
  • Merge pull request #387 from armelhbobdad/fix/skf-brief-writer-roundtrip-385
  • Merge pull request #388 from armelhbobdad/fix/skf-brief-analysis-ref
  • Merge pull request #389 from armelhbobdad/fix/skf-create-astgrep-ts-recipes
  • Merge pull request #390 from armelhbobdad/fix/skf-brief-monorepo-subpackage-convention
  • Merge pull request #391 from armelhbobdad/fix/skf-create-ccc-index-verification
  • Merge pull request #392 from armelhbobdad/fix/skf-brief-capture-tier-a-monorepo
  • Merge pull request #393 from armelhbobdad/fix/skf-skill-check-json-field-paths
  • Merge pull request #394 from armelhbobdad/fix/skf-stack-precommit-frontmatter-gate
  • Merge pull request #395 from armelhbobdad/fix/skf-quick-frontmatter-validator-uv-run
  • Merge pull request #396 from armelhbobdad/fix/skf-reference-app-toolchain-wiring
  • Merge pull request #397 from armelhbobdad/fix/skf-create-stack-precommit-body-gate
  • Merge pull request #398 from armelhbobdad/fix/skf-prefer-active-symlink-on-manifest-lag
  • Merge pull request #399 from armelhbobdad/fix/skf-reference-app-scope-type-metadata
  • Merge pull request #400 from armelhbobdad/fix/skf-analyze-source-deterministic-brief-validation
  • docs(skf-analyze-source,skf-create-skill): document language references as a reference-app sub-shape
  • Merge pull request #401 from armelhbobdad/feat/skf-language-reference-scope-type
  • Merge pull request #402 from armelhbobdad/fix/skf-manifest-ops-archive-stranded-active
  • Merge pull request #403 from armelhbobdad/fix/skf-stack-catalog-extraction

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.6.0...v1.7.0

Skill Forge (SKF) v1.6.0

Choose a tag to compare

@github-actions github-actions released this 21 May 17:18
a6ffba7

What's New

New Features

  • feat(skf): ratify existing skill-brief.yaml in brief-skill

Bug Fixes

  • fix(skf): route resume after generate-briefs to health-check
  • fix(shared): YAML round-trip in description-guard restore
  • fix(skf): resolve test report by glob in update-skill --from-test-report

Other Changes

  • docs(skf): require trigger phrase + gerund in description rule
  • Merge pull request #350 from armelhbobdad/docs/skf-create-skill-description-trigger-phrase
  • Merge pull request #351 from armelhbobdad/fix/skf-analyze-source-continue-route-health-check
  • Merge pull request #352 from armelhbobdad/fix/skf-description-guard-yaml-roundtrip
  • Merge pull request #353 from armelhbobdad/feat/skf-brief-skill-ratify-existing-brief
  • Merge pull request #354 from armelhbobdad/fix/skf-update-skill-from-test-report-glob

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.5.1...v1.6.0

Skill Forge (SKF) v1.5.1

Choose a tag to compare

@github-actions github-actions released this 20 May 16:15
056a686

What's New

Bug Fixes

  • fix(skf): bound detect-tools probes so a hung daemon can't stall it
  • fix(skf): restrict detect-tools timeout wrapper to POSIX
  • fix(skf): correct step-file instructions surfaced by health checks
  • fix(skf): correct analyze-source roots and manifest IDE recording
  • fix(skf): prevent npx install hint from being parsed as github org/repo

Other Changes

  • Merge pull request #344 from armelhbobdad/fix/skf-detect-tools-cli-timeout
  • Merge pull request #345 from armelhbobdad/fix/skf-step-instruction-corrections
  • Merge pull request #346 from armelhbobdad/fix/skf-analyze-source-and-manifest-ides
  • refactor(skf): migrate shared-script frontmatter to ProbeOrder
  • Merge pull request #347 from armelhbobdad/refactor/skf-shared-script-probe-order
  • Merge pull request #348 from armelhbobdad/fix/skf-export-skill-npx-install-path-trap

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.5.0...v1.5.1

Skill Forge (SKF) v1.5.0

Choose a tag to compare

@github-actions github-actions released this 18 May 14:02
03e05cc

What's New

New Features

  • feat(skf-setup): tighten headless contract, add CLI knobs, ship customize.toml
  • feat(shared): extract Description Guard into shared script + protocol doc
  • feat(shared): extract scripts/assets detection from create-skill step 3 §4c
  • feat(shared): extract SHA-256 hashing helpers from update-skill detect-changes
  • feat(shared): extract brief schema validation + wire 4 latent test files into CI
  • feat(shared): extract workspace-drift guard from update-skill §0.a
  • feat(shared): extract atomic active-symlink flip for update-skill §5b + §6
  • feat(shared): extract change-manifest aggregation + §2.2 deletion-ratio trigger
  • feat(shared): extract §1c discovery/parse/reconcile pipeline
  • feat(shared): extract §2a Authoritative Files Protocol (last of 9 extractions)
  • feat(skf-update-skill): add SKF_UPDATE_RESULT_JSON envelope + headless_decisions[]
  • feat(skf-update-skill): add --dry-run and --detect-only inspection modes
  • feat(skf-update-skill): add PID-file concurrency guard against double-invoke
  • feat(skf-brief-skill): wire customize.toml path scalars (closes #307 D1)
  • feat(skf-feature): extract 7 deterministic operations to shared scripts + modernize compute-score CLI
  • feat(skf-feature): surface extensions, structural carves, resume protocols + polish
  • feat(skf-drop-skill): blast-radius summary line in §10 confirmation gate
  • feat(skf-brief-skill): capture authoring-time scope.rationale

Bug Fixes

  • fix(shared): normalize path separators in JSON output for cross-platform CI
  • fix(test): assert path.as_posix() in --include-path tests for Windows CI
  • fix(test): use as_posix() for cross-platform path assertion in pruning test
  • fix(skf-export-skill): iterate orphan-row probe across all target context files

Other Changes

  • refactor: unify carved-content layout (steps-c/ → references/) and stamp Conventions
  • refactor(shared/scripts): push deterministic operations into helpers
  • Merge pull request #305 from armelhbobdad/refactor/skf-stages-rename
  • refactor(skf-core): ship customize.toml + language headers across brief/create/update
  • Merge pull request #306 from armelhbobdad/refactor/elevate-skf-core-skills
  • Merge pull request #308 from armelhbobdad/feat/skf-description-guard
  • Merge pull request #309 from armelhbobdad/feat/skf-detect-scripts-assets
  • Merge pull request #310 from armelhbobdad/feat/skf-hash-content
  • Merge pull request #311 from armelhbobdad/feat/skf-validate-brief-schema
  • Merge pull request #312 from armelhbobdad/feat/skf-check-workspace-drift
  • Merge pull request #313 from armelhbobdad/feat/skf-update-active-symlink
  • Merge pull request #314 from armelhbobdad/feat/skf-build-change-manifest
  • Merge pull request #315 from armelhbobdad/feat/skf-provenance-gap-dispatch
  • Merge pull request #316 from armelhbobdad/feat/skf-resolve-authoritative-files
  • refactor(skf-create-skill): carve §2a Authoritative Files Protocol to own file
  • Merge pull request #317 from armelhbobdad/refactor/carve-authoritative-files-protocol
  • perf(skf-create-skill): parallelize fetch-temporal + fetch-docs network ops
  • Merge pull request #318 from armelhbobdad/perf/parallelize-fetches
  • Merge pull request #319 from armelhbobdad/feat/skf-update-result-envelope
  • Merge pull request #320 from armelhbobdad/feat/skf-update-dry-run-detect-only
  • Merge pull request #321 from armelhbobdad/feat/skf-update-concurrency-lock
  • Merge pull request #322 from armelhbobdad/feat/skf-brief-customize-scalars
  • refactor(skf-core): post-elevation tightening pass across all 3 Core skills
  • Merge pull request #323 from armelhbobdad/refactor/skf-core-quality-tightening
  • refactor(skf-feature): elevate 5 Feature workflows toward Excellent (foundation pass)
  • Merge pull request #324 from armelhbobdad/refactor/skf-feature-elevation-foundation
  • refactor(skf-feature): post-elevation tightening pass across all 5 Feature skills
  • Merge pull request #326 from armelhbobdad/refactor/skf-feature-elevation-tightening
  • Merge pull request #327 from armelhbobdad/feat/skf-feature-scripts
  • Merge pull request #328 from armelhbobdad/feat/skf-feature-surface
  • refactor(skf-arch-utility-mgmt): elevate 5 workflows toward Excellent (foundation pass)
  • Merge pull request #329 from armelhbobdad/refactor/skf-arch-utility-mgmt-elevation-foundation
  • refactor(skf-arch-utility-mgmt): post-elevation tightening pass across 5 skills
  • Merge pull request #330 from armelhbobdad/refactor/skf-arch-utility-mgmt-elevation-tightening
  • refactor(skf-export-skill): carve §3b orphan context-file detection + §4c.1 orphan row detection
  • refactor(skf-export-skill): carve §1b snippet-prefix probe + §1c multi-skill matrix
  • refactor(skf-rename-skill): carve §7 Rebuild Context Files to dedicated reference
  • Merge pull request #334 from armelhbobdad/feat/skf-drop-skill-blast-radius-summary
  • Merge pull request #333 from armelhbobdad/fix/skf-export-multi-file-orphan-probe
  • Merge pull request #332 from armelhbobdad/refactor/skf-issue-331-carves
  • Merge pull request #336 from armelhbobdad/chore/skf-issue-335-drop-redundant-scaffolding
  • test(skf): add chain-reachability lint for workflow skills
  • Merge pull request #337 from armelhbobdad/feat/skf-chain-reachability-lint
  • docs(skf-drop-skill): post-cancel --dry-run hint + selection memo under dry-run
  • Merge pull request #339 from armelhbobdad/chore/skf-drop-skill-issue-338-dry-run-hints
  • Merge pull request #340 from armelhbobdad/feat/skf-brief-scope-rationale
  • Merge pull request #341 from armelhbobdad/feat/skf-workflow-rules-v2
  • Merge pull request #342 from armelhbobdad/chore/readme-trim-maintainer-sections

Maintenance

  • chore(skf): propagate v2 Workflow Rules trim across skf-* skills
  • chore(readme): drop maintainer-only Versioning & Release Process sections

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.4.1...v1.5.0

Skill Forge (SKF) v1.4.1

Choose a tag to compare

@github-actions github-actions released this 07 May 09:01
1f19fe7

What's New

Bug Fixes

  • fix(skf-create-skill): allow empty references/ when Tier-2 is inline
  • fix(skf-setup): reject {project-root} placeholders in ccc-exclusions merge
  • fix(skf-audit-skill): normalize sha256: prefix in step-03 §4b hash comparison
  • fix(skf-audit-skill): handle dirty worktree in step-01 §5b checkout handler
  • fix(skf-audit-skill): gate manifest-vs-symlink drift in step-01 §1
  • fix(skf-export-skill): glob timestamped test reports in step-01 §4b
  • fix(skf-export-skill): treat first-export gotchas as fresh in step-03 §3.5
  • fix(skf-export-skill): handle manifest-orphan managed rows in step-04 §4c
  • fix(skf-export-skill): document deviations[] on result contract for §4c.1

Other Changes

  • Merge pull request #300 from armelhbobdad/fix/skf-create-skill-tier2-inline-exception
  • Merge pull request #301 from armelhbobdad/fix/skf-setup-ccc-exclusions-placeholder
  • Merge pull request #302 from armelhbobdad/fix/skf-audit-skill-step-fixes
  • Merge pull request #303 from armelhbobdad/fix/skf-export-skill-step-fixes

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.4.0...v1.4.1

Skill Forge (SKF) v1.4.0

Choose a tag to compare

@github-actions github-actions released this 02 May 21:15
13f23b4

What's New

New Features

  • feat(skf-brief-skill): pin language directive in every step's Rules block
  • feat(skf-brief-skill): expand headless contract — args, JSON result, overwrite policy
  • feat(skf-brief-skill): diagnostic-on-failure at HITL gates
  • feat(skf-brief-skill): add explicit description synthesis with confirmation
  • feat(skf-brief-skill): recommend a scope-type instead of presenting five equal options
  • feat(skf-brief-skill): always show scripts/assets/forge-tier with one-line glosses in step-04
  • feat(skf-brief-skill): gloss the forge tier in step-01 welcome banner
  • feat(skf-brief-skill): replace step-01 §7b description template with voice-varied examples
  • feat(shared/scripts): add skf-validate-brief-inputs.py with full test coverage
  • feat(skf-brief-skill): pre-validate repo URLs and gh auth at point of capture
  • feat(skf-brief-skill): regex-validate target_version semver at point of capture
  • feat(skf-brief-skill): auto-suggest alternates on brief-name collision in step-01 §6
  • feat(shared/scripts): add register-qmd-collection subcommand to skf-forge-tier-rw
  • feat(shared/scripts): add skf-emit-brief-result-envelope.py with JSON Schema
  • feat(shared/scripts): add skf-write-skill-brief.py with JSON Schema and 63 tests
  • feat(shared/scripts): add skf-detect-workspaces.py with JSON Schema and 35 tests
  • feat(skf-brief-skill): detect headless source_authority from gh api user vs repo owner
  • feat(skf-brief-skill): seed headless §7b description from GitHub repo description when intent is missing
  • feat(skf-brief-skill): run scope-type recommendation in headless instead of stamping full-library
  • feat(skf-brief-skill): add [X] Cancel and exit affordance with stable exit code 6
  • feat(skf-brief-skill): add 50ms pre-flight write probe at step-01 §1
  • feat(skf-brief-skill): add --preset headless arg for repeated-pattern briefs
  • feat(skf-brief-skill): persist .brief-draft.json checkpoint and offer Resume? on re-entry
  • feat(skf-brief-skill): add QMD portfolio-similarity check at step-01 §6 (Forge+/Deep)
  • feat(skf-brief-skill): add 'wanted something different?' disambiguation rail to welcome banner
  • feat(skf-brief-skill): accept cancel/exit at §3.1 target prompt
  • feat(skf-brief-skill): offer 'show me an example brief?' rail before §4 intent prompt for first-timers
  • feat(skf-brief-skill): add gh api repos access probe to §3.3 parallel pre-flight batch
  • feat(skf-brief-skill): add routing-purpose microcopy at description synthesis and review sites
  • feat(skf-brief-skill): add soft sentence-count check on synthesized description in §7b
  • feat(skf-brief-skill): add 'looks like' concrete examples to each scope-type entry
  • feat(extract-public-api): detect release-time placeholder versions and surface as warning
  • feat(shared/scripts): add skf-recommend-scope-type.py — single source of truth for the 5-rule heuristic ladder
  • feat(write-skill-brief): add --from-flat input mode for prose-driven callers
  • feat(shared/scripts): add skf-detect-language.py — deterministic primary-language detection

Bug Fixes

  • fix(skf-brief-skill): prefix bare _bmad/ path with {project-root}
  • fix(skf-brief-skill): mark step-06 as terminal with completion sentinel
  • fix(skf-brief-skill): remove parent-dir frontmatter paths and home-dir reference
  • fix(skf-brief-skill): add explicit Completion criteria to terminal step-06
  • fix(skf-brief-skill): propagate input-invalid halt_reason and add priority test
  • fix(skf-brief-skill): address in-PR code review findings
  • fix(skf-detect-workspaces): correct lerna default, generic-folder accumulation, python libs layout
  • fix(skf-brief-skill): unblock headless heuristics — validator default, GATE placement, contract docs
  • fix(skf-brief-skill): close contract gaps for [X] cancel and write probe
  • fix(skf-brief-skill): correct QMD CLI surface, tier guard, resume-jump skip, preset KNOWN_FIELDS
  • fix(skf-brief-skill): first-timer rail — concrete find command + match prompt to actual content
  • fix(skf-brief-skill): wire new test file into test:python + instruct LLM to fetch registry contents at §2c

Other Changes

  • refactor(skf-brief-skill): consolidate version-resolution rules into a shared reference
  • docs(skf-brief-skill): expand Overview with scoping theory and split rationale
  • refactor(skf-brief-skill): wire skf-extract-public-api.py into step-02
  • Merge pull request #271 from armelhbobdad/feat/skf-brief-skill-quality-fixes
  • style(skf-brief-skill): polish SKILL.md trigger phrase and stage table
  • style(skf-brief-skill): convert user-facing "Please" prompts to direct imperatives
  • refactor(skf-brief-skill): split step-01 §3 conditionals into named sub-sections
  • refactor(skf-brief-skill): convert step-01 §8 headless GATE prose to table
  • refactor(skf-brief-skill): split step-02 §4 into named sub-sections
  • perf(skf-brief-skill): batch doc_urls HEAD checks in parallel with timeout
  • perf(skf-brief-skill): batch gh api calls in parallel in step-02
  • perf(skf-brief-skill): codify lazy reference loading and tighten version-resolution load
  • Merge pull request #272 from armelhbobdad/fix/skf-brief-skill-cosmetic-polish
  • Merge pull request #273 from armelhbobdad/feat/skf-brief-skill-surface-defaults
  • Merge pull request #274 from armelhbobdad/perf/skf-brief-skill-parallel-batching
  • test(skf-validate-brief-inputs): wire new test suite into npm test:python
  • refactor(skf-brief-skill): wire skf-validate-brief-inputs.py into step-01 §8 GATE
  • docs(skf-brief-skill): document new input-invalid halt_reason in SKILL.md
  • Merge pull request #275 from armelhbobdad/feat/skf-brief-skill-fail-fast-validation
  • refactor(skf-brief-skill): wire step-05 to delegate to shared scripts
  • Merge pull request #276 from armelhbobdad/refactor/skf-brief-skill-step-05-scripts
  • refactor(skf-brief-skill): gate step-04 brief schema load to inline-adjustments only
  • refactor(skf-brief-skill): drop unused version-resolution load from step-01 §3b
  • refactor(skf-brief-skill): de-duplicate brief presentation format — step-04 is canonical
  • refactor(skf-brief-skill): extract step-05 §5 QMD registration to lazy-loaded reference
  • docs(skf-brief-skill): update version-resolution.md load-site list after step-01 drop
  • Merge pull request #277 from armelhbobdad/refactor/skf-brief-skill-lazy-load-gaps
  • docs(skf-brief-skill): clarify communication_language vs document_output_language in Workflow Rules
  • refactor(skf-brief-skill): drop version-precedence restatement in step-05 §3
  • refactor(skf-brief-skill): soften "three alternates" to "2-3 non-colliding" in step-01 §6
  • refactor(skf-brief-skill): trim maintainer-rationale narrative from step-01 runtime instructions
  • refactor(skf-brief-skill): guard [2] alternate render in step-01 §6 collision template
  • Merge pull request #278 from armelhbobdad/refactor/skf-brief-skill-prompt-craft-cleanups
  • refactor(skf-brief-skill): extract description-voice examples to lazy-loaded asset
  • refactor(skf-brief-skill): extract headless argument table to lazy-loaded reference
  • refactor(skf-brief-skill): make §7b voice-examples Load explicit on the headless path
  • Merge pull request #279 from armelhbobdad/refactor/skf-brief-skill-extract-references
  • refactor(skf-brief-skill): wire step-02 §1b to delegate workspace detection to script
  • Merge pull request #280 from armelhbobdad/feat/skf-detect-workspaces
  • Merge pull request #281 from armelhbobdad/feat/skf-brief-skill-headless-heuristics
  • Merge pull request #282 from armelhbobdad/feat/skf-brief-skill-cancel-and-write-probe
  • Merge pull request #283 from armelhbobdad/feat/skf-brief-skill-preset-draft-qmd-similarity
  • refactor(skf-brief-skill): move On Activation block above Stages
  • refactor(skf-brief-skill): canonicalize headless envelope-emission contract in step-05 §4b
  • refactor(skf-brief-skill): cache step-03 §2b HEAD probe across [R] re-entry + add step-04 §1 schema anti-load guard
  • Merge pull request #284 from armelhbobdad/refactor/skf-brief-cleanup-quick-wins
  • refactor(skf-brief-skill): extract headless source-authority detection to lazy reference
  • refactor(skf-brief-skill): extract portfolio-similarity check to lazy reference
  • refactor(skf-brief-skill): extract draft-checkpoint lifecycle (resume + write) to lazy reference
  • Merge pull request #285 from armelhbobdad/refactor/skf-brief-step01-lazy-refs
  • Merge pull request #286 from armelhbobdad/refactor/skf-brief-step01-ux-safety-rails
  • refactor(skf-brief-skill): wire step-03 §2c + §6 GATE to invoke skf-recommend-scope-type.py
  • Merge pull request #287 from armelhbobdad/refactor/skf-brief-recommend-scope-type-script
  • refactor(skf-brief-skill): step-05 §3 uses --from-flat — eliminates conditional-omit logic at the JSON-typo HALT site
  • Merge pull request #288 from armelhbobdad/refactor/skf-brief-writer-flat-input
  • refactor(skf-brief-skill): wire step-02 §3 to invoke skf-detect-language.py
  • Merge pull request #289 from armelhbobdad/refactor/skf-brief-detect-language-script
  • docs(workflows): document headless skf-brief-skill contract and --preset
  • Merge pull request #290 from armelhbobdad/docs/workflows-headless-brief-skill

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.3.0...v1.4.0

Skill Forge (SKF) v1.3.0

Choose a tag to compare

@github-actions github-actions released this 01 May 19:41
a961ebc

What's New

New Features

  • feat(skf-quick-skill): redirect free-form prose input to sibling skills before registry lookup
  • feat(shared): add --skip-frontmatter flag and Description section to skf-validate-output.py
  • feat(skf-quick-skill): add [E] edit, [S] re-scope, [Q] quit options to step-04 review gate
  • feat(skf-quick-skill): emit step.start/step.done JSON events to stderr in headless mode
  • feat(skf-quick-skill): write error-variant result contract on every HARD HALT
  • feat(skf-quick-skill): add --description / --exports / --skip-snippet / --no-active-pointer overrides
  • feat(skf-quick-skill): add repo-shape sniff between step-03 README read and manifest parse
  • feat(skf-quick-skill): surface ambiguous-language choice in step-01 §4 instead of silently picking
  • feat(skf-quick-skill): verify @Version tag exists before extraction in step-01 §3a
  • feat(skf-quick-skill): add zero-exports soft-gate in step-03 §4.5 (rescue mode)
  • feat(shared): add skf-resolve-package.py for npm/PyPI/crates GitHub URL resolution
  • feat(shared): add skf-extract-public-api.py — pure-parser extraction across 6 languages
  • feat(shared): add skf-render-quick-metadata.py — pure metadata.json renderer
  • feat(skf-quick-skill): add --batch and --fail-fast flags to On Activation overrides
  • feat(skf-quick-skill): document Batch Mode semantics, summary contract, and events
  • feat(skf-quick-skill): wire batch context into step-01 §1 input handling

Bug Fixes

  • fix(skf-quick-skill): resolve atomic-flip helper via probe order, not hardcoded src/ path
  • fix(skf-quick-skill): prefix bare _bmad/src refs with {project-root}/

Other Changes

  • docs(workflows): document /skf-setup --require-tier flag + headless envelope contract
  • docs(troubleshooting): list new uv-missing + missing-config diagnostics from v1.2.0
  • docs(workflows): make schema + step-prompt file references clickable
  • docs(skill-model): refresh Forge Status example to v1.2.0 actual output
  • Merge pull request #256 from armelhbobdad/docs/workflows-troubleshooting-v1.2.0-additions
  • Merge pull request #258 from armelhbobdad/fix/skf-quick-skill-helper-path-installed-mode
  • refactor(skf-quick-skill): wire skf-validate-frontmatter.py into step-05 fallback
  • docs(skf-quick-skill): document result contract + scope_hint provenance in outputs
  • perf(skf-quick-skill): collapse sequential network reads into batched parallel fetches
  • refactor(skf-quick-skill): trim duplicated boilerplate; consolidate metadata schema
  • Merge pull request #259 from armelhbobdad/chore/skf-quick-skill-quality-phase-1
  • refactor(skf-quick-skill): collapse step-05 §5–§7 hand-walked checklists into skf-validate-output.py invocation
  • test(shared): cover --skip-frontmatter and Description-section enforcement in skf-validate-output.py
  • Merge pull request #260 from armelhbobdad/refactor/skf-quick-skill-wire-validator
  • docs(skf-quick-skill): document 10s per-call registry timeout in registry-resolution.md
  • refactor(skf-quick-skill): reduce step-01 §3 to one-line load+apply, defer to registry-resolution.md
  • refactor(skf-quick-skill): drop prose probe-path enumeration in step-05 §4 and step-06 §1
  • refactor(skf-quick-skill): split step-04 §4 metadata population into constants table + input-derived rules
  • Merge pull request #261 from armelhbobdad/refactor/skf-quick-skill-canonical-surfaces
  • perf(skf-quick-skill): replace step-04 §5 inline preview with one-line summary in headless mode
  • refactor(skf-quick-skill): rename step-05/06 files to align with Stages-table labels
  • Merge pull request #262 from armelhbobdad/feat/skf-quick-skill-step-04-review-gate
  • docs(skf-quick-skill): document structured exit-code map and wire codes into HARD HALT sites
  • docs(skf-quick-skill): wire exit code 7 (finalize-blocked) into step-06 §1 active-pointer HALT
  • Merge pull request #263 from armelhbobdad/feat/skf-quick-skill-headless-contract
  • Merge pull request #264 from armelhbobdad/feat/skf-quick-skill-edge-case-sniffs
  • test(shared): cover skf-resolve-package.py — URL parser, registry payloads, fallthrough
  • refactor(skf-quick-skill): invoke skf-resolve-package.py from step-01 §3
  • Merge pull request #265 from armelhbobdad/refactor/skf-quick-skill-resolve-helper
  • test(shared): cover skf-extract-public-api.py — 33 cases across all 6 languages
  • refactor(skf-quick-skill): invoke skf-extract-public-api.py from step-03 §2 + §3
  • Merge pull request #266 from armelhbobdad/refactor/skf-quick-skill-extract-helper
  • test(shared): cover skf-render-quick-metadata.py — 33 cases
  • refactor(skf-quick-skill): invoke skf-render-quick-metadata.py from step-04 §4
  • docs(shared): document skf-emit-result-envelope.py divergence in output-contract-schema.md
  • Merge pull request #267 from armelhbobdad/refactor/skf-quick-skill-render-metadata
  • Merge pull request #268 from armelhbobdad/feat/skf-quick-skill-batch-mode
  • docs(workflows): document skf-quick-skill override flags and batch mode in QS section
  • docs(workflows): add /skf-quick-skill exception block to Headless Mode (v1.3.0+)
  • docs(workflows): drop inline version-stamp markers
  • Merge pull request #269 from armelhbobdad/docs/skf-quick-skill-flags-and-headless

Maintenance

  • chore(skf-quick-skill): add config headers, progression keywords, direct imperatives
  • chore: include test/test-skf-resolve-package.py in npm run test:python
  • chore: include test/test-skf-extract-public-api.py in npm run test:python
  • chore: include test/test-skf-render-quick-metadata.py in npm run test:python

Installation

npx bmad-module-skill-forge install

Full Changelog: v1.2.0...v1.3.0