@novare-technologies/nvaid 0.0.0-stage → 0.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.
Files changed (32) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +137 -2
  3. package/dist/cli.js +483 -0
  4. package/package.json +49 -4
  5. package/templates/commands/apply.md +36 -0
  6. package/templates/commands/breakdown.md +35 -0
  7. package/templates/commands/contracts.md +43 -0
  8. package/templates/commands/install.md +63 -0
  9. package/templates/commands/intent.md +46 -0
  10. package/templates/nvaid/DESIGN-CODE-DICTIONARY.md +90 -0
  11. package/templates/nvaid/PROJECT-RULES.md +93 -0
  12. package/templates/nvaid/config.yml +87 -0
  13. package/templates/nvaid/intents/.gitkeep +0 -0
  14. package/templates/rules/ISSUE-TRACKER-TEMPLATE.md +221 -0
  15. package/templates/rules/backend-architecture-contract-generation-rules.md +56 -0
  16. package/templates/rules/customer-experience-contract-generation-rules.md +51 -0
  17. package/templates/rules/frontend-architecture-contract-generation-rules.md +56 -0
  18. package/templates/rules/quality-architecture-contract-generation-rules.md +86 -0
  19. package/templates/rules/solutions-architecture-contract-generation-rules.md +59 -0
  20. package/templates/rules/unit-breakdown-rules.md +121 -0
  21. package/templates/skills/backend/SKILL.md +34 -0
  22. package/templates/skills/customer-experience/SKILL.md +26 -0
  23. package/templates/skills/daily-construction-update/SKILL.md +27 -0
  24. package/templates/skills/frontend/SKILL.md +30 -0
  25. package/templates/skills/github/SKILL.md +142 -0
  26. package/templates/skills/pr-review/SKILL.md +119 -0
  27. package/templates/skills/project-ticketing/SKILL.md +26 -0
  28. package/templates/skills/quality/SKILL.md +31 -0
  29. package/templates/skills/r3-analytics/SKILL.md +26 -0
  30. package/templates/skills/release-plan/SKILL.md +27 -0
  31. package/templates/skills/solutions/SKILL.md +29 -0
  32. package/templates/skills/unit-breakdown/SKILL.md +31 -0
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: backend
3
+ description: Drafts the Backend Architecture Contract for an Intent, per backend-architecture-contract-generation-rules.md. Use when asked to run the Backend Skill or draft a Backend contract during Mob Elaboration.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Phases 2–5
5
+ output: file — nvaid/intents/<INTENT-ID>/contracts/backend-architecture-contract.md
6
+ ---
7
+
8
+ # Backend Skill
9
+
10
+ Drafts the Backend Architecture Contract for an Intent, per
11
+ `{{AIDLC_ROOT}}/backend-architecture-contract-generation-rules.md` — the shapes every
12
+ consuming role (most often Frontend) reproduces verbatim rather than re-deriving.
13
+
14
+ ## Steps
15
+
16
+ 1. Confirm this Intent has at least one Unit touching the backend — an API/service layer,
17
+ an async worker, a data schema, or any server-side component — if none do, this
18
+ contract is not produced; state that plainly rather than leaving the file absent
19
+ with no explanation.
20
+ 2. Write the full API Contract Exposed for any new or changed endpoint — request and
21
+ response shape, including error cases (4xx/5xx), not just the happy path.
22
+ 3. Define every Shared Derivation Rule (a naming rule, an ID derivation) exactly once
23
+ here; never let a consuming role re-derive it independently.
24
+ 4. State Data Model Touches — which tables/columns are written, and whether a migration
25
+ is needed.
26
+ 5. List components touched (Design-Code Dictionary impact).
27
+ 6. State what this contract deliberately excludes — anything the room discussed and
28
+ explicitly deferred, named rather than silently dropped.
29
+ 7. Write `nvaid/intents/<INTENT-ID>/contracts/backend-architecture-contract.md`.
30
+
31
+ ## Boundaries
32
+
33
+ - A draft, not a verdict — flag it awaiting the Backend Solutions Architect's Sign-Off;
34
+ never present it as final.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: customer-experience
3
+ description: Drafts the Customer Experience Contract for an Intent, per customer-experience-contract-generation-rules.md. Use when asked to run the Customer Experience Skill or draft a Customer Experience contract during Mob Elaboration.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Phases 2–5
5
+ output: file — intents/<INTENT-ID>/contracts/customer-experience-contract.md
6
+ ---
7
+
8
+ # Customer Experience Skill
9
+
10
+ Drafts the Customer Experience Contract for an Intent, per
11
+ `docs/templates/customer-experience-contract-generation-rules.md` — reconciling what the
12
+ room actually committed to against what `intent.md` originally asked for.
13
+
14
+ ## Steps
15
+
16
+ 1. Name explicitly where the final, technically-grounded shape narrowed, resolved, or
17
+ held unchanged against the original Intent — never silently absorbed.
18
+ 2. Write the Final Acceptance Criteria: the Intent's Success Criteria, incorporating
19
+ what the other contracts actually committed to, not a verbatim restatement.
20
+ 3. Tie "done" to a concrete validation scenario, never just "the code merged."
21
+ 4. Write `intents/<INTENT-ID>/contracts/customer-experience-contract.md`.
22
+
23
+ ## Boundaries
24
+
25
+ - A draft, not a verdict — flag it awaiting the Customer Experience Architect's
26
+ Sign-Off; never present it as final.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: daily-construction-update
3
+ description: Generates the daily three-question Construction digest (Completed / In Progress / Impediments) and publishes it to Wiki.js. Use when asked to run the Daily Construction Update Skill or produce today's construction update.
4
+ invoked_by: Mob Construction (Ceremony 2) — background, no meeting
5
+ output: link — a Wiki.js page, updated in place
6
+ ---
7
+
8
+ # Daily Construction Update Skill
9
+
10
+ Replaces the Daily Standup with a generated report about Construction's ongoing work.
11
+ The work itself keeps no fixed cadence — that doesn't change. What runs daily is the
12
+ report, not the work.
13
+
14
+ ## Steps
15
+
16
+ 1. Query every in-flight Unit's ticket and gate status.
17
+ 2. Compose the three-question digest, translated from the standup's own questions:
18
+ **Completed** (Units Merged, Intents that became Shippable since the last update),
19
+ **In progress** (current WIP — Design, Building, Gates), **Impediments** (stalled
20
+ Units, repeated gate failures, anything flagged as a Known Gap).
21
+ 3. Publish to the team's Wiki.js page, updated in place — never a chat message that
22
+ scrolls out of reach.
23
+
24
+ ## Boundaries
25
+
26
+ - Never block or gate a Unit's progress — only report state, the same way a daily sales
27
+ report doesn't stop the sales.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: frontend
3
+ description: Drafts the Frontend Architecture Contract for an Intent, per frontend-architecture-contract-generation-rules.md. Use when asked to run the Frontend Skill or draft a Frontend contract during Mob Elaboration.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Phases 2–5
5
+ output: file — intents/<INTENT-ID>/contracts/frontend-architecture-contract.md
6
+ ---
7
+
8
+ # Frontend Skill
9
+
10
+ Drafts the Frontend Architecture Contract for an Intent, per
11
+ `docs/templates/frontend-architecture-contract-generation-rules.md` — consuming the
12
+ Backend contract's shapes verbatim rather than reinterpreting them.
13
+
14
+ ## Steps
15
+
16
+ 1. Name which Backend contract this one consumes, and confirm no field is locally
17
+ reinterpreted or renamed.
18
+ 2. Write the concrete UI flow, tied to specific screens or components, not a general
19
+ feature description.
20
+ 3. Point to the Backend contract's version of any shared derivation instead of
21
+ re-deriving it independently.
22
+ 4. State Identity/Access implications explicitly, even when "none for this Intent" —
23
+ never left implicit.
24
+ 5. List components touched (Design-Code Dictionary impact).
25
+ 6. Write `intents/<INTENT-ID>/contracts/frontend-architecture-contract.md`.
26
+
27
+ ## Boundaries
28
+
29
+ - A draft, not a verdict — flag it awaiting the Frontend Architect's Sign-Off; never
30
+ present it as final.
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: github
3
+ description: Branches (feature/bugfix/hotfix/intent/chore, mapped to ticket or Intent IDs, or a slug for repo tooling), commits, opens pull requests, checks CI, self-reviews before requesting human review, iterates on review comments, and hands off to manual merge approval, following this repo's master/develop Git Flow. Use when asked to run the GitHub Skill, start work on a ticket or an Intent, push a Unit's work, do repo tooling/config work, open or update a pull request, address review comments, or check CI status.
4
+ invoked_by: Mob Construction (Ceremony 2), and Mob Elaboration (Ceremony 1) for its own intent/ branches
5
+ output: link — a GitHub pull request
6
+ version: 5.0
7
+ ---
8
+
9
+ # GitHub Skill
10
+
11
+ The procedure Mob Construction invokes to touch the repository — the same steps, every
12
+ Unit, every time. Covers the full loop: branch → commit → PR → self-review → human
13
+ review → iterate → manual merge. This Skill never merges anything itself.
14
+
15
+ ## Branch model (Git Flow)
16
+
17
+ - **`master`** — the default, production branch. Nothing commits here directly; it only
18
+ moves forward via an approved release merge from `develop`, or a hotfix.
19
+ - **`develop`** — the integration branch. Every feature and bugfix branch is cut from
20
+ here and merges back here.
21
+ - **`feature/<story-id>`** — new capability, cut from `develop`. `<story-id>` is the
22
+ GitHub Project story ID this Unit's ticket carries — e.g. `feature/142`. Add a short
23
+ slug if the ID alone reads as opaque in a long branch list: `feature/142-branch-override`.
24
+ - **`bugfix/<bug-id>`** — fixes a Bug-classified ticket found before release, cut from
25
+ `develop`, same ID convention as `feature/`.
26
+ - **`hotfix/<slug>`** — an emergency fix to what's already in production, cut from
27
+ `master` directly (the one exception to "always branch from develop"), merged back
28
+ into **both** `master` and `develop` so the fix isn't lost on the next release. No
29
+ Unit exists yet when this starts — run the Unit Breakdown Skill retroactively to log
30
+ one once the fix is in.
31
+ - **`intent/<intent-id>-<slug>`** — Mob Elaboration's own output, cut from `develop`:
32
+ `intent.md` itself, `unit-breakdown.md`, and the per-role `contracts/` files. Not a
33
+ Construction branch type — nothing here is code, so treating it as `feature/` would
34
+ misdescribe what actually changed and would demand a Story ID that doesn't exist yet
35
+ (a Unit of Work isn't decided until Elaboration produces `unit-breakdown.md` in the
36
+ first place). Review on this branch's PR is the CX Architect (or relevant Architect)
37
+ reading the artifact for content, not CI verifying code — the gates still run, but
38
+ pass on a markdown-only diff as a no-op, not as a meaningful check of anything.
39
+ Example: `intent/001-login-navigation-shell`.
40
+ - **`chore/<slug>`** — repo tooling, config, or meta work with no application code and
41
+ no Unit of Work behind it: a new Skill, a CI/CD workflow change, a convention update
42
+ (this branch type's own addition was one). Cut from `develop`, same as `feature`/
43
+ `bugfix`. This was already the de facto convention across every tooling PR in this
44
+ repo before being written down here — `chore/ci-setup`, `chore/verify-bot-identity`,
45
+ `chore/manual-deploy-trigger`, `chore/pr-review-skill`, `chore/pr-title-convention`,
46
+ `chore/reconcile-spec-planning`, and others all predate this entry. This documents
47
+ existing practice, not a new rule nobody's followed yet.
48
+
49
+ ## Steps
50
+
51
+ ### 1. Branch
52
+
53
+ Cut the branch per the model above, named by type and ticket ID (or Intent ID, for
54
+ `intent/`) so what's happening is visible in the branch list itself. Never commit
55
+ directly to `master` or `develop`.
56
+
57
+ ### 2. Commit
58
+
59
+ One commit per meaningful step, not one giant diff, using Conventional Commits scoped
60
+ to the Unit:
61
+
62
+ ```
63
+ <type>(<unit-id>): <what changed, imperative mood>
64
+ ```
65
+
66
+ `<type>` is `feat`, `fix`, `refactor`, `test`, or `chore`. Example:
67
+ `feat(unit-004-02): add branch-override endpoint with slot-limit check`.
68
+
69
+ On an `intent/` branch there's no Unit ID yet to scope to — use `docs: draft
70
+ INTENT-XXX — <short title>` instead (no parenthesized scope). On a `chore/` branch
71
+ there's no Unit ID either, since there's no Unit of Work behind tooling/config changes —
72
+ use a plain `chore: <what changed, imperative mood>`, no parenthesized scope.
73
+
74
+ ### 3. Open the pull request
75
+
76
+ Target `develop` (or `master` for a `hotfix/`). The PR body links the Unit's design doc
77
+ and its Quality Architecture Contract, and lists which Acceptance Criteria this PR
78
+ closes. Request the owning Architect (the human) as reviewer explicitly — never leave
79
+ the reviewer field empty.
80
+
81
+ **PR title format** — bracket tags, not a Conventional Commit prefix. Commits keep the
82
+ `<type>(<unit-id>):` style from step 2; the PR *title* uses this readable form instead:
83
+
84
+ ```
85
+ [TYPE][TARGET][TICKET] <plain readable summary>
86
+ ```
87
+
88
+ - **`[TYPE]`** — the work type, mapped from the commit type:
89
+ `feat → [FEATURE]`, `fix → [FIX]`, `chore → [CHORE]`, `refactor → [REFACTOR]`,
90
+ `test → [TEST]`, `docs → [DOCS]`.
91
+ - **`[TARGET]`** — the base branch this PR merges into:
92
+ `develop → [DEV]`, UAT branch → `[UAT]`, `master → [PROD]`.
93
+ - **`[TICKET]`** — the ticket ID this Unit carries: the `UNIT-XXX-YY` Story/Bug
94
+ (e.g. `[UNIT-004-02]`), or the `INTENT-XXX` Epic when the PR spans the whole Intent.
95
+ These are the IDs from `{{AIDLC_ROOT}}/ISSUE-TRACKER-TEMPLATE.md`, mirrored into the GitHub
96
+ Project. **Omit this tag entirely** when the change has no ticket (e.g. repo tooling or
97
+ config) — never write an empty `[]`.
98
+ - **`<summary>`** — a plain, human-readable sentence under ~70 chars. No `type:` prefix.
99
+
100
+ Examples:
101
+ - `[FEATURE][DEV][UNIT-004-01] Add branch-override selector to the environment form`
102
+ - `[FIX][PROD][UNIT-004-02] Correct username derivation collision`
103
+ - `[CHORE][DEV] Replicate Claude skills to Kiro` *(no ticket → no third tag)*
104
+
105
+ ### 4. Self-review before asking for human time
106
+
107
+ Before flagging for human review, re-read the diff once against the Unit's own
108
+ Acceptance Criteria and the Quality Architecture Contract's Required Test Coverage
109
+ table. Catch what's catchable here — a missing negative-path test, an unhandled error
110
+ case — so the human's review time goes to judgment calls, not things this Skill could
111
+ have caught itself.
112
+
113
+ ### 5. Poll CI, self-correct on failure
114
+
115
+ On a Guardrail Gate failure, self-correct and push again. Never ask for review while a
116
+ gate is red.
117
+
118
+ ### 6. Iterate on review comments
119
+
120
+ Once the human leaves review comments (`gh pr view <n> --comments` or the GitHub MCP
121
+ server's structured comment tools, if configured):
122
+
123
+ 1. Read every open thread before changing anything — don't react comment-by-comment in
124
+ isolation when they interact.
125
+ 2. Address each with a targeted commit, not a rewrite of the whole diff.
126
+ 3. Reply to each thread stating what changed, then re-request review. Never mark a
127
+ thread resolved that this Skill left open-ended or partially addressed.
128
+
129
+ ### 7. Hand off to Merge Approval
130
+
131
+ Once review is approved and every gate is green, flag the PR ready. Stop there. For a
132
+ `hotfix/`, note explicitly in the PR that a second merge into `develop` is still needed
133
+ after `master` receives this one — never assume the human will remember to ask for it.
134
+
135
+ ## Boundaries
136
+
137
+ - Never merge the pull request, and never approve its own PR — Merge Approval is a
138
+ human gate this Skill can reach but not cross. (Repo branch protection enforces this
139
+ independently of this instruction.)
140
+ - Never commit directly to `master` or `develop` — always through a typed branch, even
141
+ for a one-line fix.
142
+ - Never resolve a review thread on the human's behalf.
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: pr-review
3
+ description: Evaluates an open pull request against this repo's established conventions (branch type, base branch, commit/PR-title format, CI gate status, path and file-shape conventions, PROJECT-RULES.md) and recommends one of three outcomes -- approve and merge, close and delete, or request changes -- with reasoning for each check. Never merges, approves, closes, deletes a branch, or submits a review itself; the human takes the actual action. Use when asked to review a pull request, evaluate a PR, or decide whether to approve, close, or request changes on one.
4
+ invoked_by: On demand, by request -- "review PR #N" or "run the PR Review Skill on PR #N"
5
+ output: a recommendation report to the conversation, plus a suggested review-comment draft. No file written, no GitHub action taken.
6
+ version: 1.0
7
+ ---
8
+
9
+ # PR Review Skill
10
+
11
+ Reads a pull request against this repo's *current* conventions and recommends one of
12
+ three outcomes. The rules it checks against are never hardcoded here — they live in
13
+ `.claude/skills/github/SKILL.md` and `nvaid/PROJECT-RULES.md`, read fresh every
14
+ time, so this Skill can't drift out of sync with the conventions as they evolve.
15
+
16
+ **This Skill never takes the action it recommends.** It doesn't call `gh pr merge`,
17
+ `gh pr close`, `gh pr review --approve`, `gh pr review --request-changes`, or delete a
18
+ branch. It reports a recommendation and reasoning; a human reads it and acts.
19
+
20
+ ## Steps
21
+
22
+ ### 1. Gather the facts
23
+
24
+ ```
25
+ gh pr view $ARGUMENTS --json title,body,headRefName,baseRefName,author,state,mergeable,reviewDecision,statusCheckRollup,files
26
+ gh pr diff $ARGUMENTS
27
+ ```
28
+
29
+ Also re-read `.claude/skills/github/SKILL.md` (this repo's copy) and
30
+ `nvaid/PROJECT-RULES.md` before judging anything — the checks below are applied
31
+ against whatever those files currently say, not a memorized version of them.
32
+
33
+ ### 2. Check branch type against actual content
34
+
35
+ - Does `headRefName` match one of the branch types `github/SKILL.md` currently defines
36
+ (`feature/<story-id>`, `bugfix/<bug-id>`, `hotfix/<slug>`, `intent/<intent-id>-slug`,
37
+ or whatever it's since been extended to)?
38
+ - Does the branch **type** actually match what changed? Code changes on an `intent/`
39
+ branch, or a pure-documentation Elaboration artifact on a `feature/` branch, is a
40
+ category error. A category error here means the PR is built on the wrong foundation
41
+ and can't be fixed by pushing more commits to the same branch.
42
+
43
+ ### 3. Check base branch
44
+
45
+ `develop` in almost every case; `master` only for a declared `hotfix/`. Anything else
46
+ is wrong regardless of how good the content is.
47
+
48
+ ### 4. Check CI status
49
+
50
+ Every entry in `statusCheckRollup` must be a pass. Any `pending` or `failing` gate means
51
+ this isn't ready for a merge/close/request-changes decision yet at all — say so plainly
52
+ rather than forcing one of the three outcomes prematurely.
53
+
54
+ ### 5. Check commit and PR-title format
55
+
56
+ Against whatever `github/SKILL.md` currently specifies (Conventional Commits for commit
57
+ messages; the PR title format, once one is defined). Stray artifacts from an unrelated
58
+ project or template — a ticket ID, a company name, placeholder text that was clearly
59
+ never adapted to this project — are a flag here even if the format is otherwise followed
60
+ correctly.
61
+
62
+ ### 6. Check path and file-shape conventions
63
+
64
+ Compare every changed/added file's path against this repo's established shape
65
+ (`nvaid/intents/INTENT-XXX-slug/`, `.claude/skills/<name>/SKILL.md`, `deploy/`,
66
+ etc. — read from `PROJECT-RULES.md` and the existing repo tree, not assumed). A new
67
+ top-level convention appearing alongside an existing one for the same concept (two
68
+ different intent-tracking shapes, two different daily-report mechanisms) is a
69
+ duplication flag, not something to wave through because each one is internally
70
+ consistent.
71
+
72
+ ### 7. Check for semantic duplication
73
+
74
+ Does this PR introduce a Skill, file, or concept that already exists under a different
75
+ name? Read the existing `.claude/skills/*/SKILL.md` descriptions and compare — a new
76
+ Skill whose description overlaps meaningfully with an existing one is worth flagging
77
+ even if no path literally collides.
78
+
79
+ ### 8. Check the PR description itself
80
+
81
+ Per `github/SKILL.md` Step 3: does the body link the relevant design doc / contract and
82
+ name the Acceptance Criteria it closes, where applicable? A PR with no explanation of
83
+ what changed or why is weaker evidence for a decision, not a blocker on its own.
84
+
85
+ ### 9. Synthesize one of three recommendations
86
+
87
+ - **Approve and merge** — every check above passes; nothing outstanding.
88
+ - **Close and delete** — a foundational defect (wrong branch type/category error, or
89
+ fully superseded by other already-merged work) that pushing more commits can't fix.
90
+ The right move is recutting on a corrected branch, not iterating in place.
91
+ - **Request changes** — the branch and approach are sound, but something specific and
92
+ fixable is wrong (a stray example, a missing description detail, a failing test to
93
+ correct). Iterating on the *same* branch is the right move here, unlike Close.
94
+
95
+ Output, in this order:
96
+
97
+ 1. **Recommendation** — one of the three, in bold.
98
+ 2. **Brief justification** — one sentence, the single core reason driving the verdict.
99
+ Not a summary of every check — the one fact that would change the verdict if it
100
+ weren't true.
101
+ 3. **Reasoning per check** (pass / fail / flagged) — the full breakdown backing up the
102
+ one-line justification, so the human can see exactly what it's based on, not just
103
+ take the verdict on faith.
104
+
105
+ ### 10. Draft a suggested review comment
106
+
107
+ Write the comment the human could paste in as-is, or edit — summarizing the finding(s)
108
+ driving the recommendation. Never post it — output it in the conversation only.
109
+
110
+ ## Boundaries
111
+
112
+ - Never run `gh pr merge`, `gh pr close`, `gh pr review`, or delete a branch. Report
113
+ and recommend; the human's own review submission and merge/close click is the action.
114
+ - Never treat "CI is green" alone as sufficient for Approve — CI verifies code
115
+ correctness, not convention compliance, path correctness, or duplication, which are
116
+ exactly what this Skill exists to catch that CI can't.
117
+ - Never soften a Close-and-delete finding into a Request-changes one to avoid
118
+ recommending a branch be redone — a category error doesn't get smaller by wishing it
119
+ were a smaller fix.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: project-ticketing
3
+ description: Creates and updates Epics, Stories, and Bugs in Jira or GitHub Projects per ISSUE-TRACKER-TEMPLATE.md. Use when asked to run the Project Ticketing Skill, create tickets from a Unit Breakdown, or sync ticket status with Construction progress.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Mob Construction (Ceremony 2)
5
+ output: link — a Jira or GitHub Projects ticket
6
+ ---
7
+
8
+ # Project Ticketing Skill
9
+
10
+ Creates and updates Epics, Stories, and Bugs per `docs/templates/ISSUE-TRACKER-TEMPLATE.md`
11
+ — so ticket shape never drifts from one Intent to the next.
12
+
13
+ ## Steps
14
+
15
+ 1. On Unit Breakdown (Mob Elaboration Phase 5), create one Story or Bug per Unit,
16
+ classified per `docs/templates/unit-breakdown-rules.md` §3.
17
+ 2. Attach each ticket's Acceptance Criteria verbatim from the Unit's own design doc —
18
+ never re-worded independently.
19
+ 3. As Mob Construction moves a Unit through Design → Building → Gates → Merged, update
20
+ ticket status to match. The ticket reflects the repo, not the other way round.
21
+ 4. Once every Unit under an Epic reaches Merged, roll the Epic to "Intent Complete."
22
+
23
+ ## Boundaries
24
+
25
+ - Never assign a Story or Epic to a Release Checkpoint — that decision belongs to the
26
+ Release Plan Skill, made at Release Planning Day, not pre-empted here.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: quality
3
+ description: Drafts the Quality Architecture Contract for an Intent, per quality-architecture-contract-generation-rules.md. Use when asked to run the Quality Skill or draft a Quality contract during Mob Elaboration.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Phases 2–5
5
+ output: file — intents/<INTENT-ID>/contracts/quality-architecture-contract.md
6
+ ---
7
+
8
+ # Quality Skill
9
+
10
+ Drafts the Quality Architecture Contract for an Intent, per
11
+ `docs/templates/quality-architecture-contract-generation-rules.md` — the Required Test
12
+ Coverage table the Unit Test and Integration Test gates run against.
13
+
14
+ ## Steps
15
+
16
+ 1. Build the Required Test Coverage table — one row per scenario, classified Happy
17
+ Path / Negative Path / Edge Case.
18
+ 2. Trace every row to one of the owning Unit's stated Acceptance Criteria, and confirm
19
+ every Acceptance Criterion has at least one covering row — both directions checked.
20
+ 3. State which existing SRS NFRs this Intent's Units are held to, beyond the standing
21
+ baseline; say "none beyond baseline" explicitly when true.
22
+ 4. Log any Known Gap the room consciously accepted, flagged rather than dropped.
23
+ 5. Write `intents/<INTENT-ID>/contracts/quality-architecture-contract.md`.
24
+
25
+ ## Boundaries
26
+
27
+ - Never define Solution-Specific gates (Build, Code Coverage, Code Quality,
28
+ Reusability, Regression Test, SAST) — those are fixed in `docs/templates/PROJECT-RULES.md`
29
+ §5.2, not something any Intent's contract opts into or out of.
30
+ - A draft, not a verdict — flag it awaiting the Quality Architect's Sign-Off; never
31
+ present it as final.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: r3-analytics
3
+ description: Gathers checkpoint-to-checkpoint performance indicators (lead time, gate pass rate, escaped defects, Known Gaps) for R3's Retrospective step. Use when asked to run the R3 Analytics Skill or prepare Retrospective data after a Release Checkpoint ships.
4
+ invoked_by: R3 (Ceremony 4), triggered by a Release Checkpoint shipping
5
+ output: file — process/retro-<checkpoint>.md
6
+ ---
7
+
8
+ # R3 Analytics Skill
9
+
10
+ Gathers the checkpoint-to-checkpoint performance indicators the Retrospective step
11
+ looks at, so "what does the data actually say" has an answer ready the moment R3 starts.
12
+
13
+ ## Steps
14
+
15
+ 1. On a Release Checkpoint shipping, pull every Intent it bundled and their Units.
16
+ 2. Compute lead time (Intent opened → Shippable), Guardrail Gate pass rate, and any
17
+ escaped defects logged against this checkpoint's Units.
18
+ 3. Roll up every Known Gap logged across this checkpoint's Quality Architecture
19
+ Contracts — a gap doesn't disappear just because the checkpoint shipped.
20
+ 4. Draft `process/retro-<checkpoint>.md` with the above, structured for the room to read
21
+ before proposing Regenerate edits.
22
+
23
+ ## Boundaries
24
+
25
+ - Report what happened; propose nothing. Which rule files actually change (Regenerate)
26
+ is the room's call, never this Skill's.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: release-plan
3
+ description: Drafts the Release Planning Day deployment plan — which Intents are Shippable, their cross-Intent dependencies, and each one's Customer Experience targets. Use when asked to run the Release Plan Skill or prepare for Release Planning Day.
4
+ invoked_by: Release Planning Day (Ceremony 3)
5
+ output: file — checkpoints/<checkpoint-name>/plan.md
6
+ ---
7
+
8
+ # Release Plan Skill
9
+
10
+ Drafts the Release Planning Day deployment plan for the room to review and approve —
11
+ never to finalize alone.
12
+
13
+ ## Steps
14
+
15
+ 1. Pull every Intent currently at "Intent Complete" (every Unit Merged) and propose
16
+ which ones ship together in this Release Checkpoint.
17
+ 2. Surface cross-Intent dependencies — an Intent that reads another's output, a shared
18
+ schema change.
19
+ 3. Flag contradictions between Intents built independently — conflicting API shapes,
20
+ overlapping ownership.
21
+ 4. Draft `checkpoints/<checkpoint-name>/plan.md`, including each Intent's Customer
22
+ Experience targets.
23
+
24
+ ## Boundaries
25
+
26
+ - Draft the plan; the room decides. Nothing in `plan.md` is final until Release Planning
27
+ Day signs off on it.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: solutions
3
+ description: Drafts the Solutions Architecture Contract for an Intent, per solutions-architecture-contract-generation-rules.md. Use when asked to run the Solutions Skill or draft a Solutions contract during Mob Elaboration.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Phases 2–5
5
+ output: file — intents/<INTENT-ID>/contracts/solutions-architecture-contract.md
6
+ ---
7
+
8
+ # Solutions Skill
9
+
10
+ Drafts the Solutions Architecture Contract for an Intent, per
11
+ `docs/templates/solutions-architecture-contract-generation-rules.md` — the cross-role
12
+ boundary and consistency check every other contract this session has to fit inside.
13
+
14
+ ## Steps
15
+
16
+ 1. Assess whether this Intent introduces a new system container, crosses an SRS System
17
+ Container boundary, or needs a new ADR — state the answer even when it's "no" on
18
+ every count.
19
+ 2. State explicitly what this Intent is and isn't allowed to touch.
20
+ 3. Flag any unsupervised-action surface `docs/templates/PROJECT-RULES.md` §7 doesn't
21
+ already cover.
22
+ 4. Cross-check the other contracts drafted this session for contradictions — the
23
+ Consistency Gate, recorded in writing.
24
+ 5. Write `intents/<INTENT-ID>/contracts/solutions-architecture-contract.md`.
25
+
26
+ ## Boundaries
27
+
28
+ - A draft, not a verdict — flag it awaiting the Solutions Architect's Sign-Off; never
29
+ present it as final.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: unit-breakdown
3
+ description: Cuts an Intent into Units of Work, each with its own Acceptance Criteria, per unit-breakdown-rules.md. Use when asked to run the Unit Breakdown Skill, break down an Intent into Units, or produce a Unit Breakdown during Mob Elaboration Phase 5.
4
+ invoked_by: Mob Elaboration (Ceremony 1), Phase 5
5
+ output: file — intents/<INTENT-ID>/unit-breakdown.md
6
+ ---
7
+
8
+ # Unit Breakdown Skill
9
+
10
+ Cuts an Intent into Units of Work small enough to build and approve independently —
11
+ a first-cut proposal the room then critiques, not the decomposition of record.
12
+
13
+ ## Steps
14
+
15
+ 1. Read the Intent file (`intents/<INTENT-ID>/intent.md`) and its stated success
16
+ criteria.
17
+ 2. Propose a decomposition into Units, each with its own Acceptance Criteria narrowed
18
+ from the Intent's success criteria, per `docs/templates/unit-breakdown-rules.md` §2.
19
+ 3. Classify each Unit as a Story or Bug (§3), and size it per the file's decomposition
20
+ heuristics (§4).
21
+ 4. Number Units per §5.
22
+ 5. Write `intents/<INTENT-ID>/unit-breakdown.md` — the contract index every
23
+ Architecture Contract Skill downstream reads from.
24
+
25
+ ## Boundaries
26
+
27
+ - This is a proposal, not the decomposition of record. Mob Elaboration Phase 3
28
+ ("Mark it up alone") and Phase 4 ("Negotiate live") are where the room actually owns
29
+ the cut — flag this file as a draft awaiting that review, never as final.
30
+ - Read `docs/templates/unit-breakdown-rules.md` in full before drafting; don't rely on
31
+ this summary alone for the numbering and classification rules.