feat(aidd-ui): scaffold the UI recipe skeleton (structure only)#330
Draft
alexsoyes wants to merge 16 commits into
Draft
feat(aidd-ui): scaffold the UI recipe skeleton (structure only)#330alexsoyes wants to merge 16 commits into
alexsoyes wants to merge 16 commits into
Conversation
* docs(framework): add dominance checks to review and rules Dominance issues were easy for agents to miss when a weaker rule, criterion, or documentation statement was already covered, overridden, or invalidated by a stronger element. This adds the check at the global context, rule-generation, reviewer, and review-template levels. * docs(framework): reduce dominance check duplication Keep the concise dominance rule in global and rule-authoring surfaces while leaving the detailed case breakdown to the reviewer. Validation now states the shared check without reimplementing reviewer classification. * docs(framework): separate global and rule dominance checks Keep the general dominance reminder and reviewer taxonomy separate from rule-generation specifics. Rule authoring and validation now only check for duplicate, weaker, or contradictory rule bullets. * docs(framework): prefer intention-revealing names Naming guidance belongs in the global project context because it applies across artifacts. This keeps the rule concise and avoids duplicating it in domain-specific rule generation flows. * docs(aidd-context): validate rules against shared contracts Rule validation should apply the rule-authoring and tool-path contracts instead of restating individual rule checks. The test now has a single outcome sentence rather than multiple bullet assertions. * docs(aidd-dev): align dominance wording with review role The reviewer should report parallel elements rather than describe adding behavior. This keeps the dominance check phrased for read-only review while preserving the same taxonomy.
Required check "lefthook (framework-local checks)" (next.json ruleset) is published only by validate.yml, whose pull_request/push filter was [main]. PRs targeting next never fired it, so the required status stayed "Expected — Waiting for status" forever, deadlocking merges (e.g. #307). Add next to both push and pull_request branch filters. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(framework): add markdown link checker * fix(scripts): exempt template scaffold placeholder links 01-plan's plan-template.md / phase-template.md link to ./plan.md and ./phase-N.md — files the skill emits next to the generated output at runtime (see actions/04-plan.md), never committed to the repo. The checker flagged them as broken. Extend the existing asset-template branch: a dot-relative target in a *-template.md that resolves nowhere is an intentional placeholder for a generated sibling, so treat it as ignored rather than broken. The assets/templates fallback (used by 02-project-memory) is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Baptiste LAFOURCADE <baptiste.lafourcade@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(aidd-ui): scaffold alpha plugin (0.1.0-alpha.0) Add aidd-ui as a new plugin with a single smoke-test skill (01-hello). Registered in marketplace.json (recommended: false) and release config; alpha status is conveyed by the 0.1.0-alpha.0 version in plugin.json. Lives on a dedicated branch off next, so it is not public until it graduates to main. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(aidd-ui): mark alpha / not-ready across surfaces Add prominent alpha warnings to the plugin README, the homepage plugins table, and the marketplace and plugin descriptions so the not-ready status is unmistakable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dependabot had no target-branch, so its PRs defaulted to main. main only takes the weekly promotion PR and the auto-merged Release PR (RELEASE.md), so dep updates landing there cut off-cycle releases (js-yaml bump shipped v5.0.3 mid-week). Point both ecosystems at next so updates batch into the weekly release like all other work. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New skill aidd-vcs:00-repo-init: init a project's repository (git init, default branch, CONTRIBUTING.md, bootstrap commit) and, on request, create the remote and push. Provider- and mechanism-agnostic: host + reach (CLI, MCP, or API) resolved from VCS memory or environment, main as default-branch fallback. No hardcoded provider or fixed mechanism. Conforms to the skill-authoring contract (R1-R13 + action anatomy). Co-authored-by: Baptiste LAFOURCADE <baptiste.lafourcade@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* ci(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#321) Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@df4cb1c...9c091bb) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs(framework): unify change taxonomy into one source of truth The same change taxonomy (kind -> where it ships) was re-spelled across branch prefix, commit type, label, and the board "Work Type" field, and the four drifted. A maintainer got lost finding routing info. Make aidd_docs/memory/vcs.md the single canonical home: one dense table (kind, prefix, commit type, triage label, next/main) plus a strict routing rule. CONTRIBUTING and RELEASE now link it instead of restating it; the inline label table is gone. Trim labels 11 -> 8 (drop help wanted, npm, github-actions) and stop dependabot re-adding the dropped ecosystem labels. Add a Project 8 board playbook + label-delete note to MAINTAINERS, and fix its stale "Work Type" reference. Routing is derived from the branch prefix, never a label or board field. Spec + plan recorded under aidd_docs/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(aidd-vcs): derive PR base from branch prefix, auto-apply triage label The pull-request action resolved the base from origin/HEAD against a candidate list (main/master/develop/staging) that omitted `next`, so a `feat/*` PR targeted `main`. Resolve the base from the head branch's prefix via the project-memory routing table first, falling back to the old detection. After opening, apply the prefix's triage label when it exists. Stays generic: reads project memory, never hardcodes `next`. Also fix the stale `aidd_docs/` -> `docs/` prefix in the branch template. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(framework): make the routing table an actionable guide Reframe the canonical Types table as "I want to… → I do…": add an Issue template column and a one-line board Status flow, so a contributor finds their row and reads off branch, label, and PR target in one glance. Still the single source of truth — no new table, no duplication. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…326) The skill's transversal rules still described base detection from repo state only, omitting the prefix-based routing and auto-labelling the action now performs. Bring the SKILL.md contract in line: base resolves from the branch prefix via project memory (fallback to repo state), and the matching triage label is applied after opening. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* refactor(aidd-refine): align 02-05 skills with skill contract Bring challenge, condense, shadow-areas and fact-check skills to the 04-skill-generate contract and concise, plain language. - SKILL.md routers: `## Actions` header, plain-path references/assets, drop empty None. sections - actions: singular Input/Output, no pipeline-variable notation, bold process labels, no frozen data blocks - move challenge report skeleton to a new assets/report-template.md - extract fact-check output-discipline into a cited reference - shorten the four skill descriptions to two lines Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(aidd-refine): tighten tests and trim duplication Follow-up from a headless skill-by-skill audit against the 04-skill-generate contract. - shadow-areas: collapse redundant Test bullets (6/8/6 -> 5/7/4), one-line Outputs, fix 01-detect handoff (route via 03-diff before 02-render-report when a prior report exists) - challenge: fix Test deal-breaker/confidence rule to match the rubric, drop transversal rules that restated the action - condense: drop persistence-duplicate process step, tighten tests, lean the router (no inline examples) - fact-check: shorten 03-report Output, dedupe caching guidance Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * style(aidd-refine): drop punctuation dashes for concise prose Replace em-dash-style " - " punctuation with commas, colons, or parentheses across skill bodies, actions, and references. Keep title headers and the literal "(unverified - no source found)" output marker. Also fix severity-rubric "Definition rule" -> "Decision rule" label. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(aidd-refine): harden condense and fact-check fidelity Found by the behavioral eval harness running the skills for real. - fact-check: add a `refuted` verdict (a source contradicts the claim, distinct from "no source found"); emit the unverified marker verbatim; forbid leaking the verification method (commands, "by inspection"); remove "cascade exhausted ..." from the report template, which leaked a forbidden word the discipline bans - condense: 01-condense must emit the exact `Condense: ON (<level>).` line, since 02-stats and the hook parse it from the transcript * test(aidd-refine): add behavioral skill-eval harness Runs each refine skill for real through a headless `claude -p` in an isolated temp project (the worktree skill installed under a unique name, so the local copy runs, never a stale global plugin). Deterministic checks by default; `--judge` adds an LLM grader for fuzzy outcomes. Local / opt-in only (metered, no `claude` in CI), so not a CI gate. Covers shadow-areas, fact-check, condense, challenge; brainstorm is interactive and out of scope. --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…esign (#314) Collapse the SDLC agent trio (planner/implementer/reviewer) into two leaf agents, executor + checker, with the 00-sdlc orchestrator owning planning itself. Enforce recipe-not-spawn: only the orchestrator spawns, recipe skills focus on themselves and never name other skills or the SDLC. - executor runs 02-implement, checker runs 05-review (embedded checklist). - executor never holds 01-plan (structural immutability). - 05-review gains a relevancy axis (fit/conform/rot) into one review.md. - commit, pull-request, and assert defer to project memory (vcs.md, coding-assertions.md) over bundled defaults; ship stops dictating the commit format. - pull-request is fully VCS-tool-agnostic. - all flow skills renormalized to the skill-authoring contract; orphan assets and a leaked user-stories WIP duplicate removed. Net +673/-1269. Refs #253. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…#328) When the user asks to delete or remove code, the refactor skill is now a trigger target and routes straight to the cleanup action. The cleanup action sweeps for orphaned references a deletion leaves behind, so removals also clean up imports, tests, docs, and config that pointed at the deleted symbol. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the alpha smoke-test skill with the full structure of the UI recipe: six chained sections from product intent to polish, plus the two agents that drive and gate it. Structure only — action logic is stubbed and lands in follow-up PRs. Sections (each a SKILL.md with ordered steps + a product-critic exit gate, chained via requires/next/produces frontmatter): - 00-product deep interview -> PRODUCT.md (root, copy-paste template) - 01-wireframe IA flows + low-fidelity screens - 02-design-system brand board -> BRAND-BOARD.md, tokens -> DESIGN-SYSTEM.md - 03-build hi-fi UI from the design system - 04-review heuristics, a11y, responsive, visual critique - 05-polish states, motion, UX copy Agents: - ui-builder executes build and polish - product-critic ruthless design director; gates every section Templates wired from each SKILL.md; references for wireframe, UX heuristics, and a11y. Catalog and root README counts regenerated. Marketplace description updated. aidd-dev UI extraction (wireframe, audit-ui, assert-frontend) deferred to a follow-up PR. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
85b4936 to
2e26ca7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✅ Type of PR
🗒️ Description
Draws the full structure of the
aidd-uiplugin as one top-to-bottom recipe to generate a high-quality UI. Structure only — every action is a stub; the action logic lands in follow-up PRs. The alpha smoke-test skill (01-hello) is replaced.The plugin is one recipe, not a router: each skill is a section whose sub-actions run in order, and the
product-criticagent gates each section before the next. Sections chain viarequires/next/producesfrontmatter, so the flow reads end-to-end without a central orchestrator.🚶➡️ Behavior
00-product→01-wireframe→02-design-system→03-build→04-review→05-polish.00-productcopies a rootPRODUCT.mdtemplate and fills it through a deep interview;02-design-systemproduces rootBRAND-BOARD.mdandDESIGN-SYSTEM.md.ui-builder(makes) andproduct-critic(a ruthless design director that gates every section; nothing tepid passes).SKILL.mdwires its actions and its templates; references bundled for wireframe, UX heuristics, and a11y.🧪 Steps to test
claude --plugin-dir plugins/aidd-uiloads the plugin with no error.aidd-ui:00-product…05-polishare listed.SKILL.mdshows ordered steps, aproduct-criticexit gate, andrequires/nextfrontmatter.node scripts/summarize-markdown.js plugins/aidd-ui plugins/aidd-ui/CATALOG.mdregenerates the catalog cleanly.