@owlmeans/agent-skills 0.1.12 → 0.1.15
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/agent-meta/instructions/agent-memory.instructions.md +127 -27
- package/agent-meta/instructions/git.instructions.md +52 -0
- package/agent-meta/instructions/memory-promotion.instructions.md +111 -0
- package/agent-meta/instructions/memory-recompact.instructions.md +73 -0
- package/agent-meta/instructions/router-plugins.instructions.md +46 -0
- package/agent-meta/instructions/scaffolding.instructions.md +22 -1
- package/agent-meta/instructions/self-education.instructions.md +85 -0
- package/agent-meta/instructions/skill-authoring.instructions.md +9 -3
- package/agent-meta/manifest.json +72 -2
- package/agent-meta/skills/agent-memory/SKILL.md +121 -31
- package/agent-meta/skills/git/SKILL.md +53 -0
- package/agent-meta/skills/memory-promotion/SKILL.md +111 -0
- package/agent-meta/skills/memory-recompact/SKILL.md +72 -0
- package/agent-meta/skills/router-plugins/SKILL.md +77 -0
- package/agent-meta/skills/scaffolding/SKILL.md +25 -14
- package/agent-meta/skills/self-education/SKILL.md +83 -0
- package/agent-meta/skills/skill-authoring/SKILL.md +8 -3
- package/package.json +5 -5
|
@@ -23,7 +23,9 @@ npx @owlmeans/create-app my-app
|
|
|
23
23
|
|
|
24
24
|
By default it copies the template, runs `git init`, installs dependencies, and **deploys agent
|
|
25
25
|
guidance** into the project via [[bun]]-installed `@owlmeans/agent-skills` (`.claude/skills/` +
|
|
26
|
-
`.github/instructions/`).
|
|
26
|
+
`.github/instructions/`). With `--no-install` the deploy still runs — the installer's own bundled
|
|
27
|
+
extras give the project its general/harness guidance; only the package-specific skills wait for
|
|
28
|
+
`npx @owlmeans/agent-skills` after the install.
|
|
27
29
|
|
|
28
30
|
Flags: `--name <name>`, `--pm <bun|npm|yarn>` (default `bun`), `--no-install`, `--no-skills`,
|
|
29
31
|
`--no-git`, `--yes`/`-y`, `--help`.
|
|
@@ -50,29 +52,38 @@ primitives + layout/nav/screens). Finish with `npx @owlmeans/agent-skills` to ad
|
|
|
50
52
|
```
|
|
51
53
|
my-app/
|
|
52
54
|
├── package.json # bun workspaces: sources/*
|
|
53
|
-
├── CLAUDE.md #
|
|
55
|
+
├── CLAUDE.md # git/reporting/memory/self-education rules + project-purpose placeholder
|
|
54
56
|
├── .github/
|
|
55
57
|
│ ├── copilot-instructions.md # same directives for Copilot
|
|
56
|
-
│ └──
|
|
57
|
-
├── .claude/
|
|
58
|
+
│ └── instructions/ # seeded harness instructions (+ deployed ones)
|
|
59
|
+
├── .claude/skills/ # seeded harness skills (+ deployed ones)
|
|
60
|
+
├── .agents/memory/MEMORY.md # starter shared memory graph index (both tools)
|
|
58
61
|
├── sources/common/ # consts, types, schemas, config, modules (entrypoints)
|
|
59
62
|
├── sources/api/ # context.ts (appendStaticResource), app/session/*, modules.ts, index.ts
|
|
60
63
|
└── sources/web/ # vite + tailwind v4, components/ui/*, layout, nav, screens, render.tsx
|
|
61
64
|
```
|
|
62
65
|
|
|
66
|
+
Memory lives **only** in `.agents/memory/` — the legacy `.claude/memory/` and `.github/memory/`
|
|
67
|
+
starters are gone (see [[agent-memory]]; [[memory-recompact]] migrates a project that still has them).
|
|
68
|
+
|
|
63
69
|
The session demo stores items in `@owlmeans/static-resource`, namespaced by a client-generated
|
|
64
70
|
`sid` kept in `localStorage` — no database, no authentication. See [[static-resource]],
|
|
65
71
|
[[server-app]], [[web-panel]].
|
|
66
72
|
|
|
67
73
|
## Generated agent guidance
|
|
68
74
|
|
|
69
|
-
`CLAUDE.md` and `.github/copilot-instructions.md` carry the same
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
`CLAUDE.md` and `.github/copilot-instructions.md` carry the same four mandatory sections as a real
|
|
76
|
+
OwlMeans monorepo — **Git Workflow**, **Reporting**, **Memory** (the `.agents/memory/` graph store),
|
|
77
|
+
**Self-Education** — plus the mandatory [[reuse-code]] section and a **project-purpose placeholder**
|
|
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 in both files.
|
|
80
|
+
|
|
81
|
+
The harness guidance is **seeded into the template** as generated, banner-carrying copies, so a
|
|
82
|
+
project has it even before the installer runs: [[agent-memory]], [[memory-promotion]],
|
|
83
|
+
[[memory-recompact]], [[self-education]], [[skill-authoring]], `git`, [[reuse-code]],
|
|
84
|
+
[[getting-started]]. Regenerate the seed with `sync-agent-meta --seed-only` in the library-manager;
|
|
85
|
+
never hand-edit a seeded copy. The installer adds the remaining general skills
|
|
86
|
+
([[scaffolding]], [[router-plugins]], [[shadcn-web]], [[shadcn-versions]]) and every
|
|
87
|
+
package-specific one. After adding any `@owlmeans/*` dependency, re-run `npx @owlmeans/agent-skills`
|
|
88
|
+
— discovery scans **every** `node_modules/@owlmeans` in the workspace (root and nested under
|
|
89
|
+
`sources/*`), so package-specific skills are picked up even though bun nests them.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: self-education
|
|
3
|
+
description: Mandatory post-development guidance updating — after functionality is added or changed, rewrite the project skills/instructions the work touched as current rules (never as change notes), record external-doc findings (URL + gist) in the governing skill, or add skills/instructions for new subsystems and technologies. Required before the completion report whenever development started from a plan agreed with the agent.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
scope: general
|
|
6
|
+
---
|
|
7
|
+
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
8
|
+
|
|
9
|
+
# Self-education
|
|
10
|
+
|
|
11
|
+
After functionality is added or changed, the guidance that describes it must catch up — the agent
|
|
12
|
+
teaches itself for next time. This pass runs after implementation and verification, **before**
|
|
13
|
+
the completion report.
|
|
14
|
+
|
|
15
|
+
## When (mandatory)
|
|
16
|
+
|
|
17
|
+
Development "started from planning" when the session produced a plan the operator approved before
|
|
18
|
+
implementation — a plan-mode approval, an agreed written plan/spec, or an explicit "go ahead" on
|
|
19
|
+
a proposed approach. **Approval of a plan is simultaneously approval of its implicit final step:
|
|
20
|
+
this self-education pass.** A planned task is not finishable without it. If guidance files cannot
|
|
21
|
+
be edited (read-only run), list the required updates in the report instead.
|
|
22
|
+
|
|
23
|
+
Also recommended after any unplanned change that made an existing skill/instruction inaccurate.
|
|
24
|
+
|
|
25
|
+
## Review checklist
|
|
26
|
+
|
|
27
|
+
For each area the work touched:
|
|
28
|
+
|
|
29
|
+
1. Which existing skill/instruction covers it? (Check `.claude/skills/` +
|
|
30
|
+
`.github/instructions/`.)
|
|
31
|
+
2. Do its commands, paths, APIs, and behavior claims still hold after the change?
|
|
32
|
+
3. Fix in place — rewrite the affected lines so they describe current behavior; never append a
|
|
33
|
+
note about what this change did. Keep the skill and its instruction twin in sync.
|
|
34
|
+
|
|
35
|
+
## Shape of an update
|
|
36
|
+
|
|
37
|
+
Skills and instructions state **current rules, not what changed**. Every edit is a rewrite in
|
|
38
|
+
place of the affected lines.
|
|
39
|
+
|
|
40
|
+
Never write into a skill or instruction: dated bulletins ("2026-07-05 — …"), phase or migration
|
|
41
|
+
status ("Phase 3 complete", "migration done", "landed"), "formerly X, now Y", incident
|
|
42
|
+
narratives, fixed-bug logs, or point-in-time inventories. If a line only makes sense to someone
|
|
43
|
+
who watched the change happen, it does not belong in guidance — the rule it taught does, stated
|
|
44
|
+
timelessly. Facts too specific to generalize go to `.agents/memory/` (`agent-memory`); the
|
|
45
|
+
rewrite recipe is `memory-promotion` → Distillation.
|
|
46
|
+
|
|
47
|
+
Test: a finished skill reads as though the feature was always this way.
|
|
48
|
+
|
|
49
|
+
## Non-project skills
|
|
50
|
+
|
|
51
|
+
If a general or imported skill gained an important usage pattern during the work, add the pattern
|
|
52
|
+
to the **deployed copy** in this repo and note it in the report as an upstream candidate —
|
|
53
|
+
canonical archive copies change only on explicit operator request.
|
|
54
|
+
|
|
55
|
+
## External docs
|
|
56
|
+
|
|
57
|
+
If the work required reading internet documentation for an external API, library, or service,
|
|
58
|
+
the governing skill must record it under an `## External docs` heading:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
- <URL> — <one-line gist of what it settled> (<version/date if load-bearing>)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Governing skill = the project skill covering the touched area; else the skill covering that
|
|
65
|
+
library; if none exists and the technology will recur, create one (update-vs-create rule in
|
|
66
|
+
`memory-promotion`). Never leave doc findings only in memory or the conversation.
|
|
67
|
+
|
|
68
|
+
## New subsystems / technologies
|
|
69
|
+
|
|
70
|
+
When new technology or a new subsystem entered the repo: create the skill/instruction pair for
|
|
71
|
+
its procedures, and/or the `.agents/memory/` node for its facts — split along the
|
|
72
|
+
memory-vs-skill boundary (`agent-memory` / `memory-promotion`).
|
|
73
|
+
|
|
74
|
+
## Completion gate
|
|
75
|
+
|
|
76
|
+
The completion report must contain a Self-education table:
|
|
77
|
+
|
|
78
|
+
| Item | Action | Path |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| <area/skill> | updated / created / none-needed | <path> |
|
|
81
|
+
|
|
82
|
+
"none-needed" requires a one-phrase reason. A post-plan completion report without this table is
|
|
83
|
+
a protocol violation.
|
|
@@ -65,15 +65,20 @@ skill").
|
|
|
65
65
|
- **Skill / instruction** — a reusable procedure or reference you (or the tools) will want again,
|
|
66
66
|
worth auto-invoking. Lives in `.claude/skills/` + `.github/instructions/`.
|
|
67
67
|
- **Memory** — a fact, decision, or gotcha specific to this project's history/state. Lives in
|
|
68
|
-
`.
|
|
68
|
+
the shared `.agents/memory/` graph store (both tools). See the `agent-memory` skill; promotion
|
|
69
|
+
triggers and the update-vs-create rule live in `memory-promotion`.
|
|
69
70
|
|
|
70
71
|
If you find yourself writing "last time we…", that is memory. If you are writing "to do X, do Y",
|
|
71
72
|
that is a skill.
|
|
72
73
|
|
|
74
|
+
Never paste memory text into a skill. Memory content enters guidance only as a restated general
|
|
75
|
+
rule — trigger, step, and the failure it prevents, with dates, phase/status markers, versions and
|
|
76
|
+
incident narrative stripped (`memory-promotion` → Distillation).
|
|
77
|
+
|
|
73
78
|
## After adding a skill
|
|
74
79
|
|
|
75
80
|
1. If it replaces an ad-hoc `.claude/<topic>.md`, remove that file.
|
|
76
|
-
2.
|
|
77
|
-
|
|
81
|
+
2. If it distilled memory content into rules, shrink the source `.agents/memory/` node to a
|
|
82
|
+
pointer line (`memory-promotion`) — the memory index does not list skills.
|
|
78
83
|
3. Reference it from `CLAUDE.md` / `.github/copilot-instructions.md` if it should be discoverable
|
|
79
84
|
every session.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/agent-skills",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@owlmeans/dep-config": "workspace:*",
|
|
29
|
-
"@types/bun": "^1.3.
|
|
30
|
-
"@types/node": "^
|
|
31
|
-
"nodemon": "^3.1.
|
|
32
|
-
"typescript": "^6.0.
|
|
29
|
+
"@types/bun": "^1.3.14",
|
|
30
|
+
"@types/node": "^26.1.0",
|
|
31
|
+
"nodemon": "^3.1.14",
|
|
32
|
+
"typescript": "^6.0.3"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|