@fro.bot/systematic 2.16.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.
- package/ATTRIBUTIONS.md +108 -0
- package/dist/cli.js +1 -1
- package/dist/{index-s0d2z9ph.js → index-f90kjf1c.js} +57 -45
- package/dist/index.js +1 -1
- package/dist/lib/bundled-names.d.ts +1 -1
- package/dist/lib/config-schema.d.ts +23 -3559
- package/dist/schemas/systematic-config.schema.json +905 -16144
- package/package.json +5 -4
- package/skills/ce-plan/SKILL.md +1 -1
- package/skills/ce-work/SKILL.md +1 -1
- package/skills/test-driven-development/SKILL.md +372 -0
- package/skills/test-driven-development/references/testing-anti-patterns.md +299 -0
- package/skills/using-systematic/SKILL.md +1 -1
- package/skills/writing-skills/SKILL.md +656 -0
- package/skills/writing-skills/references/anthropic-best-practices-distilled.md +106 -0
- package/skills/writing-skills/references/examples/skill-testing-walkthrough.md +189 -0
- package/skills/writing-skills/references/graphviz-conventions.dot +172 -0
- package/skills/writing-skills/references/persuasion-principles.md +187 -0
- package/skills/writing-skills/references/testing-skills-with-subagents.md +384 -0
- package/skills/writing-skills/scripts/render-graphs.js +180 -0
- package/skills/writing-systematic-skills/SKILL.md +1 -1
package/ATTRIBUTIONS.md
ADDED
|
@@ -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
|
@@ -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
|
-
|
|
15965
|
-
|
|
15966
|
-
|
|
15967
|
-
|
|
15968
|
-
"
|
|
15969
|
-
|
|
15970
|
-
|
|
15971
|
-
|
|
15972
|
-
|
|
15973
|
-
|
|
15974
|
-
|
|
15975
|
-
|
|
15976
|
-
|
|
15977
|
-
|
|
15978
|
-
|
|
15979
|
-
|
|
15980
|
-
|
|
15981
|
-
|
|
15982
|
-
|
|
15983
|
-
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
|
-
|
|
15987
|
-
|
|
15988
|
-
|
|
15989
|
-
|
|
15990
|
-
|
|
15991
|
-
|
|
15992
|
-
|
|
15993
|
-
|
|
15994
|
-
[
|
|
15995
|
-
|
|
15996
|
-
|
|
15997
|
-
|
|
15998
|
-
|
|
15999
|
-
|
|
16000
|
-
|
|
16001
|
-
|
|
16002
|
-
|
|
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:
|
|
16005
|
-
{ enabled: false, file: ".opencode/custom-prompt.md" }
|
|
16015
|
+
{ disabled_skills: ["ce:plan"], bootstrap: { enabled: false } }
|
|
16006
16016
|
]
|
|
16007
|
-
})
|
|
16008
|
-
}
|
|
16009
|
-
|
|
16010
|
-
|
|
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",
|
package/dist/index.js
CHANGED
|
@@ -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];
|