@haus-tech/haus-workflow 0.16.3 → 0.17.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.17.1](https://github.com/WeAreHausTech/haus-workflow/compare/v0.17.0...v0.17.1) (2026-06-09)
4
+
5
+ ### Bug Fixes
6
+
7
+ - **ci:** fixture-sync push when PR branch already exists ([#82](https://github.com/WeAreHausTech/haus-workflow/issues/82)) ([db0273c](https://github.com/WeAreHausTech/haus-workflow/commit/db0273cec86712b44fad234272ad5f1de353bd25))
8
+
9
+ ## [0.17.0](https://github.com/WeAreHausTech/haus-workflow/compare/v0.16.3...v0.17.0) (2026-06-09)
10
+
11
+ ### Features
12
+
13
+ - **catalog:** support curated superpowers skills and commands ([#80](https://github.com/WeAreHausTech/haus-workflow/issues/80)) ([2e49c80](https://github.com/WeAreHausTech/haus-workflow/commit/2e49c80d6780e8ff753536f2d4042b4ce7fa2ae8))
14
+
3
15
  ## [0.16.3](https://github.com/WeAreHausTech/haus-workflow/compare/v0.16.2...v0.16.3) (2026-06-09)
4
16
 
5
17
  ### Bug Fixes
package/dist/cli.js CHANGED
@@ -137,7 +137,7 @@ async function syncRemoteCatalog() {
137
137
  let unchanged = 0;
138
138
  const failed = [];
139
139
  for (const item of items) {
140
- if (item.type !== "skill" && item.type !== "agent" && item.type !== "template" || !item.path)
140
+ if (item.type !== "skill" && item.type !== "agent" && item.type !== "template" && item.type !== "command" || !item.path)
141
141
  continue;
142
142
  if (!isSafeCatalogPath(item.path)) {
143
143
  warn(`Skipping ${item.id}: invalid path "${item.path}"`);
@@ -1240,7 +1240,7 @@ async function writeClaudeFiles(root, dryRun, selectedIds, opts = {}) {
1240
1240
  }
1241
1241
  }
1242
1242
  const sourcePath = catalogItemContentPath(contentRoot, manifestItem);
1243
- const target = item.type === "agent" ? "agents" : item.type === "template" ? "templates" : "skills";
1243
+ const target = item.type === "agent" ? "agents" : item.type === "template" ? "templates" : item.type === "command" ? "commands" : "skills";
1244
1244
  const destination = claudePath(root, target, path12.basename(sourcePath));
1245
1245
  if (await fs10.pathExists(sourcePath)) {
1246
1246
  if (dryRun) {
@@ -1549,7 +1549,8 @@ var validation_rules_default = {
1549
1549
  "baseline",
1550
1550
  "project-instructions"
1551
1551
  ],
1552
- patternTagSuffixes: ["-patterns"]
1552
+ patternTagSuffixes: ["-patterns"],
1553
+ skillSectionExemptSources: ["curated"]
1553
1554
  };
1554
1555
 
1555
1556
  // src/catalog/validation-rules.ts
@@ -1557,6 +1558,10 @@ var toRegExp = (r) => new RegExp(r.source, r.flags);
1557
1558
  var FORBIDDEN_TAGS = validation_rules_default.forbiddenTags;
1558
1559
  var BANNED_AGENT_PHRASES = validation_rules_default.bannedAgentPhrases;
1559
1560
  var REQUIRED_SKILL_SECTIONS = validation_rules_default.requiredSkillSections;
1561
+ var SKILL_SECTION_EXEMPT_SOURCES = validation_rules_default.skillSectionExemptSources;
1562
+ function isVerbatimSuperpowersMarkdownPath(rel) {
1563
+ return rel.replace(/\\/g, "/").includes("/superpowers/");
1564
+ }
1560
1565
  var REQUIRED_AGENT_SECTIONS = validation_rules_default.requiredAgentSections;
1561
1566
  var RISKY_INSTALL_PATTERNS = validation_rules_default.riskyInstallPatterns.map(toRegExp);
1562
1567
  var ALLOWED_NPX_PATTERN = toRegExp(validation_rules_default.allowedNpxPattern);
@@ -4130,7 +4135,7 @@ function auditManifestStructure(items) {
4130
4135
  } else {
4131
4136
  seenIds.set(item.id, i);
4132
4137
  }
4133
- if (item.type === "skill" || item.type === "agent" || item.type === "template") {
4138
+ if (item.type === "skill" || item.type === "agent" || item.type === "template" || item.type === "command") {
4134
4139
  if (!item.path) {
4135
4140
  failures.push(`${item.id}: missing path`);
4136
4141
  } else {
@@ -4168,8 +4173,11 @@ function auditShippedFiles(manifestDir, items) {
4168
4173
  continue;
4169
4174
  }
4170
4175
  const text = fs18.readFileSync(skillMd, "utf8");
4171
- for (const section of REQUIRED_SKILL_SECTIONS) {
4172
- if (!text.includes(section)) failures.push(`${item.id}: SKILL.md missing ${section}`);
4176
+ const skillSectionExempt = SKILL_SECTION_EXEMPT_SOURCES.includes(item.source) && item.whenToUse && item.whenNotToUse;
4177
+ if (!skillSectionExempt) {
4178
+ for (const section of REQUIRED_SKILL_SECTIONS) {
4179
+ if (!text.includes(section)) failures.push(`${item.id}: SKILL.md missing ${section}`);
4180
+ }
4173
4181
  }
4174
4182
  failures.push(
4175
4183
  ...auditForbiddenTagsInText(text, `${item.id}: ${path26.relative(manifestDir, skillMd)}`)
@@ -4198,6 +4206,12 @@ function auditShippedFiles(manifestDir, items) {
4198
4206
  continue;
4199
4207
  }
4200
4208
  failures.push(...auditTemplateContent(manifestDir, absPath, item.id));
4209
+ } else if (item.type === "command") {
4210
+ if (!fs18.existsSync(absPath)) {
4211
+ failures.push(`${item.id}: missing command file ${item.path}`);
4212
+ continue;
4213
+ }
4214
+ failures.push(...auditTemplateContent(manifestDir, absPath, item.id));
4201
4215
  }
4202
4216
  }
4203
4217
  return failures;
@@ -4224,13 +4238,14 @@ function auditTemplateContent(manifestDir, absPath, itemId) {
4224
4238
  }
4225
4239
  function auditMarkdownContent(manifestDir) {
4226
4240
  const failures = [];
4227
- const dirs = ["skills", "agents", "templates"];
4241
+ const dirs = ["skills", "agents", "templates", "commands"];
4228
4242
  for (const dir of dirs) {
4229
4243
  const abs = path26.join(manifestDir, dir);
4230
4244
  if (!fs18.existsSync(abs)) continue;
4231
4245
  walkMd(abs, (file) => {
4232
4246
  const text = fs18.readFileSync(file, "utf8");
4233
4247
  const rel = path26.relative(manifestDir, file);
4248
+ if (isVerbatimSuperpowersMarkdownPath(rel)) return;
4234
4249
  const lines = text.split(/\r?\n/);
4235
4250
  for (let i = 0; i < lines.length; i++) {
4236
4251
  const line2 = lines[i] ?? "";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.4.2",
2
+ "version": "2.5.0",
3
3
  "items": [
4
4
  {
5
5
  "id": "haus.nextjs-patterns",
@@ -751,37 +751,6 @@
751
751
  "reviewStatus": "approved",
752
752
  "riskLevel": "low"
753
753
  },
754
- {
755
- "id": "haus.code-reviewer-agent",
756
- "version": "1.0.0",
757
- "source": "haus",
758
- "type": "agent",
759
- "path": "agents/haus-owned/code-reviewer.md",
760
- "title": "Haus code reviewer agent",
761
- "tags": ["review", "quality", "security"],
762
- "repoRoles": [],
763
- "requiresAny": [],
764
- "tokenEstimate": 1400,
765
- "installMode": "copy-selected",
766
- "default": true,
767
- "reviewStatus": "approved",
768
- "riskLevel": "low"
769
- },
770
- {
771
- "id": "haus.test-reviewer-agent",
772
- "version": "1.0.0",
773
- "source": "haus",
774
- "type": "agent",
775
- "path": "agents/haus-owned/test-reviewer.md",
776
- "title": "Haus test reviewer agent",
777
- "tags": ["review", "testing", "quality"],
778
- "repoRoles": [],
779
- "requiresAny": [],
780
- "tokenEstimate": 1400,
781
- "installMode": "copy-selected",
782
- "reviewStatus": "approved",
783
- "riskLevel": "low"
784
- },
785
754
  {
786
755
  "id": "haus.security-reviewer-agent",
787
756
  "version": "1.0.0",
@@ -812,21 +781,6 @@
812
781
  "reviewStatus": "approved",
813
782
  "riskLevel": "low"
814
783
  },
815
- {
816
- "id": "haus.planner-agent",
817
- "version": "1.0.0",
818
- "source": "haus",
819
- "type": "agent",
820
- "path": "agents/haus-owned/planner.md",
821
- "title": "Haus planner agent",
822
- "tags": ["workflow", "quality", "review"],
823
- "repoRoles": [],
824
- "requiresAny": [],
825
- "tokenEstimate": 1200,
826
- "installMode": "copy-selected",
827
- "reviewStatus": "approved",
828
- "riskLevel": "low"
829
- },
830
784
  {
831
785
  "id": "haus.vendure-app-patterns",
832
786
  "version": "1.0.0",
@@ -1637,33 +1591,6 @@
1637
1591
  "reviewStatus": "approved",
1638
1592
  "riskLevel": "low"
1639
1593
  },
1640
- {
1641
- "id": "haus.production-readiness-review",
1642
- "version": "1.0.0",
1643
- "source": "haus",
1644
- "type": "skill",
1645
- "path": "skills/haus-owned/general/production-readiness-review",
1646
- "title": "Haus production readiness review",
1647
- "purpose": "Route release readiness checks with evidence-based gaps and rollback notes.",
1648
- "whenToUse": "Use when the user asks for ship checklist, release risk review, or go-live readiness on a defined change set.",
1649
- "whenNotToUse": "Do not use for pure feature design with no release surface or undefined release boundary.",
1650
- "references": [
1651
- "references/conventions.md",
1652
- "references/signals.md",
1653
- "references/evidence.md",
1654
- "references/rollback.md"
1655
- ],
1656
- "tokenBudget": 800,
1657
- "tags": ["quality", "security", "review"],
1658
- "repoRoles": [],
1659
- "requiresAny": [],
1660
- "tokenEstimate": 1200,
1661
- "installMode": "copy-selected",
1662
- "ecosystem": "production",
1663
- "default": true,
1664
- "reviewStatus": "approved",
1665
- "riskLevel": "low"
1666
- },
1667
1594
  {
1668
1595
  "id": "haus.agentic-workflow-standard",
1669
1596
  "version": "1.0.2",
@@ -1720,6 +1647,510 @@
1720
1647
  "default": false,
1721
1648
  "reviewStatus": "approved",
1722
1649
  "riskLevel": "low"
1650
+ },
1651
+ {
1652
+ "id": "haus.superpowers-brainstorming",
1653
+ "version": "1.0.1",
1654
+ "source": "curated",
1655
+ "type": "skill",
1656
+ "path": "skills/superpowers/brainstorming",
1657
+ "title": "Superpowers Brainstorming",
1658
+ "purpose": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.",
1659
+ "whenToUse": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.",
1660
+ "whenNotToUse": "Do not use for mechanical edits, bug fixes with known cause, or read-only questions.",
1661
+ "tags": ["workflow", "core-skill"],
1662
+ "repoRoles": [],
1663
+ "tokenEstimate": 3023,
1664
+ "installMode": "copy-selected",
1665
+ "default": true,
1666
+ "reviewStatus": "approved",
1667
+ "riskLevel": "low",
1668
+ "useMode": "copy",
1669
+ "license": "MIT",
1670
+ "licenseConfidence": "high",
1671
+ "originSourceId": "superpowers-pcvelz",
1672
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/brainstorming",
1673
+ "ecosystem": "superpowers"
1674
+ },
1675
+ {
1676
+ "id": "haus.superpowers-checking-gates",
1677
+ "version": "1.0.0",
1678
+ "source": "curated",
1679
+ "type": "skill",
1680
+ "path": "skills/superpowers/checking-gates",
1681
+ "title": "Superpowers Checking Gates",
1682
+ "purpose": "Use when picking up a user-gate task OR when a hook demands re-validation. Runs the \"do I know HOW?\" self-check; if the HOW is clear, executes the verification and posts evidence; if not, hands off to specifying-gates. Kept deliberately separate from executing-plans so that without the opt-in hook, the main flow stays untouched.",
1683
+ "whenToUse": "Use when picking up a user-gate task OR when a hook demands re-validation. Runs the \"do I know HOW?\" self-check; if the HOW is clear, executes the verification and posts evidence; if not, hands off to specifying-gates. Kept deliberately separate from executing-plans so that without the opt-in hook, the main flow stays untouched.",
1684
+ "whenNotToUse": "Do not use when the user-gate hook is not registered or the task is not user-gated.",
1685
+ "tags": ["workflow", "workflow-skill"],
1686
+ "repoRoles": [],
1687
+ "tokenEstimate": 1142,
1688
+ "installMode": "copy-selected",
1689
+ "default": true,
1690
+ "reviewStatus": "approved",
1691
+ "riskLevel": "low",
1692
+ "useMode": "copy",
1693
+ "license": "MIT",
1694
+ "licenseConfidence": "high",
1695
+ "originSourceId": "superpowers-pcvelz",
1696
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/checking-gates",
1697
+ "ecosystem": "superpowers"
1698
+ },
1699
+ {
1700
+ "id": "haus.superpowers-dispatching-parallel-agents",
1701
+ "version": "1.0.0",
1702
+ "source": "curated",
1703
+ "type": "skill",
1704
+ "path": "skills/superpowers/dispatching-parallel-agents",
1705
+ "title": "Superpowers Dispatching Parallel Agents",
1706
+ "purpose": "Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies",
1707
+ "whenToUse": "Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies",
1708
+ "whenNotToUse": "Do not use when tasks share state or must run sequentially.",
1709
+ "tags": ["workflow", "workflow-skill"],
1710
+ "repoRoles": [],
1711
+ "tokenEstimate": 1884,
1712
+ "installMode": "copy-selected",
1713
+ "default": true,
1714
+ "reviewStatus": "approved",
1715
+ "riskLevel": "low",
1716
+ "useMode": "copy",
1717
+ "license": "MIT",
1718
+ "licenseConfidence": "high",
1719
+ "originSourceId": "superpowers-pcvelz",
1720
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/dispatching-parallel-agents",
1721
+ "ecosystem": "superpowers"
1722
+ },
1723
+ {
1724
+ "id": "haus.superpowers-executing-plans",
1725
+ "version": "1.0.0",
1726
+ "source": "curated",
1727
+ "type": "skill",
1728
+ "path": "skills/superpowers/executing-plans",
1729
+ "title": "Superpowers Executing Plans",
1730
+ "purpose": "Use when you have a written implementation plan to execute in a separate session with review checkpoints",
1731
+ "whenToUse": "Use when you have a written implementation plan to execute in a separate session with review checkpoints",
1732
+ "whenNotToUse": "Do not use before a written plan exists or for single-step trivial changes.",
1733
+ "tags": ["workflow", "core-skill"],
1734
+ "repoRoles": [],
1735
+ "tokenEstimate": 1433,
1736
+ "installMode": "copy-selected",
1737
+ "default": true,
1738
+ "reviewStatus": "approved",
1739
+ "riskLevel": "low",
1740
+ "useMode": "copy",
1741
+ "license": "MIT",
1742
+ "licenseConfidence": "high",
1743
+ "originSourceId": "superpowers-pcvelz",
1744
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/executing-plans",
1745
+ "ecosystem": "superpowers"
1746
+ },
1747
+ {
1748
+ "id": "haus.superpowers-finishing-a-development-branch",
1749
+ "version": "1.0.0",
1750
+ "source": "curated",
1751
+ "type": "skill",
1752
+ "path": "skills/superpowers/finishing-a-development-branch",
1753
+ "title": "Superpowers Finishing A Development Branch",
1754
+ "purpose": "Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup",
1755
+ "whenToUse": "Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup",
1756
+ "whenNotToUse": "Do not use while implementation or verification is still incomplete.",
1757
+ "tags": ["workflow", "quality"],
1758
+ "repoRoles": [],
1759
+ "tokenEstimate": 1766,
1760
+ "installMode": "copy-selected",
1761
+ "default": true,
1762
+ "reviewStatus": "approved",
1763
+ "riskLevel": "low",
1764
+ "useMode": "copy",
1765
+ "license": "MIT",
1766
+ "licenseConfidence": "high",
1767
+ "originSourceId": "superpowers-pcvelz",
1768
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/finishing-a-development-branch",
1769
+ "ecosystem": "superpowers"
1770
+ },
1771
+ {
1772
+ "id": "haus.superpowers-receiving-code-review",
1773
+ "version": "1.0.0",
1774
+ "source": "curated",
1775
+ "type": "skill",
1776
+ "path": "skills/superpowers/receiving-code-review",
1777
+ "title": "Superpowers Receiving Code Review",
1778
+ "purpose": "Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation",
1779
+ "whenToUse": "Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation",
1780
+ "whenNotToUse": "Do not use to blindly apply feedback without technical verification.",
1781
+ "tags": ["review", "review-skill"],
1782
+ "repoRoles": [],
1783
+ "tokenEstimate": 1579,
1784
+ "installMode": "copy-selected",
1785
+ "default": true,
1786
+ "reviewStatus": "approved",
1787
+ "riskLevel": "low",
1788
+ "useMode": "copy",
1789
+ "license": "MIT",
1790
+ "licenseConfidence": "high",
1791
+ "originSourceId": "superpowers-pcvelz",
1792
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/receiving-code-review",
1793
+ "ecosystem": "superpowers"
1794
+ },
1795
+ {
1796
+ "id": "haus.superpowers-requesting-code-review",
1797
+ "version": "1.0.0",
1798
+ "source": "curated",
1799
+ "type": "skill",
1800
+ "path": "skills/superpowers/requesting-code-review",
1801
+ "title": "Superpowers Requesting Code Review",
1802
+ "purpose": "Use when completing tasks, implementing major features, or before merging to verify work meets requirements",
1803
+ "whenToUse": "Use when completing tasks, implementing major features, or before merging to verify work meets requirements",
1804
+ "whenNotToUse": "Do not use for trivial one-line fixes with no review surface.",
1805
+ "tags": ["review", "review-skill"],
1806
+ "repoRoles": [],
1807
+ "tokenEstimate": 702,
1808
+ "installMode": "copy-selected",
1809
+ "default": true,
1810
+ "reviewStatus": "approved",
1811
+ "riskLevel": "low",
1812
+ "useMode": "copy",
1813
+ "license": "MIT",
1814
+ "licenseConfidence": "high",
1815
+ "originSourceId": "superpowers-pcvelz",
1816
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/requesting-code-review",
1817
+ "ecosystem": "superpowers"
1818
+ },
1819
+ {
1820
+ "id": "haus.superpowers-specifying-gates",
1821
+ "version": "1.0.0",
1822
+ "source": "curated",
1823
+ "type": "skill",
1824
+ "path": "skills/superpowers/specifying-gates",
1825
+ "title": "Superpowers Specifying Gates",
1826
+ "purpose": "Use when a user-gate task has requiresUserSpecification=true OR the agent's \"do I know HOW?\" self-check returns no. Locks down verification mechanics through a short AskUserQuestion sequence and writes the answers back into the task's metadata. Does NOT run the verification itself.",
1827
+ "whenToUse": "Use when a user-gate task has requiresUserSpecification=true OR the agent's \"do I know HOW?\" self-check returns no. Locks down verification mechanics through a short AskUserQuestion sequence and writes the answers back into the task's metadata. Does NOT run the verification itself.",
1828
+ "whenNotToUse": "Do not use when verification mechanics are already specified or hook is off.",
1829
+ "tags": ["workflow", "workflow-skill"],
1830
+ "repoRoles": [],
1831
+ "tokenEstimate": 1724,
1832
+ "installMode": "copy-selected",
1833
+ "default": true,
1834
+ "reviewStatus": "approved",
1835
+ "riskLevel": "low",
1836
+ "useMode": "copy",
1837
+ "license": "MIT",
1838
+ "licenseConfidence": "high",
1839
+ "originSourceId": "superpowers-pcvelz",
1840
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/specifying-gates",
1841
+ "ecosystem": "superpowers"
1842
+ },
1843
+ {
1844
+ "id": "haus.superpowers-subagent-driven-development",
1845
+ "version": "1.0.0",
1846
+ "source": "curated",
1847
+ "type": "skill",
1848
+ "path": "skills/superpowers/subagent-driven-development",
1849
+ "title": "Superpowers Subagent Driven Development",
1850
+ "purpose": "Use when executing implementation plans with independent tasks in the current session",
1851
+ "whenToUse": "Use when executing implementation plans with independent tasks in the current session",
1852
+ "whenNotToUse": "Do not use for tightly coupled sequential work or when subagents are unavailable.",
1853
+ "tags": ["workflow", "workflow-skill"],
1854
+ "repoRoles": [],
1855
+ "tokenEstimate": 3491,
1856
+ "installMode": "copy-selected",
1857
+ "default": true,
1858
+ "reviewStatus": "approved",
1859
+ "riskLevel": "low",
1860
+ "useMode": "copy",
1861
+ "license": "MIT",
1862
+ "licenseConfidence": "high",
1863
+ "originSourceId": "superpowers-pcvelz",
1864
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/subagent-driven-development",
1865
+ "ecosystem": "superpowers"
1866
+ },
1867
+ {
1868
+ "id": "haus.superpowers-systematic-debugging",
1869
+ "version": "1.0.0",
1870
+ "source": "curated",
1871
+ "type": "skill",
1872
+ "path": "skills/superpowers/systematic-debugging",
1873
+ "title": "Superpowers Systematic Debugging",
1874
+ "purpose": "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes",
1875
+ "whenToUse": "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes",
1876
+ "whenNotToUse": "Do not use to guess fixes without reproducing or investigating the failure.",
1877
+ "tags": ["workflow", "quality"],
1878
+ "repoRoles": [],
1879
+ "tokenEstimate": 2480,
1880
+ "installMode": "copy-selected",
1881
+ "default": true,
1882
+ "reviewStatus": "approved",
1883
+ "riskLevel": "low",
1884
+ "useMode": "copy",
1885
+ "license": "MIT",
1886
+ "licenseConfidence": "high",
1887
+ "originSourceId": "superpowers-pcvelz",
1888
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/systematic-debugging",
1889
+ "ecosystem": "superpowers"
1890
+ },
1891
+ {
1892
+ "id": "haus.superpowers-test-driven-development",
1893
+ "version": "1.0.0",
1894
+ "source": "curated",
1895
+ "type": "skill",
1896
+ "path": "skills/superpowers/test-driven-development",
1897
+ "title": "Superpowers Test Driven Development",
1898
+ "purpose": "Use when implementing any feature or bugfix, before writing implementation code",
1899
+ "whenToUse": "Use when implementing any feature or bugfix, before writing implementation code",
1900
+ "whenNotToUse": "Do not use for exploratory spikes, docs-only changes, or throwaway prototypes.",
1901
+ "tags": ["testing", "workflow"],
1902
+ "repoRoles": [],
1903
+ "tokenEstimate": 2467,
1904
+ "installMode": "copy-selected",
1905
+ "default": true,
1906
+ "reviewStatus": "approved",
1907
+ "riskLevel": "low",
1908
+ "useMode": "copy",
1909
+ "license": "MIT",
1910
+ "licenseConfidence": "high",
1911
+ "originSourceId": "superpowers-pcvelz",
1912
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/test-driven-development",
1913
+ "ecosystem": "superpowers"
1914
+ },
1915
+ {
1916
+ "id": "haus.superpowers-using-git-worktrees",
1917
+ "version": "1.0.0",
1918
+ "source": "curated",
1919
+ "type": "skill",
1920
+ "path": "skills/superpowers/using-git-worktrees",
1921
+ "title": "Superpowers Using Git Worktrees",
1922
+ "purpose": "Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback",
1923
+ "whenToUse": "Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback",
1924
+ "whenNotToUse": "Do not use when current workspace isolation is already sufficient.",
1925
+ "tags": ["workflow", "workflow-skill"],
1926
+ "repoRoles": [],
1927
+ "tokenEstimate": 1996,
1928
+ "installMode": "copy-selected",
1929
+ "default": true,
1930
+ "reviewStatus": "approved",
1931
+ "riskLevel": "low",
1932
+ "useMode": "copy",
1933
+ "license": "MIT",
1934
+ "licenseConfidence": "high",
1935
+ "originSourceId": "superpowers-pcvelz",
1936
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/using-git-worktrees",
1937
+ "ecosystem": "superpowers"
1938
+ },
1939
+ {
1940
+ "id": "haus.superpowers-using-superpowers",
1941
+ "version": "1.0.0",
1942
+ "source": "curated",
1943
+ "type": "skill",
1944
+ "path": "skills/superpowers/using-superpowers",
1945
+ "title": "Superpowers Using Superpowers",
1946
+ "purpose": "Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions",
1947
+ "whenToUse": "Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions",
1948
+ "whenNotToUse": "Do not skip when any skill might apply — this establishes the skill workflow.",
1949
+ "tags": ["workflow", "core-skill"],
1950
+ "repoRoles": [],
1951
+ "tokenEstimate": 1362,
1952
+ "installMode": "copy-selected",
1953
+ "default": true,
1954
+ "reviewStatus": "approved",
1955
+ "riskLevel": "low",
1956
+ "useMode": "copy",
1957
+ "license": "MIT",
1958
+ "licenseConfidence": "high",
1959
+ "originSourceId": "superpowers-pcvelz",
1960
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/using-superpowers",
1961
+ "ecosystem": "superpowers"
1962
+ },
1963
+ {
1964
+ "id": "haus.superpowers-verification-before-completion",
1965
+ "version": "1.0.0",
1966
+ "source": "curated",
1967
+ "type": "skill",
1968
+ "path": "skills/superpowers/verification-before-completion",
1969
+ "title": "Superpowers Verification Before Completion",
1970
+ "purpose": "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always",
1971
+ "whenToUse": "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always",
1972
+ "whenNotToUse": "Do not use to claim success before running the relevant verification commands.",
1973
+ "tags": ["quality", "workflow"],
1974
+ "repoRoles": [],
1975
+ "tokenEstimate": 1051,
1976
+ "installMode": "copy-selected",
1977
+ "default": true,
1978
+ "reviewStatus": "approved",
1979
+ "riskLevel": "low",
1980
+ "useMode": "copy",
1981
+ "license": "MIT",
1982
+ "licenseConfidence": "high",
1983
+ "originSourceId": "superpowers-pcvelz",
1984
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/verification-before-completion",
1985
+ "ecosystem": "superpowers"
1986
+ },
1987
+ {
1988
+ "id": "haus.superpowers-writing-plans",
1989
+ "version": "1.0.0",
1990
+ "source": "curated",
1991
+ "type": "skill",
1992
+ "path": "skills/superpowers/writing-plans",
1993
+ "title": "Superpowers Writing Plans",
1994
+ "purpose": "Use when you have a spec or requirements for a multi-step task, before touching code",
1995
+ "whenToUse": "Use when you have a spec or requirements for a multi-step task, before touching code",
1996
+ "whenNotToUse": "Do not use for single-step tasks that need no multi-step plan.",
1997
+ "tags": ["workflow", "core-skill"],
1998
+ "repoRoles": [],
1999
+ "tokenEstimate": 5277,
2000
+ "installMode": "copy-selected",
2001
+ "default": true,
2002
+ "reviewStatus": "approved",
2003
+ "riskLevel": "low",
2004
+ "useMode": "copy",
2005
+ "license": "MIT",
2006
+ "licenseConfidence": "high",
2007
+ "originSourceId": "superpowers-pcvelz",
2008
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/writing-plans",
2009
+ "ecosystem": "superpowers"
2010
+ },
2011
+ {
2012
+ "id": "haus.superpowers-writing-skills",
2013
+ "version": "1.0.0",
2014
+ "source": "curated",
2015
+ "type": "skill",
2016
+ "path": "skills/superpowers/writing-skills",
2017
+ "title": "Superpowers Writing Skills",
2018
+ "purpose": "Use when creating new skills, editing existing skills, or verifying skills work before deployment",
2019
+ "whenToUse": "Use when creating new skills, editing existing skills, or verifying skills work before deployment",
2020
+ "whenNotToUse": "Do not use for routine code changes unrelated to skill authoring.",
2021
+ "tags": ["workflow", "workflow-skill"],
2022
+ "repoRoles": [],
2023
+ "tokenEstimate": 5669,
2024
+ "installMode": "copy-selected",
2025
+ "default": true,
2026
+ "reviewStatus": "approved",
2027
+ "riskLevel": "low",
2028
+ "useMode": "copy",
2029
+ "license": "MIT",
2030
+ "licenseConfidence": "high",
2031
+ "originSourceId": "superpowers-pcvelz",
2032
+ "originUrl": "https://github.com/pcvelz/superpowers/tree/bd000c6ec1df53449a74397f55305b22802b9a2b/skills/writing-skills",
2033
+ "ecosystem": "superpowers"
2034
+ },
2035
+ {
2036
+ "id": "haus.superpowers-brainstorm",
2037
+ "version": "1.0.0",
2038
+ "source": "curated",
2039
+ "type": "command",
2040
+ "path": "commands/superpowers/brainstorm.md",
2041
+ "title": "Superpowers Brainstorm",
2042
+ "purpose": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores requirements and design before implementation.",
2043
+ "whenToUse": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores requirements and design before implementation.",
2044
+ "whenNotToUse": "Do not use for mechanical edits or read-only questions.",
2045
+ "tags": ["workflow", "core-skill"],
2046
+ "repoRoles": [],
2047
+ "tokenEstimate": 77,
2048
+ "installMode": "copy-selected",
2049
+ "default": true,
2050
+ "reviewStatus": "approved",
2051
+ "riskLevel": "low",
2052
+ "useMode": "copy",
2053
+ "license": "MIT",
2054
+ "licenseConfidence": "high",
2055
+ "originSourceId": "superpowers-pcvelz",
2056
+ "originUrl": "https://github.com/pcvelz/superpowers/blob/bd000c6ec1df53449a74397f55305b22802b9a2b/commands/brainstorm.md",
2057
+ "ecosystem": "superpowers"
2058
+ },
2059
+ {
2060
+ "id": "haus.superpowers-execute-plan",
2061
+ "version": "1.0.0",
2062
+ "source": "curated",
2063
+ "type": "command",
2064
+ "path": "commands/superpowers/execute-plan.md",
2065
+ "title": "Superpowers Execute Plan",
2066
+ "purpose": "Execute plan in batches with review checkpoints",
2067
+ "whenToUse": "Execute plan in batches with review checkpoints",
2068
+ "whenNotToUse": "Do not use before a written plan exists.",
2069
+ "tags": ["workflow", "workflow-skill"],
2070
+ "repoRoles": [],
2071
+ "tokenEstimate": 43,
2072
+ "installMode": "copy-selected",
2073
+ "default": true,
2074
+ "reviewStatus": "approved",
2075
+ "riskLevel": "low",
2076
+ "useMode": "copy",
2077
+ "license": "MIT",
2078
+ "licenseConfidence": "high",
2079
+ "originSourceId": "superpowers-pcvelz",
2080
+ "originUrl": "https://github.com/pcvelz/superpowers/blob/bd000c6ec1df53449a74397f55305b22802b9a2b/commands/execute-plan.md",
2081
+ "ecosystem": "superpowers"
2082
+ },
2083
+ {
2084
+ "id": "haus.superpowers-gate-check",
2085
+ "version": "1.0.0",
2086
+ "source": "curated",
2087
+ "type": "command",
2088
+ "path": "commands/superpowers/gate-check.md",
2089
+ "title": "Superpowers Gate Check",
2090
+ "purpose": "Run the 'do I know HOW?' self-check on a user-gate task and either execute its verification with captured evidence, or hand off to /specify-gate when the HOW is ambiguous. Dormant unless the user-gate opt-in hook is registered.",
2091
+ "whenToUse": "Run the 'do I know HOW?' self-check on a user-gate task and either execute its verification with captured evidence, or hand off to /specify-gate when the HOW is ambiguous. Dormant unless the user-gate opt-in hook is registered.",
2092
+ "whenNotToUse": "Do not use when the user-gate hook is not registered.",
2093
+ "tags": ["workflow", "workflow-skill"],
2094
+ "repoRoles": [],
2095
+ "tokenEstimate": 94,
2096
+ "installMode": "copy-selected",
2097
+ "default": true,
2098
+ "reviewStatus": "approved",
2099
+ "riskLevel": "low",
2100
+ "useMode": "copy",
2101
+ "license": "MIT",
2102
+ "licenseConfidence": "high",
2103
+ "originSourceId": "superpowers-pcvelz",
2104
+ "originUrl": "https://github.com/pcvelz/superpowers/blob/bd000c6ec1df53449a74397f55305b22802b9a2b/commands/gate-check.md",
2105
+ "ecosystem": "superpowers"
2106
+ },
2107
+ {
2108
+ "id": "haus.superpowers-specify-gate",
2109
+ "version": "1.0.0",
2110
+ "source": "curated",
2111
+ "type": "command",
2112
+ "path": "commands/superpowers/specify-gate.md",
2113
+ "title": "Superpowers Specify Gate",
2114
+ "purpose": "Lock down verification mechanics for a user-gate task whose HOW is ambiguous. Asks 4 short questions, writes the answers back into the task's metadata, then returns control to executing-plans. Dormant unless the user-gate hook is registered.",
2115
+ "whenToUse": "Lock down verification mechanics for a user-gate task whose HOW is ambiguous. Asks 4 short questions, writes the answers back into the task's metadata, then returns control to executing-plans. Dormant unless the user-gate hook is registered.",
2116
+ "whenNotToUse": "Do not use when verification mechanics are already clear.",
2117
+ "tags": ["workflow", "workflow-skill"],
2118
+ "repoRoles": [],
2119
+ "tokenEstimate": 98,
2120
+ "installMode": "copy-selected",
2121
+ "default": true,
2122
+ "reviewStatus": "approved",
2123
+ "riskLevel": "low",
2124
+ "useMode": "copy",
2125
+ "license": "MIT",
2126
+ "licenseConfidence": "high",
2127
+ "originSourceId": "superpowers-pcvelz",
2128
+ "originUrl": "https://github.com/pcvelz/superpowers/blob/bd000c6ec1df53449a74397f55305b22802b9a2b/commands/specify-gate.md",
2129
+ "ecosystem": "superpowers"
2130
+ },
2131
+ {
2132
+ "id": "haus.superpowers-write-plan",
2133
+ "version": "1.0.0",
2134
+ "source": "curated",
2135
+ "type": "command",
2136
+ "path": "commands/superpowers/write-plan.md",
2137
+ "title": "Superpowers Write Plan",
2138
+ "purpose": "Create detailed implementation plan with bite-sized tasks",
2139
+ "whenToUse": "Create detailed implementation plan with bite-sized tasks",
2140
+ "whenNotToUse": "Do not use for single-step tasks.",
2141
+ "tags": ["workflow", "core-skill"],
2142
+ "repoRoles": [],
2143
+ "tokenEstimate": 45,
2144
+ "installMode": "copy-selected",
2145
+ "default": true,
2146
+ "reviewStatus": "approved",
2147
+ "riskLevel": "low",
2148
+ "useMode": "copy",
2149
+ "license": "MIT",
2150
+ "licenseConfidence": "high",
2151
+ "originSourceId": "superpowers-pcvelz",
2152
+ "originUrl": "https://github.com/pcvelz/superpowers/blob/bd000c6ec1df53449a74397f55305b22802b9a2b/commands/write-plan.md",
2153
+ "ecosystem": "superpowers"
1723
2154
  }
1724
2155
  ]
1725
2156
  }
@@ -142,5 +142,6 @@
142
142
  "baseline",
143
143
  "project-instructions"
144
144
  ],
145
- "patternTagSuffixes": ["-patterns"]
145
+ "patternTagSuffixes": ["-patterns"],
146
+ "skillSectionExemptSources": ["curated"]
146
147
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haus-tech/haus-workflow",
3
- "version": "0.16.3",
3
+ "version": "0.17.1",
4
4
  "description": "Haus AI workflow CLI for Claude Code.",
5
5
  "type": "module",
6
6
  "bin": {