@monochange/skill 0.0.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ # Migration example
2
+
3
+ ## Recommend this when
4
+
5
+ - the repository already has release scripts, CI workflows, or tag conventions
6
+ - monochange must coexist with current tooling first
7
+ - the user wants a phased migration instead of a big-bang switch
8
+
9
+ ## Default recommendation
10
+
11
+ - choose `migration` depth
12
+ - inspect existing CI files, tag conventions, changelog flow, and competitor tooling first
13
+ - keep publishing external more often during the first phase
14
+ - move config validation, discovery, and release dry-runs into CI before replacing publish jobs
15
+
16
+ ## Good default output
17
+
18
+ - current workflow summary
19
+ - recommended coexistence phase
20
+ - pieces safe to migrate now
21
+ - pieces to delay until trust is established
@@ -0,0 +1,21 @@
1
+ # Publishing example
2
+
3
+ ## Recommend this when
4
+
5
+ - the user is choosing between local-only, builtin, and external publishing
6
+ - trusted publishing or placeholder publication needs to be planned
7
+ - the workspace contains public packages
8
+
9
+ ## Default recommendation
10
+
11
+ - GitHub + npm: builtin is the preferred default
12
+ - `crates.io` and `pub.dev`: external is often clearer when the registry-maintained workflow should own the publish step
13
+ - GitLab: builtin planning still fits well, but publishing is external more often
14
+ - ask about placeholder publication only when public names matter and the first real release may be delayed
15
+
16
+ ## Good default output
17
+
18
+ - public vs internal package split
19
+ - recommended publish mode per ecosystem
20
+ - trusted-publishing follow-up steps
21
+ - placeholder strategy, if needed
@@ -0,0 +1,22 @@
1
+ # Quickstart example
2
+
3
+ ## Recommend this when
4
+
5
+ - the repository is greenfield or nearly greenfield
6
+ - the user wants a safe first success before full automation
7
+ - package discovery and config quality matter more than publish setup right now
8
+
9
+ ## Default recommendation
10
+
11
+ - ask for setup depth first: `quickstart` or `standard`
12
+ - inspect the repository before asking ecosystem-specific questions
13
+ - start with `mc init`, `mc validate`, `mc discover --format json`, and `mc release --dry-run --diff`
14
+ - stop before real publishing unless the user explicitly wants a deeper setup
15
+
16
+ ## Good default output
17
+
18
+ - detected provider and ecosystems
19
+ - recommended lint profile
20
+ - whether grouping is needed yet
21
+ - next commands to run
22
+ - what to defer until `full` mode
@@ -0,0 +1,22 @@
1
+ # monochange skill examples
2
+
3
+ Use these condensed examples when the main skill needs quick setup guidance without loading the larger repo-shaped examples from the monochange repository.
4
+
5
+ ## Example index
6
+
7
+ - [quickstart.md](./quickstart.md) — choosing between quickstart and standard adoption
8
+ - [migration.md](./migration.md) — adopting monochange into an existing repository safely
9
+ - [publishing.md](./publishing.md) — builtin vs external publishing, trusted publishing, and placeholders
10
+ - [release-pr.md](./release-pr.md) — long-running release PR branch recommendations
11
+
12
+ ## How to use this folder
13
+
14
+ - start with `skills/adoption.md` when the user is still choosing setup depth
15
+ - open one of the example pages here when you need a short recommendation pattern
16
+ - use the top-level repository examples for fuller CI shapes and future end-to-end fixtures
17
+
18
+ Full repository examples live in the monochange repository at:
19
+
20
+ - <https://github.com/monochange/monochange/tree/main/examples>
21
+
22
+ That folder also includes `examples/validate-examples.sh` for running `mc validate`, `mc check`, and `mc release --dry-run --diff` across the repo-shaped examples.
@@ -0,0 +1,20 @@
1
+ # Release PR example
2
+
3
+ ## Recommend this when
4
+
5
+ - the team wants a reviewable release branch
6
+ - release files should be inspected before they land on the default branch
7
+ - tags and publishes should happen only after merge
8
+
9
+ ## Default recommendation
10
+
11
+ - use `mc release-pr` for branch refresh
12
+ - do not create tags on the release branch
13
+ - after merge, detect the durable release commit with `mc release-record --from HEAD --format json`
14
+ - run `mc tag-release --from HEAD` before package publishing
15
+
16
+ ## Good default output
17
+
18
+ - release PR refresh strategy
19
+ - post-merge tagging and publish steps
20
+ - approval and human-review checkpoints
package/package.json CHANGED
@@ -1,15 +1,42 @@
1
1
  {
2
- "name": "@monochange/skill",
3
- "version": "0.0.0",
4
- "description": "Temporary placeholder package for monochange",
5
- "main": "index.js",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/ifiokjr/monochange.git"
9
- },
10
- "homepage": "https://github.com/ifiokjr/monochange#readme",
11
- "bugs": {
12
- "url": "https://github.com/ifiokjr/monochange/issues"
13
- },
14
- "license": "MIT"
2
+ "name": "@monochange/skill",
3
+ "version": "0.4.2",
4
+ "description": "Skill for monochange adoption, release planning, and publishing guidance",
5
+ "keywords": [
6
+ "agent",
7
+ "mcp",
8
+ "monochange",
9
+ "monorepo",
10
+ "releases",
11
+ "skill"
12
+ ],
13
+ "homepage": "https://github.com/monochange/monochange",
14
+ "bugs": {
15
+ "url": "https://github.com/monochange/monochange/issues"
16
+ },
17
+ "license": "Unlicense",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/monochange/monochange.git"
21
+ },
22
+ "files": [
23
+ "SKILL.md",
24
+ "skills/reference.md",
25
+ "skills/changeset-guide.md",
26
+ "skills/artifact-types.md",
27
+ "skills/trusted-publishing.md",
28
+ "skills/multi-package-publishing.md",
29
+ "skills",
30
+ "examples",
31
+ "readme.md",
32
+ "LICENSE",
33
+ "changelog.md"
34
+ ],
35
+ "publishConfig": {
36
+ "access": "public",
37
+ "provenance": true
38
+ },
39
+ "engines": {
40
+ "node": ">=20"
41
+ }
15
42
  }
