@alavida/agentpack 0.1.1 → 0.1.3

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.
Files changed (57) hide show
  1. package/README.md +16 -2
  2. package/bin/intent.js +20 -0
  3. package/package.json +11 -5
  4. package/skills/agentpack-cli/SKILL.md +16 -1
  5. package/skills/agentpack-cli/references/skill-lifecycle.md +21 -1
  6. package/skills/authoring-skillgraphs-from-knowledge/SKILL.md +148 -0
  7. package/skills/authoring-skillgraphs-from-knowledge/references/authored-metadata.md +6 -0
  8. package/skills/developing-and-testing-skills/SKILL.md +109 -0
  9. package/skills/developing-and-testing-skills/references/local-workbench.md +7 -0
  10. package/skills/getting-started-skillgraphs/SKILL.md +115 -0
  11. package/skills/getting-started-skillgraphs/references/command-routing.md +7 -0
  12. package/skills/identifying-skill-opportunities/SKILL.md +119 -0
  13. package/skills/identifying-skill-opportunities/references/capability-boundaries.md +6 -0
  14. package/skills/maintaining-skillgraph-freshness/SKILL.md +110 -0
  15. package/skills/repairing-broken-skill-or-plugin-state/SKILL.md +112 -0
  16. package/skills/repairing-broken-skill-or-plugin-state/references/diagnostic-flows.md +6 -0
  17. package/skills/shipping-production-plugins-and-packages/SKILL.md +123 -0
  18. package/skills/shipping-production-plugins-and-packages/references/plugin-delivery.md +6 -0
  19. package/src/application/plugins/build-plugin.js +5 -0
  20. package/src/application/plugins/inspect-plugin-bundle.js +5 -0
  21. package/src/application/plugins/validate-plugin-bundle.js +5 -0
  22. package/src/application/skills/build-skill-workbench-model.js +194 -0
  23. package/src/application/skills/inspect-skill.js +5 -0
  24. package/src/application/skills/list-stale-skills.js +9 -0
  25. package/src/application/skills/run-skill-workbench-action.js +23 -0
  26. package/src/application/skills/start-skill-dev-workbench.js +192 -0
  27. package/src/application/skills/validate-skills.js +5 -0
  28. package/src/cli.js +1 -1
  29. package/src/commands/plugin.js +7 -4
  30. package/src/commands/skills.js +14 -9
  31. package/src/dashboard/App.jsx +343 -0
  32. package/src/dashboard/components/Breadcrumbs.jsx +45 -0
  33. package/src/dashboard/components/ControlStrip.jsx +153 -0
  34. package/src/dashboard/components/InspectorPanel.jsx +203 -0
  35. package/src/dashboard/components/SkillGraph.jsx +567 -0
  36. package/src/dashboard/components/Tooltip.jsx +111 -0
  37. package/src/dashboard/dist/dashboard.js +26692 -0
  38. package/src/dashboard/index.html +81 -0
  39. package/src/dashboard/lib/api.js +19 -0
  40. package/src/dashboard/lib/router.js +15 -0
  41. package/src/dashboard/main.jsx +4 -0
  42. package/src/domain/plugins/load-plugin-definition.js +163 -0
  43. package/src/domain/plugins/plugin-diagnostic-error.js +18 -0
  44. package/src/domain/plugins/plugin-requirements.js +15 -0
  45. package/src/domain/skills/skill-graph.js +137 -0
  46. package/src/domain/skills/skill-model.js +187 -0
  47. package/src/domain/skills/skill-provenance.js +69 -0
  48. package/src/infrastructure/fs/build-state-repository.js +16 -0
  49. package/src/infrastructure/fs/install-state-repository.js +16 -0
  50. package/src/infrastructure/runtime/materialize-skills.js +117 -0
  51. package/src/infrastructure/runtime/open-browser.js +20 -0
  52. package/src/infrastructure/runtime/skill-dev-workbench-server.js +96 -0
  53. package/src/infrastructure/runtime/watch-skill-workbench.js +68 -0
  54. package/src/infrastructure/runtime/watch-tree.js +44 -0
  55. package/src/lib/plugins.js +46 -117
  56. package/src/lib/skills.js +141 -459
  57. package/src/utils/errors.js +33 -1
