@hegemonart/get-design-done 1.28.7 → 1.30.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 (71) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +116 -0
  4. package/README.de.md +37 -0
  5. package/README.fr.md +37 -0
  6. package/README.it.md +37 -0
  7. package/README.ja.md +37 -0
  8. package/README.ko.md +37 -0
  9. package/README.md +44 -0
  10. package/README.zh-CN.md +37 -0
  11. package/SKILL.md +12 -10
  12. package/agents/design-reflector.md +50 -0
  13. package/package.json +3 -1
  14. package/reference/capability-gap-stage-gate.md +261 -0
  15. package/reference/known-failure-modes.md +185 -0
  16. package/reference/pseudonymization-rules.md +189 -0
  17. package/reference/registry.json +22 -1
  18. package/reference/schemas/events.schema.json +97 -3
  19. package/reference/schemas/generated.d.ts +319 -4
  20. package/scripts/build-distribution-bundles.cjs +549 -0
  21. package/scripts/cli/gdd-events.mjs +35 -2
  22. package/scripts/gsd-cleanup-incubator.cjs +367 -0
  23. package/scripts/install.cjs +61 -0
  24. package/scripts/lib/apply-reflections/incubator-proposals.cjs +448 -0
  25. package/scripts/lib/bandit-router.cjs +92 -9
  26. package/scripts/lib/gsd-health-mirror/index.cjs +37 -1
  27. package/scripts/lib/incubator-author.cjs +845 -0
  28. package/scripts/lib/install/config-dir.cjs +26 -0
  29. package/scripts/lib/install/converters/codex-plugin.cjs +407 -0
  30. package/scripts/lib/install/converters/cursor-marketplace.cjs +309 -0
  31. package/scripts/lib/install/doctor-codex-plugin.cjs +388 -0
  32. package/scripts/lib/install/doctor-cursor-marketplace.cjs +366 -0
  33. package/scripts/lib/install/doctor-tier2.cjs +586 -0
  34. package/scripts/lib/install/runtimes.cjs +48 -0
  35. package/scripts/lib/issue-reporter/cli-flag-report.cjs +153 -0
  36. package/scripts/lib/issue-reporter/consent-prompt.cjs +231 -0
  37. package/scripts/lib/issue-reporter/dedup.cjs +458 -0
  38. package/scripts/lib/issue-reporter/destination.cjs +37 -0
  39. package/scripts/lib/issue-reporter/draft-writer.cjs +157 -0
  40. package/scripts/lib/issue-reporter/gh-absent-fallback.cjs +220 -0
  41. package/scripts/lib/issue-reporter/gh-submit.cjs +114 -0
  42. package/scripts/lib/issue-reporter/kill-switch.cjs +122 -0
  43. package/scripts/lib/issue-reporter/payload-assembly.cjs +367 -0
  44. package/scripts/lib/issue-reporter/privacy-diff.cjs +385 -0
  45. package/scripts/lib/issue-reporter/report-flow.cjs +269 -0
  46. package/scripts/lib/issue-reporter/triage-matcher.cjs +270 -0
  47. package/scripts/lib/pseudonymize.cjs +444 -0
  48. package/scripts/lib/reflections-cycle-writer.cjs +172 -0
  49. package/scripts/lib/reflector/capability-gap-scan.cjs +751 -0
  50. package/scripts/lib/reflector-capability-gap-aggregator.cjs +320 -0
  51. package/scripts/lint-agentskills-spec.cjs +457 -0
  52. package/scripts/release-smoke-test.cjs +33 -2
  53. package/scripts/validate-incubator-scope.cjs +133 -0
  54. package/skills/apply-reflections/SKILL.md +16 -1
  55. package/skills/apply-reflections/apply-reflections-procedure.md +71 -3
  56. package/skills/compare/SKILL.md +2 -2
  57. package/skills/compare/compare-rubric.md +1 -1
  58. package/skills/darkmode/SKILL.md +2 -2
  59. package/skills/darkmode/darkmode-audit-procedure.md +1 -1
  60. package/skills/fast/SKILL.md +46 -0
  61. package/skills/figma-write/SKILL.md +2 -2
  62. package/skills/graphify/SKILL.md +2 -2
  63. package/skills/reflect/SKILL.md +9 -0
  64. package/skills/reflect/procedures/capability-gap-scan.md +120 -0
  65. package/skills/report-issue/SKILL.md +53 -0
  66. package/skills/report-issue/report-issue-procedure.md +120 -0
  67. package/skills/router/SKILL.md +5 -0
  68. package/skills/router/capability-gap-emitter.md +65 -0
  69. package/skills/style/SKILL.md +2 -2
  70. package/skills/style/style-doc-procedure.md +1 -1
  71. package/skills/update/SKILL.md +3 -2
@@ -5,14 +5,14 @@
5
5
  },
