blueprint-os 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -154,4 +154,4 @@ The `shaping-specs` skill will use the design document as its starting context,
154
154
  - Design document output: `specs/`
155
155
  - Next step: `.agent/skills/shaping-specs/SKILL.md`
156
156
  - Existing standards (Mode 2): `standards/README.md`
157
- - Superpowers brainstorming reference: `npx skills add obra/superpowers`
157
+ - Superpowers brainstorming reference: `npx skills add obra/superpowers -a antigravity -y --copy`
@@ -16,7 +16,7 @@ description: Acquires or creates Blueprint OS skills. Searches skills.sh registr
16
16
 
17
17
  - [ ] Clarify the skill's purpose — what task does it solve, and what are its triggers?
18
18
  - [ ] Search skills.sh for an existing community skill (see Instructions > Discovering on skills.sh)
19
- - [ ] If found: install with `npx skills add <owner/repo>` and evaluate fit
19
+ - [ ] If found: install with `npx skills add <owner/repo> -a antigravity -y --copy` and evaluate fit
20
20
  - [ ] If it covers the need as-is: done — update the Skills Index in `README.md`
21
21
  - [ ] If it partially fits: customize it (see Instructions > Customizing an installed skill)
22
22
  - [ ] If nothing suitable found: create from scratch (see Instructions > Creating from scratch)
@@ -32,7 +32,7 @@ Before building anything, search the [skills.sh registry](https://skills.sh) —
32
32
  **Search via agent:**
33
33
 
34
34
  ```bash
35
- npx skills add https://github.com/vercel-labs/skills --skill find-skills
35
+ npx skills add https://github.com/vercel-labs/skills --skill find-skills -a antigravity -y --copy
36
36
  ```
37
37
 
38
38
  Then ask the `find-skills` skill to search for what you need.
@@ -42,18 +42,18 @@ Then ask the `find-skills` skill to search for what you need.
42
42
  **Install a skill:**
43
43
 
44
44
  ```bash
45
- npx skills add <owner/repo>
45
+ npx skills add <owner/repo> -a antigravity -y --copy
46
46
  ```
47
47
 
48
48
  Example:
49
49
 
50
50
  ```bash
51
- npx skills add supabase/agent-skills
52
- npx skills add vercel-labs/agent-skills
53
- npx skills add anthropics/skills
51
+ npx skills add supabase/agent-skills -a antigravity -y --copy
52
+ npx skills add vercel-labs/agent-skills -a antigravity -y --copy
53
+ npx skills add anthropics/skills -a antigravity -y --copy
54
54
  ```
55
55
 
56
- Installed skills land in `.agent/skills/` automatically compatible with Blueprint OS out of the box.
56
+ The `-a antigravity` flag installs to `.agent/skills/`, matching Blueprint OS. The `--copy` flag creates real files (not symlinks) so deleting `.agents` won't break the skill when Cursor is detected.
57
57
 
58
58
  ### Customizing an installed skill
59
59
 
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: find-skills
3
+ description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
4
+ ---
5
+
6
+ # Find Skills
7
+
8
+ This skill helps you discover and install skills from the open agent skills ecosystem.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Use this skill when the user:
13
+
14
+ - Asks "how do I do X" where X might be a common task with an existing skill
15
+ - Says "find a skill for X" or "is there a skill for X"
16
+ - Asks "can you do X" where X is a specialized capability
17
+ - Expresses interest in extending agent capabilities
18
+ - Wants to search for tools, templates, or workflows
19
+ - Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
20
+
21
+ ## What is the Skills CLI?
22
+
23
+ The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
24
+
25
+ **Key commands:**
26
+
27
+ - `npx skills find [query]` - Search for skills interactively or by keyword
28
+ - `npx skills add <package>` - Install a skill from GitHub or other sources
29
+ - `npx skills check` - Check for skill updates
30
+ - `npx skills update` - Update all installed skills
31
+
32
+ **Browse skills at:** https://skills.sh/
33
+
34
+ ## How to Help Users Find Skills
35
+
36
+ ### Step 1: Understand What They Need
37
+
38
+ When a user asks for help with something, identify:
39
+
40
+ 1. The domain (e.g., React, testing, design, deployment)
41
+ 2. The specific task (e.g., writing tests, creating animations, reviewing PRs)
42
+ 3. Whether this is a common enough task that a skill likely exists
43
+
44
+ ### Step 2: Search for Skills
45
+
46
+ Run the find command with a relevant query:
47
+
48
+ ```bash
49
+ npx skills find [query]
50
+ ```
51
+
52
+ For example:
53
+
54
+ - User asks "how do I make my React app faster?" → `npx skills find react performance`
55
+ - User asks "can you help me with PR reviews?" → `npx skills find pr review`
56
+ - User asks "I need to create a changelog" → `npx skills find changelog`
57
+
58
+ The command will return results like:
59
+
60
+ ```
61
+ Install with npx skills add <owner/repo@skill>
62
+
63
+ vercel-labs/agent-skills@vercel-react-best-practices
64
+ └ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
65
+ ```
66
+
67
+ ### Step 3: Present Options to the User
68
+
69
+ When you find relevant skills, present them to the user with:
70
+
71
+ 1. The skill name and what it does
72
+ 2. The install command they can run
73
+ 3. A link to learn more at skills.sh
74
+
75
+ Example response:
76
+
77
+ ```
78
+ I found a skill that might help! The "vercel-react-best-practices" skill provides
79
+ React and Next.js performance optimization guidelines from Vercel Engineering.
80
+
81
+ To install it:
82
+ npx skills add vercel-labs/agent-skills@vercel-react-best-practices
83
+
84
+ Learn more: https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
85
+ ```
86
+
87
+ ### Step 4: Offer to Install
88
+
89
+ If the user wants to proceed, you can install the skill for them:
90
+
91
+ ```bash
92
+ npx skills add <owner/repo@skill> -g -y
93
+ ```
94
+
95
+ The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts.
96
+
97
+ ## Common Skill Categories
98
+
99
+ When searching, consider these common categories:
100
+
101
+ | Category | Example Queries |
102
+ | --------------- | ---------------------------------------- |
103
+ | Web Development | react, nextjs, typescript, css, tailwind |
104
+ | Testing | testing, jest, playwright, e2e |
105
+ | DevOps | deploy, docker, kubernetes, ci-cd |
106
+ | Documentation | docs, readme, changelog, api-docs |
107
+ | Code Quality | review, lint, refactor, best-practices |
108
+ | Design | ui, ux, design-system, accessibility |
109
+ | Productivity | workflow, automation, git |
110
+
111
+ ## Tips for Effective Searches
112
+
113
+ 1. **Use specific keywords**: "react testing" is better than just "testing"
114
+ 2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
115
+ 3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
116
+
117
+ ## When No Skills Are Found
118
+
119
+ If no relevant skills exist:
120
+
121
+ 1. Acknowledge that no existing skill was found
122
+ 2. Offer to help with the task directly using your general capabilities
123
+ 3. Suggest the user could create their own skill with `npx skills init`
124
+
125
+ Example:
126
+
127
+ ```
128
+ I searched for skills related to "xyz" but didn't find any matches.
129
+ I can still help you with this task directly! Would you like me to proceed?
130
+
131
+ If this is something you do often, you could create your own skill:
132
+ npx skills init my-xyz-skill
133
+ ```
package/README.md CHANGED
@@ -79,7 +79,9 @@ From your project directory:
79
79
  npx blueprint-os init
80
80
  ```
81
81
 
82
- This copies `.agent/`, `standards/`, `references/`, and `adapters/` into your project. No dependency is added to `package.json`.
82
+ This copies `.agent/`, `standards/`, `references/`, and `adapters/` into your project. No dependency is added to `package.json`. The `find-skills` skill is included so you can search the skills.sh registry without installing it separately.
83
+
84
+ **Conditional copy:** If `standards/` or `references/` already contain project content (files beyond the template), they are preserved and not overwritten.
83
85
 
84
86
  **Or copy manually:** Place the `.agent/` folder, `standards/` folder, and `references/` folder at the root of your project:
85
87
 
@@ -87,6 +89,9 @@ This copies `.agent/`, `standards/`, `references/`, and `adapters/` into your pr
87
89
  your-project/
88
90
  ├── .agent/
89
91
  │ └── skills/
92
+ │ ├── find-skills/ ← pre-installed
93
+ │ ├── brainstorming/
94
+ │ └── ...
90
95
  ├── standards/
91
96
  ├── references/
92
97
  └── ... your code
@@ -124,11 +129,33 @@ your-project/
124
129
  **Adding a new skill:**
125
130
 
126
131
  ```
127
- 1. Browse https://skills.sh or run: npx skills add https://github.com/vercel-labs/skills --skill find-skills
128
- 2. If found: npx skills add <owner/repo>
132
+ 1. Use the pre-installed find-skills: "Read .agent/skills/find-skills/SKILL.md and find a skill for [task]" — or browse https://skills.sh
133
+ 2. If found: npx skills add <owner/repo> -a antigravity -y --copy
129
134
  3. If not found: ask your agent "Read .agent/skills/creating-skills/SKILL.md and create a skill for [task]"
130
135
  ```
131
136
 
137
+ ### Updating Blueprint OS
138
+
139
+ To refresh core skills and adapters without touching your content:
140
+
141
+ ```bash
142
+ npx blueprint-os@latest update
143
+ ```
144
+
145
+ **What `update` does:**
146
+ - Updates core skills in `.agent/skills/` (brainstorming, shaping-specs, discovering-standards, etc.)
147
+ - Updates `adapters/`
148
+ - Refreshes `references/agent-workflow/` and `references/README.md`
149
+ - Refreshes `standards/README.md`
150
+
151
+ **What `update` preserves:**
152
+ - `specs/` — never touched
153
+ - Your standards files (e.g. `api-design.md`, `error-handling.md`)
154
+ - Your reference files (anything beyond `agent-workflow/`)
155
+ - Community skills you installed from skills.sh
156
+
157
+ **Conditional copy on `init`:** If you run `init` again, `standards/` and `references/` are preserved when they already contain project content (files beyond the shipped template).
158
+
132
159
  ---
133
160
 
134
161
  ## Skills Index
@@ -137,6 +164,7 @@ Skills live in `.agent/skills/`. Each skill is a `SKILL.md` file the agent reads
137
164
 
138
165
  | Skill | Path | Purpose |
139
166
  |---|---|---|
167
+ | Find Skills | `.agent/skills/find-skills/` | Search the skills.sh registry for community skills (pre-installed) |
140
168
  | Brainstorming | `.agent/skills/brainstorming/` | Explore problems, compare approaches, produce a design document |
141
169
  | Creating Skills | `.agent/skills/creating-skills/` | Find on skills.sh first, author from scratch as fallback |
142
170
  | Shaping Specs | `.agent/skills/shaping-specs/` | Formalize a chosen direction into an implementation spec |
@@ -146,7 +174,7 @@ Skills live in `.agent/skills/`. Each skill is a `SKILL.md` file the agent reads
146
174
  | Security Audit | `.agent/skills/security-audit/` | Audit auth, API, and sensitive data changes before merge |
147
175
  | Code Review | `.agent/skills/code-review/` | Final validation against spec and standards before merge |
148
176
 
149
- **Community skills** from [skills.sh](https://skills.sh) install directly into `.agent/skills/` and work with Blueprint OS out of the box. Run `npx skills add <owner/repo>` to install any skill from the registry.
177
+ **Community skills** from [skills.sh](https://skills.sh) install into `.agent/skills/` when you use `-a antigravity -y --copy`. The `--copy` flag creates real files so deleting `.agents` (created when Cursor is detected) won't break the skill.
150
178
 
151
179
  ---
152
180
 
@@ -258,17 +286,16 @@ Agent loads `component-patterns.md`, `error-handling.md`, and any relevant refer
258
286
 
259
287
  You want the agent to follow a strict TDD workflow but Blueprint OS has no skill for it.
260
288
 
261
- **Step 1: Check skills.sh first**
289
+ **Step 1: Use the pre-installed find-skills**
262
290
  ```
263
- npx skills add https://github.com/vercel-labs/skills --skill find-skills
291
+ Read .agent/skills/find-skills/SKILL.md and find a skill for test-driven development
264
292
  ```
265
- Then: `Use the find-skills skill to search for a test-driven development skill`
266
293
 
267
294
  Found: `obra/superpowers` has `test-driven-development`.
268
295
 
269
296
  **Step 2: Install it**
270
297
  ```
271
- npx skills add obra/superpowers test-driven-development
298
+ npx skills add obra/superpowers --skill test-driven-development -a antigravity -y --copy
272
299
  ```
273
300
  Lands in `.agent/skills/test-driven-development/SKILL.md` — immediately available.
274
301
 
@@ -1,6 +1,6 @@
1
1
  # Using Blueprint OS in Antigravity
2
2
 
3
- Blueprint OS uses the `.agent/skills/` structure natively — the same format Antigravity expects. No extra setup required.
3
+ Blueprint OS uses the `.agent/skills/` structure natively — the same format Antigravity expects. When installing from skills.sh, use `-a antigravity` so skills land here. No extra setup required.
4
4
 
5
5
  ---
6
6
 
@@ -133,7 +133,7 @@ Use the `creating-skills` skill — it searches skills.sh first, then creates fr
133
133
  Find or create a skill for [task]
134
134
  ```
135
135
 
136
- The agent will check [skills.sh](https://skills.sh) first (`npx skills add https://github.com/vercel-labs/skills --skill find-skills`), install a community skill if available, or create a new one following `.agent/skills/creating-skills/SKILL.md`.
136
+ The agent will check [skills.sh](https://skills.sh) first (`npx skills add https://github.com/vercel-labs/skills --skill find-skills -a antigravity -y --copy`), install a community skill if available, or create a new one following `.agent/skills/creating-skills/SKILL.md`.
137
137
 
138
138
  ---
139
139
 
@@ -1,6 +1,6 @@
1
1
  # Using Blueprint OS in Cursor
2
2
 
3
- Cursor reads rules from `.cursor/rules/` and skills from a skills directory. Blueprint OS skills live in `.agent/skills/` as portable markdown files. This guide shows how to connect them.
3
+ Cursor reads rules from `.cursor/rules/` and skills from a skills directory. Blueprint OS skills live in `.agent/skills/` (singular) as portable markdown files. Cursor's native skills path is `.agents/skills/` (plural) — Blueprint OS uses `.agent/` and connects via rules and `@` references. Do not rename `.agent` to `.agents`; keep the Blueprint OS layout. This guide shows how to connect them.
4
4
 
5
5
  ---
6
6
 
@@ -23,6 +23,7 @@ Blueprint OS skills are located in `.agent/skills/`. When the user invokes a ski
23
23
 
24
24
  ## Available skills
25
25
 
26
+ - **Find skills** → `.agent/skills/find-skills/SKILL.md` (pre-installed)
26
27
  - **Brainstorming** → `.agent/skills/brainstorming/SKILL.md`
27
28
  - **Creating skills** → `.agent/skills/creating-skills/SKILL.md`
28
29
  - **Shaping specs** → `.agent/skills/shaping-specs/SKILL.md`
@@ -128,4 +129,4 @@ Run QA after implementation. Run SEC when changes touch auth, API, or sensitive
128
129
  - Reference designs and diagrams in `references/` with `@references/checkout-flow.mmd` or `@references/agent-workflow/superpowers-link.md`
129
130
  - Brainstorm documents and spec files saved to `specs/` are readable the same way
130
131
  - The `.agent/` folder is invisible to most file trees by default — open it explicitly if needed
131
- - For skills.sh integration, see [skills-sh.md](skills-sh.md)
132
+ - For skills.sh integration, see [skills-sh.md](skills-sh.md). Use `-a antigravity -y --copy` when installing so skills land in `.agent/skills/` as real files. Without `--copy`, the CLI may symlink from `.agents/`, and deleting `.agents` breaks the skill.
@@ -1,16 +1,28 @@
1
1
  # Using skills.sh with Blueprint OS
2
2
 
3
- [skills.sh](https://skills.sh) is an open registry of reusable agent skills. Skills install directly into `.agent/skills/` the same directory Blueprint OS uses — so they work together with no extra configuration.
3
+ [skills.sh](https://skills.sh) is an open registry of reusable agent skills. Blueprint OS uses `.agent/skills/` (singular). The skills CLI installs to different paths per agent use the Antigravity target so skills land in `.agent/skills/` and work with Blueprint OS.
4
+
5
+ ---
6
+
7
+ ## Paths: `.agent` vs `.agents`
8
+
9
+ The skills CLI uses agent-specific paths. Cursor, Codex, and other "Universal" agents use `.agents/skills/` (plural). Antigravity uses `.agent/skills/` (singular). Blueprint OS uses `.agent/skills/` for all adapters — Cursor reads from there via rules and `@` references, not from `.agents`. Always target Antigravity when installing so skills land in the correct folder.
10
+
11
+ ---
12
+
13
+ ## Symlinks: use `--copy` for Cursor
14
+
15
+ The CLI defaults to symlinks. One location holds the canonical copy; others point to it. If Cursor is detected, the canonical copy may live in `.agents/`. Deleting `.agents` then breaks the skill in `.agent/`. Use `--copy` so `.agent/skills/` gets real files. You can safely remove `.agents` if the CLI creates it.
4
16
 
5
17
  ---
6
18
 
7
19
  ## How it works
8
20
 
9
- ```
10
- npx skills add <owner/repo>
21
+ ```bash
22
+ npx skills add <owner/repo> -a antigravity -y --copy
11
23
  ```
12
24
 
13
- This command installs one or more skills from a GitHub repo into your project's `.agent/skills/` folder. Installed skills are immediately available to your agent as Blueprint OS skills.
25
+ The `-a antigravity` flag installs to `.agent/skills/`, matching Blueprint OS. The `--copy` flag creates real files (not symlinks) so deleting `.agents` won't break the skill. The `-y` flag skips prompts. Installed skills are immediately available via `@.agent/skills/<skill-name>/SKILL.md`.
14
26
 
15
27
  Skills.sh supports Cursor, Antigravity, Claude Code, Codex, Cline, Windsurf, and more — the same tools Blueprint OS targets.
16
28
 
@@ -21,7 +33,7 @@ Skills.sh supports Cursor, Antigravity, Claude Code, Codex, Cline, Windsurf, and
21
33
  **Option 1 — Use the find-skills skill:**
22
34
 
23
35
  ```bash
24
- npx skills add https://github.com/vercel-labs/skills --skill find-skills
36
+ npx skills add https://github.com/vercel-labs/skills --skill find-skills -a antigravity -y --copy
25
37
  ```
26
38
 
27
39
  This installs a meta-skill that can search the registry for you. Then ask your agent:
@@ -36,7 +48,7 @@ Visit [skills.sh](https://skills.sh) and search by keyword or browse by category
36
48
 
37
49
  **Option 3 — Search by GitHub org:**
38
50
 
39
- Many popular tool maintainers publish official skills:
51
+ Many popular tool maintainers publish official skills. Append `-a antigravity -y` for Blueprint OS:
40
52
 
41
53
  | Publisher | Install command | What's inside |
42
54
  |---|---|---|
@@ -53,10 +65,10 @@ Many popular tool maintainers publish official skills:
53
65
 
54
66
  ```bash
55
67
  # Single repo (may contain multiple skills)
56
- npx skills add supabase/agent-skills
68
+ npx skills add supabase/agent-skills -a antigravity -y --copy
57
69
 
58
70
  # Install a specific skill by name
59
- npx skills add obra/superpowers systematic-debugging
71
+ npx skills add obra/superpowers --skill systematic-debugging -a antigravity -y --copy
60
72
  ```
61
73
 
62
74
  Skills land in `.agent/skills/<skill-name>/SKILL.md`. Open them to inspect what was installed.
@@ -105,7 +117,7 @@ If you've built a Blueprint OS skill that others would benefit from, you can pub
105
117
 
106
118
  1. Push your `.agent/skills/<skill-name>/` folder to a public GitHub repo
107
119
  2. Submit your skill at [skills.sh](https://skills.sh) (follow the site's submission process)
108
- 3. Others can then install it with `npx skills add <your-github-username>/<repo>`
120
+ 3. Others can then install it with `npx skills add <your-github-username>/<repo> -a antigravity -y --copy`
109
121
 
110
122
  **Tip:** Structure your repo so each skill is its own folder at the root — that's the convention the `npx skills add` command expects.
111
123
 
@@ -117,18 +129,19 @@ These community skills complement Blueprint OS directly:
117
129
 
118
130
  | Skill | Install | Pairs with |
119
131
  |---|---|---|
120
- | `systematic-debugging` | `npx skills add obra/superpowers` | Any execution phase |
121
- | `writing-plans` | `npx skills add obra/superpowers` | `shaping-specs` |
122
- | `executing-plans` | `npx skills add obra/superpowers` | After `deploying-standards` |
123
- | `requesting-code-review` | `npx skills add obra/superpowers` | After execution |
124
- | `api-design-principles` | `npx skills add wshobson/agents` | `discovering-standards` for API projects |
125
- | `test-driven-development` | `npx skills add obra/superpowers` | Before writing new features |
132
+ | `systematic-debugging` | `npx skills add obra/superpowers -a antigravity -y --copy` | Any execution phase |
133
+ | `writing-plans` | `npx skills add obra/superpowers -a antigravity -y --copy` | `shaping-specs` |
134
+ | `executing-plans` | `npx skills add obra/superpowers -a antigravity -y --copy` | After `deploying-standards` |
135
+ | `requesting-code-review` | `npx skills add obra/superpowers -a antigravity -y --copy` | After execution |
136
+ | `api-design-principles` | `npx skills add wshobson/agents -a antigravity -y --copy` | `discovering-standards` for API projects |
137
+ | `test-driven-development` | `npx skills add obra/superpowers -a antigravity -y --copy` | Before writing new features |
126
138
 
127
139
  ---
128
140
 
129
141
  ## Notes
130
142
 
131
143
  - skills.sh skills use the same `SKILL.md` format as Blueprint OS — no conversion needed
144
+ - Always use `-a antigravity -y --copy` when installing. `-a antigravity` puts skills in `.agent/skills/`. `--copy` creates real files (not symlinks) so deleting `.agents` won't break the skill. Without it, the CLI may symlink from `.agents/`, and removing `.agents` breaks `.agent/`
132
145
  - If `npx skills add` is not available, clone the repo and copy the skill folder manually into `.agent/skills/`
133
146
  - Community skills may not follow all Blueprint OS conventions — review before use
134
147
  - Pin to a specific commit if you need a stable, reproducible skill version
@@ -1,14 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { init } = require('../lib/init');
3
+ const { init, update } = require('../lib/init');
4
4
 
5
5
  const [cmd] = process.argv.slice(2);
6
6
 
7
7
  if (cmd === 'init') {
8
8
  init(process.cwd());
9
+ } else if (cmd === 'update') {
10
+ update(process.cwd());
9
11
  } else {
10
12
  console.log('Blueprint OS - AI agent workflow system\n');
11
- console.log('Usage: npx blueprint-os init');
12
- console.log('\nCopies .agent/, standards/, and references/ into your project.');
13
+ console.log('Usage:');
14
+ console.log(' npx blueprint-os init Install or reinstall (preserves standards/references if they have content)');
15
+ console.log(' npx blueprint-os update Safe update: refreshes core skills and adapters, preserves your content');
16
+ console.log('\nUse "npx blueprint-os@latest init" or "npx blueprint-os@latest update" to get the latest version.');
13
17
  process.exit(1);
14
18
  }
package/lib/init.js CHANGED
@@ -4,6 +4,40 @@ const path = require('path');
4
4
  const PACKAGE_ROOT = path.join(__dirname, '..');
5
5
  const FOLDERS = ['.agent', 'standards', 'references', 'adapters'];
6
6
 
7
+ const CORE_SKILLS = [
8
+ 'brainstorming',
9
+ 'creating-skills',
10
+ 'shaping-specs',
11
+ 'discovering-standards',
12
+ 'deploying-standards',
13
+ 'quality-assurance',
14
+ 'security-audit',
15
+ 'code-review',
16
+ 'find-skills',
17
+ ];
18
+
19
+ function hasUserContent(dir, packageOnly) {
20
+ if (!fs.existsSync(dir)) return false;
21
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
22
+ for (const e of entries) {
23
+ const name = e.name;
24
+ if (e.isDirectory()) {
25
+ if (!packageOnly.dirs.includes(name)) return true;
26
+ } else {
27
+ if (!packageOnly.files.includes(name)) return true;
28
+ }
29
+ }
30
+ return false;
31
+ }
32
+
33
+ function shouldPreserveStandards(dest) {
34
+ return hasUserContent(dest, { files: ['README.md'], dirs: [] });
35
+ }
36
+
37
+ function shouldPreserveReferences(dest) {
38
+ return hasUserContent(dest, { files: ['README.md'], dirs: ['agent-workflow'] });
39
+ }
40
+
7
41
  function init(cwd) {
8
42
  const resolvedCwd = path.resolve(cwd);
9
43
  const resolvedRoot = path.resolve(PACKAGE_ROOT);
@@ -25,6 +59,16 @@ function init(cwd) {
25
59
  continue;
26
60
  }
27
61
 
62
+ if (folder === 'standards' && shouldPreserveStandards(dest)) {
63
+ console.log(` ⊘ standards/ (preserved - has project content)`);
64
+ continue;
65
+ }
66
+
67
+ if (folder === 'references' && shouldPreserveReferences(dest)) {
68
+ console.log(` ⊘ references/ (preserved - has project content)`);
69
+ continue;
70
+ }
71
+
28
72
  fs.cpSync(src, dest, { recursive: true });
29
73
  console.log(` ✓ ${folder}/`);
30
74
  }
@@ -40,4 +84,67 @@ function init(cwd) {
40
84
  console.log(' npx blueprint-os --help');
41
85
  }
42
86
 
43
- module.exports = { init };
87
+ function update(cwd) {
88
+ const resolvedCwd = path.resolve(cwd);
89
+ const resolvedRoot = path.resolve(PACKAGE_ROOT);
90
+ if (resolvedCwd === resolvedRoot || resolvedCwd.startsWith(resolvedRoot + path.sep)) {
91
+ console.log('You are inside the Blueprint OS package. Run from your project directory instead:\n');
92
+ console.log(' cd /path/to/your-project');
93
+ console.log(' npx blueprint-os update\n');
94
+ return;
95
+ }
96
+
97
+ const agentDest = path.join(cwd, '.agent', 'skills');
98
+ if (!fs.existsSync(agentDest)) {
99
+ console.log('Blueprint OS not found. Run "npx blueprint-os init" first.\n');
100
+ return;
101
+ }
102
+
103
+ console.log('Updating Blueprint OS...\n');
104
+
105
+ const skillsSrc = path.join(PACKAGE_ROOT, '.agent', 'skills');
106
+ for (const skill of CORE_SKILLS) {
107
+ const src = path.join(skillsSrc, skill);
108
+ const dest = path.join(agentDest, skill);
109
+ if (fs.existsSync(src)) {
110
+ fs.cpSync(src, dest, { recursive: true });
111
+ console.log(` ✓ .agent/skills/${skill}/`);
112
+ }
113
+ }
114
+
115
+ const adaptersSrc = path.join(PACKAGE_ROOT, 'adapters');
116
+ const adaptersDest = path.join(cwd, 'adapters');
117
+ if (fs.existsSync(adaptersSrc)) {
118
+ fs.cpSync(adaptersSrc, adaptersDest, { recursive: true });
119
+ console.log(' ✓ adapters/');
120
+ }
121
+
122
+ const refsSrc = path.join(PACKAGE_ROOT, 'references');
123
+ const refsDest = path.join(cwd, 'references');
124
+ if (fs.existsSync(refsSrc) && fs.existsSync(refsDest)) {
125
+ const agentWorkflowSrc = path.join(refsSrc, 'agent-workflow');
126
+ const agentWorkflowDest = path.join(refsDest, 'agent-workflow');
127
+ if (fs.existsSync(agentWorkflowSrc)) {
128
+ fs.cpSync(agentWorkflowSrc, agentWorkflowDest, { recursive: true });
129
+ console.log(' ✓ references/agent-workflow/');
130
+ }
131
+ const refsReadmeSrc = path.join(refsSrc, 'README.md');
132
+ const refsReadmeDest = path.join(refsDest, 'README.md');
133
+ if (fs.existsSync(refsReadmeSrc)) {
134
+ fs.copyFileSync(refsReadmeSrc, refsReadmeDest);
135
+ console.log(' ✓ references/README.md');
136
+ }
137
+ }
138
+
139
+ const standardsReadmeSrc = path.join(PACKAGE_ROOT, 'standards', 'README.md');
140
+ const standardsReadmeDest = path.join(cwd, 'standards', 'README.md');
141
+ if (fs.existsSync(standardsReadmeSrc) && fs.existsSync(path.dirname(standardsReadmeDest))) {
142
+ fs.copyFileSync(standardsReadmeSrc, standardsReadmeDest);
143
+ console.log(' ✓ standards/README.md');
144
+ }
145
+
146
+ console.log('\nDone. Core skills, adapters, and framework references updated.');
147
+ console.log('Preserved: specs/, your standards files, your references, community skills.');
148
+ }
149
+
150
+ module.exports = { init, update, CORE_SKILLS };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blueprint-os",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "A portable, tool-agnostic AI agent workflow system built on skills and standards",
5
5
  "bin": {
6
6
  "blueprint-os": "./bin/blueprint-os.js"