@fro.bot/systematic 2.15.0 → 2.17.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.
@@ -0,0 +1,108 @@
1
+ # Attributions
2
+
3
+ Systematic ships bundled skills and agents adapted from third-party sources. This file records the provenance, license, and pin point for each derivative work in the published package.
4
+
5
+ ## License Conventions
6
+
7
+ Bundled skills and agents may declare a `license:` field in their YAML frontmatter to communicate their licensing origin. When this field is **present**, it reflects the upstream source's license — these files are derivative works adapted from clearly identified projects. When this field is **absent**, the file is unspecified Systematic-originated content, not "proprietary" or "unlicensed." Treat absence as "no upstream attribution required," not as a missing legal notice.
8
+
9
+ The full repository license is in `LICENSE` at the repository root.
10
+
11
+ ## obra/superpowers — MIT
12
+
13
+ **Source repository:** [`obra/superpowers`](https://github.com/obra/superpowers)
14
+ **Pinned commit:** `f2cbfbefebbfef77321e4c9abc9e949826bea9d7` (tag `v5.1.0`)
15
+ **License:** MIT
16
+ **Copyright:** Copyright (c) 2025 Jesse Vincent
17
+ **Cloned at:** `.slim/clonedeps/repos/obra__superpowers/` (development inspection only; not shipped)
18
+
19
+ ### Files derived
20
+
21
+ The following bundled skills are adaptations of the upstream `obra/superpowers` source:
22
+
23
+ - `skills/test-driven-development/SKILL.md`
24
+ - `skills/test-driven-development/references/testing-anti-patterns.md`
25
+ - `skills/writing-skills/SKILL.md`
26
+ - `skills/writing-skills/references/persuasion-principles.md`
27
+ - `skills/writing-skills/references/graphviz-conventions.dot`
28
+ - `skills/writing-skills/references/testing-skills-with-subagents.md`
29
+ - `skills/writing-skills/references/examples/skill-testing-walkthrough.md` (renamed from upstream's `examples/CLAUDE_MD_TESTING.md`)
30
+ - `skills/writing-skills/scripts/render-graphs.js`
31
+
32
+ The two `SKILL.md` files (`skills/test-driven-development/SKILL.md` and `skills/writing-skills/SKILL.md`) carry `license: MIT` in their frontmatter to make the licensing inheritance explicit at the file level. The reference files, script, and graphviz definition inherit MIT licensing from this attribution file — frontmatter `license:` is a YAML-only convention.
33
+
34
+ ### Adaptation notes
35
+
36
+ - Adaptation was light: rewrote upstream's `@filename` force-load syntax to repo-local `references/` paths; rewrote `superpowers:<skill-name>` namespace cross-references to bare names (matching Systematic's runtime convention where the `systematic:` prefix is applied at load time); swapped `~/.claude/skills` path mentions to the canonical OpenCode path `~/.agents/skills/`; renamed the `CLAUDE_MD_TESTING.md` worked example to `skill-testing-walkthrough.md` to fit Systematic's descriptive-filename convention.
37
+ - Per-file copyright comments are deliberately omitted. Frontmatter `license: MIT` plus this attribution file constitute the full attribution surface.
38
+ - These files are load-bearing for `ce:work`, `ce:plan`, and `writing-systematic-skills` cross-references. Future contributors editing them should preserve the discipline-enforcing prose (e.g., the Iron Law, the rationalization tables, the RED-GREEN-REFACTOR cycle).
39
+
40
+ ### Future refresh discipline
41
+
42
+ Future upstream refreshes from `obra/superpowers` are explicit human-reviewed events, not automatic syncs. Bumping the pinned commit requires re-running the adaptation pass and re-validating the two-layer originality check for the Anthropic-distilled reference (see below). The pinned commit above is the stable source-of-truth for the currently-shipped versions.
43
+
44
+ ### Upstream MIT license text
45
+
46
+ The following is the full MIT license text from `obra/superpowers@v5.1.0`, reproduced here in compliance with the MIT license's notice requirements:
47
+
48
+ ```
49
+ MIT License
50
+
51
+ Copyright (c) 2025 Jesse Vincent
52
+
53
+ Permission is hereby granted, free of charge, to any person obtaining a copy
54
+ of this software and associated documentation files (the "Software"), to deal
55
+ in the Software without restriction, including without limitation the rights
56
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
57
+ copies of the Software, and to permit persons to whom the Software is
58
+ furnished to do so, subject to the following conditions:
59
+
60
+ The above copyright notice and this permission notice shall be included in all
61
+ copies or substantial portions of the Software.
62
+
63
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
64
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
65
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
66
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
67
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
68
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
69
+ SOFTWARE.
70
+ ```
71
+
72
+ ## Anthropic — CC-BY-4.0
73
+
74
+ **Source page:** [Skill authoring best practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices)
75
+ **License:** [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) (Creative Commons Attribution 4.0 International). The distilled file is a **modified derivative work** of Anthropic's source under the CC-BY-4.0 grant — reorganized by Systematic-relevant authoring tasks (per the Distillation Outline below) rather than mirroring the upstream document structure.
76
+ **Publisher:** Anthropic
77
+ **Retrieved:** 2026-05-17
78
+
79
+ ### File derived
80
+
81
+ - `skills/writing-skills/references/anthropic-best-practices-distilled.md`
82
+
83
+ This file is a distillation of Anthropic's published Skills authoring guidance. CC-BY-4.0 permits derivative works with attribution; this file's first paragraph carries the attribution line and source URL.
84
+
85
+ ### Distillation Outline
86
+
87
+ The distilled file is organized around 6 Systematic-relevant authoring tasks rather than mirroring upstream's section structure. This ordering and category list is the authoritative outline for any future re-distillation pass:
88
+
89
+ 1. **Triggering Skills Through Precise Descriptions** — when to use this skill / when not / triggering language patterns. Source signal: upstream's "Writing effective descriptions" section.
90
+ 2. **Organizing Content for Progressive Disclosure** — when to inline content vs split into `references/`, how to keep SKILL.md scannable, naming conventions. Source signal: upstream's "Progressive disclosure patterns" and "Avoid deeply nested references" sections.
91
+ 3. **Writing Concise Prose** — what to cut, what to keep, how to balance detail vs. agent context budget. Source signal: upstream's "Concise is key" + "Core principles" sections.
92
+ 4. **Matching Skill Rigidity to Task Variance** — when skills are prescriptive vs flexible, how to match skill rigidity to task variance. Source signal: upstream's "Set appropriate degrees of freedom" section.
93
+ 5. **Testing Skills Through Evaluation** — how to test that a skill changes agent behavior, evaluation patterns, falsifiable success criteria. Source signal: upstream's evaluation-related content (scattered, not in one named section).
94
+ 6. **Common Content Patterns and Naming** — naming conventions, file structure conventions, when to use code examples vs prose. Source signal: upstream's "Naming conventions" + "Skill structure" sections.
95
+
96
+ **Wholesale drops** (not included in the distillation): model-specific testing matrix; advanced executable-code patterns (PDF processing, BigQuery, DOCX); MCP-tool-specific references; package dependency guidance; runtime environment guidance; YAML technical reference notes; Anthropic compliance / checklist sections; marketing-card / cross-link footers.
97
+
98
+ **Acceptance bar applied at distillation time:**
99
+
100
+ - Size in 3500–6000 bytes.
101
+ - CC-BY-4.0 attribution + `docs.claude.com` link in first 3 lines.
102
+ - Zero 1:1 heading matches with upstream.
103
+ - Heading sequence does not map 1:1 to upstream order.
104
+ - No paragraph contains a >120-character contiguous substring shared with upstream.
105
+ - At least 2 Systematic-specific organizing categories introduced (4 confirmed: triggering, freedom, evaluation, patterns).
106
+ - At least 3 upstream topic areas dropped wholesale (8 confirmed; see drops above).
107
+
108
+ If Anthropic's source page is restructured or relocated after this attribution date, the retrieval date above plus the page title triangulate the canonical replacement.
package/dist/cli.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  findCommandsInDir,
7
7
  findSkillsInDir,
8
8
  getConfigPaths
9
- } from "./index-6xnehr4s.js";
9
+ } from "./index-f90kjf1c.js";
10
10
 
