From c3ab4bfccffb3d0b6db2edf546052f2e9b594bf2 Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Sat, 2 May 2026 19:01:51 +0200 Subject: [PATCH] feat(sf): port 16 workflow templates from gsd-2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds 16 ready-to-use workflow templates that gsd-2 has but SF was missing. Each runs via /sf workflow run or /sf start . Markdown phased workflows (10): - accessibility-audit — UI a11y scan + remediation report - api-breaking-change — survey callers, migrate, deprecate, schedule removal - changelog-gen — release notes from git log since last tag - ci-bootstrap — minimal-working CI pipeline - dead-code — find unused functions/files (report only, no delete) - issue-triage — classify a GitHub issue + label/priority recommendation - observability-setup — structured logs, metrics, tracing - onboarding-check — walk README as new contributor, report gaps - performance-audit — measure → fix → measure - pr-review — structured code review of a PR - pr-triage — bucket open PRs (merge/close/nudge) - release — version bump → changelog → tag → publish (gated) YAML-step iterators (4): - docs-sync — backfill JSDoc/TSDoc on undocumented exports - env-audit — inventory env vars + flag drift - rename-symbol — global rename across code/tests/docs - test-backfill — write unit tests for untested functions All gsd-specific refs adapted: /gsd → /sf, .gsd/ → .sf/, gsd-build/gsd-2 → singularity-forge/sf-run. Templates need no SF-runtime tools (sf_*, subagent, browser_*) — they run via the bash + git + gh/npm commands the agent already has. Discovery verified: discoverPlugins() picks up all 27 templates (11 existing + 16 new); registry.json is 1:1 with the .md/.yaml files. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../workflow-templates/accessibility-audit.md | 88 ++++++++++ .../workflow-templates/api-breaking-change.md | 117 +++++++++++++ .../sf/workflow-templates/changelog-gen.md | 82 +++++++++ .../sf/workflow-templates/ci-bootstrap.md | 144 ++++++++++++++++ .../sf/workflow-templates/dead-code.md | 81 +++++++++ .../sf/workflow-templates/docs-sync.yaml | 76 +++++++++ .../sf/workflow-templates/env-audit.yaml | 88 ++++++++++ .../sf/workflow-templates/issue-triage.md | 84 +++++++++ .../workflow-templates/observability-setup.md | 133 +++++++++++++++ .../sf/workflow-templates/onboarding-check.md | 74 ++++++++ .../workflow-templates/performance-audit.md | 125 ++++++++++++++ .../sf/workflow-templates/pr-review.md | 67 ++++++++ .../sf/workflow-templates/pr-triage.md | 83 +++++++++ .../sf/workflow-templates/registry.json | 160 ++++++++++++++++++ .../sf/workflow-templates/release.md | 118 +++++++++++++ .../sf/workflow-templates/rename-symbol.yaml | 99 +++++++++++ .../sf/workflow-templates/test-backfill.yaml | 73 ++++++++ 17 files changed, 1692 insertions(+) create mode 100644 src/resources/extensions/sf/workflow-templates/accessibility-audit.md create mode 100644 src/resources/extensions/sf/workflow-templates/api-breaking-change.md create mode 100644 src/resources/extensions/sf/workflow-templates/changelog-gen.md create mode 100644 src/resources/extensions/sf/workflow-templates/ci-bootstrap.md create mode 100644 src/resources/extensions/sf/workflow-templates/dead-code.md create mode 100644 src/resources/extensions/sf/workflow-templates/docs-sync.yaml create mode 100644 src/resources/extensions/sf/workflow-templates/env-audit.yaml create mode 100644 src/resources/extensions/sf/workflow-templates/issue-triage.md create mode 100644 src/resources/extensions/sf/workflow-templates/observability-setup.md create mode 100644 src/resources/extensions/sf/workflow-templates/onboarding-check.md create mode 100644 src/resources/extensions/sf/workflow-templates/performance-audit.md create mode 100644 src/resources/extensions/sf/workflow-templates/pr-review.md create mode 100644 src/resources/extensions/sf/workflow-templates/pr-triage.md create mode 100644 src/resources/extensions/sf/workflow-templates/release.md create mode 100644 src/resources/extensions/sf/workflow-templates/rename-symbol.yaml create mode 100644 src/resources/extensions/sf/workflow-templates/test-backfill.yaml diff --git a/src/resources/extensions/sf/workflow-templates/accessibility-audit.md b/src/resources/extensions/sf/workflow-templates/accessibility-audit.md new file mode 100644 index 000000000..4815157b9 --- /dev/null +++ b/src/resources/extensions/sf/workflow-templates/accessibility-audit.md @@ -0,0 +1,88 @@ +# Accessibility Audit + + +name: accessibility-audit +version: 1 +mode: oneshot +requires_project: false +artifact_dir: null + + + +Scan the UI layer for accessibility issues and produce a prioritized remediation +list. Oneshot — report only, no code changes. + + + + +## 1. Identify the UI stack + +- React, Vue, Svelte, Angular, plain HTML, or something else? +- Which files contain user-facing templates? (e.g. `src/components/**/*.tsx`, + `pages/**/*.vue`, `templates/**/*.html`). + +If the project has no UI layer (library, CLI, backend), say so and stop. + +## 2. Run available a11y tooling + +Prefer automated tools when installed: +- React: `@axe-core/react`, `eslint-plugin-jsx-a11y`. +- Vue: `eslint-plugin-vuejs-accessibility`. +- Any: `pa11y` or `axe` against a running dev server. + +If nothing's installed, do a **static audit**: grep for the common +violations listed below. + +## 3. Check the WCAG essentials + +For each component/page: + +1. **Images** without `alt`. +2. **Buttons** that are `
` instead of real `