@owlmeans/agent-skills 0.1.16-rc.0 → 0.1.16
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/README.md +22 -18
- package/agent-meta/manifest.json +15 -99
- package/agent-meta/skills/agent-memory/SKILL.md +8 -7
- package/agent-meta/skills/getting-started/SKILL.md +2 -1
- package/agent-meta/skills/git/SKILL.md +2 -1
- package/agent-meta/skills/memory-promotion/SKILL.md +5 -4
- package/agent-meta/skills/memory-recompact/SKILL.md +3 -3
- package/agent-meta/skills/reuse-code/SKILL.md +4 -3
- package/agent-meta/skills/router-plugins/SKILL.md +2 -1
- package/agent-meta/skills/scaffolding/SKILL.md +15 -13
- package/agent-meta/skills/self-education/SKILL.md +10 -10
- package/agent-meta/skills/shadcn-versions/SKILL.md +3 -2
- package/agent-meta/skills/shadcn-web/SKILL.md +2 -1
- package/agent-meta/skills/skill-authoring/SKILL.md +44 -39
- package/build/apply.d.ts +2 -1
- package/build/apply.d.ts.map +1 -1
- package/build/apply.js +40 -4
- package/build/apply.js.map +1 -1
- package/build/args.d.ts +4 -2
- package/build/args.d.ts.map +1 -1
- package/build/args.js +6 -7
- package/build/args.js.map +1 -1
- package/build/discover.d.ts +8 -5
- package/build/discover.d.ts.map +1 -1
- package/build/discover.js +13 -11
- package/build/discover.js.map +1 -1
- package/build/llm/manifest.d.ts +3 -2
- package/build/llm/manifest.d.ts.map +1 -1
- package/build/llm/manifest.js +3 -2
- package/build/llm/manifest.js.map +1 -1
- package/build/plan.d.ts.map +1 -1
- package/build/plan.js +7 -6
- package/build/plan.js.map +1 -1
- package/build/run.d.ts.map +1 -1
- package/build/run.js +9 -12
- package/build/run.js.map +1 -1
- package/package.json +5 -5
- package/src/apply.ts +41 -4
- package/src/args.ts +12 -9
- package/src/discover.ts +13 -14
- package/src/llm/manifest.ts +3 -2
- package/src/plan.ts +8 -6
- package/src/run.ts +8 -11
- package/tests/installer.test.ts +61 -45
- package/agent-meta/instructions/agent-memory.instructions.md +0 -143
- package/agent-meta/instructions/getting-started.instructions.md +0 -62
- package/agent-meta/instructions/git.instructions.md +0 -52
- package/agent-meta/instructions/memory-promotion.instructions.md +0 -111
- package/agent-meta/instructions/memory-recompact.instructions.md +0 -73
- package/agent-meta/instructions/reuse-code.instructions.md +0 -50
- package/agent-meta/instructions/router-plugins.instructions.md +0 -46
- package/agent-meta/instructions/scaffolding.instructions.md +0 -68
- package/agent-meta/instructions/self-education.instructions.md +0 -85
- package/agent-meta/instructions/shadcn-versions.instructions.md +0 -47
- package/agent-meta/instructions/shadcn-web.instructions.md +0 -95
- package/agent-meta/instructions/skill-authoring.instructions.md +0 -66
package/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# @owlmeans/agent-skills
|
|
2
2
|
|
|
3
|
-
CLI installer that lifts embedded
|
|
4
|
-
|
|
5
|
-
agent-guidance locations.
|
|
3
|
+
CLI installer that lifts embedded agent skills out of installed `@owlmeans/*` packages
|
|
4
|
+
and places them into your project's skill store.
|
|
6
5
|
|
|
7
6
|
## Usage
|
|
8
7
|
|
|
@@ -13,10 +12,14 @@ npx @owlmeans/agent-skills
|
|
|
13
12
|
```
|
|
14
13
|
|
|
15
14
|
The installer scans `node_modules/@owlmeans/*/agent-meta/`, shows you what guidance
|
|
16
|
-
is available, and (with your confirmation) copies it into
|
|
15
|
+
is available, and (with your confirmation) copies it into
|
|
16
|
+
`.agents/skills/<name>/SKILL.md` — the [Agent Skills](https://agentskills.io) standard
|
|
17
|
+
location, discovered natively by GitHub Copilot, Codex and other agents.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
-
|
|
19
|
+
Claude Code reads skills only from `.claude/skills/`, so a project that already has a
|
|
20
|
+
`.claude/` directory also gets a per-skill symlink there. Repos generated by
|
|
21
|
+
`@owlmeans/create-app` keep those symlinks fresh with
|
|
22
|
+
`sh .agents/scripts/link-skills.sh`, run automatically at session start.
|
|
20
23
|
|
|
21
24
|
Re-run after updating `@owlmeans/*` packages to pick up revised guidance.
|
|
22
25
|
|
|
@@ -26,8 +29,6 @@ Re-run after updating `@owlmeans/*` packages to pick up revised guidance.
|
|
|
26
29
|
--dir <path> target project directory (default: current working directory)
|
|
27
30
|
--yes, -y skip interactive confirmation (non-destructive; conflicts still skip)
|
|
28
31
|
--only <pkg,...> install guidance from these packages only (comma-separated @owlmeans/* names)
|
|
29
|
-
--claude-only install only Claude Code skills (.claude/skills/)
|
|
30
|
-
--copilot-only install only Copilot instructions (.github/instructions/)
|
|
31
32
|
--extras include extras bundled in the installer itself (default: on)
|
|
32
33
|
--no-extras skip extras bundled in the installer
|
|
33
34
|
--force overwrite locally-edited files (no AUTO-GENERATED banner)
|
|
@@ -35,6 +36,9 @@ Re-run after updating `@owlmeans/*` packages to pick up revised guidance.
|
|
|
35
36
|
--help, -h show this help
|
|
36
37
|
```
|
|
37
38
|
|
|
39
|
+
`--claude-only` and `--copilot-only` are accepted but do nothing: one skill store now
|
|
40
|
+
serves every agent.
|
|
41
|
+
|
|
38
42
|
## Conflict policy
|
|
39
43
|
|
|
40
44
|
Files managed by the installer carry an `AUTO-GENERATED` banner. On re-run:
|
|
@@ -53,8 +57,8 @@ are installed by default alongside package-specific guidance from `node_modules`
|
|
|
53
57
|
|
|
54
58
|
If any `@owlmeans/*` packages are **symlinked** (e.g. via a `libraries/` workspace
|
|
55
59
|
link in an OwlMeans monorepo), the installer refuses and exits with code 4. In that
|
|
56
|
-
setup agents already load guidance from the linked monorepo's root
|
|
57
|
-
|
|
60
|
+
setup agents already load guidance from the linked monorepo's root `AGENTS.md` and
|
|
61
|
+
`.agents/skills/` — running the installer would install stale copies.
|
|
58
62
|
|
|
59
63
|
Pass `--force` only if you understand this and want to proceed anyway.
|
|
60
64
|
|
|
@@ -64,23 +68,23 @@ Each `@owlmeans/*` package ships its embedded guidance under:
|
|
|
64
68
|
|
|
65
69
|
```
|
|
66
70
|
agent-meta/
|
|
67
|
-
manifest.json # package, version, entries list
|
|
71
|
+
manifest.json # package, version, entries list (schemaVersion 2)
|
|
68
72
|
skills/<name>/
|
|
69
|
-
SKILL.md #
|
|
70
|
-
instructions/
|
|
71
|
-
<name>.instructions.md # GitHub Copilot instruction
|
|
73
|
+
SKILL.md # agent skill
|
|
72
74
|
```
|
|
73
75
|
|
|
76
|
+
Packages published before schema v2 also carry `instructions/<name>.instructions.md`,
|
|
77
|
+
the GitHub Copilot twin of the same knowledge. Those entries are ignored on install.
|
|
78
|
+
|
|
74
79
|
Embedded files are **generated and read-only**. To contribute guidance edits, open
|
|
75
80
|
a PR against [owlmeans/common](https://github.com/owlmeans/common).
|
|
76
81
|
|
|
77
82
|
<!-- owlmeans:agent-guidance:start -->
|
|
78
83
|
## Agent guidance
|
|
79
84
|
|
|
80
|
-
This package ships embedded
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
(`.claude/skills/` and `.github/instructions/`):
|
|
85
|
+
This package ships embedded agent skills under `agent-meta/`. After installing your
|
|
86
|
+
`@owlmeans/*` packages, run the OwlMeans agent-skills installer to place them into
|
|
87
|
+
your project's skill store (`.agents/skills/`):
|
|
84
88
|
|
|
85
89
|
```sh
|
|
86
90
|
npx @owlmeans/agent-skills
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
2
|
+
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/agent-skills",
|
|
4
|
-
"version": "0.1.16
|
|
5
|
-
"generatedAt": "2026-08-
|
|
4
|
+
"version": "0.1.16",
|
|
5
|
+
"generatedAt": "2026-08-14T10:14:48.850Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -10,168 +10,84 @@
|
|
|
10
10
|
"name": "self-education",
|
|
11
11
|
"category": "general",
|
|
12
12
|
"file": "skills/self-education/SKILL.md",
|
|
13
|
-
"canonicalPath": ".
|
|
13
|
+
"canonicalPath": ".agents/skills/self-education/SKILL.md"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"kind": "skill",
|
|
17
17
|
"name": "router-plugins",
|
|
18
18
|
"category": "general",
|
|
19
19
|
"file": "skills/router-plugins/SKILL.md",
|
|
20
|
-
"canonicalPath": ".
|
|
20
|
+
"canonicalPath": ".agents/skills/router-plugins/SKILL.md"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"kind": "skill",
|
|
24
24
|
"name": "getting-started",
|
|
25
25
|
"category": "general",
|
|
26
26
|
"file": "skills/getting-started/SKILL.md",
|
|
27
|
-
"canonicalPath": ".
|
|
27
|
+
"canonicalPath": ".agents/skills/getting-started/SKILL.md"
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"kind": "skill",
|
|
31
31
|
"name": "shadcn-web",
|
|
32
32
|
"category": "general",
|
|
33
33
|
"file": "skills/shadcn-web/SKILL.md",
|
|
34
|
-
"canonicalPath": ".
|
|
34
|
+
"canonicalPath": ".agents/skills/shadcn-web/SKILL.md"
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"kind": "skill",
|
|
38
38
|
"name": "memory-recompact",
|
|
39
39
|
"category": "general",
|
|
40
40
|
"file": "skills/memory-recompact/SKILL.md",
|
|
41
|
-
"canonicalPath": ".
|
|
41
|
+
"canonicalPath": ".agents/skills/memory-recompact/SKILL.md"
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
"kind": "skill",
|
|
45
45
|
"name": "git",
|
|
46
46
|
"category": "general",
|
|
47
47
|
"file": "skills/git/SKILL.md",
|
|
48
|
-
"canonicalPath": ".
|
|
48
|
+
"canonicalPath": ".agents/skills/git/SKILL.md"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"kind": "skill",
|
|
52
52
|
"name": "agent-memory",
|
|
53
53
|
"category": "general",
|
|
54
54
|
"file": "skills/agent-memory/SKILL.md",
|
|
55
|
-
"canonicalPath": ".
|
|
55
|
+
"canonicalPath": ".agents/skills/agent-memory/SKILL.md"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"kind": "skill",
|
|
59
59
|
"name": "reuse-code",
|
|
60
60
|
"category": "general",
|
|
61
61
|
"file": "skills/reuse-code/SKILL.md",
|
|
62
|
-
"canonicalPath": ".
|
|
62
|
+
"canonicalPath": ".agents/skills/reuse-code/SKILL.md"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"kind": "skill",
|
|
66
66
|
"name": "scaffolding",
|
|
67
67
|
"category": "general",
|
|
68
68
|
"file": "skills/scaffolding/SKILL.md",
|
|
69
|
-
"canonicalPath": ".
|
|
69
|
+
"canonicalPath": ".agents/skills/scaffolding/SKILL.md"
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"kind": "skill",
|
|
73
73
|
"name": "skill-authoring",
|
|
74
74
|
"category": "general",
|
|
75
75
|
"file": "skills/skill-authoring/SKILL.md",
|
|
76
|
-
"canonicalPath": ".
|
|
76
|
+
"canonicalPath": ".agents/skills/skill-authoring/SKILL.md"
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
"kind": "skill",
|
|
80
80
|
"name": "memory-promotion",
|
|
81
81
|
"category": "general",
|
|
82
82
|
"file": "skills/memory-promotion/SKILL.md",
|
|
83
|
-
"canonicalPath": ".
|
|
83
|
+
"canonicalPath": ".agents/skills/memory-promotion/SKILL.md"
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
"kind": "skill",
|
|
87
87
|
"name": "shadcn-versions",
|
|
88
88
|
"category": "general",
|
|
89
89
|
"file": "skills/shadcn-versions/SKILL.md",
|
|
90
|
-
"canonicalPath": ".
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"kind": "instruction",
|
|
94
|
-
"name": "reuse-code",
|
|
95
|
-
"category": "general",
|
|
96
|
-
"file": "instructions/reuse-code.instructions.md",
|
|
97
|
-
"canonicalPath": ".github/instructions/reuse-code.instructions.md"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"kind": "instruction",
|
|
101
|
-
"name": "getting-started",
|
|
102
|
-
"category": "general",
|
|
103
|
-
"file": "instructions/getting-started.instructions.md",
|
|
104
|
-
"canonicalPath": ".github/instructions/getting-started.instructions.md"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"kind": "instruction",
|
|
108
|
-
"name": "self-education",
|
|
109
|
-
"category": "general",
|
|
110
|
-
"file": "instructions/self-education.instructions.md",
|
|
111
|
-
"canonicalPath": ".github/instructions/self-education.instructions.md"
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
"kind": "instruction",
|
|
115
|
-
"name": "memory-recompact",
|
|
116
|
-
"category": "general",
|
|
117
|
-
"file": "instructions/memory-recompact.instructions.md",
|
|
118
|
-
"canonicalPath": ".github/instructions/memory-recompact.instructions.md"
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"kind": "instruction",
|
|
122
|
-
"name": "scaffolding",
|
|
123
|
-
"category": "general",
|
|
124
|
-
"file": "instructions/scaffolding.instructions.md",
|
|
125
|
-
"canonicalPath": ".github/instructions/scaffolding.instructions.md"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"kind": "instruction",
|
|
129
|
-
"name": "skill-authoring",
|
|
130
|
-
"category": "general",
|
|
131
|
-
"file": "instructions/skill-authoring.instructions.md",
|
|
132
|
-
"canonicalPath": ".github/instructions/skill-authoring.instructions.md"
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"kind": "instruction",
|
|
136
|
-
"name": "router-plugins",
|
|
137
|
-
"category": "general",
|
|
138
|
-
"file": "instructions/router-plugins.instructions.md",
|
|
139
|
-
"canonicalPath": ".github/instructions/router-plugins.instructions.md"
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
"kind": "instruction",
|
|
143
|
-
"name": "shadcn-versions",
|
|
144
|
-
"category": "general",
|
|
145
|
-
"file": "instructions/shadcn-versions.instructions.md",
|
|
146
|
-
"canonicalPath": ".github/instructions/shadcn-versions.instructions.md"
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
"kind": "instruction",
|
|
150
|
-
"name": "memory-promotion",
|
|
151
|
-
"category": "general",
|
|
152
|
-
"file": "instructions/memory-promotion.instructions.md",
|
|
153
|
-
"canonicalPath": ".github/instructions/memory-promotion.instructions.md"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"kind": "instruction",
|
|
157
|
-
"name": "agent-memory",
|
|
158
|
-
"category": "general",
|
|
159
|
-
"file": "instructions/agent-memory.instructions.md",
|
|
160
|
-
"canonicalPath": ".github/instructions/agent-memory.instructions.md"
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
"kind": "instruction",
|
|
164
|
-
"name": "shadcn-web",
|
|
165
|
-
"category": "general",
|
|
166
|
-
"file": "instructions/shadcn-web.instructions.md",
|
|
167
|
-
"canonicalPath": ".github/instructions/shadcn-web.instructions.md"
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
"kind": "instruction",
|
|
171
|
-
"name": "git",
|
|
172
|
-
"category": "general",
|
|
173
|
-
"file": "instructions/git.instructions.md",
|
|
174
|
-
"canonicalPath": ".github/instructions/git.instructions.md"
|
|
90
|
+
"canonicalPath": ".agents/skills/shadcn-versions/SKILL.md"
|
|
175
91
|
}
|
|
176
92
|
]
|
|
177
93
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-memory
|
|
3
|
-
description: Shared agent memory protocol — the .agents/memory/ graph store
|
|
3
|
+
description: Shared agent memory protocol — the .agents/memory/ graph store every agent reads and writes: MEMORY.md index, subsystem nodes, compact-on-write merging, size caps, and the read protocol. Use when reading or writing project memory, when asked to remember something, or to decide where knowledge belongs.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
9
10
|
# Agent memory (`.agents/memory/`)
|
|
10
11
|
|
|
11
|
-
One shared memory store per repository, used by
|
|
12
|
-
|
|
12
|
+
One shared memory store per repository, used by every agent: a graph of subsystem nodes rooted in
|
|
13
|
+
the `MEMORY.md` index. Compactness is the core value — every write
|
|
13
14
|
merges and compacts; nothing is ever appended as a log.
|
|
14
15
|
|
|
15
16
|
Never write memory to `.claude/memory/`, `.github/memory/`, `~/.claude/`, `~/.copilot/`, or
|
|
@@ -30,7 +31,7 @@ Flat directory — graph structure lives in scopes and wiki-links, not subdirect
|
|
|
30
31
|
|
|
31
32
|
Node id = lowercase-kebab name of the **project-structure part** the knowledge attaches to:
|
|
32
33
|
|
|
33
|
-
1. **Subsystem** — workspace dir / package name: `manager-web`, `auth`, `
|
|
34
|
+
1. **Subsystem** — workspace dir / package name: `manager-web`, `auth`, `deploy`. Deepest
|
|
34
35
|
unambiguous segment; prefix with the parent only on collision.
|
|
35
36
|
2. **Cross-cutting concern** spanning subsystems: `build`, `testing`, `deploy`, `routing`, `i18n`.
|
|
36
37
|
3. **Integration** — external service/library: `stripe`, `cloudflare`, `openrouter`.
|
|
@@ -66,8 +67,8 @@ Frontmatter — exactly three fields:
|
|
|
66
67
|
|
|
67
68
|
```yaml
|
|
68
69
|
---
|
|
69
|
-
node:
|
|
70
|
-
scope: "
|
|
70
|
+
node: deploy # = filename without .md; = wiki-link target
|
|
71
|
+
scope: "deploy/**" # repo-relative globs; ext:<service> for integrations; . for workspace
|
|
71
72
|
updated: 2026-08 # month granularity only
|
|
72
73
|
---
|
|
73
74
|
```
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: getting-started
|
|
3
3
|
description: How to build a fullstack OwlMeans Common app from scratch — the common/api/web three-workspace pattern, context bootstrap on server and web, shared entrypoints + elevate(), and a session-scoped in-memory resource with @owlmeans/static-resource. Use when starting a new OwlMeans project, wiring web↔api, or asked how the pieces fit together.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: git
|
|
3
3
|
description: "Git workflow policy — never run state-changing git without an explicit instruction, commit only under the repository's configured identity (no AI-attribution trailer), report finished git work as a Markdown table, never commit a conflicted working copy. Use before any git operation."
|
|
4
4
|
user-invocable: false
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: memory-promotion
|
|
3
3
|
description: Transform procedure-shaped or repeatedly-used memory into skills and instructions — the procedure-shape test, the mandatory distillation rewrite, promote? repeated-touch flags, over-cap trigger, update-vs-create decision, and the post-promotion pointer state. Use when memory content reads as "how to", when a promote? flag is encountered again, when writing memory-derived content into a skill, or during recompaction.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -94,8 +95,8 @@ skill's body.
|
|
|
94
95
|
1. Collect the flagged / procedure-shaped memory lines.
|
|
95
96
|
2. **Distill** each into a general rule (section above). Not optional — skipping it is the
|
|
96
97
|
failure mode this skill exists to prevent.
|
|
97
|
-
3. Author or extend the
|
|
98
|
-
|
|
98
|
+
3. Author or extend the skill at `.agents/skills/<name>/SKILL.md`, following the repo's
|
|
99
|
+
`skill-authoring` or `create-skill` conventions. Where an existing rule
|
|
99
100
|
already covers the ground, **rewrite that rule in place**; append only when nothing covers it.
|
|
100
101
|
4. Shrink the node: delete the source lines; leave one pointer line (format below).
|
|
101
102
|
5. Remove the ` → promote?` flags.
|
|
@@ -107,5 +108,5 @@ skill's body.
|
|
|
107
108
|
The node keeps exactly one line under `## Pointers`:
|
|
108
109
|
|
|
109
110
|
```
|
|
110
|
-
- <activity> → skill `<name>` (procedure lives in .
|
|
111
|
+
- <activity> → skill `<name>` (procedure lives in .agents/skills/<name>/)
|
|
111
112
|
```
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: memory-recompact
|
|
3
3
|
description: Recompact or migrate a whole .agents/memory/ store — rebuild the node map from project structure, merge event-shaped records into subsystem nodes, deduplicate, enforce caps, regenerate the MEMORY.md index, and fold in legacy .claude/memory and .github/memory stores. Use when a store degrades into event logs, indexes bloat or conflict, or for one-time migration.
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -48,8 +49,7 @@ For each old file or section:
|
|
|
48
49
|
ONE node — merge both; the code-consistent version wins.
|
|
49
50
|
2. Index-only entries with no backing file: extract the fact into its node, or drop if stale.
|
|
50
51
|
3. Old `## Skills` / "Key Files" index sections are dropped — skills self-describe; harness
|
|
51
|
-
layout belongs to `
|
|
52
|
-
dispatch hints there.
|
|
52
|
+
layout belongs to `AGENTS.md`. Move genuinely non-obvious dispatch hints there.
|
|
53
53
|
4. When the new store verifies (below), delete both legacy dirs entirely.
|
|
54
54
|
|
|
55
55
|
## Regenerate the index
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: reuse-code
|
|
3
3
|
description: Discovery-first, reuse-first workflow for OwlMeans projects. Use BEFORE planning or building any feature, before proposing a third-party library or a custom solution, and after writing code. Find an existing @owlmeans/* package or existing code first; extend before writing new; simplify what you write.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -18,7 +19,7 @@ Before suggesting any external library or writing custom code, look for an `@owl
|
|
|
18
19
|
already solves the problem.
|
|
19
20
|
|
|
20
21
|
- **Consult the deployed skills.** Each installed `@owlmeans/*` package ships a skill at
|
|
21
|
-
`.
|
|
22
|
+
`.agents/skills/<pkg>/SKILL.md` describing what it
|
|
22
23
|
does. Read those first — they are your local catalogue of installed capabilities.
|
|
23
24
|
- **Scan installed packages.** Look in `node_modules/@owlmeans/*` **and**, in a workspace monorepo,
|
|
24
25
|
the nested `sources/*/node_modules/@owlmeans/*` (bun nests workspace deps).
|
|
@@ -32,7 +33,7 @@ How you research the repo depends on whether `@owlmeans/*` is linked locally:
|
|
|
32
33
|
- Run `ls -la node_modules/@owlmeans/<pkg>` (try a package you know is installed). If it is a **symlink
|
|
33
34
|
whose target escapes `node_modules`** — or if the project's *own* workspace publishes `@owlmeans/*`
|
|
34
35
|
packages (i.e. **this is the common repo**) — you have the source locally. **Research locally:** read
|
|
35
|
-
`tree.md`, browse the framework's package sources, and read the canonical `.
|
|
36
|
+
`tree.md`, browse the framework's package sources, and read the canonical `.agents/skills/`. **Do
|
|
36
37
|
not** use the internet.
|
|
37
38
|
- Otherwise (a clean install from npm), **research the web**: fetch/search
|
|
38
39
|
**https://github.com/owlmeans/common** — `tree.md` and package READMEs — to find the right package.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: router-plugins
|
|
3
3
|
description: How OwlMeans UI routing plugins work — the RouterPlugin contract, cascade selection, choosing/switching the router at context provisioning (default OwlMeans vs opt-in react-router), and authoring a new plugin (e.g. SSR). Read before wiring routing in an app or writing a routing plugin.
|
|
4
|
-
scope: general
|
|
5
4
|
user-invocable: false
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: scaffolding
|
|
3
3
|
description: How to scaffold a new OwlMeans Common project — the @owlmeans/create-app CLI (npm/bun/yarn create), its flags, what it generates, and the manual alternative. Use when asked to create/bootstrap/start a new OwlMeans app or set up a fresh project.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -22,8 +23,8 @@ npx @owlmeans/create-app my-app
|
|
|
22
23
|
```
|
|
23
24
|
|
|
24
25
|
By default it copies the template, runs `git init`, installs dependencies, and **deploys agent
|
|
25
|
-
guidance** into the project via [[bun]]-installed `@owlmeans/agent-skills` (`.
|
|
26
|
-
|
|
26
|
+
guidance** into the project via [[bun]]-installed `@owlmeans/agent-skills` (`.agents/skills/`).
|
|
27
|
+
With `--no-install` the deploy still runs — the installer's own bundled
|
|
27
28
|
extras give the project its general/harness guidance; only the package-specific skills wait for
|
|
28
29
|
`npx @owlmeans/agent-skills` after the install.
|
|
29
30
|
|
|
@@ -52,12 +53,11 @@ primitives + layout/nav/screens). Finish with `npx @owlmeans/agent-skills` to ad
|
|
|
52
53
|
```
|
|
53
54
|
my-app/
|
|
54
55
|
├── package.json # bun workspaces: sources/*
|
|
55
|
-
├──
|
|
56
|
-
├── .
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
├── .
|
|
60
|
-
├── .agents/memory/MEMORY.md # starter shared memory graph index (both tools)
|
|
56
|
+
├── AGENTS.md # git/reporting/memory/self-education rules + project-purpose placeholder
|
|
57
|
+
├── CLAUDE.md # thin bridge: imports AGENTS.md, documents the skill symlinks
|
|
58
|
+
├── .agents/skills/ # seeded harness skills (+ deployed ones)
|
|
59
|
+
├── .agents/scripts/link-skills.sh # refreshes the .claude/skills symlinks Claude Code needs
|
|
60
|
+
├── .agents/memory/MEMORY.md # starter shared memory graph index
|
|
61
61
|
├── sources/common/ # consts, types, schemas, config, modules (entrypoints)
|
|
62
62
|
├── sources/api/ # context.ts (appendStaticResource), app/session/*, modules.ts, index.ts
|
|
63
63
|
└── sources/web/ # vite + tailwind v4, components/ui/*, layout, nav, screens, render.tsx
|
|
@@ -72,11 +72,13 @@ The session demo stores items in `@owlmeans/static-resource`, namespaced by a cl
|
|
|
72
72
|
|
|
73
73
|
## Generated agent guidance
|
|
74
74
|
|
|
75
|
-
`
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
`AGENTS.md` carries the same four mandatory sections as a real OwlMeans monorepo — **Git
|
|
76
|
+
Workflow**, **Reporting**, **Memory** (the `.agents/memory/` graph store), **Self-Education** —
|
|
77
|
+
plus the mandatory [[reuse-code]] section and a **project-purpose placeholder**
|
|
78
78
|
(`<!-- OWLMEANS:PROJECT-PURPOSE -->`). On the first agent session that block instructs the agent to
|
|
79
|
-
ask the user what the project is for and replace it
|
|
79
|
+
ask the user what the project is for and replace it. `CLAUDE.md` is a thin bridge that imports
|
|
80
|
+
`AGENTS.md` and keeps the gitignored `.claude/skills/` symlinks fresh through a `SessionStart`
|
|
81
|
+
hook; Copilot and Codex need nothing beyond `AGENTS.md` and `.agents/skills/`.
|
|
80
82
|
|
|
81
83
|
The harness guidance is **seeded into the template** as generated, banner-carrying copies, so a
|
|
82
84
|
project has it even before the installer runs: [[agent-memory]], [[memory-promotion]],
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: self-education
|
|
3
|
-
description: Mandatory post-development guidance updating — after functionality is added or changed, rewrite the project skills
|
|
3
|
+
description: Mandatory post-development guidance updating — after functionality is added or changed, rewrite the project skills the work touched as current rules (never as change notes), record external-doc findings (URL + gist) in the governing skill, or add skills for new subsystems and technologies. Required before the completion report whenever development started from a plan agreed with the agent.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -20,24 +21,23 @@ a proposed approach. **Approval of a plan is simultaneously approval of its impl
|
|
|
20
21
|
this self-education pass.** A planned task is not finishable without it. If guidance files cannot
|
|
21
22
|
be edited (read-only run), list the required updates in the report instead.
|
|
22
23
|
|
|
23
|
-
Also recommended after any unplanned change that made an existing skill
|
|
24
|
+
Also recommended after any unplanned change that made an existing skill inaccurate.
|
|
24
25
|
|
|
25
26
|
## Review checklist
|
|
26
27
|
|
|
27
28
|
For each area the work touched:
|
|
28
29
|
|
|
29
|
-
1. Which existing skill
|
|
30
|
-
`.github/instructions/`.)
|
|
30
|
+
1. Which existing skill covers it? (Check `.agents/skills/`.)
|
|
31
31
|
2. Do its commands, paths, APIs, and behavior claims still hold after the change?
|
|
32
32
|
3. Fix in place — rewrite the affected lines so they describe current behavior; never append a
|
|
33
|
-
note about what this change did.
|
|
33
|
+
note about what this change did.
|
|
34
34
|
|
|
35
35
|
## Shape of an update
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
A skill states **current rules, not what changed**. Every edit is a rewrite in
|
|
38
38
|
place of the affected lines.
|
|
39
39
|
|
|
40
|
-
Never write into a skill
|
|
40
|
+
Never write into a skill: dated bulletins ("2026-07-05 — …"), phase or migration
|
|
41
41
|
status ("Phase 3 complete", "migration done", "landed"), "formerly X, now Y", incident
|
|
42
42
|
narratives, fixed-bug logs, or point-in-time inventories. If a line only makes sense to someone
|
|
43
43
|
who watched the change happen, it does not belong in guidance — the rule it taught does, stated
|
|
@@ -67,8 +67,8 @@ library; if none exists and the technology will recur, create one (update-vs-cre
|
|
|
67
67
|
|
|
68
68
|
## New subsystems / technologies
|
|
69
69
|
|
|
70
|
-
When new technology or a new subsystem entered the repo: create the skill
|
|
71
|
-
|
|
70
|
+
When new technology or a new subsystem entered the repo: create the skill for its procedures,
|
|
71
|
+
and/or the `.agents/memory/` node for its facts — split along the
|
|
72
72
|
memory-vs-skill boundary (`agent-memory` / `memory-promotion`).
|
|
73
73
|
|
|
74
74
|
## Completion gate
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: shadcn-versions
|
|
3
3
|
description: How to update versions of shadcn UI primitives, Tailwind CSS v4, and related UI libs across all shadcn-based OwlMeans web packages. Distinct from the @owlmeans/* package version sync (see [[versions]] skill). Use when bumping tailwind, shadcn components, or utility libs.
|
|
4
|
-
allowed-tools: Bash(grep *)
|
|
5
|
-
|
|
4
|
+
allowed-tools: Bash(grep *) Bash(sed *) Bash(bun install)
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
name: shadcn-web
|
|
3
3
|
description: How to build and maintain shadcn UI + Tailwind v4 web packages in the OwlMeans framework. Auto-invoked when editing components.json, tailwind.config.*, globals.css, or files under components/ui/. Use when creating a new shadcn-based web package or adding shadcn components.
|
|
4
4
|
user-invocable: false
|
|
5
|
-
|
|
5
|
+
metadata:
|
|
6
|
+
scope: general
|
|
6
7
|
---
|
|
7
8
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
9
|
|