Skip to content

feat: append Product Design composition pointer on bootstrap - #48

Merged
wukongnotnull merged 1 commit into
mainfrom
cursor/pd-bootstrap-pointer-6d0d
Oct 4, 2026
Merged

wukongnotnull merged 1 commit into
mainfrom
cursor/pd-bootstrap-pointer-6d0d

Conversation

@wukongnotnull

Copy link
Copy Markdown
Owner

This PR MUST target the main branch. Active work is developed on
focused branches and merged directly into main after review.

Who is submitting this PR? (required)

Field Value
Your model + version Cursor Grok 4.6 (cursor-grok-4.6-xhigh-fast)
Harness + version Cursor Cloud Agent (implementation run bc-bd1c37b4-8cfd-5e03-95f4-867927b16d0d; Project coordinator bc-00bc4604-2af3-4dc7-9e8c-350a7f19ede4)
All plugins installed GitHub MCP, cursor-cloud, cursor-subscriptions, Figma, Lark, X, frontend-design, x-api-mcp-guide, env-setup
Human partner who reviewed this diff 悟空非空也. Reviewed the complete commit (550ab1884cce3a0c04a931b05ed20db9865eec6c, 15 files, +491/−17) in the Project chat on 2026-10-04 and then said to open this PR.

What problem are you trying to solve?

Session bootstrap injects using-wukong-code (plus optional harness tool mapping) and never mentions Product Design. Process-primary / PD-secondary / keep process gates lives only in references/wukong-product-design-composition.md, which the model must find on its own. After language-guidance got an injected Secondary domain slot, PD — the other secondary domain in this fork — still had no delivery-layer pointer.