package/README.md CHANGED
@@ -88,7 +88,9 @@ agentpack skills validate domains/operations/skills/agonda-prioritisation
88
88
  agentpack skills dev domains/operations/skills/agonda-prioritisation
89
89
  ```
90
90
 
91
- Use `skills dev` when you want the skill linked into `.claude/skills/` and `.agents/skills/` for local runtime testing.
91
+ Use `skills dev` when you want the skill linked into `.claude/skills/` and `.agents/skills/` for local runtime testing. It now also starts a localhost development workbench by default for one selected skill, showing immediate provenance sources, direct required skills, lifecycle state, and workbench actions such as validation and stale checks.
92
+
93
+ Pass `--no-dashboard` if you want the original CLI-only linking workflow without the local dashboard.
92
94
 
93
95
  If your agent session was already running, start a fresh session after linking so the runtime can pick up the newly materialized skill.
94
96
 
@@ -107,6 +109,8 @@ agentpack plugin validate path/to/plugin
107
109
  agentpack plugin build path/to/plugin
108
110
  ```
109
111
 
112
+ `plugin inspect` and `plugin validate` now emit actionable structured diagnostics when a plugin target is missing required files such as `package.json` or `.claude-plugin/plugin.json`.
113
+
110
114
  For watch mode during development:
111
115
 
112
116
  ```bash
@@ -219,6 +223,12 @@ Implemented today:
219
223
 
220
224
  Hosted docs: https://docs.alavida.ai
221
225
 
226
+ For a repo-local demo and manual testing target, initialize submodules and use [`sandbox/acme-demo/`](./sandbox/acme-demo).
227
+
228
+ ```bash
229
+ git submodule update --init --recursive
230
+ ```
231
+
222
232
  Docs source: [`docs/`](./docs)
223
233
 
224
234
  For local docs preview as a contributor:
@@ -251,7 +261,11 @@ This package also ships an agent-facing skill under:
251
261
  node_modules/@alavida/agentpack/skills/agentpack-cli/SKILL.md
252
262
  ```
253
263
 
254
- If your repo uses TanStack Intent, you can map that shipped skill into your agent workflow so the agent knows how to use `agentpack` correctly inside downstream repos. This is optional. It is not required to use the CLI.
264
+ Consumers can use TanStack Intent in their repos to map that shipped skill into their agent workflow so the agent knows how to use `agentpack` correctly.
265
+
266
+ This is recommended if you want downstream coding agents to follow the right `agentpack` lifecycle automatically.
267
+
268
+ It is still optional. You do not need Intent to install or run the CLI itself.
255
269
 
256
270
  ## Metadata Policy
257
271
 
package/bin/intent.js ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ // Auto-generated by @tanstack/intent setup
3
+ // Exposes the intent end-user CLI for consumers of this library.
4
+ // Commit this file, then add to your package.json:
5
+ // "bin": { "intent": "./bin/intent.js" }
6
+ try {
7
+ await import('@tanstack/intent/intent-library')
8
+ } catch (e) {
9
+ if (e?.code === 'ERR_MODULE_NOT_FOUND' || e?.code === 'MODULE_NOT_FOUND') {
10
+ console.error('@tanstack/intent is not installed.')
11
+ console.error('')
12
+ console.error('Install it as a dev dependency:')
13
+ console.error(' npm add -D @tanstack/intent')
14
+ console.error('')
15
+ console.error('Or run directly:')
16
+ console.error(' npx @tanstack/intent@latest list')
17
+ process.exit(1)
18
+ }
19
+ throw e
20
+ }
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@alavida/agentpack",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Package-backed skills lifecycle CLI for agent skills and plugins",
5
5
  "type": "module",