package/readme.md ADDED
@@ -0,0 +1,63 @@
1
+ # @monochange/skill
2
+
3
+ Installable agent skill for monochange.
4
+
5
+ This package bundles:
6
+
7
+ - `SKILL.md` — concise entrypoint for agents
8
+ - `skills/readme.md` — index of focused deep dives
9
+ - `skills/adoption.md` — setup-depth questions, migration guidance, and recommendation patterns
10
+ - `skills/changesets.md` — changeset authoring and lifecycle guidance
11
+ - `skills/commands.md` — built-in command catalog and usage patterns
12
+ - `skills/configuration.md` — `monochange.toml` setup and editing guidance
13
+ - `skills/linting.md` — `mc check`, `[lints]`, presets, and manifest-focused rule explanations with examples
14
+ - `examples/readme.md` — condensed scenario examples for quick recommendations
15
+ - `skills/reference.md` — high-context reference with broader examples
16
+ - `skills/trusted-publishing.md` — GitHub/OIDC setup guidance for `npm`, `crates.io`, `jsr`, `pub.dev`, PyPI, and Go module tags
17
+ - `skills/multi-package-publishing.md` — monorepo-oriented publishing patterns for multiple public packages
18
+ - `monochange-skill` — helper executable for printing or copying the bundled skill
19
+
20
+ ## Install
21
+
22
+ For project-local installation through the upstream `skills add` flow, prefer:
23
+
24
+ ```bash
25
+ mc help skill
26
+ mc skill
27
+ mc skill -a pi -y
28
+ ```
29
+
30
+ If you need the lower-level package helper directly, install it with:
31
+
32
+ ```bash
33
+ npm install -g @monochange/skill
34
+ ```
35
+
36
+ ## Helper usage
37
+
38
+ ```bash
39
+ monochange-skill --print-install
40
+ monochange-skill --print-skill
41
+ monochange-skill --copy ~/.pi/agent/skills/monochange
42
+ ```
43
+
44
+ `monochange-skill --copy` copies the full skill bundle, including `SKILL.md`, `skills/reference.md`, `skills/trusted-publishing.md`, `skills/multi-package-publishing.md`, the `skills/` deep-dive folder, and the bundled `examples/` folder.
45
+
46
+ ## What the skill teaches
47
+
48
+ The bundled skill explains how to:
49
+
50
+ - plan adoption in `quickstart`, `standard`, `full`, or `migration` mode
51
+ - create or refine `monochange.toml` with `mc init`, generated `[cli.*]` workflow commands, `mc step:*`, and `mc validate`
52
+ - inspect the normalized model with `mc discover --format json`
53
+ - create, update, and audit explicit change files with `mc change` and `mc diagnostics`, including dependency-follow-up notes with `caused_by`
54
+ - preview release effects with `mc release --dry-run --format json` and `mc release --dry-run --diff`
55
+ - inspect durable release history with `mc release-record`
56
+ - understand groups, package ids, changelogs, linting policy, package publishing, and source-provider release flows
57
+ - set up trusted publishing / OIDC-backed package publishing for the registries that monochange supports
58
+ - choose sane multi-package publish patterns when one repository ships multiple public packages
59
+ - point users at condensed bundled examples and fuller repository-level example indexes
60
+
61
+ Open [SKILL.md](./SKILL.md) first, then use [skills/readme.md](./skills/readme.md), [examples/readme.md](./examples/readme.md), [skills/reference.md](./skills/reference.md), [skills/trusted-publishing.md](./skills/trusted-publishing.md), and [skills/multi-package-publishing.md](./skills/multi-package-publishing.md) for the deeper sections.
62
+
63
+ For fuller repo-shaped examples in the monochange repository, see <https://github.com/monochange/monochange/tree/main/examples>.
@@ -0,0 +1,125 @@
1
+ # Adoption skill
2
+
3
+ Use this guide when the user wants help deciding **how** to adopt monochange, not just which command to run next.
4
+
5
+ ## First move: inspect before interrogating
6
+
7
+ Inspect the repository before asking detailed setup questions.
8
+
9
+ Look for:
10
+
11
+ - package ecosystems and workspace managers
12
+ - existing CI files such as `.github/workflows/*` or `.gitlab-ci.yml`
13
+ - existing release tooling such as changesets, knope, semantic-release, release-please, or custom scripts
14
+ - whether packages appear public, private, or mixed
15
+ - existing changelog, tag, and release-branch conventions
16
+
17
+ Use that evidence to decide confidence:
18
+
19
+ - **high confidence** — recommend a default and ask for confirmation
20
+ - **medium confidence** — recommend a default and ask one or two targeted questions
21
+ - **low confidence** — ask more questions before proposing file changes
22
+
23
+ ## Ask setup depth first
24
+
25
+ Start with one question:
26
+
27
+ - `quickstart` — generate or refine config and stop at validation plus dry-run release planning
28
+ - `standard` — config, linting, and release preview
29
+ - `full` — config, linting, CI automation, publishing, and placeholder strategy when relevant
30
+ - `migration` — phase monochange into an existing repository safely
31
+
32
+ ## Core question tree
33
+
34
+ ### 1. Repository starting point
35
+
36
+ Ask:
37
+
38
+ - is this a greenfield repository or an existing one?
39
+ - if it already exists, what handles releases today?
40
+ - what must stay compatible during the first adoption phase?
41
+
42
+ Recommendation:
43
+
44
+ - prefer coexistence first for existing repositories
45
+ - replace old tooling only after monochange discovery and dry-run planning are trusted
46
+
47
+ ### 2. Workspace shape
48
+
49
+ Ask:
50
+
51
+ - which ecosystems are present?
52
+ - which packages are public, private, or internal-only?
53
+ - should versions stay package-specific or move into groups?
54
+
55
+ Recommendation:
56
+
57
+ - prefer package ids first
58
+ - create groups only when the outward release identity is truly shared
59
+
60
+ ### 3. Linting depth
61
+
62
+ Ask:
63
+
64
+ - does the team want minimal guardrails or stronger manifest consistency?
65
+
66
+ Recommendation:
67
+
68
+ - `minimal` — start with a small `[lints.rules]` set for publication-safety rules only
69
+ - `balanced` — prefer `[lints].use = ["cargo/recommended", "npm/recommended"]` plus a few targeted overrides
70
+ - `strict` — promote stricter presets or scoped overrides after the repo is already stable
71
+
72
+ ### 4. Release orchestration
73
+
74
+ Ask:
75
+
76
+ - should releases stay local-only, use a merged release commit, or use a long-running release PR branch?
77
+ - which provider owns CI: GitHub, GitLab, or something custom?
78
+
79
+ Recommendation:
80
+
81
+ - default to hybrid: local discovery and dry-runs, CI for real release and publish work
82
+ - prefer GitHub for the most automated builtin path today
83
+ - on GitLab, keep planning builtin and keep publishing external more often when auth/bootstrap is already specialized
84
+
85
+ ### 5. Publishing and placeholders
86
+
87
+ Ask these only if the workspace contains public packages.
88
+
89
+ Ask:
90
+
91
+ - which registries are involved?
92
+ - does the team want builtin or external publish jobs?
93
+ - do package names need to be reserved before the real release flow is ready?
94
+
95
+ Recommendation:
96
+
97
+ - GitHub + npm: builtin is the preferred default
98
+ - `crates.io` and `pub.dev`: external is often clearer when the registry-maintained workflow should own the publish step
99
+ - ask about `mc placeholder-publish` only when public names matter and the first real release may be delayed
100
+
101
+ ## Final output contract
102
+
103
+ End the planning flow with a compact decision record:
104
+
105
+ - detected repo profile
106
+ - chosen setup depth
107
+ - recommended adoption path
108
+ - recommended `monochange.toml` shape
109
+ - recommended lint profile
110
+ - recommended CI and release strategy
111
+ - recommended publishing and placeholder strategy, if applicable
112
+ - open risks or unanswered questions
113
+ - next commands to run
114
+
115
+ ## Guardrails
116
+
117
+ - do not write CI or publish configuration without permission
118
+ - do not force publishing questions into internal-only repositories
119
+ - do not recommend big-bang migration by default
120
+ - keep recommendations short, with the default plus a brief tradeoff explanation
121
+
122
+ ## Related examples
123
+
124
+ - [../examples/readme.md](../examples/readme.md)
125
+ - full repository examples: <https://github.com/monochange/monochange/tree/main/examples>