Files
msd-core/commands/gsd/profile-user.md
Tom Boucher 09ab16f9e5 fix(3683): normalize /gsd:<cmd> → /gsd-<cmd> in command, workflow, and reference bodies (#3685)
* fix(3683): normalize /gsd:<cmd> → /gsd-<cmd> in command, workflow, and reference bodies

Extends #3677's agent-body normalizer to all body text staged through
copyWithPathReplacement (commands, workflows, references). The initial
isCommand guard was structurally redundant — normalizeAgentBodyForRuntime
already self-gates on shouldNormalizeHyphenNamespaceInAgentBody(runtime),
so dropping it covers all hyphen-name runtimes (Claude / Qwen / Hermes)
without affecting colon-canonical runtimes (Gemini).

Addresses the user-visible symptom in #3683: workflows like
get-shit-done/workflows/discuss-phase.md (7 colon refs) leaked /gsd:<cmd>
markers to the model context, which the model echoed at the end of
/gsd-discuss-phase runs.

Source-prose drift caught by the new cross-reference invariant test:

  - commands/gsd/plan-phase.md: removed a slash-form mention of the
    deleted /gsd-research-phase command (#3042)
  - commands/gsd/profile-user.md: replaced a slash-form artifact
    reference with a backticked bare name (the referenced item is a
    skill config, not a user-callable slash command)

Tests:

  - tests/bug-3683-command-colon-namespace-leak.test.cjs — runtime-form
    regression for commands/gsd/*.md staging
  - tests/bug-3683-command-cross-reference-invariant.test.cjs — locks
    cross-reference coherence: every /gsd-X / /gsd:X reference in a
    command body must resolve to commands/gsd/X.md (so a future rename
    forces every cross-reference to update)
  - tests/bug-3683-workflow-colon-namespace-leak.test.cjs — runtime-form
    regression for workflows + references; negative test for gemini
    asserting the colon form is preserved

Fixes #3683

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(changeset): remove undefined cycle reference

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 00:13:59 -04:00

1.6 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
gsd:profile-user Generate developer behavioral profile and create Claude-discoverable artifacts [--questionnaire] [--refresh]
Read
Write
Bash
Glob
Grep
AskUserQuestion
Agent
Generate a developer behavioral profile from session analysis (or questionnaire) and produce artifacts (USER-PROFILE.md, `gsd-dev-preferences` skill config, CLAUDE.md section) that personalize Claude's responses.

Routes to the profile-user workflow which orchestrates the full flow: consent gate, session analysis or questionnaire fallback, profile generation, result display, and artifact selection.

<execution_context> @/.claude/get-shit-done/workflows/profile-user.md @/.claude/get-shit-done/references/ui-brand.md </execution_context>

Flags from $ARGUMENTS: - `--questionnaire` -- Skip session analysis entirely, use questionnaire-only path - `--refresh` -- Rebuild profile even when one exists, backup old profile, show dimension diff Execute the profile-user workflow end-to-end.

The workflow handles all logic including:

  1. Initialization and existing profile detection
  2. Consent gate before session analysis
  3. Session scanning and data sufficiency checks
  4. Session analysis (profiler agent) or questionnaire fallback
  5. Cross-project split resolution
  6. Profile writing to USER-PROFILE.md
  7. Result display with report card and highlights
  8. Artifact selection (dev-preferences, CLAUDE.md sections)
  9. Sequential artifact generation
  10. Summary with refresh diff (if applicable)