6
6
  "bin": {
7
- "agentpack": "bin/agentpack.js"
7
+ "agentpack": "bin/agentpack.js",
8
+ "intent": "./bin/intent.js"
8
9
  },
9
10
  "files": [
10
11
  "bin",
@@ -18,7 +19,8 @@
18
19
  "validate:live": "node scripts/live-validation.mjs",
19
20
  "smoke:monorepo": "node scripts/smoke-monorepo.mjs",
20
21
  "docs:dev": "cd docs && mint dev",
21
- "intent:validate": "npx @tanstack/intent validate"
22
+ "intent:validate": "npx @tanstack/intent validate",
23
+ "build:dashboard": "node scripts/build-dashboard.mjs"
22
24
  },
23
25
  "keywords": [
24
26
  "agentpack",
@@ -43,10 +45,14 @@
43
45
  "docs": "https://github.com/alavida-ai/agentpack/tree/main/docs"
44
46
  },
45
47
  "dependencies": {
46
- "commander": "^13.0.0"
48
+ "commander": "^13.0.0",
49
+ "d3": "^7.9.0",
50
+ "react": "^19.1.1",
51
+ "react-dom": "^19.1.1"
47
52
  },
48
53
  "devDependencies": {
49
- "@tanstack/intent": "^0.0.14"
54
+ "@tanstack/intent": "^0.0.14",
55
+ "esbuild": "^0.25.10"
50
56
  },
