一键导入
tdk-config-diff
Compare Workspace and Sub-Workspace Docs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Compare Workspace and Sub-Workspace Docs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
Primary implementation skill. Execute phases from plan.md ## Phases table. Read plan.md as source of truth for status + dependency graph.
Execute the implementation planning workflow using the plan template to generate design artifacts.
Create spec.md from a feature or child-slice description, or replay --interview against existing spec.md. Supports --fast, memory, and an embedded quality gate.
Project-level architecture recommendation and brownfield recovery advisor. Writes architecture reports only; does not mutate layout or config.
Deprecated compatibility route for /tdk-workspace-layout-propose.
| name | tdk-config-diff |
| description | Compare Workspace and Sub-Workspace Docs. |
| metadata | {"version":"1.0.0"} |
Show differences between workspace and sub-workspace documentation files. Helps identify what would change before syncing.
--sub-workspace NAME (required): Target sub-workspace to compare--detailed: Show actual file content differencesParse user input:
--sub-workspace NAME (required)--detailed flagIf no sub-workspace specified:
Run bash script:
# Add --detailed when needed.
bash -lc '
PROJECT_DIR="$1"
if [ -z "$PROJECT_DIR" ] || [ ! -d "$PROJECT_DIR/.specify/scripts/ts" ]; then
echo "Invalid project root: $PROJECT_DIR" >&2
exit 1
fi
(cd "$PROJECT_DIR/.specify/scripts/ts" && bun src/commands/config/diff.ts --sub-workspace {SUB_WORKSPACE_NAME})
' -- "<agent-resolved-project-root>"
Ask the user for the project root if <agent-resolved-project-root> cannot be identified confidently; do not pass the placeholder literally.
CRITICAL: Handle script errors:
On success only: Parse JSON output into variables:
SUB_WORKSPACE_NAME - Name of sub-workspaceWORKSPACE_DOCS - Workspace docs pathSUB_WORKSPACE_DOCS - Sub-workspace docs pathSUMMARY - Object with counts (new, modified, identical, workspace_only)FILES - Array of file objects with path, status, details, [diff]Format output as table:
Diff: {SUB_WORKSPACE_NAME} <-> workspace
Direction: Sub-workspace -> Workspace
+--------------------------+-------------+---------------------+
| File | Status | Details |
+--------------------------+-------------+---------------------+
| rules/code/naming.md | Modified | +15 -3 lines |
| rules/code/style.md | New | Sub-workspace only |
| shared/conventions.md | Identical | No changes |
| old-feature/spec.md | Workspace | Workspace only |
+--------------------------+-------------+---------------------+
Summary: {modified} modified | {new} new | {identical} identical | {workspace_only} workspace-only
Status meanings:
New - File exists in sub-workspace but not in workspaceModified - File exists in both but content differsIdentical - File exists in both with same contentWorkspace - File exists in workspace but not in sub-workspaceIf --detailed flag was specified, show diff content for modified files:
### Modified: rules/code/naming.md
```diff
--- workspace/rules/code/naming.md
+++ sub-workspace/rules/code/naming.md
@@ -10,3 +10,5 @@
- Test framework: vitest
+- Coverage target: 85%
+- Mock strategy: vi.mock()
Based on diff results, suggest next steps:
If there are changes to sync:
Next steps:
- `/tdk-config-sync --from-sub-workspace {NAME}` to copy sub-workspace docs to workspace
- `/tdk-config-sync --to-sub-workspace {NAME}` to copy workspace docs to sub-workspace
If workspace has files not in sub-workspace:
Note: Workspace has {count} files not present in sub-workspace.
These files will NOT be deleted during sync (safety).
If no changes:
Docs are in sync. No action needed.
docs:index - Generate document manager indexdocs:sync - Sync docs between workspace and sub-workspace