flower-trellis 0.5.2-beta.0 → 0.5.2
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/enhancements/0.6/.agents/skills/trellis-auto-loop/SKILL.md +16 -3
- package/enhancements/0.6/.agents/skills/trellis-check-all/references/document-drift-auto-remediation.md +7 -0
- package/enhancements/0.6/.agents/skills/trellis-check-all/references/reporting-and-disposition.md +2 -2
- package/enhancements/0.6/.agents/skills/trellis-push/SKILL.md +14 -9
- package/enhancements/0.6/.agents/skills/trellis-task-brief/SKILL.md +25 -5
- package/enhancements/0.6/.claude/skills/trellis-auto-loop/SKILL.md +16 -3
- package/enhancements/0.6/.claude/skills/trellis-check-all/references/document-drift-auto-remediation.md +7 -0
- package/enhancements/0.6/.claude/skills/trellis-check-all/references/reporting-and-disposition.md +2 -2
- package/enhancements/0.6/.claude/skills/trellis-push/SKILL.md +14 -9
- package/enhancements/0.6/.claude/skills/trellis-task-brief/SKILL.md +25 -5
- package/enhancements/0.6/overrides/bundles/control-plane-integrity.json +2 -1
- package/enhancements/0.6/overrides/bundles/trellis-meta.json +12 -0
- package/enhancements/0.6/overrides/conflicts.json +558 -3
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/constants-selector.py +6 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/helpers-selector.py +150 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/imports-content.py +4 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/imports-selector.py +8 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/output-content.py +7 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/output-selector.py +13 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/patch.json +53 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/bundled-overrides-baseline.md +16 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/bundled-overrides-content.md +10 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/customization-principles-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/customization-principles-content.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/file-boundaries-baseline.md +19 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/file-boundaries-content.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/patch.json +157 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/skill-taxonomy-baseline.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/skill-taxonomy-content.md +15 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/system-model-baseline.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/system-model-content.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/template-hashes-baseline.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/template-hashes-content.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-entry-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-entry-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-order-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-order-content.md +10 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/patch.json +179 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/platform-edit-route-baseline.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/platform-edit-route-content.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-classification-content.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-classification-selector.md +8 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-edit-route-baseline.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-edit-route-content.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-edit-route-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-edit-route-content.md +8 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-entry-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-entry-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/current-rules-baseline.md +12 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/current-rules-content.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/description-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/description-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/how-to-use-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/how-to-use-content.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/patch.json +105 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/scope-content.md +10 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/scope-selector.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/owner-routing-baseline.md +8 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/owner-routing-content.md +20 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/patch.json +106 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/state-boundary-baseline.md +20 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/state-boundary-content.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-change-map-baseline.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-change-map-content.md +16 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-source-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-source-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/request-triage/content.md +3 -2
- package/enhancements/0.6/overrides/patches/workflow/task-brief-review/phase-1-activate-content.md +2 -2
- package/enhancements/0.6/scripts/auto_loop.py +247 -33
- package/enhancements/0.6/scripts/spec_router.py +486 -25
- package/enhancements/MANIFEST.json +56 -2
- package/package.json +3 -3
- package/src/builtin-plugins/skill-garden/content-adapter.js +29 -6
- package/src/builtin-plugins/skill-garden/provider.js +13 -2
- package/src/lib/patch-conflicts.js +28 -2
- package/src/lib/patch-engine.js +41 -3
- package/src/lib/platform-patch-adapters.js +8 -7
- package/src/lib/trellis-python-command.js +95 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"id": "trellis-meta-managed-customization-routing",
|
|
4
|
+
"purpose": "managed_customization_routing",
|
|
5
|
+
"operations": [
|
|
6
|
+
{
|
|
7
|
+
"id": "trellis-meta-managed-customization-entry",
|
|
8
|
+
"operation": "replace",
|
|
9
|
+
"targetPolicy": "each-existing",
|
|
10
|
+
"targets": [
|
|
11
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
12
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
13
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
14
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
15
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
16
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
17
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
18
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
19
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
20
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
21
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
22
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
23
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
24
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
25
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" }
|
|
26
|
+
],
|
|
27
|
+
"selector": { "type": "literal", "source": "customization-entry-selector.md", "expectedMatches": 1 },
|
|
28
|
+
"content": { "source": "customization-entry-content.md" }
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "trellis-meta-managed-customization-order",
|
|
32
|
+
"operation": "replace",
|
|
33
|
+
"targetPolicy": "each-existing",
|
|
34
|
+
"targets": [
|
|
35
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
36
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
37
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
38
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
39
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
40
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
41
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
42
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
43
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
44
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
45
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
46
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
47
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
48
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" },
|
|
49
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/customize-local/overview.md", "missing": "skip" }
|
|
50
|
+
],
|
|
51
|
+
"selector": { "type": "markdown-section", "heading": "## General Operation Order" },
|
|
52
|
+
"baselines": ["customization-order-baseline.md"],
|
|
53
|
+
"content": { "source": "customization-order-content.md" }
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "trellis-meta-managed-workflow-entry",
|
|
57
|
+
"operation": "replace",
|
|
58
|
+
"targetPolicy": "each-existing",
|
|
59
|
+
"targets": [
|
|
60
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
61
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
62
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
63
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
64
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
65
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
66
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
67
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
68
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
69
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
70
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
71
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
72
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
73
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
74
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" }
|
|
75
|
+
],
|
|
76
|
+
"selector": { "type": "literal", "source": "workflow-entry-selector.md", "expectedMatches": 1 },
|
|
77
|
+
"content": { "source": "workflow-entry-content.md" }
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "trellis-meta-managed-workflow-edit-route",
|
|
81
|
+
"operation": "replace",
|
|
82
|
+
"targetPolicy": "each-existing",
|
|
83
|
+
"targets": [
|
|
84
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
85
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
86
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
87
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
88
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
89
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
90
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
91
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
92
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
93
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
94
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
95
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
96
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
97
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" },
|
|
98
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/customize-local/change-workflow.md", "missing": "skip" }
|
|
99
|
+
],
|
|
100
|
+
"selector": { "type": "markdown-section", "heading": "## Modification Steps" },
|
|
101
|
+
"baselines": ["workflow-edit-route-baseline.md"],
|
|
102
|
+
"content": { "source": "workflow-edit-route-content.md" }
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "trellis-meta-managed-skill-classification",
|
|
106
|
+
"operation": "replace",
|
|
107
|
+
"targetPolicy": "each-existing",
|
|
108
|
+
"targets": [
|
|
109
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
110
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
111
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
112
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
113
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
114
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
115
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
116
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
117
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
118
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
119
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
120
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
121
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
122
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
123
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" }
|
|
124
|
+
],
|
|
125
|
+
"selector": { "type": "literal", "source": "skill-classification-selector.md", "expectedMatches": 1 },
|
|
126
|
+
"content": { "source": "skill-classification-content.md" }
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "trellis-meta-managed-skill-edit-route",
|
|
130
|
+
"operation": "replace",
|
|
131
|
+
"targetPolicy": "each-existing",
|
|
132
|
+
"targets": [
|
|
133
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
134
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
135
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
136
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
137
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
138
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
139
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
140
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
141
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
142
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
143
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
144
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
145
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
146
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" },
|
|
147
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/customize-local/change-skills-or-commands.md", "missing": "skip" }
|
|
148
|
+
],
|
|
149
|
+
"selector": { "type": "markdown-section", "heading": "### Bundled vs. Project-Local" },
|
|
150
|
+
"baselines": ["skill-edit-route-baseline.md"],
|
|
151
|
+
"content": { "source": "skill-edit-route-content.md" }
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"id": "trellis-meta-managed-platform-edit-route",
|
|
155
|
+
"operation": "replace",
|
|
156
|
+
"targetPolicy": "each-existing",
|
|
157
|
+
"targets": [
|
|
158
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
159
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
160
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
161
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
162
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
163
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
164
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
165
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
166
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
167
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
168
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
169
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
170
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
171
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" },
|
|
172
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/references/platform-files/overview.md", "missing": "skip" }
|
|
173
|
+
],
|
|
174
|
+
"selector": { "type": "markdown-section", "heading": "## Local Modification Order" },
|
|
175
|
+
"baselines": ["platform-edit-route-baseline.md"],
|
|
176
|
+
"content": { "source": "platform-edit-route-content.md" }
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Local Modification Order
|
|
2
|
+
|
|
3
|
+
When the user asks to customize behavior for a platform, the AI should inspect files in this order:
|
|
4
|
+
|
|
5
|
+
1. Read `.trellis/workflow.md` to confirm the shared flow.
|
|
6
|
+
2. Read the target platform's settings/config to see which hooks/agents/skills/commands are registered.
|
|
7
|
+
3. Read the target platform's agents/skills/commands/hooks.
|
|
8
|
+
4. Modify the local file closest to the user's need.
|
|
9
|
+
5. If the change affects the shared flow, synchronize `.trellis/workflow.md` or `.trellis/spec/`.
|
|
10
|
+
|
|
11
|
+
Do not modify only platform files and forget the shared workflow. Do not modify only `.trellis/workflow.md` and forget that platform entry points may still contain old descriptions.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Local Modification Order
|
|
2
|
+
|
|
3
|
+
When customizing a platform:
|
|
4
|
+
|
|
5
|
+
1. Read `.trellis/workflow.md` and the target platform's settings, hooks, agents, skills, commands, prompts, or workflows.
|
|
6
|
+
2. Inspect `.flower/plugin-lock.json`, `.flower/state.json`, template hashes, and managed markers for every candidate target.
|
|
7
|
+
3. For project-local files, modify the narrow local source and keep shared workflow semantics aligned.
|
|
8
|
+
4. For managed files, modify the owning Plugin/Patch source and preserve explicit platform targets with `each-existing`/`missing: skip`; do not create roots for platforms that are not enabled.
|
|
9
|
+
5. Apply the lifecycle and compare final bytes across all existing platform roots. Shared `.agents/skills` consumers must remain byte-consistent, while platform-specific frontmatter may retain its native differences.
|
|
10
|
+
|
|
11
|
+
Never claim cross-platform support after changing only one deployed copy.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
When the user wants to change AI entry points, auto-trigger rules, or explicit command behavior, inspect the deployed skill/command/prompt/workflow and then classify its owner.
|
|
2
|
+
|
|
3
|
+
- **Upstream bundled**: distributed by Trellis and tracked by template hashes.
|
|
4
|
+
- **Skill-Garden managed**: modified or projected by `flower/skill-garden`, proven by lock/state entries or managed Patch markers.
|
|
5
|
+
- **Flower managed**: owned by another Flower Plugin, adapter, or Flower Patch catalog.
|
|
6
|
+
- **Shared common**: projected with shared ownership and retained across dependent capabilities.
|
|
7
|
+
- **Project-local**: no upstream template or Plugin ownership claim, and intentionally maintained by the project.
|
|
8
|
+
|
|
9
|
+
Do not classify every non-bundled name as project-local. Use `.flower/state.json`, `.trellis/.template-hashes.json`, local skill roots, and available Bundle declarations as evidence before selecting an edit route.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
When the user wants to change AI entry points, auto-trigger rules, or explicit command behavior, edit skills, commands, prompts, or workflows in local platform directories.
|
|
2
|
+
|
|
3
|
+
Before editing, classify the skill you are about to touch:
|
|
4
|
+
|
|
5
|
+
- **Bundled upstream skill** — `trellis-meta`, `trellis-spec-bootstrap`, `trellis-session-insight`, `trellis-channel`. Source of truth lives in the Trellis CLI repo under `packages/cli/src/templates/common/bundled-skills/<name>/`; auto-dispatched to every platform's skill root by `getBundledSkillTemplates()` on `trellis init` / `trellis update`. Local edits here are tracked by `.trellis/.template-hashes.json` and will be flagged on the next update.
|
|
6
|
+
- **Project-local skill** — anything else under `.{platform}/skills/`. Owned by the user; not refreshed by `trellis update`.
|
|
7
|
+
|
|
8
|
+
The remainder of this file uses "skill" for the local file; the override and conflict rules differ between the two cases.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
### Bundled vs. Project-Local
|
|
2
|
+
|
|
3
|
+
The same directory shape is used by two very different ownership models:
|
|
4
|
+
|
|
5
|
+
| Aspect | Bundled (`trellis-meta`, `trellis-spec-bootstrap`, `trellis-session-insight`, `trellis-channel`) | Project-local |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| Source of truth | `packages/cli/src/templates/common/bundled-skills/<name>/` in Trellis CLI repo | Inside the user project itself |
|
|
8
|
+
| Dispatch | Auto-dispatched to every platform skill root by `getBundledSkillTemplates()` (`packages/cli/src/templates/common/index.ts`) on `trellis init` / `trellis update` | Created by the user (or another skill) and never moved |
|
|
9
|
+
| Hash tracking | Every file recorded in `.trellis/.template-hashes.json`; conflict prompt on update | Not tracked |
|
|
10
|
+
| Editing locally | Allowed but will be marked "modified by user" on next update | Free editing |
|
|
11
|
+
| The right way to customize | Add a *new* project-local skill with a *different* name that supplements (or supersedes) the bundled one | Edit the file directly |
|
|
12
|
+
|
|
13
|
+
If the goal is "make my project's AI behave differently when discussing release notes," the answer is almost always a project-local skill, not surgery on `trellis-meta/`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
### Bundled vs. Project-Local
|
|
2
|
+
|
|
3
|
+
Use the ownership evidence, not the directory shape:
|
|
4
|
+
|
|
5
|
+
| Owner | Update evidence | Correct edit route |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| Upstream Trellis | `.trellis/.template-hashes.json` only | Local supplement/divergence or upstream source, according to user intent |
|
|
8
|
+
| Skill-Garden | `flower/skill-garden` lock/state entry or managed marker | 0.6 Patch/Bundle source under `vendor/skill-garden` when authoring Flower |
|
|
9
|
+
| Flower Plugin | `.flower/state.json` owner/path/patch entry | Owning Plugin source or Flower Patch catalog |
|
|
10
|
+
| Shared common | State path with shared ownership | Shared common source; preserve other consumers |
|
|
11
|
+
| Project-local | No managed ownership claim | Edit the project file directly |
|
|
12
|
+
|
|
13
|
+
For a managed target, the durable sequence is source change -> required preflight -> transaction -> state/provenance update. For a project-private behavior, a differently named local skill or `.trellis/spec/` remains preferable to mutating a public bundled skill.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## Modification Steps
|
|
2
|
+
|
|
3
|
+
1. Find the relevant section in `.trellis/workflow.md`.
|
|
4
|
+
2. When changing rules, keep explicit trigger conditions and next actions.
|
|
5
|
+
3. If adding or renaming a skill/agent, synchronize the corresponding files in platform directories.
|
|
6
|
+
4. Workflow-state changes only need an edit to the `[workflow-state:STATUS]` block in `.trellis/workflow.md`. The hook is parser-only — it reads whatever you put in the block. Keep the opening and closing tags' STATUS strings identical (`[workflow-state:foo]…[/workflow-state:foo]`); mismatched STATUS pairs are silently dropped.
|
|
7
|
+
5. Make the AI reread `.trellis/workflow.md`; do not keep using rules from the old conversation.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## Modification Steps
|
|
2
|
+
|
|
3
|
+
1. Find the runtime section in `.trellis/workflow.md` and identify the owner named by the Workflow Owner Index or owning skill/helper.
|
|
4
|
+
2. Inspect Plugin state and nearby markers. If the section is not managed, make the narrow local edit and keep trigger/next-action semantics explicit.
|
|
5
|
+
3. If Skill-Garden owns the section, change the matching 0.6 Patch selector/baseline/content and Bundle policy. Do not add a parallel workflow injector or edit only the dogfood workflow.
|
|
6
|
+
4. Keep workflow-state tags paired, but do not duplicate a full owner procedure into the state block. State holds a one-hop gate; the owner skill/helper holds the detailed contract.
|
|
7
|
+
5. Synchronize affected skills, hooks, helpers, or platform entries through their own managed sources when the shared semantics require it.
|
|
8
|
+
6. Run source-to-snapshot sync, conflict checks, compiled target generation/check, final-output review, and idempotent dogfood application before treating the change as complete.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
When the user wants to change Trellis phases, next actions, task gates, routing, checking, or wrap-up, read `.trellis/workflow.md` first because it is the current runtime contract. Before editing it, determine whether the relevant section is project-local, an upstream template, or a Skill-Garden managed Patch output.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
When the user wants to change Trellis phases, next-action hints, whether to create tasks, whether to use sub-agents, or when to check/wrap up, edit `.trellis/workflow.md` first.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## Current Rules
|
|
2
|
+
|
|
3
|
+
- `.trellis/workflow.md` is the local workflow source of truth; its initial content was selected from a workflow template (built-in `native`, `tdd`, `channel-driven-subagent-dispatch`, or a marketplace template) at `trellis init` time and can be re-selected via `trellis workflow --template <id>`. Missing `.trellis/agents/<name>.md` files referenced by the active template trigger a non-blocking stderr warning pointing at `trellis update`.
|
|
4
|
+
- `.trellis/config.yaml` is the project-level Trellis configuration entry point. It hosts task lifecycle hooks (`hooks.after_create` / `after_start` / `after_finish` / `after_archive`), journal shape (`session_commit_message` / `max_journal_lines` / `session_auto_commit`), channel worker guard (`channel.worker_guard.idle_timeout` / `max_live_workers`), Codex dispatch mode (`codex.dispatch_mode: inline | sub-agent`), and the spec registry block (`registry.spec.source` + `registry.spec.template`).
|
|
5
|
+
- `.trellis/spec/` stores the user's project-specific coding conventions and design constraints. When `registry.spec` is set, files are refreshed by `trellis update`; local edits surface as "modified by user" conflicts in `.trellis/.template-hashes.json`.
|
|
6
|
+
- `.trellis/tasks/` stores task PRDs, design notes, implement plans, research files, and JSONL context. Tasks form parent/child trees: `task.py create --parent <slug>`, `task.py add-subtask <parent> <child>`, `task.py remove-subtask <parent> <child>`, and `task.py list-context <task>`. `task.py create` rejects a slug already present in `.trellis/tasks/archive/**`.
|
|
7
|
+
- `.trellis/workspace/` stores **deliberately written** developer journals. Raw cross-session dialogue is **not** stored here — it lives on disk under `~/.claude/projects/`, `~/.codex/sessions/`, and `~/.pi/agent/sessions/` and is recovered via `trellis mem search|extract|context`. The bundled `trellis-session-insight` skill teaches when to reach for `mem`.
|
|
8
|
+
- `.trellis/agents/{check,implement}.md` are bundled, platform-agnostic channel runtime agent definitions loaded by `trellis channel spawn --agent <name>`. Editable; `trellis update` backfills missing ones. Editing the per-platform `trellis-implement.md` / `trellis-check.md` does **not** change channel-runtime worker behavior.
|
|
9
|
+
- `~/.trellis/channels/<project>/<channel>/events.jsonl` is the channel runtime event log per project per channel. User-owned, file-locked sequence numbering, durable `idempotencyKey` support; never under `.trellis/`.
|
|
10
|
+
- Bundled multi-file skills (`trellis-meta`, `trellis-spec-bootstrap`, `trellis-session-insight`, `trellis-channel`) are auto-dispatched to every platform skill root by `getBundledSkillTemplates()` in `packages/cli/src/templates/common/index.ts`. Dropping a new directory under `packages/cli/src/templates/common/bundled-skills/` (upstream) ships it to every platform on the next `trellis update`.
|
|
11
|
+
- Platform settings/config files decide which hooks, agents, skills, commands, prompts, and workflows actually run. Reasonix has no settings file — behavior is encoded inside skill frontmatter.
|
|
12
|
+
- `.trellis/.template-hashes.json` and `.trellis/.runtime/` are management/runtime state files. Confirm necessity before editing them.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Current Rules
|
|
2
|
+
|
|
3
|
+
- `.trellis/workflow.md` is the runtime semantic source for the current project, but its durable authoring source depends on ownership. When Skill-Garden manages a section, change the owning Patch and workflow owner instead of editing only the deployed file.
|
|
4
|
+
- `.trellis/config.yaml` remains the project configuration entry point. Flower-managed keys must be traced through `.flower/state.json` before editing; unrelated project-local keys retain the native Trellis behavior.
|
|
5
|
+
- `.trellis/spec/`, `.trellis/tasks/`, and `.trellis/workspace/` retain their native task, convention, and deliberate-journal roles unless Plugin state explicitly claims a target within them.
|
|
6
|
+
- `.trellis/.template-hashes.json` describes Trellis template ownership. It does not supersede Flower Plugin ownership recorded in `.flower/plugin-lock.json` and `.flower/state.json`.
|
|
7
|
+
- `.trellis/agents/{check,implement}.md` remain platform-agnostic channel runtime definitions. Per-platform agent files do not change channel-runtime worker behavior.
|
|
8
|
+
- `~/.trellis/channels/<project>/<channel>/events.jsonl` remains the user-owned channel event store; raw platform conversation logs remain local and are queried through `trellis mem`.
|
|
9
|
+
- Upstream bundled skills are still distributed by Trellis. Skill-Garden may then apply declared Patches to those deployed copies, and Flower may project additional managed skills or shared common content.
|
|
10
|
+
- Platform settings/config files decide which hooks, agents, skills, commands, prompts, and workflows execute. Reasonix continues to encode behavior in skill frontmatter rather than a settings file.
|
|
11
|
+
- Discover the active enhanced capability set from the local skill roots, `.trellis/workflow.md`, the selected Bundle catalog when source is available, and `.flower/state.json`; do not maintain a second fixed Skill-Garden skill inventory here.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
description: "Understand and customize local Trellis architecture, including Flower/Skill-Garden managed Plugin overlays, Patch ownership, platform hooks, settings, agents, skills, commands, prompts, workflows, channel runtime, bundled runtime agents, workflow templates, spec refresh, cross-session memory, and bundled-skill distribution."
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
description: "Understand and customize the local Trellis architecture inside a user project. Use when modifying .trellis plus platform hooks, settings, agents, skills, commands, prompts, workflows, the channel runtime (trellis channel), bundled runtime agents under .trellis/agents/, selectable workflow templates, registry-backed spec refresh, cross-session memory (trellis mem) generated by trellis init, or AI-facing bundled skills (trellis-channel, trellis-session-insight, trellis-spec-bootstrap) and bundled-skill auto-dispatch flow."
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## How To Use
|
|
2
|
+
|
|
3
|
+
1. Read `references/local-architecture/overview.md` first to establish the local Trellis system model.
|
|
4
|
+
2. If the request involves a specific AI tool, read `references/platform-files/platform-map.md` and the relevant platform file notes.
|
|
5
|
+
3. If the request involves multi-agent dispatch or channel workers, read `references/local-architecture/multi-agent-channel.md` and the bundled `.trellis/agents/` files.
|
|
6
|
+
4. If the user wants to change behavior, read `references/customize-local/overview.md`, then open the specific customization topic.
|
|
7
|
+
5. Before editing, read the actual files in the user project and treat local content as authoritative.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## How To Use
|
|
2
|
+
|
|
3
|
+
1. Read `references/local-architecture/overview.md` first to establish the local Trellis system model.
|
|
4
|
+
2. Determine ownership before choosing an edit point. Inspect `.flower/plugins.json`, `.flower/plugin-lock.json`, `.flower/state.json`, `.trellis/.template-hashes.json`, and managed markers that actually exist.
|
|
5
|
+
3. If `flower/skill-garden` owns the target, read `references/customize-local/overview.md` and follow the managed source/Patch route. If it does not, follow the native or project-local route described by the relevant reference.
|
|
6
|
+
4. For a specific AI tool, read `references/platform-files/platform-map.md` and the relevant platform notes. For multi-agent dispatch or channel workers, also read `references/local-architecture/multi-agent-channel.md` and `.trellis/agents/`.
|
|
7
|
+
5. Before editing, read the actual target, its owner state, and its authoring source. Runtime content is authoritative for what currently executes; ownership evidence is authoritative for where a durable change belongs.
|
package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/patch.json
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"id": "trellis-meta-managed-mode-precedence",
|
|
4
|
+
"purpose": "managed_meta_precedence",
|
|
5
|
+
"operations": [
|
|
6
|
+
{
|
|
7
|
+
"id": "trellis-meta-trigger-description",
|
|
8
|
+
"operation": "replace",
|
|
9
|
+
"targetPolicy": "each-existing",
|
|
10
|
+
"targets": [
|
|
11
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
12
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
13
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
14
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
15
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
16
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
17
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
18
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
19
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
20
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
21
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
22
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
23
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
24
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" },
|
|
25
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/SKILL.md", "missing": "skip", "markerStyle": "hash" }
|
|
26
|
+
],
|
|
27
|
+
"selector": { "type": "literal", "source": "description-selector.md", "expectedMatches": 1 },
|
|
28
|
+
"content": { "source": "description-content.md" }
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "trellis-meta-managed-scope",
|
|
32
|
+
"operation": "replace",
|
|
33
|
+
"targetPolicy": "each-existing",
|
|
34
|
+
"targets": [
|
|
35
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
36
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
37
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
38
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
39
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
40
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
41
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
42
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
43
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
44
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
45
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
46
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
47
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
48
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
49
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/SKILL.md", "missing": "skip" }
|
|
50
|
+
],
|
|
51
|
+
"selector": { "type": "literal", "source": "scope-selector.md", "expectedMatches": 1 },
|
|
52
|
+
"content": { "source": "scope-content.md" }
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "trellis-meta-managed-usage",
|
|
56
|
+
"operation": "replace",
|
|
57
|
+
"targetPolicy": "each-existing",
|
|
58
|
+
"targets": [
|
|
59
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
60
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
61
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
62
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
63
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
64
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
65
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
66
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
67
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
68
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
69
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
70
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
71
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
72
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
73
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/SKILL.md", "missing": "skip" }
|
|
74
|
+
],
|
|
75
|
+
"selector": { "type": "markdown-section", "heading": "## How To Use" },
|
|
76
|
+
"baselines": ["how-to-use-baseline.md"],
|
|
77
|
+
"content": { "source": "how-to-use-content.md" }
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "trellis-meta-managed-current-rules",
|
|
81
|
+
"operation": "replace",
|
|
82
|
+
"targetPolicy": "each-existing",
|
|
83
|
+
"targets": [
|
|
84
|
+
{ "kind": "skill", "path": ".agent/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
85
|
+
{ "kind": "skill", "path": ".agents/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
86
|
+
{ "kind": "skill", "path": ".claude/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
87
|
+
{ "kind": "skill", "path": ".codebuddy/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
88
|
+
{ "kind": "skill", "path": ".cursor/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
89
|
+
{ "kind": "skill", "path": ".devin/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
90
|
+
{ "kind": "skill", "path": ".factory/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
91
|
+
{ "kind": "skill", "path": ".github/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
92
|
+
{ "kind": "skill", "path": ".kilocode/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
93
|
+
{ "kind": "skill", "path": ".kiro/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
94
|
+
{ "kind": "skill", "path": ".opencode/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
95
|
+
{ "kind": "skill", "path": ".pi/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
96
|
+
{ "kind": "skill", "path": ".qoder/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
97
|
+
{ "kind": "skill", "path": ".reasonix/skills/trellis-meta/SKILL.md", "missing": "skip" },
|
|
98
|
+
{ "kind": "skill", "path": ".trae/skills/trellis-meta/SKILL.md", "missing": "skip" }
|
|
99
|
+
],
|
|
100
|
+
"selector": { "type": "markdown-section", "heading": "## Current Rules" },
|
|
101
|
+
"baselines": ["current-rules-baseline.md"],
|
|
102
|
+
"content": { "source": "current-rules-content.md" }
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
The operating scope depends on target ownership:
|
|
2
|
+
|
|
3
|
+
- Native or project-local Trellis files may be edited in the user project after reading their current content and update boundaries.
|
|
4
|
+
- Flower-managed or Skill-Garden-managed files are deployed results. Before editing them, inspect `.flower/plugins.json`, `.flower/plugin-lock.json`, `.flower/state.json`, and nearby `skill-garden patch` markers.
|
|
5
|
+
- When `flower/skill-garden` is declared and locked, its Plugin state and managed Patch contracts take precedence over conflicting native-only customization advice in this skill. The deployed file remains runtime truth for current behavior, but it is not automatically the authoring source.
|
|
6
|
+
- In the Flower source checkout, Skill-Garden 0.6 authoring lives under `vendor/skill-garden/.trellis/0.6/`; `enhancements/0.6/` is the synchronized release snapshot, while project `.trellis/`, `.agents/`, and `.claude/` files are dogfood outputs.
|
|
7
|
+
- Outside that source checkout, do not invent those authoring paths. Use the Plugin lifecycle or create separately owned project-local content instead of mutating a managed result.
|
|
8
|
+
- User-owned channel logs remain under `~/.trellis/channels/<project>/<channel>/events.jsonl`; raw conversation logs remain queryable through `trellis mem`.
|
|
9
|
+
|
|
10
|
+
Do not modify the global npm install directory or `node_modules`. Do not treat the presence of a local file alone as proof that it is user-owned.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
The default operating scope is local files in the user project:
|
|
2
|
+
|
|
3
|
+
- `.trellis/`: workflow, config, tasks, spec, workspace, scripts, bundled runtime agents, and runtime state.
|
|
4
|
+
- Platform directories: `.claude/`, `.codex/`, `.cursor/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.reasonix/`, `.kilocode/`, `.agent/`, `.devin/`, and similar directories. Pi additionally exposes a native `trellis_subagent` tool with `single` / `parallel` / `chain` dispatch modes, throttled progress cards, and `isTrellisAgent()` validation on top of the file layout. Reasonix stores both workflow skills and subagent skills as `.reasonix/skills/<name>/SKILL.md`; subagent skills carry `runAs: subagent` frontmatter.
|
|
5
|
+
- Shared skill layer: `.agents/skills/`.
|
|
6
|
+
- User-owned channel store outside the project tree: `~/.trellis/channels/<project>/<channel>/events.jsonl`.
|
|
7
|
+
- Raw platform conversation logs queryable via `trellis mem`: `~/.claude/projects/`, `~/.codex/sessions/`, and `~/.pi/agent/sessions/` (OpenCode adapter degraded for the v0.6 line).
|
|
8
|
+
|
|
9
|
+
Do not assume the user has the Trellis source repository. Do not default to modifying the global npm install directory or `node_modules` — both `@mindfoldhq/trellis` and `@mindfoldhq/trellis-core` ship as published packages sharing one version and one git tag per release.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## Skill Routing
|
|
2
|
+
|
|
3
|
+
`workflow.md` separates routing by platform capability:
|
|
4
|
+
|
|
5
|
+
- Platforms with sub-agent support: dispatch `trellis-implement` by default for implementation and `trellis-check` for checking.
|
|
6
|
+
- Platforms without sub-agent support: the main session reads skills such as `trellis-before-dev`, then executes directly.
|
|
7
|
+
|
|
8
|
+
When changing local AI behavior, update the routing descriptions in `workflow.md` first, then check whether the corresponding platform skill, command, or agent files need to stay in sync.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
## Skill Routing
|
|
2
|
+
|
|
3
|
+
Do not choose implementation or checking behavior from a static platform-capability split. Read the current Workflow Owner Index and let `trellis-route` resolve inline versus subagent execution.
|
|
4
|
+
|
|
5
|
+
Stable owner categories are:
|
|
6
|
+
|
|
7
|
+
| Gate or behavior | Owner to load |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Request intent and project knowledge discovery | Request Triage, `trellis-start`, and the referenced router helper |
|
|
10
|
+
| Active task scope safety | Request Triage and the active-task scope guard |
|
|
11
|
+
| Planning handoff | `trellis-task-brief` and the task-start brief guard |
|
|
12
|
+
| Implement/check execution mode | `trellis-route` |
|
|
13
|
+
| Unified quality verification | `trellis-check-all` |
|
|
14
|
+
| Automatic task loop and return gate | `trellis-auto-loop` plus the matching Check-All result |
|
|
15
|
+
| Executable knowledge capture | `trellis-update-spec` |
|
|
16
|
+
| Commit/push safety | `trellis-push` |
|
|
17
|
+
| Archive and session bookkeeping | `trellis-finish-work` |
|
|
18
|
+
| Cross-session task progress recovery | `trellis-continue` and its progress helper |
|
|
19
|
+
|
|
20
|
+
This reference names owners; it does not copy their command schemas, interaction templates, state formats, or error matrices. Read `.trellis/workflow.md`, the local owner skill/helper, available `overrides/bundles/`, and `.flower/state.json` for the installed version. Do not maintain a fixed Skill-Garden skill count or exhaustive capability list here.
|