11
11
  // src/cli.ts
12
12
  import fs from "fs";
@@ -15831,11 +15831,13 @@ var BUNDLED_SKILL_NAMES = [
15831
15831
  "setup",
15832
15832
  "slfg",
15833
15833
  "test-browser",
15834
+ "test-driven-development",
15834
15835
  "test-xcode",
15835
15836
  "todo-create",
15836
15837
  "todo-resolve",
15837
15838
  "todo-triage",
15838
15839
  "using-systematic",
15840
+ "writing-skills",
15839
15841
  "writing-systematic-skills"
15840
15842
  ];
15841
15843
 
@@ -15961,53 +15963,63 @@ var BootstrapSchema = exports_external.object({
15961
15963
  description: "Bootstrap prompt configuration",
15962
15964
  examples: [{ enabled: true }, { enabled: false }]
15963
15965
  });
15964
- var SystematicConfigSchema = exports_external.object({
15965
- $schema: exports_external.string().url().optional().meta({
15966
- description: "JSON Schema URL for IDE autocomplete. The value is informational only \u2014 the loader does not fetch or validate against it. Add this to enable IDE schema activation and field-level autocomplete in editors that support JSON Schema (VSCode, Zed, IntelliJ).",
15967
- examples: [
15968
- "https://fro.bot/systematic/schemas/v2/systematic-config.schema.json"
15969
- ]
15970
- }),
15971
- agents: exports_external.object(Object.fromEntries([...BUNDLED_AGENT_NAMES, ...BUNDLED_AGENT_QUALIFIED_IDS].map((name) => [name, AgentOverlaySchema.optional()]))).strict().default({}).meta({
15972
- description: "Per-agent configuration overlays keyed by bundled agent name (bare or qualified category/name). Unknown keys are rejected with a Zod parse error. To overlay a user-defined agent, configure it through OpenCode-native config (.opencode/opencode.json) instead.",
15973
- examples: [
15974
- { "correctness-reviewer": { temperature: 0.1 } },
15975
- { "review/correctness-reviewer": { temperature: 0.1 } },
15976
- {}
15977
- ]
15978
- }),
15979
- categories: exports_external.record(exports_external.string(), CategoryOverlaySchema).default({}).meta({
15980
- description: "Per-category configuration overlays keyed by category name",
15981
- examples: [{ review: { model: "anthropic/claude-opus-4-7" } }, {}]
15982
- }),
15983
- disabled_skills: exports_external.array(exports_external.enum(BUNDLED_SKILL_NAMES)).default([]).meta({
15984
- description: "Array of bundled skill names to disable globally. Unknown skill names are rejected at parse time.",
15985
- examples: [["ce:plan", "ce:review"]]
15986
- }),
15987
- disabled_agents: exports_external.array(exports_external.enum([
15988
- ...BUNDLED_AGENT_NAMES,
15989
- ...BUNDLED_AGENT_QUALIFIED_IDS
15990
- ])).default([]).meta({
15991
- description: "Array of bundled agent names (bare or qualified category/name) to disable globally. Unknown agent names are rejected at parse time.",
15992
- examples: [
15993
- ["previous-comments-reviewer", "cli-readiness-reviewer"],
15994
- ["review/security-reviewer"]
15995
- ]
15996
- }),
15997
- disabled_commands: exports_external.array(exports_external.string()).default([]).meta({
15998
- description: "Array of command names to disable globally",
15999
- examples: [["deprecated-migration-helper"]]
16000
- }),
16001
- bootstrap: BootstrapSchema.default({ enabled: true }).meta({
16002
- description: "Bootstrap prompt configuration",
15966
+ function createSystematicConfigSchema(opts) {
15967
+ const { agentNames, qualifiedAgentIds, skillNames } = opts;
15968
+ return exports_external.object({
15969
+ $schema: exports_external.string().url().optional().meta({
15970
+ description: "JSON Schema URL for IDE autocomplete. The value is informational only \u2014 the loader does not fetch or validate against it. Add this to enable IDE schema activation and field-level autocomplete in editors that support JSON Schema (VSCode, Zed, IntelliJ).",
15971
+ examples: [
15972
+ "https://fro.bot/systematic/schemas/v2/systematic-config.schema.json"
15973
+ ]
15974
+ }),
15975
+ agents: exports_external.object(Object.fromEntries([...agentNames, ...qualifiedAgentIds].map((name) => [
15976
+ name,
15977
+ AgentOverlaySchema.optional()
15978
+ ]))).strict().default({}).meta({
15979
+ description: "Per-agent configuration overlays keyed by bundled agent name (bare or qualified category/name). Unknown keys are rejected with a Zod parse error. To overlay a user-defined agent, configure it through OpenCode-native config (.opencode/opencode.json) instead.",
15980
+ examples: [
15981
+ { "correctness-reviewer": { temperature: 0.1 } },
15982
+ { "review/correctness-reviewer": { temperature: 0.1 } },
15983
+ {}
15984
+ ]
15985
+ }),
15986
+ categories: exports_external.record(exports_external.string(), CategoryOverlaySchema).default({}).meta({
15987
+ description: "Per-category configuration overlays keyed by category name",
15988
+ examples: [{ review: { model: "anthropic/claude-opus-4-7" } }, {}]
15989
+ }),
15990
+ disabled_skills: exports_external.array(exports_external.enum(skillNames)).default([]).meta({
15991
+ description: "Array of bundled skill names to disable globally. Unknown skill names are rejected at parse time.",
15992
+ examples: [["ce:plan", "ce:review"]]
15993
+ }),
15994
+ disabled_agents: exports_external.array(exports_external.enum([...agentNames, ...qualifiedAgentIds])).default([]).meta({
15995
+ description: "Array of bundled agent names (bare or qualified category/name) to disable globally. Unknown agent names are rejected at parse time.",
15996
+ examples: [
15997
+ ["previous-comments-reviewer", "cli-readiness-reviewer"],
15998
+ ["review/security-reviewer"]
15999
+ ]
16000
+ }),
16001
+ disabled_commands: exports_external.array(exports_external.string()).default([]).meta({
16002
+ description: "Array of command names to disable globally",
16003
+ examples: [["deprecated-migration-helper"]]
16004
+ }),
16005
+ bootstrap: BootstrapSchema.default({ enabled: true }).meta({
16006
+ description: "Bootstrap prompt configuration",
16007
+ examples: [
16008
+ { enabled: true },
16009
+ { enabled: false, file: ".opencode/custom-prompt.md" }
16010
+ ]
16011
+ })
16012
+ }).strict().meta({
16013
+ description: "Systematic user configuration file (systematic.json / systematic.jsonc)",
16003
16014
  examples: [
16004
- { enabled: true },
16005
- { enabled: false, file: ".opencode/custom-prompt.md" }
16015
+ { disabled_skills: ["ce:plan"], bootstrap: { enabled: false } }
16006
16016
  ]
16007
- })
16008
- }).strict().meta({
16009
- description: "Systematic user configuration file (systematic.json / systematic.jsonc)",
16010
- examples: [{ disabled_skills: ["ce:plan"], bootstrap: { enabled: false } }]
16017
+ });
16018
+ }
16019
+ var SystematicConfigSchema = createSystematicConfigSchema({
16020
+ agentNames: BUNDLED_AGENT_NAMES,
16021
+ qualifiedAgentIds: BUNDLED_AGENT_QUALIFIED_IDS,
16022
+ skillNames: BUNDLED_SKILL_NAMES
16011
16023
  });
16012
16024
  var SECURITY_OVERLAY_FIELDS = [
16013
16025
  "model",
@@ -16064,21 +16076,55 @@ var TYPED_KEY_FIELDS = new Set([
16064
16076
  "disabled_agents",
16065
16077
  "disabled_skills"
16066
16078
  ]);
16067
- function enrichUnrecognizedKeyIssues(issues) {
16079
+ function formatUnrecognizedKeysHint(badKeys, topField) {
16080
+ if (badKeys.length === 0) {
16081
+ throw new Error("formatUnrecognizedKeysHint requires non-empty keys");
16082
+ }
16083
+ if (badKeys.length === 1) {
16084
+ return `Unrecognized key '${badKeys[0]}' in \`${topField}\`. This must be a bundled name. See ${TYPED_VALIDATION_DOCS_URL} for the full list of valid names.`;
16085
+ }
16086
+ const joined = badKeys.map((k) => `'${k}'`).join(", ");
16087
+ return `Unrecognized keys ${joined} in \`${topField}\`. These must be bundled names. See ${TYPED_VALIDATION_DOCS_URL} for the full list of valid names.`;
16088
+ }
16089
+ function enrichUnrecognizedKeyIssues(issues, rawInput) {
16068
16090
  return issues.map((issue2) => {
16069
- if (issue2.code !== "unrecognized_keys")
16070
- return issue2;
16071
16091
  const topField = issue2.path[0];
16072
16092
  if (typeof topField !== "string" || !TYPED_KEY_FIELDS.has(topField)) {
16073
16093
  return issue2;
16074
16094
  }
16075
- const badKey = issue2.message.match(/"([^"]+)"/)?.[1] ?? "";
16076
- const hint = badKey ? `Unrecognized key '${badKey}' in \`${topField}\`. This must be a bundled name. See ${TYPED_VALIDATION_DOCS_URL} for the full list of valid names.` : `${issue2.message} See ${TYPED_VALIDATION_DOCS_URL} for the full list of valid names.`;
16077
- return { ...issue2, message: hint };
16095
+ if (issue2.code === "unrecognized_keys") {
16096
+ const hint = formatUnrecognizedKeysHint(issue2.keys, topField);
16097
+ return { ...issue2, message: hint };
16098
+ }
16099
+ if (issue2.code === "invalid_value" && (topField === "disabled_agents" || topField === "disabled_skills")) {
16100
+ const badValue = resolveValueAtPath(rawInput, issue2.path);
16101
+ const kind = topField === "disabled_agents" ? "agent" : "skill";
16102
+ const hint = typeof badValue === "string" ? `Unrecognized ${kind} name '${badValue}' in \`${topField}\`. This must be a bundled name. See ${TYPED_VALIDATION_DOCS_URL} for the full list of valid names.` : `Invalid value in \`${topField}\`. See ${TYPED_VALIDATION_DOCS_URL} for the full list of valid names.`;
16103
+ return { ...issue2, message: hint };
16104
+ }
16105
+ return issue2;
16078
16106
  });
16079
16107
  }
16080
- function throwTopLevelConfigSchemaError(filePath, trust, rawIssues) {
16081
- const issues = enrichUnrecognizedKeyIssues(rawIssues);
16108
+ function resolveValueAtPath(root, path4) {
16109
+ let current = root;
16110
+ for (const segment of path4) {
16111
+ if (typeof segment === "symbol") {
16112
+ return;
16113
+ }
16114
+ if (typeof segment === "number") {
16115
+ if (!Array.isArray(current))
16116
+ return;
16117
+ current = current[segment];
16118
+ } else {
16119
+ if (!isRecord2(current))
16120
+ return;
16121
+ current = current[segment];
16122
+ }
16123
+ }
16124
+ return current;
16125
+ }
16126
+ function throwTopLevelConfigSchemaError(filePath, trust, rawIssues, rawInput) {
16127
+ const issues = enrichUnrecognizedKeyIssues(rawIssues, rawInput);
16082
16128
  const issue2 = issues[0];
16083
16129
  if (!issue2) {
16084
16130
  throw Object.assign(new Error(`Invalid Systematic config in ${filePath}: schema validation failed`), { _tag: "ConfigSchemaError", filePath, trust, issues });
@@ -16098,7 +16144,7 @@ function loadConfigSource(filePath, trust) {
16098
16144
  return null;
16099
16145
  const result = SystematicConfigSchema.safeParse(rawConfig);
16100
16146
  if (!result.success) {
16101
- throwTopLevelConfigSchemaError(filePath, trust, result.error.issues);
16147
+ throwTopLevelConfigSchemaError(filePath, trust, result.error.issues, rawConfig);
16102
16148
  }
16103
16149
  return { path: filePath, config: rawConfig, trust };
16104
16150
  }
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  loadConfig,
14
14
  loadConfigWithSources,
15
15
  parseFrontmatter
16
- } from "./index-6xnehr4s.js";
16
+ } from "./index-f90kjf1c.js";
17
17
 
18
18
  // src/index.ts
19
19
  import fs5 from "fs";
@@ -1,5 +1,5 @@
1
1
  export declare const BUNDLED_AGENT_NAMES: readonly ["adversarial-document-reviewer", "adversarial-reviewer", "agent-native-reviewer", "ankane-readme-writer", "api-contract-reviewer", "architecture-strategist", "best-practices-researcher", "bug-reproduction-validator", "cli-agent-readiness-reviewer", "cli-readiness-reviewer", "code-simplicity-reviewer", "coherence-reviewer", "correctness-reviewer", "data-integrity-guardian", "data-migration-expert", "data-migrations-reviewer", "deployment-verification-agent", "design-implementation-reviewer", "design-iterator", "design-lens-reviewer", "dhh-rails-reviewer", "feasibility-reviewer", "figma-design-sync", "framework-docs-researcher", "git-history-analyzer", "issue-intelligence-analyst", "julik-frontend-races-reviewer", "kieran-python-reviewer", "kieran-rails-reviewer", "kieran-typescript-reviewer", "learnings-researcher", "lint", "maintainability-reviewer", "pattern-recognition-specialist", "performance-oracle", "performance-reviewer", "pr-comment-resolver", "previous-comments-reviewer", "product-lens-reviewer", "project-standards-reviewer", "reliability-reviewer", "repo-research-analyst", "schema-drift-detector", "scope-guardian-reviewer", "security-lens-reviewer", "security-reviewer", "security-sentinel", "slack-researcher", "spec-flow-analyzer", "systematic-implementer", "testing-reviewer"];
2
2
  export declare const BUNDLED_AGENT_QUALIFIED_IDS: readonly ["design/design-implementation-reviewer", "design/design-iterator", "design/figma-design-sync", "docs/ankane-readme-writer", "document-review/adversarial-document-reviewer", "document-review/coherence-reviewer", "document-review/design-lens-reviewer", "document-review/feasibility-reviewer", "document-review/product-lens-reviewer", "document-review/scope-guardian-reviewer", "document-review/security-lens-reviewer", "research/best-practices-researcher", "research/framework-docs-researcher", "research/git-history-analyzer", "research/issue-intelligence-analyst", "research/learnings-researcher", "research/repo-research-analyst", "research/slack-researcher", "review/adversarial-reviewer", "review/agent-native-reviewer", "review/api-contract-reviewer", "review/architecture-strategist", "review/cli-agent-readiness-reviewer", "review/cli-readiness-reviewer", "review/code-simplicity-reviewer", "review/correctness-reviewer", "review/data-integrity-guardian", "review/data-migration-expert", "review/data-migrations-reviewer", "review/deployment-verification-agent", "review/dhh-rails-reviewer", "review/julik-frontend-races-reviewer", "review/kieran-python-reviewer", "review/kieran-rails-reviewer", "review/kieran-typescript-reviewer", "review/maintainability-reviewer", "review/pattern-recognition-specialist", "review/performance-oracle", "review/performance-reviewer", "review/previous-comments-reviewer", "review/project-standards-reviewer", "review/reliability-reviewer", "review/schema-drift-detector", "review/security-reviewer", "review/security-sentinel", "review/testing-reviewer", "workflow/bug-reproduction-validator", "workflow/lint", "workflow/pr-comment-resolver", "workflow/spec-flow-analyzer", "workflow/systematic-implementer"];
3
- export declare const BUNDLED_SKILL_NAMES: readonly ["agent-browser", "agent-native-architecture", "agent-native-audit", "andrew-kane-gem-writer", "ce:brainstorm", "ce:compound", "ce:compound-refresh", "ce:ideate", "ce:plan", "ce:review", "ce:work", "changelog", "claude-permissions-optimizer", "compound-docs", "deepen-plan", "deploy-docs", "dhh-rails-style", "document-review", "dspy-ruby", "every-style-editor", "feature-video", "frontend-design", "gemini-imagegen", "generate_command", "git-clean-gone-branches", "git-commit", "git-commit-push-pr", "git-worktree", "lfg", "onboarding", "orchestrating-swarms", "proof", "rclone", "report-bug-ce", "reproduce-bug", "resolve-pr-feedback", "setup", "slfg", "test-browser", "test-xcode", "todo-create", "todo-resolve", "todo-triage", "using-systematic", "writing-systematic-skills"];
3
+ export declare const BUNDLED_SKILL_NAMES: readonly ["agent-browser", "agent-native-architecture", "agent-native-audit", "andrew-kane-gem-writer", "ce:brainstorm", "ce:compound", "ce:compound-refresh", "ce:ideate", "ce:plan", "ce:review", "ce:work", "changelog", "claude-permissions-optimizer", "compound-docs", "deepen-plan", "deploy-docs", "dhh-rails-style", "document-review", "dspy-ruby", "every-style-editor", "feature-video", "frontend-design", "gemini-imagegen", "generate_command", "git-clean-gone-branches", "git-commit", "git-commit-push-pr", "git-worktree", "lfg", "onboarding", "orchestrating-swarms", "proof", "rclone", "report-bug-ce", "reproduce-bug", "resolve-pr-feedback", "setup", "slfg", "test-browser", "test-driven-development", "test-xcode", "todo-create", "todo-resolve", "todo-triage", "using-systematic", "writing-skills", "writing-systematic-skills"];
4
4
  export type BundledAgentName = (typeof BUNDLED_AGENT_NAMES)[number];
5
5
  export type BundledSkillName = (typeof BUNDLED_SKILL_NAMES)[number];