6
6
  "metadata": {
7
7
  "description": "Get Design Done — 5-stage agent-orchestrated design pipeline with 9 connections, handoff-first workflow, bidirectional Figma write-back, 22+ specialized agents, queryable knowledge layer (intel store, dependency analysis, learnings extraction), and a self-improvement loop (reflector, frontmatter + budget feedback, global-skills layer). v1.20.0 ships the SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream, and resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) for rate-limit + 429 + context-overflow recovery. Full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows) and release automation (auto-tag + GitHub Release + release-time smoke test).",
8
- "version": "1.28.7"
8
+ "version": "1.30.0"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "get-design-done",
13
13
  "source": "./",
14
14
  "description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 22+ specialized agents, 9 connections (Figma, Refero, Preview, Storybook, Chromatic, Figma Writer, Graphify, Pinterest, Claude Design), Claude Design handoff, bidirectional Figma write-back, and a queryable intel store (.design/intel/) for dependency and learnings queries. Standalone commands: style, darkmode, compare, figma-write, graphify, handoff, analyze-dependencies, skill-manifest, extract-learnings. Embeds NNG heuristics, WCAG thresholds, typographic systems, motion framework, and anti-pattern catalog. Ships with a full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows) and release automation. Optimization layer (v1.0.4.1, retroactive): gdd-router + gdd-cache-manager skills, PreToolUse budget-enforcer hook, tier-aware agent frontmatter, lazy checker gates, streaming synthesizer, /gdd:warm-cache + /gdd:optimize commands, and cost telemetry at .design/telemetry/costs.jsonl — targeting 50-70% per-task token-cost reduction with no quality-floor regression. v1.20.0 SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream at .design/telemetry/events.jsonl, resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) with rate-limit + 429 + context-overflow recovery, and TypeScript toolchain.",
15
- "version": "1.28.7",
15
+ "version": "1.30.0",
16
16
  "author": {
17
17
  "name": "hegemonart"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "get-design-done",
3
3
  "short_name": "gdd",
4
- "version": "1.28.7",
4
+ "version": "1.30.0",
5
5
  "description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 22+ specialized agents, 9 connections (Figma, Refero, Preview, Storybook, Chromatic, Figma Writer, Graphify, Pinterest, Claude Design), handoff-first workflow via Claude Design bundles, bidirectional Figma write-back (annotations, Code Connect), queryable intel store (`.design/intel/`) for O(1) design surface lookups, and self-improvement loop (reflector agent, frontmatter + budget feedback, global-skills layer at `~/.claude/gdd/global-skills/`). Standalone commands: style, darkmode, compare, figma-write, graphify, handoff, analyze-dependencies, skill-manifest, extract-learnings, reflect, apply-reflections. Embeds NNG heuristics, WCAG thresholds, typographic systems, motion framework, and anti-pattern catalog. Ships with a full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows, lint + schema + frontmatter + stale-ref + shellcheck + gitleaks + injection-scan + blocking size-budget) and release automation (auto-tag + GitHub Release + release-time smoke test). Optimization layer (v1.0.4.1, retroactive): gdd-router + gdd-cache-manager skills, PreToolUse budget-enforcer hook, tier-aware agent frontmatter, lazy checker gates, streaming synthesizer, /gdd:warm-cache + /gdd:optimize commands, and cost telemetry at .design/telemetry/costs.jsonl — targeting 50-70% per-task token-cost reduction with no quality-floor regression. v1.20.0 SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream at .design/telemetry/events.jsonl, resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) with rate-limit + 429 + context-overflow recovery, and TypeScript toolchain. v1.27.7 ships gdd-mcp (Phase 27.7): 12 read-only MCP tools for sub-3s priming. v1.28.0 (Phase 28): Foundational References Tier 2 — 5 new reference files (color-theory, composition, proportion-systems, i18n, contrast-advanced), 2 verifier i18n probes + 1 explore i18n-readiness probe, 12 additive cross-link insertions across 10 existing references, 2 orthogonal audit-scoring lens-tags (composition_alignment + i18n_readiness).",
6
6
  "author": {
7
7
  "name": "hegemonart",
package/CHANGELOG.md CHANGED
@@ -4,6 +4,122 @@ All notable changes to get-design-done are documented here. Versions follow [sem
4
4
 
5
5
  ---
6
6
 
7
+ ## [1.30.0] - 2026-05-20
8
+
9
+ ### Phase 30 — Consent-First GitHub Issue Reporter
10
+
11
+ Opt-in user feedback channel that pseudonymizes payloads before submission (NOT anonymization — see disclosure below). Local-first, consent-gated, no auto-mode. Destination repo is hardcoded. 8 plans across Wave A primitives (30-01..30-03) / Wave B integration (30-04..30-06) / Wave C closeout (30-07..30-08). 6-manifest lockstep at 1.30.0 (D-12 ship-together on-cadence minor from 1.29.0).
12
+
13
+ ### Added
14
+
15
+ - **Consent-First GitHub Issue Reporter.** Phase 30 ships these surfaces:
16
+ - **`/gdd:report-issue` skill** (`skills/report-issue/SKILL.md`, from 30-04) — Phase 28.5 compliant (≤100 lines). Walks the user through a consented submission: kill-switch check → triage against known failure modes → dedup against existing issues → assemble pseudonymized payload → draft to disk + open `$EDITOR` → consent prompt → submit via `gh` CLI.
17
+ - **`scripts/lib/pseudonymize.cjs`** (from 30-01) — 8 pseudonymization rules (R1..R8) covering git identity, absolute paths (Linux/macOS/Windows shapes), hostname, repo origin, env-var values, emails in logs, IPv4/IPv6 addresses, and stable per-user pseudonyms. Pure module: no `fs`, no `child_process`, no env mutation, no network.
18
+ - **`scripts/lib/issue-reporter/payload-assembly.cjs`** (from 30-02) — composes the final issue payload (title, body, fingerprint, bilingual disclaimer) from pseudonymized inputs. Two-layer scrub: Phase 22 `redact.cjs` then Phase 30 `pseudonymize.cjs` (order non-negotiable). Pure module: returns a string, no I/O.
19
+ - **`scripts/lib/issue-reporter/destination.cjs`** (from 30-04) — hardcoded `https://github.com/hegemonart/get-design-done` constant. SOLE FILE under the issue-reporter tree allowed to contain the destination URL literal. Frozen export.
20
+ - **Triage matcher** (`scripts/lib/issue-reporter/triage-matcher.cjs`, from 30-03) — pattern-matches the user's error against `reference/known-failure-modes.md`. On match: surfaces the remedy and stops; user can override with `--force-report`.
21
+ - **Dedup matcher** (`scripts/lib/issue-reporter/dedup.cjs`, from 30-05) — queries `gh issue list` against the destination repo and surfaces existing-issue matches before submission. Match outcomes: no-match → proceed; single-match → react with +1 + offer "me too" comment; multi-match → user picks. Wired into the report-flow BEFORE the consent prompt.
22
+ - **Kill-switch** (`scripts/lib/issue-reporter/kill-switch.cjs`, from 30-06) — env-var override (`GDD_DISABLE_ISSUE_REPORTER=1`) OR config-file override (`.design/config.json` with `{ "issue_reporter": false }`). Either disables the reporter; env wins when both set. Halts submission before any network call. `gsd-health` mirrors the same disable line.
23
+ - **`gh`-absent fallback** (`scripts/lib/issue-reporter/gh-absent-fallback.cjs`, from 30-06) — when GitHub CLI isn't installed, the assembled payload is written to disk under `.design/issue-drafts/` and the issue-template URL is copied to the platform-appropriate clipboard (xclip / pbcopy / clip).
24
+ - **Privacy-diff renderer** (`scripts/lib/issue-reporter/privacy-diff.cjs`, from 30-07) — renders the before/after pseudonymization diff at consent time and via `/gdd:update --show-privacy-diff`.
25
+ - **Network-isolation CI gate** (`tests/issue-reporter-network-isolation.test.cjs`, from 30-07) — static-analysis test asserts no `https://` / `fetch(` / `XMLHttpRequest` references exist anywhere under `scripts/lib/issue-reporter/` or `scripts/lib/pseudonymize.cjs` except the single destination URL constant in `destination.cjs`. Whitelisted via explicit allowlist.
26
+ - **`reference/pseudonymization-rules.md`** + **`reference/known-failure-modes.md`** (from 30-01 / 30-03) — registered in `registry.json`. User-facing docs explaining the 8-rule pseudonymization catalog and the known failure modes / anti-patterns the reporter detects.
27
+
28
+ ### Changed
29
+
30
+ - Phase 30 does not change existing surfaces beyond adding the new skill + helpers; no breaking changes.
31
+
32
+ ### Documentation
33
+
34
+ - `reference/pseudonymization-rules.md` + `reference/known-failure-modes.md` — added + registered in `reference/registry.json` (2 new entries).
35
+ - `README.md` + 6 translated READMEs (de/fr/it/ja/ko/zh-CN) updated with a "Feedback Channel (v1.30.0+)" section disclosing the `/gdd:report-issue` command and the pseudonymization-NOT-anonymization stance.
36
+ - `NOTICE` — Phase 30 section noting the consent-first reporter discipline (added in 30-07).
37
+
38
+ ### Privacy & Safety
39
+
40
+ - **Pseudonymization, not anonymization.** Payloads obscure direct identifiers (username, hostname, absolute paths, git identity, env-var values, emails, IPs) but preserve internal correlation so maintainers can debug. Side-channel data (writing style, code patterns, repo fingerprints) may still re-identify. Users see a full payload preview before submission and explicitly consent per-issue.
41
+ - **Kill-switch.** Env-var (`GDD_DISABLE_ISSUE_REPORTER=1`) or config-file (`.design/config.json` `{ "issue_reporter": false }`) overrides halt submission before any network call. `gsd-health` surfaces the disable line.
42
+ - **Hardcoded destination.** The issue-reporter cannot be redirected at runtime; the destination URL is a frozen module constant in `scripts/lib/issue-reporter/destination.cjs`. No env-var, config, or flag override.
43
+ - **Network isolation.** Issue-reporter modules contain NO `https://` (or equivalent) calls beyond the single destination URL constant — verified by Phase 30 baseline static-analysis check (Plan 30-07).
44
+
45
+ ---
46
+
47
+ ## [1.29.0] - 2026-05-19
48
+
49
+ ### Phase 29 — Capability-Gap Telemetry + Self-Authoring of Agents/Skills
50
+
51
+ First on-cadence minor version after the 1.28.x decimal sub-phase sequence (1.28.0 through 1.28.8). Extends Phase 11's reflector-driven self-improvement loop from authoring reference content to authoring executable artifacts (agents and skills) when capability-gaps recur. Two structural ceilings close here: the artifact-type ceiling (reflector now drafts agents/skills, not just `reference/*.md`) and the signal-source ceiling (capability-lookup failures are now first-class telemetry). Strictly proposal-only — `/gdd:apply-reflections` remains the single human gate. 6-manifest lockstep at 1.29.0 (extends Phase 28.8's 4-manifest lockstep with the 2 Tier-2 manifests `.cursor-plugin/plugin.json` + `.codex-plugin/plugin.json` bumped in lockstep). 7 plans across Wave A telemetry (29-01..29-03) / Wave B authoring (29-04..29-06) / Wave C closeout (29-07).
52
+
53
+ ### Added
54
+
55
+ - **Capability-gap telemetry + self-authoring of agents/skills.** Two-stage rollout per Phase 29 D-01:
56
+ - **Stage 0 — telemetry only (ships immediately).**
57
+ - New typed `capability_gap` event added to the Phase 22 event-chain schema (`reference/schemas/events.schema.json`). 7 fields exactly per D-02 (no PII): `event_id`, `parent_event_id`, `source` (enum: `fast`/`router`/`reflector_pattern`), `context_hash`, `intent_summary`, `suggested_kind` (enum: `agent`/`skill`), `evidence_refs[]` (hash-pinned trajectory-JSONL pointers per D-07, not duplicated content).
58
+ - Emitters integrated at three lookup-fail points (29-01): `skills/fast/SKILL.md` no-skill-match path emits `source: "fast"`; `skills/router/SKILL.md` unmatched-intent path emits `source: "router"`. Per D-08, MCP-probe connection failures do NOT emit `capability_gap` — those remain Phase 22's connection-status surface.
59
+ - Reflector pattern-detection pass (29-02) at `scripts/lib/reflector/capability-gap-scan.cjs` scans `.design/intel/` + Phase 23.5 posterior + recent trajectories for `Touches:` clusters recurring without dedicated agent owners and emits `capability_gap` events with `source: "reflector_pattern"`.
60
+ - Reflector aggregation extension (29-03) at `scripts/lib/reflector-capability-gap-aggregator.cjs` reads all `capability_gap` events, clusters by `context_hash`, and writes a `## Capability gaps observed` section to `.design/reflections/<cycle-slug>.md`. `gdd-events --type capability_gap` filter exposed via the existing CLI.
61
+ - `reference/capability-gap-stage-gate.md` — Stage-0 → Stage-1 gate spec. K=3 stable clusters across M=10 cycles per D-03, cluster-stability defined as Phase 23.5 posterior `stddev(Beta(α, β)) < 0.05`. Both K and M overridable in the gate doc.
62
+ - **Stage 1 — incubator authoring (data-gated, user-opt-in per D-01).**
63
+ - `scripts/lib/incubator-author.cjs` (29-04) reads gap clusters above the stability threshold + posterior, then drafts `SKILL.md` or `agents/<slug>.md` at `.design/reflections/incubator/<slug>/` with Phase 28.5-compliant frontmatter (`name`, `description` in `<what>. Use when <triggers>.` form, `tools`, `default-tier`, optional `reasoning-class`, `parallel-safe`, `reads-only`). Origin section with `capability_gap` event refs. Computed usage frequency. Suggested integration point. `delegate_to: null` defensive default per D-12 (forward-compat with Phase 27).
64
+ - `/gdd:apply-reflections` extension (29-05) at `skills/apply-reflections/SKILL.md` and `scripts/lib/incubator-proposals.cjs` surfaces incubator drafts as a new (5th) proposal class alongside frontmatter/reference/budget/discussant. Each proposal renders a diff vs the nearest existing artifact (by name + tools + description embedding per D-09). Four actions per proposal: `accept` (promotes to `agents/`/`skills/` + registers via the Phase 14.5 `reference/registry.json`), `reject`, `defer`, `edit` ($EDITOR). Scope-guard validator at `scripts/validate-incubator-scope.cjs` (D-05) blocks promotion outside `agents/`+`skills/`.
65
+ - **Bandit fairness gate (29-06)** — `scripts/lib/bandit-router.cjs` accepts a new `prior_class: "promoted_incubator"` parameter. Promoted arms enter the Phase 23.5 posterior with a conservative `Beta(2, 8)` prior (assume worse-than-average) instead of an optimistic uniform. Per D-04: this IS the staging mechanism — single-step promotion gate via `/gdd:apply-reflections accept`, no two-step staging/ratify split.
66
+ - **Incubator TTL (29-06)** — drafts not promoted/refreshed within P=30 days (per D-06) auto-archive via `scripts/gsd-cleanup-incubator.cjs` to `.design/reflections/incubator/archive/<slug>/`. Refresh = new `capability_gap` event matching an existing slug's `context_hash` resets the timer.
67
+
68
+ ### Changed
69
+
70
+ - Reflector now emits `capability_gap` events alongside the existing learnings / telemetry / agent-metrics signals. No change to existing reflection proposal classes — additive only.
71
+ - `/gdd:apply-reflections` now surfaces 5 proposal classes (was 4: frontmatter / reference / budget / discussant; now adds Incubator agents+skills).
72
+ - `scripts/lib/bandit-router.cjs` accepts a new `prior_class` parameter (default `null` = existing uniform-prior behavior; `"promoted_incubator"` = `Beta(2, 8)` conservative prior).
73
+
74
+ ### Documentation
75
+
76
+ - `reference/capability-gap-stage-gate.md` — Stage-0 → Stage-1 gate spec (K=3 / M=10 defaults, `stddev(Beta(α, β)) < 0.05` stability threshold, user opt-in flow).
77
+ - `README.md` + 6 translated READMEs (de/fr/it/ja/ko/zh-CN) updated with the capability-gap telemetry + self-authoring section: Stage 0 ships immediately (telemetry-only, no authoring); Stage 1 authoring is opt-in via `/gdd:apply-reflections` once K=3 stable clusters across M=10 cycles surface.
78
+
79
+ ### Preserved (no behavior change)
80
+
81
+ - **Phase 11 success-criterion-8 discipline.** The reflector authors nothing that auto-ships. `/gdd:apply-reflections` remains the single human gate (extended to include the new Incubator proposal class, not bypassed).
82
+ - **Phase 28.7 file-drop install paths UNCHANGED.** `scripts/lib/install/converters/cursor.cjs` and `scripts/lib/install/converters/codex.cjs` remain backward-compatible per the Phase 28.8 D-05 invariant.
83
+ - **Phase 28.8 Tier-2 channels (.cursor-plugin/plugin.json + .codex-plugin/plugin.json)** version-bumped in lockstep, but their schemas / keys / structure are UNCHANGED.
84
+ - **Scope guard (D-05).** Self-authoring is limited to `agents/` and `skills/` only. No runtimes / transports / connections / hooks / scripts / CI workflow authoring. `scripts/validate-incubator-scope.cjs` enforces this at promotion time.
85
+
86
+ ---
87
+
88
+ ## [1.28.8] - 2026-05-19
89
+
90
+ ### Phase 28.8 — Tier-2 Distribution Channels
91
+
92
+ Three new structured distribution channels alongside the Phase 28.7 file-drop install paths. v1.28.8 ships manifest code + bundle generators + doctor mode integration for all three channels; live publish + live install field-tests run post-merge as maintainer steps (D-09 revised, D-16). Off-cadence decimal sub-phase from v1.28.7 parent — sequence 1.28.0 → 1.28.5 → 1.28.6 → 1.28.7 → 1.28.8. 12 plans across Wave A (research + lint check) / Wave B (manifests + converters + doctors) / Wave C (bundle builder + Tier-2 doctor aggregation) / Wave D (closeout).
93
+
94
+ ### Added
95
+
96
+ - **Tier-2 distribution channels** — three new structured channels alongside the Phase 28.7 file-drop install paths:
97
+ - **agentskills.io compliance lint** (`scripts/lint-agentskills-spec.cjs`, Workstream A). The open SKILL.md spec adopted by ~38 tools is now enforced against `skills/` on every change. Per D-13 the recommendation was lint-only (our Phase 28.5 frontmatter contract already matches the 2 required spec fields `name` + `description`). 38 PASS / 32 WARN / 0 FAIL across the current `skills/` tree.
98
+ - **Cursor Marketplace** — `.cursor-plugin/plugin.json` manifest at repo root + `scripts/lib/install/converters/cursor-marketplace.cjs` bundle generator. New `kind: 'cursor-marketplace'` in `scripts/lib/install/runtimes.cjs`. Doctor reports application status: `not-submitted` / `submitted-pending` / `approved-published` / `rejected` (B2). Per D-04 + D-16: publisher application gated by Cursor team review — maintainer submits post-merge.
99
+ - **Codex Plugin** — `.codex-plugin/plugin.json` manifest at repo root + `scripts/lib/install/converters/codex-plugin.cjs` bundle generator. New `kind: 'codex-plugin'` in `runtimes.cjs`. Install today via `codex plugin marketplace add hegemonart/get-design-done` against any GitHub URL (D-03). Per D-14: catalog discovery reuses the existing `.claude-plugin/marketplace.json` — no separate Codex catalog file authored.
100
+ - `scripts/build-distribution-bundles.cjs` — shared source / per-channel bundle builder (X1). Produces `dist/cursor-marketplace/`, `dist/codex-plugin/`, `dist/agentskills-io/` from one `skills/` tree (D-06 single source of truth).
101
+ - `scripts/doctor-tier2.cjs` — Tier-2 status aggregator surfaced via `scripts/install.cjs --doctor` (X2).
102
+ - Cross-runtime agentskills.io compat verification reports under `.planning/research/agentskills-io-compat/<runtime>.md` (A2) — 5 runtime reports (Codex, Kilo, Augment, Hermes, Qwen).
103
+ - `docs/cursor-marketplace-field-test.md` + `docs/codex-plugin-field-test.md` — maintainer-facing field-test playbooks (post-merge live publish + install verification per D-09 revised).
104
+ - Wave A research deep-reads at `.planning/research/`: `agentskills-io-2026-05-19.md`, `cursor-marketplace-2026-05-19.md`, `codex-plugins-2026-05-19.md`.
105
+
106
+ ### Changed
107
+
108
+ - `scripts/install.cjs --doctor` now includes a **Tier-2 Distribution Channels** section aggregating: agentskills.io lint pass/fail (Workstream A), Cursor Marketplace publisher-application status (B2), Codex Plugin manifest + install verification (C2). Single consolidated tier-2 status block per X2.
109
+ - `scripts/lint-agentskills-spec.cjs` gained a `--summary` mode for CI integration.
110
+ - 5 skill renames + 13 cross-reference rewrites across the `skills/` tree per A1+ / A1++ alignment with the agentskills.io schema.
111
+
112
+ ### Documentation
113
+
114
+ - `docs/cursor-marketplace-field-test.md`, `docs/codex-plugin-field-test.md` — added.
115
+ - `README.md` + 6 translated READMEs (de/fr/it/ja/ko/zh-CN) updated with Tier-2 install paths per adopted channel (agentskills.io cross-runtime portability note, Cursor Marketplace pending-application note, Codex `codex plugin marketplace add hegemonart/get-design-done`).
116
+
117
+ ### Backward compatibility
118
+
119
+ - Per D-05: Phase 28.7 file-drop install (`scripts/lib/install/converters/cursor.cjs`, `scripts/lib/install/converters/codex.cjs`) is UNCHANGED. Tier-2 channels are additive opt-in surfaces — existing install paths continue to work exactly as in v1.28.7.
120
+
121
+ ---
122
+
7
123
  ## [1.28.7] — 2026-05-19
8
124
 
9
125
  ### Phase 28.7 — Multi-Runtime Install (Pragmatic Port from gsd-build)
package/README.de.md CHANGED
@@ -197,6 +197,30 @@ claude plugin install get-design-done@get-design-done
197
197
 
198
198
  </details>
199
199
 
200
+ ### Tier-2 Distribution Channels (v1.28.8+)
201
+
202
+ Zusätzlich zu den Phase-28.7-Datei-Installationspfaden oben (Standard, weiterhin funktionsfähig) fügt v1.28.8 drei neue Tier-2-Vertriebskanäle hinzu:
203
+
204
+ - **agentskills.io Plattform-übergreifende Portabilität.** Unsere `skills/` sind spec-konform nach dem [agentskills.io](https://agentskills.io) Standard. Runtimes, die agentskills.io-Kompatibilität beanspruchen (Codex, Kilo, Augment, Hermes, Qwen), können unsere Skills direkt konsumieren.
205
+ - **Cursor Marketplace.** Installation via Cursor Marketplace-UI; Veröffentlichung steht aus, abhängig von der Cursor-Team-Prüfung — siehe `docs/cursor-marketplace-field-test.md`.
206
+ - **Codex Plugin.** Installation via Codex GitHub-URL Plugin-Add:
207
+
208
+ ```bash
209
+ codex plugin marketplace add hegemonart/get-design-done
210
+ ```
211
+
212
+ Vollständige Details siehe [README.md](README.md) (Englisch, autoritativ).
213
+
214
+ ### Capability-Gap-Telemetrie + Self-Authoring (v1.29.0+)
215
+
216
+ Die Reflector-Schleife verfolgt "Capability-Lookup fehlgeschlagen"-Signale jetzt als erstklassige Telemetrie und kann — sobald genügend wiederkehrende Lücken auftauchen — neue Agents oder Skills als Vorschläge zur Überprüfung entwerfen.
217
+
218
+ **Stufe 0 — Telemetrie (sofort verfügbar).** Drei Lookup-Fail-Punkte emittieren typisierte `capability_gap`-Events: `skills/fast` No-Skill-Match-Pfade, `gdd-router` Unmatched-Intent-Pfade und die Pattern-Detection-Pass des Reflectors. Anzeigen mit `gdd-events --type capability_gap`.
219
+
220
+ **Stufe 1 — Self-Authoring (Opt-in, sobald Daten das Gate überschreiten).** Wenn K=3 stabile Cluster über M=10 Reflexions-Zyklen auftauchen, fordert `/gdd:apply-reflections` Sie einmalig auf, Stufe 1 zu aktivieren. Der Reflector entwirft dann Inkubator-Artefakte unter `.design/reflections/incubator/<slug>/` mit Phase-28.5-konformen Frontmatter. Vier Aktionen: `accept` / `reject` / `defer` / `edit`. Strict proposal-only — `/gdd:apply-reflections` bleibt der einzige menschliche Gate (Phase 11 SC-8).
221
+
222
+ Scope-Guard: Authoring beschränkt sich auf `agents/` und `skills/` — niemals Runtimes / Transports / Hooks. Vollständige Details siehe [README.md](README.md) (Englisch, autoritativ).
223
+
200
224
 
201
225
  ## Wie es funktioniert
202
226
 
@@ -666,6 +690,19 @@ Entfernt alle GDD-Befehle, Agenten, Hooks und Einstellungen, ohne deine anderen
666
690
 
667
691
  ---
668
692
 
693
+ ## Feedback-Kanal (ab v1.30.0)
694
+
695
+ GDD enthält jetzt einen einwilligungsbasierten GitHub-Issue-Reporter über den Slash-Befehl `/gdd:report-issue`.
696
+
697
+ - **Was er tut.** Führt Sie durch das Melden eines Fehlers oder einer Funktionslücke, mit Vorschau der Nutzlast vor dem Absenden. Lokal-first, einwilligungsbasiert, kein Auto-Modus.
698
+ - **Pseudonymisierung, KEINE Anonymisierung.** Direkte Identifikatoren (Benutzername, Hostname, absolute Pfade, Git-Identität, Umgebungsvariablen-Werte, E-Mails, IP-Adressen) werden durch stabile Pseudonyme ersetzt — aber die interne Korrelation bleibt erhalten, damit Maintainer debuggen können. Seitenkanäle (Schreibstil, Code-Muster, Repo-Fingerabdrücke) können weiterhin re-identifizieren. Sie sehen die vollständige Nutzlast vor dem Absenden und stimmen pro Issue ausdrücklich zu.
699
+ - **Notausschalter.** Setzen Sie `GDD_DISABLE_ISSUE_REPORTER=1` (Umgebung) oder fügen Sie `{ "issue_reporter": false }` in `.design/config.json` hinzu, um die Übermittlung vor jedem Netzwerkaufruf zu stoppen.
700
+ - **`gh`-Fallback.** Falls die GitHub-CLI nicht installiert ist, wird die Nutzlast auf die Festplatte unter `.design/issue-drafts/` geschrieben und die Issue-Template-URL in die Zwischenablage kopiert.
701
+
702
+ Siehe die englische [`README.md`](README.md) für die vollständigen Details, [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) für den Regelkatalog (R1..R8) und [`reference/known-failure-modes.md`](reference/known-failure-modes.md) für bekannte Fehlermodi.
703
+
704
+ ---
705
+
669
706
  ## Lizenz
670
707
 
671
708
  MIT-Lizenz. Siehe [LICENSE](LICENSE) für Details.
package/README.fr.md CHANGED
@@ -197,6 +197,30 @@ claude plugin install get-design-done@get-design-done
197
197
 
198
198
  </details>
199
199
 
200
+ ### Tier-2 Distribution Channels (v1.28.8+)
201
+
202
+ En complément des chemins d'installation par dépôt de fichiers de la Phase 28.7 ci-dessus (par défaut, toujours fonctionnels), la v1.28.8 ajoute trois nouveaux canaux de distribution Tier-2 :
203
+
204
+ - **Portabilité multi-runtime via agentskills.io.** Nos `skills/` sont conformes à la spécification [agentskills.io](https://agentskills.io). Les runtimes revendiquant la compatibilité agentskills.io (Codex, Kilo, Augment, Hermes, Qwen) peuvent consommer nos skills directement.
205
+ - **Cursor Marketplace.** Installation via l'interface marketplace de Cursor ; publication en attente de la revue de l'équipe Cursor — voir `docs/cursor-marketplace-field-test.md`.
206
+ - **Codex Plugin.** Installation via l'ajout de plugin par URL GitHub de Codex :
207
+
208
+ ```bash
209
+ codex plugin marketplace add hegemonart/get-design-done
210
+ ```
211
+
212
+ Pour les détails complets, voir [README.md](README.md) (anglais, autoritatif).
213
+
214
+ ### Télémétrie Capability-Gap + Auto-Authoring (v1.29.0+)
215
+
216
+ La boucle réflectrice suit désormais les signaux "lookup de capacité échoué" comme télémétrie de première classe et — une fois que suffisamment de lacunes récurrentes émergent — peut esquisser de nouveaux agents ou skills comme propositions à votre review.
217
+
218
+ **Phase 0 — télémétrie (livrée immédiatement).** Trois points de lookup-fail émettent désormais des événements typés `capability_gap` : chemins `skills/fast` sans match, chemins `gdd-router` à intent non-matché, et le pattern-detection pass du reflector. Affichage via `gdd-events --type capability_gap`.
219
+
220
+ **Phase 1 — auto-authoring (opt-in une fois les données franchissant le seuil).** Lorsque K=3 clusters stables émergent sur M=10 cycles de réflexion, `/gdd:apply-reflections` vous propose une seule fois d'activer la Phase 1. Le reflector esquisse alors des artefacts incubateur sous `.design/reflections/incubator/<slug>/` avec frontmatter conforme Phase 28.5. Quatre actions : `accept` / `reject` / `defer` / `edit`. Strictement proposition-only — `/gdd:apply-reflections` reste l'unique gate humain (Phase 11 SC-8).
221
+
222
+ Scope-guard : l'authoring est limité à `agents/` et `skills/` — jamais runtimes / transports / hooks. Pour les détails complets, voir [README.md](README.md) (anglais, autoritatif).
223
+
200
224
 
201
225
  ## Comment ça marche
202
226
 
@@ -666,6 +690,19 @@ Supprime toutes les commandes, agents, hooks et paramètres GDD tout en préserv
666
690
 
667
691
  ---
668
692
 
693
+ ## Canal de retour (v1.30.0+)
694
+
695
+ GDD inclut désormais un rapporteur de problèmes GitHub avec consentement explicite via la commande slash `/gdd:report-issue`.
696
+
697
+ - **Ce qu'il fait.** Vous guide pour signaler un bug ou une lacune fonctionnelle, avec aperçu de la charge utile avant soumission. Local-first, basé sur le consentement, pas de mode automatique.
698
+ - **Pseudonymisation, PAS d'anonymisation.** Les identifiants directs (nom d'utilisateur, nom d'hôte, chemins absolus, identité Git, valeurs des variables d'environnement, e-mails, adresses IP) sont remplacés par des pseudonymes stables — mais la corrélation interne est préservée pour que les mainteneurs puissent déboguer. Les canaux latéraux (style d'écriture, motifs de code, empreintes de dépôt) peuvent encore ré-identifier. Vous voyez la charge utile complète avant l'envoi et donnez votre consentement par problème.
699
+ - **Interrupteur d'arrêt.** Définissez `GDD_DISABLE_ISSUE_REPORTER=1` (env) ou ajoutez `{ "issue_reporter": false }` à `.design/config.json` pour arrêter la soumission avant tout appel réseau.
700
+ - **Repli si `gh` absent.** Si la CLI GitHub n'est pas installée, la charge utile est écrite sur disque dans `.design/issue-drafts/` et l'URL du modèle d'issue est copiée dans le presse-papiers.
701
+
702
+ Voir [`README.md`](README.md) en anglais pour les détails complets, [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) pour le catalogue de règles (R1..R8) et [`reference/known-failure-modes.md`](reference/known-failure-modes.md) pour les modes d'échec connus.
703
+
704
+ ---
705
+
669
706
  ## Licence
670
707
 
671
708
  Licence MIT. Voir [LICENSE](LICENSE) pour les détails.
package/README.it.md CHANGED
@@ -197,6 +197,30 @@ claude plugin install get-design-done@get-design-done
197
197
 
198
198
  </details>
199
199
 
200
+ ### Tier-2 Distribution Channels (v1.28.8+)
201
+
202
+ Oltre ai percorsi di installazione file-drop della Fase 28.7 sopra (predefiniti, continuano a funzionare), v1.28.8 aggiunge tre nuovi canali di distribuzione Tier-2:
203
+
204
+ - **Portabilità cross-runtime tramite agentskills.io.** I nostri `skills/` sono conformi alla specifica [agentskills.io](https://agentskills.io). I runtime che dichiarano compatibilità agentskills.io (Codex, Kilo, Augment, Hermes, Qwen) possono consumare i nostri skills direttamente.
205
+ - **Cursor Marketplace.** Installazione tramite l'interfaccia marketplace di Cursor; pubblicazione in attesa della revisione del team Cursor — vedere `docs/cursor-marketplace-field-test.md`.
206
+ - **Codex Plugin.** Installazione tramite l'aggiunta plugin per URL GitHub di Codex:
207
+
208
+ ```bash
209
+ codex plugin marketplace add hegemonart/get-design-done
210
+ ```
211
+
212
+ Per i dettagli completi, vedere [README.md](README.md) (inglese, autorevole).
213
+
214
+ ### Telemetria Capability-Gap + Self-Authoring (v1.29.0+)
215
+
216
+ Il loop riflettore ora traccia i segnali "capability lookup fallito" come telemetria di prima classe e — una volta che emergono abbastanza lacune ricorrenti — può abbozzare nuovi agent o skill come proposte da revisionare.
217
+
218
+ **Stadio 0 — telemetria (rilasciato immediatamente).** Tre punti di lookup-fail emettono eventi tipizzati `capability_gap`: percorsi `skills/fast` senza match, percorsi `gdd-router` con intent non risolto, e il pattern-detection pass del riflettore. Visualizza con `gdd-events --type capability_gap`.
219
+
220
+ **Stadio 1 — self-authoring (opt-in una volta superata la soglia).** Quando K=3 cluster stabili emergono su M=10 cicli di riflessione, `/gdd:apply-reflections` ti chiede una sola volta di abilitare lo Stadio 1. Il riflettore abbozza quindi artefatti incubatore in `.design/reflections/incubator/<slug>/` con frontmatter conforme Phase 28.5. Quattro azioni: `accept` / `reject` / `defer` / `edit`. Strettamente proposal-only — `/gdd:apply-reflections` rimane l'unico gate umano (Phase 11 SC-8).
221
+
222
+ Scope-guard: l'authoring è limitato ad `agents/` e `skills/` — mai runtimes / transports / hooks. Per i dettagli completi, vedere [README.md](README.md) (inglese, autorevole).
223
+
200
224
 
201
225
  ## Come funziona
202
226
 
@@ -666,6 +690,19 @@ Rimuove tutti i comandi, agenti, hook e impostazioni GDD preservando le altre co
666
690
 
667
691
  ---
668
692
 
693
+ ## Canale di feedback (da v1.30.0)
694
+
695
+ GDD ora include un reporter di issue GitHub basato sul consenso esplicito tramite il comando slash `/gdd:report-issue`.
696
+
697
+ - **Cosa fa.** Ti guida nella segnalazione di un problema o una lacuna funzionale, con un'anteprima del payload prima dell'invio. Local-first, basato sul consenso, senza modalità automatica.
698
+ - **Pseudonimizzazione, NON anonimizzazione.** Gli identificatori diretti (nome utente, hostname, percorsi assoluti, identità Git, valori delle variabili d'ambiente, e-mail, indirizzi IP) vengono sostituiti con pseudonimi stabili — ma la correlazione interna è preservata affinché i maintainer possano fare debugging. I canali laterali (stile di scrittura, pattern di codice, fingerprint del repository) possono ancora re-identificare. Vedi il payload completo prima dell'invio e dai il consenso per ogni issue.
699
+ - **Interruttore di emergenza.** Imposta `GDD_DISABLE_ISSUE_REPORTER=1` (env) o aggiungi `{ "issue_reporter": false }` a `.design/config.json` per fermare l'invio prima di qualsiasi chiamata di rete.
700
+ - **Fallback in assenza di `gh`.** Se la CLI di GitHub non è installata, il payload viene scritto su disco in `.design/issue-drafts/` e l'URL del template di issue viene copiata negli appunti.
701
+
702
+ Vedi [`README.md`](README.md) in inglese per i dettagli completi, [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) per il catalogo delle regole (R1..R8) e [`reference/known-failure-modes.md`](reference/known-failure-modes.md) per i modi di fallimento noti.
703
+
704
+ ---
705
+
669
706
  ## Licenza
670
707
 
671
708
  Licenza MIT. Vedi [LICENSE](LICENSE) per i dettagli.
package/README.ja.md CHANGED
@@ -197,6 +197,30 @@ claude plugin install get-design-done@get-design-done
197
197
 
198
198
  </details>
199
199
 
200
+ ### Tier-2 Distribution Channels (v1.28.8+)
201
+
202
+ 上記のフェーズ28.7のファイルドロップインストールパス(デフォルトで引き続き動作)に加え、v1.28.8 は 3 つの新しい Tier-2 配信チャネルを追加します:
203
+
204
+ - **agentskills.io によるクロスランタイム互換性。** 当方の `skills/` は [agentskills.io](https://agentskills.io) 仕様に準拠しています。agentskills.io 互換を宣言するランタイム(Codex、Kilo、Augment、Hermes、Qwen)はこのチャネル経由で直接スキルを利用できます。
205
+ - **Cursor Marketplace。** Cursor のマーケットプレイス UI からインストール。公開は Cursor チームレビュー承認待ち — `docs/cursor-marketplace-field-test.md` を参照。
206
+ - **Codex Plugin。** Codex の GitHub URL プラグイン追加経由でインストール:
207
+
208
+ ```bash
209
+ codex plugin marketplace add hegemonart/get-design-done
210
+ ```
211
+
212
+ 詳細は [README.md](README.md)(英語、正本)を参照してください。
213
+
214
+ ### Capability-Gap テレメトリ + 自己オーサリング (v1.29.0+)
215
+
216
+ リフレクター・ループは「ケイパビリティ・ルックアップ失敗」シグナルをファーストクラスのテレメトリとして追跡するようになりました。十分な繰り返し発生するギャップが浮上したら、レビュー対象として新しい agent / skill を提案として下書きできます。
217
+
218
+ **ステージ 0 — テレメトリ(即時リリース)。** 3 つのルックアップ失敗ポイントが型付き `capability_gap` イベントを発行します: `skills/fast` のスキル不一致パス、`gdd-router` の未解決インテント・パス、リフレクターのパターン検出パス。表示は `gdd-events --type capability_gap`。
219
+
220
+ **ステージ 1 — 自己オーサリング(データがゲートを越えたらオプトイン)。** K=3 個の安定したクラスタが M=10 サイクルで現れると、`/gdd:apply-reflections` がステージ 1 を有効化するかを一度だけ尋ねます。リフレクターは Phase 28.5 準拠の frontmatter を持つインキュベーター・アーティファクトを `.design/reflections/incubator/<slug>/` に下書きします。4 つのアクション: `accept` / `reject` / `defer` / `edit`。厳密に proposal-only — `/gdd:apply-reflections` が唯一の人間ゲートです (Phase 11 SC-8)。
221
+
222
+ スコープ・ガード: オーサリングは `agents/` と `skills/` に限定され、ランタイム / トランスポート / フックは対象外です。詳細は [README.md](README.md)(英語、正本)を参照してください。
223
+
200
224
 
201
225
  ## 仕組み
202
226
 
@@ -666,6 +690,19 @@ npx @hegemonart/get-design-done --claude --local --uninstall
666
690
 
667
691
  ---
668
692
 
693
+ ## フィードバックチャンネル(v1.30.0+)
694
+
695
+ GDD は、`/gdd:report-issue` スラッシュコマンドによる同意ベースの GitHub Issue リポーターを搭載しました。
696
+
697
+ - **何をするか。** 問題や機能不足の報告をガイドし、送信前にペイロードのプレビューを表示します。ローカルファースト、同意ベース、自動モードなし。
698
+ - **疑似匿名化であり、匿名化ではありません。** 直接識別子(ユーザー名、ホスト名、絶対パス、Git アイデンティティ、環境変数の値、メールアドレス、IP アドレス)は安定した疑似識別子に置き換えられますが、メンテナーがデバッグできるよう内部相関は保持されます。サイドチャネルデータ(文体、コードパターン、リポジトリのフィンガープリント)による再識別の可能性は残ります。送信前に完全なペイロードを確認し、Issue ごとに明示的に同意します。
699
+ - **キルスイッチ。** ネットワーク呼び出しの前に送信を停止するには、`GDD_DISABLE_ISSUE_REPORTER=1`(環境変数)または `.design/config.json` に `{ "issue_reporter": false }` を設定します。
700
+ - **`gh` 不在時のフォールバック。** GitHub CLI がインストールされていない場合、ペイロードは `.design/issue-drafts/` のディスクに書き込まれ、Issue テンプレート URL がクリップボードにコピーされます。
701
+
702
+ 詳細は英語版の [`README.md`](README.md)、ルールカタログ(R1..R8)は [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md)、既知の失敗モードは [`reference/known-failure-modes.md`](reference/known-failure-modes.md) を参照してください。
703
+
704
+ ---
705
+
669
706
  ## ライセンス
670
707
 
671
708
  MIT ライセンス。詳細は [LICENSE](LICENSE) を参照。
package/README.ko.md CHANGED
@@ -197,6 +197,30 @@ claude plugin install get-design-done@get-design-done
197
197
 
198
198
  </details>
199
199
 
200
+ ### Tier-2 Distribution Channels (v1.28.8+)
201
+
202
+ 위의 Phase 28.7 파일 드롭 설치 경로(기본값, 계속 작동)에 더해, v1.28.8은 세 가지 새로운 Tier-2 배포 채널을 추가합니다:
203
+
204
+ - **agentskills.io 크로스 런타임 호환성.** 우리 `skills/`는 [agentskills.io](https://agentskills.io) 사양을 준수합니다. agentskills.io 호환성을 표방하는 런타임(Codex, Kilo, Augment, Hermes, Qwen)이 이 채널을 통해 직접 스킬을 소비할 수 있습니다.
205
+ - **Cursor Marketplace.** Cursor 마켓플레이스 UI를 통한 설치; Cursor 팀 리뷰 승인 대기 중 — `docs/cursor-marketplace-field-test.md` 참조.
206
+ - **Codex Plugin.** Codex의 GitHub URL 플러그인 추가를 통한 설치:
207
+
208
+ ```bash
209
+ codex plugin marketplace add hegemonart/get-design-done
210
+ ```
211
+
212
+ 자세한 내용은 [README.md](README.md)(영어, 정본)을 참조하세요.
213
+
214
+ ### Capability-Gap 텔레메트리 + 자가 저작 (v1.29.0+)
215
+
216
+ 리플렉터 루프는 이제 "capability 조회 실패" 신호를 일급 텔레메트리로 추적하며, 충분히 반복되는 갭이 드러나면 새로운 agent 또는 skill을 리뷰용 제안으로 작성할 수 있습니다.
217
+
218
+ **스테이지 0 — 텔레메트리(즉시 출시).** 세 가지 조회 실패 지점이 타입화된 `capability_gap` 이벤트를 발행합니다: `skills/fast` 스킬 미일치 경로, `gdd-router` 미일치 인텐트 경로, 리플렉터 패턴 감지 패스. `gdd-events --type capability_gap`으로 확인하세요.
219
+
220
+ **스테이지 1 — 자가 저작(데이터가 게이트를 통과하면 옵트인).** K=3개의 안정 클러스터가 M=10 사이클에 걸쳐 나타나면, `/gdd:apply-reflections`가 스테이지 1 활성화 여부를 한 번 묻습니다. 그러면 리플렉터는 Phase 28.5 준수 frontmatter를 가진 인큐베이터 아티팩트를 `.design/reflections/incubator/<slug>/`에 초안 작성합니다. 4가지 액션: `accept` / `reject` / `defer` / `edit`. 엄격히 proposal-only — `/gdd:apply-reflections`가 유일한 인간 게이트입니다 (Phase 11 SC-8).
221
+
222
+ 스코프 가드: 저작은 `agents/` 와 `skills/`에 한정되며 — 런타임 / 트랜스포트 / 훅은 대상이 아닙니다. 자세한 내용은 [README.md](README.md)(영어, 정본)을 참조하세요.
223
+
200
224
 
201
225
  ## 작동 방식
202
226
 
@@ -666,6 +690,19 @@ npx @hegemonart/get-design-done --claude --local --uninstall
666
690
 
667
691
  ---
668
692
 
693
+ ## 피드백 채널 (v1.30.0+)
694
+
695
+ GDD에는 이제 `/gdd:report-issue` 슬래시 명령어를 통한 동의 기반 GitHub 이슈 리포터가 포함되어 있습니다.
696
+
697
+ - **무엇을 하나요.** 이슈 또는 기능 부족을 보고하도록 안내하며, 제출 전에 페이로드를 미리 봅니다. 로컬 우선, 동의 기반, 자동 모드 없음.
698
+ - **익명화가 아닌 가명화입니다.** 직접 식별자(사용자 이름, 호스트 이름, 절대 경로, Git ID, 환경 변수 값, 이메일, IP 주소)는 안정적인 가명으로 대체되지만, 메인테이너가 디버깅할 수 있도록 내부 상관관계는 유지됩니다. 사이드 채널 데이터(글쓰기 스타일, 코드 패턴, 저장소 지문)는 여전히 재식별될 수 있습니다. 제출 전에 전체 페이로드를 보고 이슈별로 명시적으로 동의합니다.
699
+ - **킬 스위치.** 네트워크 호출 전에 제출을 중단하려면 `GDD_DISABLE_ISSUE_REPORTER=1`(환경) 또는 `.design/config.json`에 `{ "issue_reporter": false }`를 추가하세요.
700
+ - **`gh` 부재 시 폴백.** GitHub CLI가 설치되어 있지 않으면 페이로드가 `.design/issue-drafts/`에 디스크에 기록되고 이슈 템플릿 URL이 클립보드에 복사됩니다.
701
+
702
+ 전체 세부 사항은 영어 [`README.md`](README.md)를, 규칙 카탈로그(R1..R8)는 [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md)를, 알려진 실패 모드는 [`reference/known-failure-modes.md`](reference/known-failure-modes.md)를 참조하세요.
703
+
704
+ ---
705
+
669
706
  ## 라이선스
670
707
 
671
708
  MIT 라이선스. 자세한 내용은 [LICENSE](LICENSE) 참조.
package/README.md CHANGED
@@ -225,6 +225,36 @@ This is what the npx installer does for you — `npx` just collapses two command
225
225
 
226
226
  </details>
227
227
 
228
+ ### Tier-2 Distribution Channels (v1.28.8+)
229
+
230
+ Beyond the Phase 28.7 file-drop install paths above (which remain the default and continue to work exactly as before), v1.28.8 adds three Tier-2 distribution channels for discovery-driven install:
231
+
232
+ - **agentskills.io cross-runtime portability.** Our `skills/` are spec-compliant per the [agentskills.io](https://agentskills.io) standard (lint-only path per Phase 28.8 D-13; Phase 28.5 frontmatter contract already matches the 2 required spec fields `name` + `description`; current lint score 38 PASS / 32 WARN / 0 FAIL). Runtimes that claim agentskills.io compatibility (Codex, Kilo, Augment, Hermes, Qwen) can consume our skills directly via that channel — see `.planning/research/agentskills-io-compat/<runtime>.md` for per-runtime verification reports.
233
+ - **Cursor Marketplace.** Install via Cursor's marketplace UI. Publisher application submitted to Cursor post-merge; live link pending Cursor team review approval (no published SLA) — see `docs/cursor-marketplace-field-test.md` for current status. Manifest at `.cursor-plugin/plugin.json`.
234
+ - **Codex Plugin.** Install via Codex's GitHub-URL plugin add:
235
+
236
+ ```bash
237
+ codex plugin marketplace add hegemonart/get-design-done
238
+ ```
239
+
240
+ Works today against any GitHub URL with `.codex-plugin/plugin.json`. Per Phase 28.8 D-14: catalog discovery reuses `.claude-plugin/marketplace.json` — no separate Codex catalog file required.
241
+
242
+ Tier-1 file-drop paths above and Tier-2 channels here are **additive opt-in** — both work independently per Phase 28.8 D-05 backward-compat discipline.
243
+
244
+ ### Capability-Gap Telemetry + Self-Authoring (v1.29.0+)
245
+
246
+ The reflector loop now tracks "capability lookup failed" signals as first-class telemetry and — once enough recurring gaps surface — can draft new agents or skills as proposals for your review.
247
+
248
+ **Stage 0 — telemetry (ships immediately).**
249
+ Three lookup-fail points now emit typed `capability_gap` events: `skills/fast` no-skill-match paths, `gdd-router` unmatched-intent paths, and the reflector's pattern-detection pass (recurring `Touches:` clusters without a dedicated owner). The reflector aggregates per-cycle gap events into a `## Capability gaps observed` section in your reflection notes. View with `gdd-events --type capability_gap`. No authoring on Stage 0 — this just surfaces signal.
250
+
251
+ **Stage 1 — self-authoring (opt-in once data crosses the gate).**
252
+ When K=3 stable clusters surface across M=10 reflection cycles (defaults in `reference/capability-gap-stage-gate.md`), `/gdd:apply-reflections` prompts you once to enable Stage 1. With Stage 1 on, the reflector drafts incubator artifacts at `.design/reflections/incubator/<slug>/` — `SKILL.md` or `agents/<slug>.md` with full Phase 28.5-compliant frontmatter, originating events, computed usage frequency, and a suggested integration point. Drafts surface in `/gdd:apply-reflections` as a 5th proposal class with four actions: `accept` (promotes + registers), `reject`, `defer`, `edit`. Promoted arms enter the bandit with a conservative `Beta(2, 8)` prior so they don't get preferential selection until evidence accumulates. Drafts not promoted/refreshed within 30 days auto-archive.
253
+
254
+ **Scope guard.** Authoring is limited to `agents/` and `skills/` only — never runtimes, transports, connections, hooks, or CI workflows. `scripts/validate-incubator-scope.cjs` blocks promotion attempts outside scope.
255
+
256
+ **Discipline preserved.** Reflector authors nothing that auto-ships. `/gdd:apply-reflections` remains the single human gate (Phase 11 SC-8). Stage 1 never auto-flips — user opts in.
257
+
228
258
 
229
259
  ## How It Works
230
260
 
@@ -727,6 +757,20 @@ This removes all GDD commands, agents, hooks, and settings while preserving othe
727
757
 
728
758
  ---
729
759
 
760
+ ## Feedback Channel (v1.30.0+)
761
+
762
+ GDD now ships a consent-first GitHub issue reporter via the `/gdd:report-issue` slash command.
763
+
764
+ - **What it does.** Walks you through reporting an issue or a capability gap, with a payload preview before submission. Local-first, consent-gated, no auto-mode. Triages against `reference/known-failure-modes.md` first — many failures resolve without filing.
765
+ - **Pseudonymization, NOT anonymization.** Direct identifiers (your username, hostname, absolute paths, git identity, env-var values, emails, IPs) are replaced with stable pseudonyms — but internal correlation is preserved so maintainers can debug. Side-channel data (writing style, code patterns, repo fingerprints) may still re-identify. You see the full payload before submission and explicitly consent per-issue.
766
+ - **Kill-switch.** Set `GDD_DISABLE_ISSUE_REPORTER=1` (env) or add `{ "issue_reporter": false }` to `.design/config.json` to halt submission before any network call. `gsd-health` surfaces the disable line.
767
+ - **Hardcoded destination.** The reporter cannot be redirected at runtime; the destination repo is a frozen constant in `scripts/lib/issue-reporter/destination.cjs`.
768
+ - **`gh`-absent fallback.** If the GitHub CLI isn't installed, the payload is written to `.design/issue-drafts/` and the issue-template URL is copied to your clipboard (xclip / pbcopy / clip).
769
+
770
+ See [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) for the R1..R8 rule catalog and [`reference/known-failure-modes.md`](reference/known-failure-modes.md) for known anti-patterns the reporter detects.
771
+
772
+ ---
773
+
730
774
  ## License
731
775
 
732
776
  MIT License. See [LICENSE](LICENSE) for details.
package/README.zh-CN.md CHANGED
@@ -196,6 +196,30 @@ claude plugin install get-design-done@get-design-done
196
196
 
197
197
  </details>
198
198
 
199
+ ### Tier-2 Distribution Channels (v1.28.8+)
200
+
201
+ 除了上述 Phase 28.7 文件释放安装路径(默认且继续工作)之外,v1.28.8 新增三个 Tier-2 分发渠道:
202
+
203
+ - **agentskills.io 跨运行时可移植性。** 我们的 `skills/` 符合 [agentskills.io](https://agentskills.io) 规范。声明兼容 agentskills.io 的运行时(Codex、Kilo、Augment、Hermes、Qwen)可以通过此渠道直接使用我们的技能。
204
+ - **Cursor Marketplace.** 通过 Cursor 市场 UI 安装;发布等待 Cursor 团队审核批准 — 详见 `docs/cursor-marketplace-field-test.md`。
205
+ - **Codex Plugin.** 通过 Codex 的 GitHub URL 插件添加进行安装:
206
+
207
+ ```bash
208
+ codex plugin marketplace add hegemonart/get-design-done
209
+ ```
210
+
211
+ 完整细节请见 [README.md](README.md)(英文,权威版本)。
212
+
213
+ ### Capability-Gap 遥测 + 自动撰写(v1.29.0+)
214
+
215
+ 反射器循环现在将"能力查找失败"信号作为一类遥测来跟踪,一旦出现足够多的循环性缺口,可以将新的 agent 或 skill 作为提案草稿提交给你审查。
216
+
217
+ **Stage 0 — 遥测(立即发布)。** 三个查找失败点现在发出类型化的 `capability_gap` 事件:`skills/fast` 无 skill 匹配路径、`gdd-router` 未匹配意图路径、反射器模式检测 pass。使用 `gdd-events --type capability_gap` 查看。
218
+
219
+ **Stage 1 — 自动撰写(数据越过阈值后选择性启用)。** 当 K=3 个稳定集群在 M=10 个反思周期中出现时,`/gdd:apply-reflections` 会一次性提示你启用 Stage 1。反射器随后在 `.design/reflections/incubator/<slug>/` 起草符合 Phase 28.5 标准 frontmatter 的孵化器 artifact。四个动作:`accept` / `reject` / `defer` / `edit`。严格 proposal-only — `/gdd:apply-reflections` 仍是唯一的人类闸门 (Phase 11 SC-8)。
220
+
221
+ 作用域守卫:撰写仅限 `agents/` 和 `skills/` — 永不涉及 runtimes / transports / hooks。完整细节请见 [README.md](README.md)(英文,权威版本)。
222
+
199
223
 
200
224
  ## 工作流程
201
225
 
@@ -687,6 +711,19 @@ npx @hegemonart/get-design-done --claude --local --uninstall
687
711
 
688
712
  ---
689
713
 
714
+ ## 反馈通道(v1.30.0 起)
715
+
716
+ GDD 现在通过 `/gdd:report-issue` 斜杠命令提供基于明确同意的 GitHub 问题报告器。
717
+
718
+ - **它做什么。** 引导你报告问题或能力空缺,并在提交前预览有效负载。本地优先、基于同意、无自动模式。
719
+ - **是假名化,不是匿名化。** 直接标识符(用户名、主机名、绝对路径、Git 身份、环境变量值、邮箱、IP 地址)会被替换为稳定的假名 —— 但内部关联得以保留,以便维护者进行调试。副信道数据(写作风格、代码模式、仓库指纹)仍可能用于再识别。你会在提交前看到完整的有效负载,并对每个问题明确同意。
720
+ - **关停开关。** 设置 `GDD_DISABLE_ISSUE_REPORTER=1`(环境变量)或在 `.design/config.json` 中添加 `{ "issue_reporter": false }`,即可在任何网络调用前停止提交。
721
+ - **`gh` 缺失时的回退。** 如果未安装 GitHub CLI,有效负载会写入磁盘 `.design/issue-drafts/`,问题模板 URL 会复制到剪贴板。
722
+
723
+ 完整细节请参见英文 [`README.md`](README.md),规则目录(R1..R8)参见 [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md),已知失败模式参见 [`reference/known-failure-modes.md`](reference/known-failure-modes.md)。
724
+
725
+ ---
726
+
690
727
  ## 许可证
691
728
 
692
729
  MIT 协议。详见 [LICENSE](LICENSE)。
package/SKILL.md CHANGED
@@ -31,11 +31,11 @@ Each stage produces artifacts in `.design/` inside the current project.
31
31
  | `map` | `get-design-done:gdd-map` | Parallel codebase mapping — spawns 5 mappers → `.design/map/*.md` + `.design/DESIGN-MAP.md` |
32
32
  | `next` | `get-design-done:gdd-next` | Route to the next pipeline stage based on STATE.md |
33
33
  | `help` | `get-design-done:gdd-help` | List all commands with one-line descriptions |
34
- | `style [ComponentName]` | `get-design-done:style` | Generate component handoff doc → .design/DESIGN-STYLE-[Name].md |
35
- | `darkmode` | `get-design-done:darkmode` | Audit dark mode architecture + contrast + anti-patterns → .design/DARKMODE-AUDIT.md |
36
- | `compare` | `get-design-done:compare` | Delta between DESIGN.md baseline and DESIGN-VERIFICATION.md → .design/COMPARE-REPORT.md |
37
- | `figma-write <mode>` | `get-design-done:figma-write` | Write design decisions to Figma (annotate/tokenize/mappings) |
38
- | `graphify <subcommand>` | `get-design-done:graphify` | Manage Graphify knowledge graph (build/query/status/diff) |
34
+ | `style [ComponentName]` | `get-design-done:gdd-style` | Generate component handoff doc → .design/DESIGN-STYLE-[Name].md |
35
+ | `darkmode` | `get-design-done:gdd-darkmode` | Audit dark mode architecture + contrast + anti-patterns → .design/DARKMODE-AUDIT.md |
36
+ | `compare` | `get-design-done:gdd-compare` | Delta between DESIGN.md baseline and DESIGN-VERIFICATION.md → .design/COMPARE-REPORT.md |
37
+ | `figma-write <mode>` | `get-design-done:gdd-figma-write` | Write design decisions to Figma (annotate/tokenize/mappings) |
38
+ | `graphify <subcommand>` | `get-design-done:gdd-graphify` | Manage Graphify knowledge graph (build/query/status/diff) |
39
39
  | `discuss [topic] [--all] [--spec] [--cycle <name>]` | `get-design-done:gdd-discuss` | Adaptive design interview — spawns design-discussant; appends D-XX decisions to STATE.md |
40
40
  | `list-assumptions [--area]` | `get-design-done:gdd-list-assumptions` | Surface implicit design assumptions baked into the codebase |
41
41
  | **Audit & Session** | | |
@@ -58,6 +58,7 @@ Each stage produces artifacts in `.design/` inside the current project.
58
58
  | **Debug & Workflow** | | |
59
59
  | `debug [<symptom>]` | `get-design-done:gdd-debug` | Symptom-driven design investigation; persistent state in `.design/DEBUG.md` |
60
60
  | `do <natural language>` | `get-design-done:gdd-do` | Natural-language router — parses intent, confirms, dispatches |
61
+ | `report-issue [<cmd>] [--force-report]` | `get-design-done:report-issue` | Consent-gated GitHub issue reporter — triage, pseudonymize, draft to disk, submit via `gh` (no auto-mode; hardcoded destination) |
61
62
  | **Ship & Safety** | | |
62
63
  | `ship [--title <t>] [--draft]` | `get-design-done:gdd-ship` | Post-verify PR flow — clean branch + `gh pr create` |
63
64
  | `pr-branch [<base>]` | `get-design-done:gdd-pr-branch` | Strip `.design/` and `.planning/` commits for clean code-review branch |
@@ -186,11 +187,11 @@ If `$ARGUMENTS` is a stage or command name — invoke it directly, no state chec
186
187
  /gdd:map → Skill("get-design-done:gdd-map") # parallel codebase mapping
187
188
  /gdd:next → Skill("get-design-done:gdd-next")
188
189
  /gdd:help → Skill("get-design-done:gdd-help")
189
- /gdd:style → Skill("get-design-done:style")
190
- /gdd:darkmode → Skill("get-design-done:darkmode")
191
- /gdd:compare → Skill("get-design-done:compare")
192
- /gdd:figma-write → Skill("get-design-done:figma-write")
193
- /gdd:graphify → Skill("get-design-done:graphify")
190
+ /gdd:style → Skill("get-design-done:gdd-style")
191
+ /gdd:darkmode → Skill("get-design-done:gdd-darkmode")
192
+ /gdd:compare → Skill("get-design-done:gdd-compare")
193
+ /gdd:figma-write → Skill("get-design-done:gdd-figma-write")
194
+ /gdd:graphify → Skill("get-design-done:gdd-graphify")
194
195
  /gdd:discuss → Skill("get-design-done:gdd-discuss")
195
196
  /gdd:list-assumptions → Skill("get-design-done:gdd-list-assumptions")
196
197
  /gdd:progress → Skill("get-design-done:gdd-progress")
@@ -231,6 +232,7 @@ If `$ARGUMENTS` is a stage or command name — invoke it directly, no state chec
231
232
  # --- Debug & Workflow ---
232
233
  /gdd:debug → Skill("get-design-done:gdd-debug")
233
234
  /gdd:do → Skill("get-design-done:gdd-do")
235
+ /gdd:report-issue → Skill("get-design-done:report-issue")
234
236
  # --- Ship & Safety ---
235
237
  /gdd:ship → Skill("get-design-done:gdd-ship")
236
238
  /gdd:pr-branch → Skill("get-design-done:gdd-pr-branch")