51
57
  "engines": {
52
58
  "node": ">=20.0.0"
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agentpack-cli
3
3
  description: Use the agentpack CLI correctly when treating knowledge as a package. Apply the authored skill lifecycle, plugin lifecycle, source-backed validation, install flow, and bundled plugin artifact flow without mixing those stages together.
4
- library_version: 0.1.1
4
+ library_version: 0.1.2
5
5
  sources:
6
6
  - README.md
7
7
  - docs/introduction.mdx
@@ -56,17 +56,26 @@ Default flow:
56
56
  - `agentpack skills inspect <skill-dir>`
57
57
  - `agentpack skills validate <skill-dir>`
58
58
  - `agentpack skills dev <skill-dir>` if local runtime testing is needed
59
+ - `agentpack skills dev --no-dashboard <skill-dir>` if the user wants to skip the local workbench
59
60
 
60
61
  Key idea:
61
62
 
62
63
  - `SKILL.md.requires` is the source of truth
63
64
  - `package.json.dependencies` is the compiled mirror
64
65
  - `validate` and `dev` sync dependencies automatically
66
+ - `skills validate` records the current source-hash snapshot in `.agentpack/build-state.json`
65
67
  - `skills dev` materializes the compiled skill artifact for runtime use
66
68
 
69
+ Persistence rule:
70
+
71
+ - commit `.agentpack/build-state.json` so stale detection works across GitHub, CI, and teammate machines
72
+ - commit `.agentpack/catalog.json` in authoring repos
73
+ - do not commit `.agentpack/install.json`
74
+
67
75
  Runtime notes:
68
76
 
69
77
  - after `skills dev` writes to `.claude/skills/` or `.agents/skills/`, start a fresh agent session if the current one was already running
78
+ - `skills dev` starts a localhost workbench by default for one selected skill, with provenance edges, direct required skills, and actions like validate or stale checks
70
79
  - do not reload `metadata.sources` manually once the dev-linked skill exists; trust the compiled `SKILL.md` artifact unless you are explicitly updating the skill
71
80
  - invoke the resulting skill through the runtime's skill mechanism, not by opening the file and reading it as plain text
72
81
 
@@ -99,6 +108,7 @@ Key idea:
99
108
  - plugin-local `requires` remain the dependency truth
100
109
  - packaged skills are vendored into the built artifact
101
110
  - the plugin artifact is the thing consumers run
111
+ - `plugin inspect` and `plugin validate` can return structured diagnostics with `path`, `nextSteps`, and example fixes when plugin definition files are missing or malformed
102
112
 
103
113
  Read [plugin-lifecycle.md](references/plugin-lifecycle.md) when the user needs the full artifact flow.
104
114
 
@@ -112,6 +122,11 @@ Default flow:
112
122
  - `agentpack skills stale <skill>`
113
123
  - `agentpack skills validate <skill>`
114
124
 
125
+ Key idea:
126
+
127
+ - `skills stale` compares current source hashes to the last validated snapshot in `.agentpack/build-state.json`
128
+ - if that file is not committed, stale detection will not persist across clones or CI runs
129
+
115
130
  ## Conceptual Frame
116
131
 
117
132
  When the user is reasoning about the model itself, explain agentpack this way:
@@ -42,9 +42,15 @@ Use this when the user is creating or changing a packaged skill in the same repo
42
42
  What each step means:
43
43
 
44
44
  - `inspect` explains what the skill currently is
45
- - `validate` checks package readiness and source existence
45
+ - `validate` checks package readiness, source existence, and records the validated source snapshot in `.agentpack/build-state.json`
46
46
  - `dev` links the skill into `.claude/skills/` and `.agents/skills/` for local testing
47
47
 
48
+ Important persistence behavior:
49
+
50
+ - commit `.agentpack/build-state.json` if you want `skills stale` to work across GitHub, CI, and teammate machines
51
+ - commit `.agentpack/catalog.json` in authoring repos
52
+ - do not commit `.agentpack/install.json`
53
+
48
54
  Important runtime behavior:
49
55
 
50
56
  - if the agent session was already running before `skills dev`, start a fresh session so the runtime can rescan the linked skill
@@ -76,3 +82,17 @@ Consumption stage:
76
82
  - `skills env`
77
83
 
78
84
  Do not substitute one for the other.
85
+
86
+ ## Stale Detection Contract
87
+
88
+ `skills stale` is not comparing against memory or local runtime state.
89
+
90
+ It compares current source hashes against the last validated snapshot recorded in `.agentpack/build-state.json`.
91
+
92
+ That means:
93
+
94
+ 1. run `agentpack skills validate <skill-dir>`
95
+ 2. commit the updated `.agentpack/build-state.json`
96
+ 3. later source changes can be detected by `agentpack skills stale`
97
+
98
+ If the build-state file is not committed, stale detection will only work on the machine where validation was last run.
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: authoring-skillgraphs-from-knowledge
3
+ description: Use when authoring packaged skills from source knowledge with valid SKILL.md metadata, package.json release fields, provenance sources, and requires edges in agentpack.
4
+ type: core
5
+ library: agentpack
6
+ library_version: "0.1.2"
7
+ sources:
8
+ - "alavida-ai/agentpack:docs/commands.mdx"
9
+ - "alavida-ai/agentpack:docs/architecture.mdx"
10
+ - "alavida-ai/agentpack:skills/agentpack-cli/SKILL.md"
11
+ ---
12
+
13
+ # Agentpack - Authoring Skillgraphs From Knowledge
14
+
15
+ ## Setup
16
+
17
+ ```yaml
18
+ ---
19
+ name: value-copywriting
20
+ description: Messaging and copywriting guidance.
21
+ metadata:
22
+ sources:
23
+ - domains/value/knowledge/selling-points.md
24
+ requires:
25
+ - @alavida-ai/methodology-gary-provost
26
+ ---
27
+ ```
28
+
29
+ ```json
30
+ {
31
+ "name": "@alavida-ai/value-copywriting",
32
+ "version": "1.0.0",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/alavida-ai/knowledge-base.git"
36
+ },
37
+ "publishConfig": {
38
+ "registry": "https://npm.pkg.github.com"
39
+ },
40
+ "files": ["SKILL.md"],
41
+ "dependencies": {
42
+ "@alavida-ai/methodology-gary-provost": "^1.0.0"
43
+ }
44
+ }
45
+ ```
46
+
47
+ ## Core Patterns
48
+
49
+ ### Author `requires` in `SKILL.md`
50
+
51
+ ```yaml
52
+ requires:
53
+ - @alavida-ai/methodology-gary-provost
54
+ ```
55
+
56
+ ### Validate to sync and record provenance
57
+
58
+ ```bash
59
+ agentpack skills validate domains/value/skills/copywriting
60
+ ```
61
+
62
+ ### Inspect by path or package name
63
+
64
+ ```bash
65
+ agentpack skills inspect domains/value/skills/copywriting
66
+ agentpack skills inspect @alavida-ai/value-copywriting
67
+ ```
68
+
69
+ ## Common Mistakes
70
+
71
+ ### CRITICAL Editing package dependencies instead of requires
72
+
73
+ Wrong:
74
+
75
+ ```json
76
+ {
77
+ "dependencies": {
78
+ "@alavida-ai/methodology-gary-provost": "^1.0.0"
79
+ }
80
+ }
81
+ ```
82
+
83
+ Correct:
84
+
85
+ ```yaml
86
+ requires:
87
+ - @alavida-ai/methodology-gary-provost
88
+ ```
89
+
90
+ `requires` is the authored dependency truth; `package.json.dependencies` is the compiled mirror.
91
+
92
+ Source: skills/agentpack-cli/SKILL.md
93
+
94
+ ### HIGH Shipping a skill package without SKILL.md in files
95
+
96
+ Wrong:
97
+
98
+ ```json
99
+ {
100
+ "files": ["README.md"]
101
+ }
102
+ ```
103
+
104
+ Correct:
105
+
106
+ ```json
107
+ {
108
+ "files": ["SKILL.md"]
109
+ }
110
+ ```
111
+
112
+ A package that excludes `SKILL.md` is structurally invalid even if the authored source exists locally.
113
+
114
+ Source: docs/commands.mdx
115
+
116
+ ### HIGH Using missing or invalid package metadata
117
+
118
+ Wrong:
119
+
120
+ ```json
121
+ {
122
+ "name": "@alavida-ai/value-copywriting"
123
+ }
124
+ ```
125
+
126
+ Correct:
127
+
128
+ ```json
129
+ {
130
+ "name": "@alavida-ai/value-copywriting",
131
+ "version": "1.0.0",
132
+ "repository": {
133
+ "type": "git",
134
+ "url": "git+https://github.com/alavida-ai/knowledge-base.git"
135
+ },
136
+ "publishConfig": {
137
+ "registry": "https://npm.pkg.github.com"
138
+ }
139
+ }
140
+ ```
141
+
142
+ Release-readiness checks enforce package identity and distribution metadata during `skills validate`.
143
+
144
+ Source: docs/commands.mdx
145
+
146
+ ## References
147
+
148
+ - [Authored metadata](references/authored-metadata.md)
@@ -0,0 +1,6 @@
1
+ # Authored Metadata
2
+
3
+ - `SKILL.md` owns `name`, `description`, `metadata.sources`, and `requires`
4
+ - `package.json` owns distribution metadata such as package name, version, publish config, and repository
5
+ - `skills validate` syncs managed dependencies from `requires` and refreshes `.agentpack/build-state.json`
6
+
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: developing-and-testing-skills
3
+ description: Use when iterating locally on a packaged skill with agentpack skills dev, the localhost workbench, repo-local materialization, and runtime testing feedback loops.
4
+ type: core
5
+ library: agentpack
6
+ library_version: "0.1.2"
7
+ sources:
8
+ - "alavida-ai/agentpack:docs/commands.mdx"
9
+ - "alavida-ai/agentpack:docs/introduction.mdx"
10
+ - "alavida-ai/agentpack:README.md"
11
+ requires:
12
+ - authoring-skillgraphs-from-knowledge
13
+ - maintaining-skillgraph-freshness
14
+ ---
15
+
16
+ # Agentpack - Developing And Testing Skills
17
+
18
+ ## Setup
19
+
20
+ ```bash
21
+ cd knowledge-base
22
+ agentpack skills dev domains/value/skills/copywriting
23
+ ```
24
+
25
+ ## Core Patterns
26
+
27
+ ### Start local dev with the workbench
28
+
29
+ ```bash
30
+ agentpack skills dev domains/value/skills/copywriting
31
+ ```
32
+
33
+ This links the selected skill into `.claude/skills/` and `.agents/skills/` and starts a localhost workbench by default.
34
+
35
+ ### Use CLI-only mode when you explicitly do not want the dashboard
36
+
37
+ ```bash
38
+ agentpack skills dev --no-dashboard domains/value/skills/copywriting
39
+ ```
40
+
41
+ ### Stop and clean up local links
42
+
43
+ ```bash
44
+ agentpack skills unlink value-copywriting
45
+ ```
46
+
47
+ ## Common Mistakes
48
+
49
+ ### HIGH Expecting the current agent session to pick up new links
50
+
51
+ Wrong:
52
+
53
+ ```bash
54
+ agentpack skills dev domains/value/skills/copywriting
55
+ ```
56
+
57
+ Correct:
58
+
59
+ ```bash
60
+ agentpack skills dev domains/value/skills/copywriting
61
+ # start a fresh agent session if one was already running
62
+ ```
63
+
64
+ Already-running agent sessions may not rescan newly materialized skills.
65
+
66
+ Source: README.md
67
+
68
+ ### MEDIUM Assuming unresolved requires block local dev links
69
+
70
+ Wrong:
71
+
72
+ ```bash
73
+ agentpack skills dev domains/value/skills/copywriting
74
+ # ignore the unresolved warning because linking succeeded
75
+ ```
76
+
77
+ Correct:
78
+
79
+ ```bash
80
+ agentpack skills dev domains/value/skills/copywriting
81
+ agentpack skills dependencies @alavida-ai/value-copywriting
82
+ agentpack skills missing
83
+ ```
84
+
85
+ `skills dev` can still link the selected skill while warning about unresolved packaged requirements.
86
+
87
+ Source: docs/commands.mdx
88
+
89
+ ### MEDIUM Using no-dashboard mode and expecting workbench actions
90
+
91
+ Wrong:
92
+
93
+ ```bash
94
+ agentpack skills dev --no-dashboard domains/value/skills/copywriting
95
+ ```
96
+
97
+ Correct:
98
+
99
+ ```bash
100
+ agentpack skills dev domains/value/skills/copywriting
101
+ ```
102
+
103
+ `--no-dashboard` suppresses the localhost workbench entirely.
104
+
105
+ Source: docs/introduction.mdx
106
+
107
+ ## References
108
+
109
+ - [Local workbench](references/local-workbench.md)
@@ -0,0 +1,7 @@
1
+ # Local Workbench
2
+
3
+ - Default `skills dev` starts a localhost workbench for one selected skill
4
+ - The workbench shows provenance sources, direct required skills, lifecycle state, and actions such as validate or stale checks
5
+ - `--no-dashboard` keeps the old CLI-only flow
6
+ - Editing `SKILL.md`, `package.json`, or tracked source files refreshes the model during the dev session
7
+
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: getting-started-skillgraphs
3
+ description: Use when starting from an empty repo or empty skillgraph and needing the first correct authoring loop, lifecycle framing, repo-root routing, and inspect/validate/dev command flow in agentpack.
4
+ type: lifecycle
5
+ library: agentpack
6
+ library_version: "0.1.2"
7
+ sources:
8
+ - "alavida-ai/agentpack:docs/introduction.mdx"
9
+ - "alavida-ai/agentpack:docs/commands.mdx"
10
+ - "alavida-ai/agentpack:README.md"
11
+ ---
12
+
13
+ # Agentpack - Getting Started Skillgraphs
14
+
15
+ ## Setup
16
+
17
+ ```bash
18
+ npm install -g @alavida/agentpack
19
+ cd knowledge-base
20
+ agentpack skills inspect domains/value/skills/copywriting
21
+ agentpack skills validate domains/value/skills/copywriting
22
+ agentpack skills dev domains/value/skills/copywriting
23
+ ```
24
+
25
+ ## Core Patterns
26
+
27
+ ### Start in the authoring repo
28
+
29
+ ```bash
30
+ cd knowledge-base
31
+ agentpack skills validate domains/value/skills/copywriting
32
+ agentpack skills stale
33
+ ```
34
+
35
+ Run source-backed commands from the repo that owns the files in `metadata.sources`.
36
+
37
+ ### Use the authored workflow first
38
+
39
+ ```bash
40
+ agentpack skills inspect domains/value/skills/copywriting
41
+ agentpack skills validate domains/value/skills/copywriting
42
+ agentpack skills dev domains/value/skills/copywriting
43
+ ```
44
+
45
+ ### Switch to consumer install only after publishing
46
+
47
+ ```bash
48
+ cd consumer-repo
49
+ agentpack skills install @alavida-ai/value-copywriting
50
+ agentpack skills env
51
+ ```
52
+
53
+ ## Common Mistakes
54
+
55
+ ### CRITICAL Wrong repo root for source-backed commands
56
+
57
+ Wrong:
58
+
59
+ ```bash
60
+ cd tooling/agentpack
61
+ agentpack skills validate ../knowledge-base/domains/value/skills/copywriting
62
+ ```
63
+
64
+ Correct:
65
+
66
+ ```bash
67
+ cd knowledge-base
68
+ agentpack skills validate domains/value/skills/copywriting
69
+ ```
70
+
71
+ `metadata.sources` resolve relative to the current repo root, so validating from the wrong repo breaks provenance checks.
72
+
73
+ Source: docs/introduction.mdx
74
+
75
+ ### HIGH Starting with install instead of authoring validation
76
+
77
+ Wrong:
78
+
79
+ ```bash
80
+ agentpack skills install @alavida-ai/value-copywriting
81
+ ```
82
+
83
+ Correct:
84
+
85
+ ```bash
86
+ agentpack skills inspect domains/value/skills/copywriting
87
+ agentpack skills validate domains/value/skills/copywriting
88
+ ```
89
+
90
+ `install` is the consumer lifecycle; authored skills need inspect and validate first.
91
+
92
+ Source: skills/agentpack-cli/SKILL.md
93
+
94
+ ### MEDIUM Treating the dashboard as the authoring surface
95
+
96
+ Wrong:
97
+
98
+ ```bash
99
+ agentpack skills dev domains/value/skills/copywriting
100
+ ```
101
+
102
+ Correct:
103
+
104
+ ```bash
105
+ edit domains/value/skills/copywriting/SKILL.md
106
+ agentpack skills dev domains/value/skills/copywriting
107
+ ```
108
+
109
+ The localhost workbench is for visibility during `skills dev`, not the source of truth for authored behavior.
110
+
111
+ Source: docs/commands.mdx
112
+
113
+ ## References
114
+
115
+ - [Command routing](references/command-routing.md)
@@ -0,0 +1,7 @@
1
+ # Command Routing
2
+
3
+ - Authoring repo: `skills inspect`, `skills validate`, `skills dev`, `skills stale`
4
+ - Consumer repo: `skills install`, `skills env`, `skills status`, `skills missing`
5
+ - Plugin shell: `plugin inspect`, `plugin validate`, `plugin build`, `plugin dev`
6
+ - If sources live under `domains/.../knowledge/*.md`, run authored commands from that repo root
7
+