Skip to content

feat(unic-spec-review): scaffold plugin with PRD and ADRs#201

Merged
orioltf merged 9 commits into
developfrom
feature/unic-spec-review
Jun 5, 2026
Merged

feat(unic-spec-review): scaffold plugin with PRD and ADRs#201
orioltf merged 9 commits into
developfrom
feature/unic-spec-review

Conversation

@orioltf
Copy link
Copy Markdown
Member

@orioltf orioltf commented Jun 5, 2026

What

Scaffolds the new unic-spec-review plugin: an adversarial reviewer for web specifications across Confluence (pages + comments), Figma (Dev Mode MCP), the live system (Playwright MCP), and the local repo. Findings are Confidence-scored and Six-Hats-tagged; an Approval Loop posts selected Findings back to Confluence.

This PR is scaffold + design only — command/agent logic is intentionally not implemented yet.

Closes nothing; this is the base for the implementation slices.

Included

  • Plugin manifests + root marketplace registry entry + app:unic-spec-review area label (documented in CONTEXT-MAP.md)
  • /review-spec, /spec-doctor, /setup-confluence command stubs
  • PRD at docs/issues/unic-spec-review/ (published as unic-spec-review plugin: adversarial review of web specifications #200)
  • ADRs 0001-0004: vendoring/self-containment, similarity dedup, Six-Hats lens, inline-anchored comments
  • CONTEXT.md domain vocabulary

Why

The design was fully grilled and locked, so the architectural decisions (and their rejected alternatives) are recorded as ADRs and a PRD before implementation drifts from them. Merging the scaffold first gives every implementation slice a clean base that already carries the manifests, design docs, and credential/vendoring contract.

Self-containment is a hard requirement: the plugin vendors shared Atlassian code (copy, not cross-import) and ships its own setup command, so it works installed alone. See ADR-0001 and root ADR-0025.

Follow-up

Refs #200

🤖 Generated with Claude Code

orioltf and others added 3 commits June 5, 2026 00:45
release: sync develop → main
Adds the unic-spec-review plugin: an adversarial reviewer for web
specifications across Confluence (pages + comments), Figma (Dev Mode
MCP), the live system (Playwright MCP), and the local repo. Findings
are Confidence-scored and Six-Hats-tagged; an Approval Loop posts
selected Findings back to Confluence.

Scaffold only (command-only package.json, command stubs) plus the
design artifacts; command/agent logic is pending the PRD.

Why now: the design was fully grilled and locked, so the decisions are
captured before implementation drifts from them.

Includes:
- Plugin manifests + root marketplace registry entry
- /review-spec, /spec-doctor, /setup-confluence command stubs
- PRD (docs/issues/unic-spec-review) published as issue #200
- ADRs 0001-0004: vendoring/self-containment, similarity dedup,
  Six-Hats lens, inline-anchored comments
- CONTEXT.md domain vocabulary; CONTEXT-MAP.md + app:unic-spec-review
  area label documented

Self-containment is a hard requirement: the plugin vendors shared
Atlassian code (copy, not cross-import) and ships its own setup
command, so it is usable installed alone. See ADR-0001 and root
ADR-0025.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The command stubs and the AGENTS.md design heading said "pending PRD",
but the PRD (#200) is written. Reword to "pending implementation" and
link the PRD, so the stubs reflect that behaviour is defined and only
the command body awaits its implementation slice.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR scaffolds the new unic-spec-review Claude Code plugin by adding its marketplace/manifest entries plus initial domain/design documentation (PRD + ADRs + context vocabulary) and command stubs, intentionally deferring implementation.

Changes:

  • Register unic-spec-review in the root marketplace registry and context map.
  • Add the initial plugin skeleton (.claude-plugin/*, commands/*, package.json, CHANGELOG.md, README.md, CONTEXT.md, .gitignore).
  • Add design docs: plugin-scoped PRD and ADRs describing the self-containment/vendoring approach, dedup strategy, Six-Hats lens, and inline-comment anchoring.

Reviewed changes

Copilot reviewed 21 out of 22 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pnpm-lock.yaml Adds the new plugin workspace importer and dev dependency link to @unic/release-tools.
CONTEXT-MAP.md Adds unic-spec-review to the repo’s bounded-context index and updates plugin relationship notes.
apps/claude-code/unic-spec-review/README.md Introduces high-level plugin purpose and scaffold status.
apps/claude-code/unic-spec-review/package.json Adds command-only package metadata and release-tool scripts.
apps/claude-code/unic-spec-review/LICENSE Adds a per-plugin LICENSE file.
apps/claude-code/unic-spec-review/docs/issues/unic-spec-review/PRD.md Adds the plugin PRD with user stories, decisions, and testing intent.
apps/claude-code/unic-spec-review/docs/adr/README.md Adds an index for plugin-scoped ADRs.
apps/claude-code/unic-spec-review/docs/adr/0001-vendor-shared-code-for-self-containment.md Records decision to vendor Atlassian/credential/setup code for self-containment.
apps/claude-code/unic-spec-review/docs/adr/0002-dedup-by-similarity-not-marker.md Records dedup decision (similarity + human tiebreak) and attribution footer contract.
apps/claude-code/unic-spec-review/docs/adr/0003-six-hats-lens-over-dimensions.md Records agent roster structure and Six Thinking Hats integration.
apps/claude-code/unic-spec-review/docs/adr/0004-inline-anchored-comments-footer-fallback.md Records inline-anchor + footer fallback posting strategy.
apps/claude-code/unic-spec-review/CONTEXT.md Adds bounded-context vocabulary for the new plugin.
apps/claude-code/unic-spec-review/commands/spec-doctor.md Adds stub preflight command definition.
apps/claude-code/unic-spec-review/commands/setup-confluence.md Adds stub credential setup command definition.
apps/claude-code/unic-spec-review/commands/review-spec.md Adds stub main command definition and argument hint.
apps/claude-code/unic-spec-review/CHANGELOG.md Adds initial changelog scaffold.
apps/claude-code/unic-spec-review/AGENTS.md Adds in-repo agent guidance and locked design summary for the plugin.
apps/claude-code/unic-spec-review/.gitignore Adds plugin-local ignore rules including .spec-review/ artifacts.
apps/claude-code/unic-spec-review/.claude-plugin/plugin.json Adds the Claude Code plugin manifest and command registrations.
apps/claude-code/unic-spec-review/.claude-plugin/marketplace.json Adds the plugin’s marketplace listing metadata.
.claude-plugin/marketplace.json Registers unic-spec-review in the root marketplace registry.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/claude-code/unic-spec-review/LICENSE
Comment thread CONTEXT-MAP.md
orioltf and others added 6 commits June 5, 2026 12:48
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
The new plugin was invisible to CI: it was absent from the paths-filter,
the changes-detection outputs, the test job's gating condition, the test
matrix, and release.yml's tag list. As a result its tests would never run
once they exist, verify:changelog would never run on its PRs, and the
release workflow would never auto-tag unic-spec-review@<version>.

Add unic-spec-review to all five places. While the plugin is command-only
the test/typecheck steps no-op via --if-present; verify:changelog runs now.

Why: onboarding a new plugin must wire it into CI/release, or coverage and
auto-tagging silently skip it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the ` — ` separators in the Shared vocabulary and Plugin
contexts lists with colons, per the org typography rule (no em dash).
Supersedes the convention-matching em dash added in b831cb8: the list is
now both org-compliant and internally consistent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The diff-based verify:changelog gate requires a CHANGELOG entry matching
plugin.json's version (0.1.0) when guarded plugin paths change; the
Unreleased-only scaffold failed CI. Add the 0.1.0 section.

The version header uses an em-dash date (`## [0.1.0] — 2026-06-05`)
because the release tooling mandates it: bump-version generates that
exact format and verify-changelog enforces ` — YYYY-MM-DD` on every
versioned header. This is the one tooling-required em dash; all prose
stays em-dash-free.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Record that CHANGELOG version headers must keep the `## [X.Y.Z] —
YYYY-MM-DD` format: pnpm bump generates it and verify:changelog enforces
` — YYYY-MM-DD` on every versioned header. Prevents a well-meaning
reformat of the separator from breaking CI and the release flow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Workspace layout tree in AGENTS.md listed only five plugins; add
unic-spec-review so the layout matches apps/claude-code/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@orioltf orioltf merged commit 43b78bb into develop Jun 5, 2026
9 checks passed
@orioltf orioltf deleted the feature/unic-spec-review branch June 5, 2026 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants