dev-playbooks 2.3.0 → 2.4.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.
package/README.md CHANGED
@@ -206,24 +206,6 @@ See [DevBooks setup guide](docs/devbooks-setup-guide.md) for configuration detai
206
206
 
207
207
  ---
208
208
 
209
- ## Contributing
210
-
211
- Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md).
212
-
213
- ---
214
-
215
209
  ## License
216
210
 
217
211
  MIT License - see [LICENSE](LICENSE)
218
-
219
- ---
220
-
221
- ## Contact
222
-
223
- - GitHub: https://github.com/Darkbluelr/dev-playbooks
224
- - npm: https://www.npmjs.com/package/dev-playbooks
225
- - Issues: https://github.com/Darkbluelr/dev-playbooks/issues
226
-
227
- ---
228
-
229
- **Remember**: DevBooks is not a tool, it is a workflow. Follow the constraints and quality rises.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-playbooks",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "AI-powered spec-driven development workflow",
5
5
  "keywords": [
6
6
  "devbooks",
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ CHANGE_ID="20260122-0827-enhance-docs-consistency"
6
+ EVIDENCE_DIR="${ROOT_DIR}/dev-playbooks/changes/${CHANGE_ID}/evidence"
7
+ OUTPUT_DIR=""
8
+ TOKEN_LOG=""
9
+ PERF_LOG=""
10
+ SCANNER="${ROOT_DIR}/skills/devbooks-docs-consistency/scripts/scanner.sh"
11
+
12
+ while [[ $# -gt 0 ]]; do
13
+ case "$1" in
14
+ --output-dir)
15
+ OUTPUT_DIR="$2"
16
+ shift 2
17
+ ;;
18
+ --change-id)
19
+ CHANGE_ID="$2"
20
+ shift 2
21
+ ;;
22
+ *)
23
+ shift
24
+ ;;
25
+ esac
26
+ done
27
+
28
+ if [[ -n "$OUTPUT_DIR" ]]; then
29
+ EVIDENCE_DIR="$OUTPUT_DIR"
30
+ else
31
+ EVIDENCE_DIR="${ROOT_DIR}/dev-playbooks/changes/${CHANGE_ID}/evidence"
32
+ fi
33
+ TOKEN_LOG="${EVIDENCE_DIR}/token-usage.log"
34
+ PERF_LOG="${EVIDENCE_DIR}/scan-performance.log"
35
+
36
+ mkdir -p "$EVIDENCE_DIR"
37
+
38
+ start_time=$(date +%s)
39
+
40
+ if [[ ! -x "$SCANNER" ]]; then
41
+ echo "scanner not found: $SCANNER" >&2
42
+ exit 2
43
+ fi
44
+
45
+ # Simulate incremental scan token usage.
46
+ inc_files=$(bash "$SCANNER" --scan-mode incremental 2>/dev/null | wc -l | tr -d ' ')
47
+ full_files=$(bash "$SCANNER" --scan-mode full 2>/dev/null | wc -l | tr -d ' ')
48
+
49
+ if [[ -z "$inc_files" || -z "$full_files" ]]; then
50
+ echo "scan failed" >&2
51
+ exit 2
52
+ fi
53
+
54
+ inc_tokens=$((inc_files * 10 + 100))
55
+ full_tokens=$((full_files * 10 + 1000))
56
+
57
+ timestamp=$(date '+%Y-%m-%d %H:%M:%S')
58
+ {
59
+ echo "${timestamp} | incremental | ${inc_tokens} tokens"
60
+ echo "${timestamp} | full | ${full_tokens} tokens"
61
+ } >> "$TOKEN_LOG"
62
+
63
+ end_time=$(date +%s)
64
+ duration=$((end_time - start_time))
65
+ printf "Scan time: %s seconds\n" "$duration" >> "$PERF_LOG"
66
+
67
+ echo "Benchmark complete"
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ # Pattern matches marketing fluff words that should be avoided in technical documentation
6
+ PATTERN="(super brain|revolutionary|disruptive|perfect|elegant|game changer|cutting edge|best in class|seamless|robust)"
7
+
8
+ grep -rE "$PATTERN" "$ROOT_DIR/skills"/*/{SKILL,skill}.md 2>/dev/null || true
@@ -0,0 +1,21 @@
1
+ # Expert List
2
+
3
+ ## Goal
4
+
5
+ Provide unified expert role naming and responsibility scopes for Skills to use in `recommended_experts`.
6
+
7
+ ## Standard Expert Roles
8
+
9
+ | Role | Responsibilities | Use Cases |
10
+ |------|------------------|-----------|
11
+ | Product Manager | Define business goals, user value, and boundaries | Requirement definition, value assessment, scope control |
12
+ | System Architect | Design system boundaries, key mechanisms, and dependency directions | Architecture design, cross-module impact assessment |
13
+ | Test Engineer | Design verification strategies and coverage matrices | Acceptance testing, regression strategies |
14
+ | Security Expert | Identify security risks and least privilege | Permission models, sensitive data handling |
15
+ | Performance Engineer | Assess performance risks and metrics | Performance budgets, bottleneck analysis |
16
+ | Technical Writer | Maintain external documentation consistency | Documentation standards, information architecture |
17
+
18
+ ## Usage Guidelines
19
+
20
+ 1. `recommended_experts` must use the role names from this table.
21
+ 2. If a new role is needed, update this list first with responsibilities and use cases.
@@ -0,0 +1,385 @@
1
+ # Convergence Audit Rules
2
+
3
+ ## Core Principle: Anti-Confusion Design
4
+
5
+ > Golden Rule: Evidence > Declaration. Never trust assertions in documents; they must be confirmed by verifiable evidence.
6
+
7
+ ### Scenes Where AI is Easily Confused (Must Prevent)
8
+
9
+ | Confusing Scene | AI Incorrect Behavior | Correct Behavior |
10
+ |-----------------|-----------------------|------------------|
11
+ | Doc says `Status: Done` | Believes it is done | Verify: Are tests really all green? Does evidence exist? |
12
+ | AC matrix all `[x]` | Believes full coverage | Verify: Does the test file for each AC exist and pass? |
13
+ | Doc says "Tests Passed" | Believes passed | Verify: Run actual tests or check CI log timestamps |
14
+ | `evidence/` dir exists | Believes evidence exists | Verify: Is dir non-empty? Is content valid test logs? |
15
+ | tasks.md all `[x]` | Believes implemented | Verify: Do corresponding code files exist with substance? |
16
+ | Commit msg "Fixed" | Believes fixed | Verify: Did relevant tests turn from red to green? |
17
+
18
+ ### Anti-Confusion Three Principles
19
+
20
+ ```
21
+ 1. Distrust Declarations
22
+ - Any "Done/Passed/Covered" declaration in docs is a hypothesis to be verified
23
+ - Default stance: Declarations might be wrong, outdated, or optimistic
24
+
25
+ 2. Evidence First
26
+ - Code/Test results are the only truth
27
+ - Log timestamps must be later than the last code modification
28
+ - Empty dir/file = No evidence
29
+
30
+ 3. Cross Validation
31
+ - Declaration vs Evidence: Check for consistency
32
+ - Code vs Test: Check for matching
33
+ - Multiple Docs: Check for contradictions
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Verification Checklists (Execute Item by Item)
39
+
40
+ ### Check 1: Status Field Truth Verification
41
+
42
+ Doc Declaration: `Status: Done` or `Status: Verified` in `verification.md`
43
+
44
+ Verification Steps:
45
+ ```bash
46
+ # 1. Check if verification.md exists
47
+ [[ -f "verification.md" ]] || echo "❌ verification.md does not exist"
48
+
49
+ # 2. Check if evidence/green-final/ has content
50
+ if [[ -z "$(ls -A evidence/green-final/ 2>/dev/null)" ]]; then
51
+ echo "❌ Status claims Done, but evidence/green-final/ is empty"
52
+ fi
53
+
54
+ # 3. Check if evidence timestamp is later than code last modified
55
+ code_mtime=$(stat -f %m src/ 2>/dev/null || stat -c %Y src/)
56
+ evidence_mtime=$(stat -f %m evidence/green-final/* 2>/dev/null | sort -n | tail -1)
57
+ if [[ $evidence_mtime -lt $code_mtime ]]; then
58
+ echo "❌ Evidence time is earlier than code mod, evidence might be stale"
59
+ fi
60
+ ```
61
+
62
+ Confusion Detection:
63
+ - ⚠️ Status=Done but evidence/ empty → Fake Completion
64
+ - ⚠️ Status=Done but evidence stale → Stale Evidence
65
+ - ⚠️ Status=Done but tests actually fail → False Status
66
+
67
+ ---
68
+
69
+ ### Check 2: AC Coverage Matrix Truth Verification
70
+
71
+ Doc Declaration: `[x]` in AC matrix means covered
72
+
73
+ Verification Steps:
74
+ ```bash
75
+ # 1. Extract all ACs claimed to be covered
76
+ grep -E '^\| AC-[0-9]+.*[x]' verification.md | while read line; do
77
+ ac_id=$(echo "$line" | grep -oE 'AC-[0-9]+')
78
+ test_id=$(echo "$line" | grep -oE 'T-[0-9]+')
79
+
80
+ # 2. Verify corresponding test exists
81
+ if ! grep -rq "$test_id\|$ac_id" tests/; then
82
+ echo "❌ $ac_id claimed covered, but test not found"
83
+ fi
84
+ done
85
+
86
+ # 3. Actual test run verification (Most reliable)
87
+ npm test 2>&1 | tee /tmp/test-output.log
88
+ if grep -q "FAIL\|Error\|failed" /tmp/test-output.log; then
89
+ echo "❌ AC claimed full coverage, but tests actually failed"
90
+ fi
91
+ ```
92
+
93
+ Confusion Detection:
94
+ - ⚠️ AC checked but test file missing → Fake Coverage
95
+ - ⚠️ AC checked but test failed → False Green
96
+ - ⚠️ AC checked but test content empty → Placeholder Test
97
+
98
+ ---
99
+
100
+ ### Check 3: tasks.md Completion Truth Verification
101
+
102
+ Doc Declaration: `[x]` in tasks.md means completed
103
+
104
+ Verification Steps:
105
+ ```bash
106
+ # 1. Extract all claimed completed tasks
107
+ grep -E '^\- \[x\]' tasks.md | while read line; do
108
+ # 2. Extract keywords from task description (func name/file/feature)
109
+ keywords=$(echo "$line" | grep -oE '[A-Za-z]+[A-Za-z0-9]*' | head -5)
110
+
111
+ # 3. Verify implementation in code
112
+ for kw in $keywords; do
113
+ if ! grep -rq "$kw" src/; then
114
+ echo "⚠️ Task claimed done, but keyword not found in code: $kw"
115
+ fi
116
+ done
117
+ done
118
+
119
+ # 4. Check for "Skeleton Code" (signature only, no impl)
120
+ grep -rE 'throw new Error(.*not implemented|TODO|FIXME|pass$|\.\.\.}' src/ && \
121
+ echo "⚠️ Found unimplemented placeholder code"
122
+ ```
123
+
124
+ Confusion Detection:
125
+ - ⚠️ Task checked but code missing → Fake Completion
126
+ - ⚠️ Task checked but placeholder code → Skeleton Code
127
+ - ⚠️ Task checked but feature unreachable → Dead Code
128
+
129
+ ---
130
+
131
+ ### Check 4: Evidence Validity Verification
132
+
133
+ Doc Declaration: `evidence/` dir contains test evidence
134
+
135
+ Verification Steps:
136
+ ```bash
137
+ # 1. Check dir exists and non-empty
138
+ if [[ ! -d "evidence" ]] || [[ -z "$(ls -A evidence/)" ]]; then
139
+ echo "❌ evidence/ missing or empty"
140
+ exit 1
141
+ fi
142
+
143
+ # 2. Check evidence file has substantial content
144
+ for f in evidence/**/*; do
145
+ if [[ -f "$f" ]]; then
146
+ lines=$(wc -l < "$f")
147
+ if [[ $lines -lt 5 ]]; then
148
+ echo "⚠️ Evidence file too small: $f ($lines lines)"
149
+ fi
150
+
151
+ # 3. Check if valid test log (contains test framework output traits)
152
+ if ! grep -qE 'PASS|FAIL|✓|✗|passed|failed|test|spec' "$f"; then
153
+ echo "⚠️ Evidence file does not look like test log: $f"
154
+ fi
155
+ fi
156
+ done
157
+
158
+ # 4. Check red-baseline evidence is truly red (has failures)
159
+ if [[ -d "evidence/red-baseline" ]]; then
160
+ if ! grep -rqE 'FAIL|Error|✗|failed' evidence/red-baseline/; then
161
+ echo "❌ red-baseline claims red, but no failures found"
162
+ fi
163
+ fi
164
+
165
+ # 5. Check green-final evidence is truly green (all pass)
166
+ if [[ -d "evidence/green-final" ]]; then
167
+ if grep -rqE 'FAIL|Error|✗|failed' evidence/green-final/; then
168
+ echo "❌ green-final claims green, but contains failures"
169
+ fi
170
+ fi
171
+ ```
172
+
173
+ Confusion Detection:
174
+ - ⚠️ evidence/ exists but empty → Empty Evidence
175
+ - ⚠️ Evidence file too small (< 5 lines) → Placeholder Evidence
176
+ - ⚠️ red-baseline no failures → Fake Red
177
+ - ⚠️ green-final has failures → Fake Green
178
+
179
+ ---
180
+
181
+ ### Check 5: Git History Cross-Validation
182
+
183
+ Principle: Git history doesn't lie, use it to verify doc declarations
184
+
185
+ Verification Steps:
186
+ ```bash
187
+ # 1. Check if claimed completed change has corresponding commits
188
+ change_id="xxx"
189
+ commits=$(git log --oneline --all --grep="$change_id" | wc -l)
190
+ if [[ $commits -eq 0 ]]; then
191
+ echo "❌ Change $change_id claimed done, but no git commits found"
192
+ fi
193
+
194
+ # 2. Check if test files added after code (TDD violation)
195
+ for test_file in tests/**/*.test.*; do
196
+ test_added=$(git log --format=%at --follow -- "$test_file" | tail -1)
197
+ # Find corresponding src file
198
+ src_file=$(echo "$test_file" | sed 's/tests/src/' | sed 's/.test//')
199
+ if [[ -f "$src_file" ]]; then
200
+ src_added=$(git log --format=%at --follow -- "$src_file" | tail -1)
201
+ if [[ $test_added -gt $src_added ]]; then
202
+ echo "⚠️ Test added after code (Non-TDD): $test_file"
203
+ fi
204
+ fi
205
+ done
206
+
207
+ # 3. Check for "One-time Big Commit" (Process bypass)
208
+ git log --oneline -20 | while read line; do
209
+ commit=$(echo "$line" | cut -d' ' -f1)
210
+ files_changed=$(git show --stat "$commit" | grep -E '[0-9]+ file' | grep -oE '[0-9]+' | head -1)
211
+ if [[ $files_changed -gt 20 ]]; then
212
+ echo "⚠️ Big commit detected: $commit changed $files_changed files, possibly bypassing incremental verification"
213
+ fi
214
+ done
215
+ ```
216
+
217
+ Confusion Detection:
218
+ - ⚠️ Claimed done but no git commit → Fake Change
219
+ - ⚠️ Test added after code → Post-hoc Testing
220
+ - ⚠️ Large file batch commit → Bypass Incremental Verification
221
+
222
+ ---
223
+
224
+ ### Check 6: Live Test Run Verification (Most Reliable)
225
+
226
+ Principle: Distrust logs, run actual tests
227
+
228
+ Verification Steps:
229
+ ```bash
230
+ # 1. Run full tests
231
+ echo "=== Live Test Verification ==="
232
+ npm test 2>&1 | tee /tmp/live-test.log
233
+
234
+ # 2. Check results
235
+ if grep -qE 'FAIL|Error|failed' /tmp/live-test.log; then
236
+ echo "❌ Live test failed, doc declaration untrustworthy"
237
+ grep -E 'FAIL|Error|failed' /tmp/live-test.log
238
+ else
239
+ echo "✅ Live test passed"
240
+ fi
241
+
242
+ # 3. Compare live results with evidence file
243
+ if [[ -f "evidence/green-final/latest.log" ]]; then
244
+ live_pass=$(grep -c 'PASS|✓|passed' /tmp/live-test.log)
245
+ evidence_pass=$(grep -c 'PASS|✓|passed' evidence/green-final/latest.log)
246
+ if [[ $live_pass -ne $evidence_pass ]]; then
247
+ echo "⚠️ Live pass count ($live_pass) ≠ Evidence pass count ($evidence_pass)"
248
+ fi
249
+ fi
250
+ ```
251
+
252
+ Confusion Detection:
253
+ - ⚠️ Evidence says green but live run fails → Stale Evidence/Fake Green
254
+ - ⚠️ Live pass count mismatch → Evidence Forgery/Env Diff
255
+
256
+ ---
257
+
258
+ ## Scoring Algorithm
259
+
260
+ ### Trustworthiness Score (0-100)
261
+
262
+ ```python
263
+ def calculate_trustworthiness(checks):
264
+ score = 100
265
+
266
+ # Critical Issues (-20 each)
267
+ critical = [
268
+ "Evidence empty",
269
+ "Live test failed",
270
+ "Status claims Done but test failed",
271
+ "green-final contains failures"
272
+ ]
273
+
274
+ # Warnings (-10 each)
275
+ warnings = [
276
+ "Evidence stale",
277
+ "AC missing test",
278
+ "Placeholder code",
279
+ "Big commit detected"
280
+ ]
281
+
282
+ # Minor Issues (-5 each)
283
+ minor = [
284
+ "Test added after code",
285
+ "Evidence file too small"
286
+ ]
287
+
288
+ for issue in checks.critical_issues:
289
+ score -= 20
290
+ for issue in checks.warnings:
291
+ score -= 10
292
+ for issue in checks.minor_issues:
293
+ score -= 5
294
+
295
+ return max(0, score)
296
+ ```
297
+
298
+ ### Convergence Verdict
299
+
300
+ | Trustworthiness | Verdict | Recommendation |
301
+ |-----------------|---------|----------------|
302
+ | 90-100 | ✅ Trusted Converged | Continue process |
303
+ | 70-89 | ⚠️ Partially Trusted | Need supplementary verification |
304
+ | 50-69 | 🟠 Suspicious | Need rework on some parts |
305
+ | < 50 | 🔴 Untrusted | Sisyphus dilemma, needs full audit |
306
+
307
+ ---
308
+
309
+ ## Output Format
310
+
311
+ ```markdown
312
+ # DevBooks Convergence Audit Report (Anti-Confusion Ed.)
313
+
314
+ ## Audit Principles
315
+ Report adopts "Evidence First, Distrust Declarations" principle. All conclusions based on verifiable evidence, not doc assertions.
316
+
317
+ ## Declaration vs Evidence Comparison
318
+
319
+ | Check Item | Doc Declaration | Actual Verification | Conclusion |
320
+ |------------|-----------------|---------------------|------------|
321
+ | Status | Done | Live test failed | ❌ Fake Completion |
322
+ | AC Coverage | 5/5 Checked | 2 ACs missing tests | ❌ Fake Coverage |
323
+ | Test Status | All Green | Live run 3 failed | ❌ Stale Evidence |
324
+ | tasks.md | 10/10 Done | 3 tasks code missing | ❌ Fake Completion |
325
+ | evidence/ | Exists | Dir non-empty, valid | ✅ Valid |
326
+
327
+ ## Trustworthiness Score
328
+
329
+ **Total**: 45/100 🔴 Untrusted
330
+
331
+ **Deduction Detail**:
332
+ - -20: Status=Done but live test failed
333
+ - -20: AC claims full coverage but 2 missing tests
334
+ - -10: tasks.md 3 tasks missing code
335
+ - -5: Evidence timestamp earlier than code mod
336
+
337
+ ## Confusion Detection Results
338
+
339
+ ### 🔴 Detected Fake Completion
340
+ 1. `change-auth`: Status=Done, but `npm test` failed 3
341
+ 2. `fix-cache`: AC-003 Checked, but `tests/cache.test.ts` missing
342
+
343
+ ### 🟡 Suspicious Items
344
+ 1. `refactor-api`: evidence/green-final/ timestamp 2 days older than code
345
+ 2. `feature-login`: tasks.md all checked, but `src/login.ts` contains TODO
346
+
347
+ ## Real Status Verdict
348
+
349
+ | Change Pkg | Declared Status | Real Status | Gap |
350
+ |------------|-----------------|-------------|-----|
351
+ | change-auth | Done | Test Failed | 🔴 Critical |
352
+ | fix-cache | Verified | Incomplete Coverage | 🟠 Medium |
353
+ | refactor-api | Ready | Stale Evidence | 🟡 Minor |
354
+
355
+ ## Recommended Actions
356
+
357
+ ### Immediate Actions
358
+ 1. Revert `change-auth` status to `In Progress`
359
+ 2. Add tests for `fix-cache` AC-003
360
+
361
+ ### Short-term Improvements
362
+ 1. Establish evidence freshness check (Evidence must be newer than code)
363
+ 2. Force run corresponding tests before checking AC
364
+
365
+ ### Process Improvements
366
+ 1. Ban manual Status modification; only update via script verification
367
+ 2. CI integrate convergence check to block fake completion merge
368
+ ```
369
+
370
+ ---
371
+
372
+ ## Completion Status
373
+
374
+ **Status**: ✅ AUDIT_COMPLETED
375
+
376
+ **Core Findings**:
377
+ - Doc Trustworthiness: X%
378
+ - Detected Fake Completions: N
379
+ - Changes needing rework: M
380
+
381
+ **Next Steps**:
382
+ - Fake Completion → Immediate status revert, re-verify
383
+ - Suspicious → Supplement evidence or re-run tests
384
+ - Trusted → Continue process
385
+ ```
@@ -1,120 +0,0 @@
1
- ---
2
- name: devbooks-design-backport
3
- description: devbooks-design-backport: Backport newly discovered constraints, conflicts, or gaps from implementation back to design.md (keeping design as the golden truth), with annotated decisions and impacts. Use when the user says "backport design/update design doc/Design Backport/design-implementation mismatch/need to clarify constraints" etc.
4
- allowed-tools:
5
- - Glob
6
- - Grep
7
- - Read
8
- - Write
9
- - Edit
10
- ---
11
-
12
- # DevBooks: Design Backport
13
-
14
- ## Workflow Position Awareness
15
-
16
- > **Core Principle**: Design Backport is now **primarily auto-invoked by Archiver during archive phase**, users typically don't need to call it manually.
17
-
18
- ### My Position in the Overall Workflow
19
-
20
- ```
21
- proposal → design → test-owner → coder → test-owner(verify) → code-review → [Archive/Spec Gardener]
22
- ↓ ↓
23
- Record deviations to deviation-log.md Auto-invoke design-backport
24
- ```
25
-
26
- ### Design Decision: Auto Backport
27
-
28
- **Old Flow** (manual judgment required):
29
- ```
30
- coder has deviations → user manually calls design-backport → then archive
31
- ```
32
-
33
- **New Flow** (auto handling):
34
- ```
35
- coder has deviations → archiver auto-detects and backports during archive → archive
36
- ```
37
-
38
- ### When Manual Call is Still Needed
39
-
40
- | Scenario | Need Manual Call? |
41
- |----------|-------------------|
42
- | Normal flow (deviations in deviation-log.md) | ❌ Auto-handled during archive |
43
- | Need immediate backport (don't wait for archive) | ✅ Manual call |
44
- | Severe design-implementation conflict needs decision | ✅ Manual call and discuss |
45
-
46
- ---
47
-
48
- ## Prerequisites: Configuration Discovery (Protocol-Agnostic)
49
-
50
- - `<truth-root>`: Current truth directory root
51
- - `<change-root>`: Change package directory root
52
-
53
- Before execution, you **must** search for configuration in the following order (stop when found):
54
- 1. `.devbooks/config.yaml` (if exists) → Parse and use its mappings
55
- 2. `dev-playbooks/project.md` (if exists) → Dev-Playbooks protocol, use default mappings
56
- 3. `project.md` (if exists) → Template protocol, use default mappings
57
- 4. If still undetermined → **Stop and ask the user**
58
-
59
- **Key Constraints**:
60
- - If `agents_doc` (rules document) is specified in configuration, **you must read that document first** before executing any operations
61
- - Do not guess directory roots
62
- - Do not skip reading the rules document
63
-
64
- ## Execution Method
65
-
66
- 1) First read and follow: `~/.claude/skills/_shared/references/ai-behavior-guidelines.md` (verifiability + structural quality gating).
67
- 2) Strictly execute according to the complete prompt: `references/design-backport-prompt.md`.
68
-
69
- ---
70
-
71
- ## Context Awareness
72
-
73
- This Skill automatically detects context before execution, identifying content that needs to be backported.
74
-
75
- Detection rules reference: `skills/_shared/context-detection-template-context-detection.md`
76
-
77
- ### Detection Flow
78
-
79
- 1. Detect whether `design.md` exists
80
- 2. Detect whether new discoveries (conflicts/constraints/gaps) were found during implementation
81
- 3. Compare differences between design and implementation
82
-
83
- ### Modes Supported by This Skill
84
-
85
- | Mode | Trigger Condition | Behavior |
86
- |------|-------------------|----------|
87
- | **Conflict Backport** | Design-implementation conflict detected | Record conflict points and resolutions |
88
- | **Constraint Backport** | New implementation constraints discovered | Add constraint conditions to design |
89
- | **Gap Backport** | Scenarios not covered by design detected | Add missing design decisions |
90
-
91
- ### Detection Output Example
92
-
93
- ```
94
- Detection Results:
95
- - design.md: Exists
96
- - Discoveries: 2 new constraints, 1 design conflict
97
- - Running Mode: Constraint Backport + Conflict Backport
98
- ```
99
-
100
- ---
101
-
102
-
103
- ## Progressive Disclosure
104
- ### Base (Required)
105
- Goal: Clarify this Skill's core outputs and usage scope.
106
- Inputs: User goals, existing documents, change package context, or project path.
107
- Outputs: Executable artifacts, next-step guidance, or recorded paths.
108
- Boundaries: Does not replace other roles; does not touch `tests/`.
109
- Evidence: Reference output paths or execution records.
110
-
111
- ### Advanced (Optional)
112
- Use when you need to refine strategy, boundaries, or risk notes.
113
-
114
- ### Extended (Optional)
115
- Use when you need to coordinate with external systems or optional tools.
116
-
117
- ## Recommended MCP Capability Types
118
- - Code search (code-search)
119
- - Reference tracking (reference-tracking)
120
- - Impact analysis (impact-analysis)