This is leftover architecture item 4, reconfirmed as item 2 in the 2026-10-04 review on origin/main (then bcadfde; this branch starts from 8146c8a after #47). Not a live “Let's make a react todo list” failure. The user experience: a “do a feature / add disabled to Button” prompt can race product-design against process skills with no forced composition rule.

What does this PR change?

When skills/product-design/SKILL.md exists, SessionStart, OpenCode, Pi, and Kimi append the same short sentence at the end of bootstrap: process skills stay primary, Product Design is secondary, conflicts keep process gates, see references/wukong-product-design-composition.md. Shared text is skills/using-wukong-code/references/product-design-composition-pointer.md. No Scope table, PD skill, Red Flags, or “human partner” edits. PD stays in this plugin.

Is this change appropriate for the core library?

Yes. This is the existing bootstrap delivery layer in this fork, which already ships 10 PD skills in the same plugin.

  • Who has the problem: anyone using this fork’s combined process + Product Design install.
  • Why core instead of a plugin: injectors and using-wukong-code already live in core; a second plugin cannot be the session-start pointer those injectors append.
  • Externally sourced: no. Pointer points at an in-repo composition file. No new runtime or third-party dependencies.
  • Evidence: tests/hooks/test-product-design-bootstrap-pointer.sh asserts present when PD exists, absent when it does not (fixture), and that using-wukong-code/SKILL.md still has zero Product Design routing. SessionStart / OpenCode / Pi / Kimi / canonical mapping / PD integrity suites passed. No live acceptance-test session.

What alternatives did you consider?

  1. Write a Secondary domain paragraph into using-wukong-code/SKILL.md like language-guidance. Rejected for this PR: that is behavior-shaping skill prose and needs evals. The report said injector pointer first.
  2. Split Product Design into a second plugin. Rejected: this fork’s README treats 10 PD skills as first-class; no trigger evals justify a split.
  3. Expand the composition contract into a second Scope table. Rejected: the report forbids that.
  4. Also run live “Let's make a react todo list” / routing-scenarios PD6 sessions. Out of scope for this wiring PR; remaining risk is called out below.

Does this PR contain multiple unrelated changes?

No. Shared pointer file, four injectors, Kimi skillInstructions regen, and tests that lock present/absent are one delivery-layer change. No openai.yaml, Codex archive-list, or marketplace description work.

Existing PRs

  • I have reviewed all open AND closed PRs for duplicates or prior art
  • Related PRs: #47, #36, #33, #26

No open PR on cursor/pd-bootstrap-pointer-6d0d. No closed PR appends this composition pointer. #47 is process-skill yaml. #36 is PD transport paths. #26 folded frontend-design into PD. #33 is harness tool mappings.

Environment tested

Harness (e.g. Claude Code, Cursor) Harness version Model Model version/ID
Cursor Cloud Agent (static: tests/hooks/test-product-design-bootstrap-pointer.sh, test-session-start.sh, test-tool-mapping-canonical.sh, OpenCode / Pi / Kimi / Cursor / PD integrity / language-guidance / language-router / Codex package / marketplace / shell-lint fixture / skill-slim-gates) Cursor Cloud Agent, 2026-10-04 Cursor Grok 4.6 cursor-grok-4.6-xhigh-fast
Live “Let's make a react todo list” session not run — —

scripts/test.sh --suite core preflight failed on that VM (rsync missing, needed only by Codex sync tests). scripts/lint-shell.sh not run (shellcheck absent). bash -n on touched shell.

New harness support (required if this PR adds a new harness)

Not applicable. This PR does not add a new harness.

Clean-session transcript for "Let's make a react todo list"
Not applicable — no new harness integration. Live acceptance-test session was not run.

Evaluation

  • What was the initial prompt you (or your human partner) used to start
    the session that led to this change?
    After merging item 1 (#47), the human partner said to implement item 2: append a PD composition pointer at the end of bootstrap.
  • How many eval sessions did you run AFTER making the change?
    Zero live harness sessions. After the change we ran the static suites listed above.
  • How did outcomes change compared to before the change?
    Before: bootstrap never mentioned Product Design; composition lived only in a file the model had to discover. After: all four injectors append the same sentence when PD is installed, and omit it when a fixture removes skills/product-design/SKILL.md. using-wukong-code Scope still has zero PD routing. We did not measure live brainstorming vs product-design trigger rates.

Language-pack evidence

  • Language and support status: not a language pack
  • Real failure generic methodology handled incorrectly: not applicable
  • Project markers and toolchain versions: not applicable
  • Official sources: not applicable
  • No-guidance repetitions and failures: not applicable
  • With-guidance repetitions and results: not applicable
  • Monorepo, unsupported-language, and docs-only controls: not applicable
  • Human reviewer familiar with the language: not applicable
  • Frameworks or third-party preferences introduced: none

Rigor

  • If this is a skills change: I used wukong-code:writing-skills and
    completed adversarial pressure testing (paste results below)
  • This change was tested adversarially, not just on the happy path
  • I did not modify carefully-tuned content (Red Flags table,
    rationalizations, "human partner" language) without extensive evals
    showing the change is an improvement

This is injector wiring plus a one-sentence pointer file, not a skill-prose rewrite. writing-skills was not used. No Red Flags / “human partner” / Scope-table edits. Coverage is present/absent fixtures across four injectors. We did not run live multi-session pressure tests. Remaining risk: a model may still prefer product-design on “Let's make a react todo list”; that needs a live session (report item 2 step 2).

Human review

  • A human has reviewed the COMPLETE proposed diff before submission
Open in Web Open in Cursor 

When skills/product-design/SKILL.md exists, SessionStart, OpenCode, Pi, and
Kimi append the same short delivery-layer pointer: process skills stay
primary, Product Design is secondary, conflicts keep process gates.

Co-authored-by: 悟空非空也 <1390128154@qq.com>
@wukongnotnull
wukongnotnull merged commit 297fe8a into main Oct 4, 2026
3 checks passed
@cursor
cursor Bot deleted the cursor/pd-bootstrap-pointer-6d0d branch October 13, 2026 03:13
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