[repository-quality] π― Repository Quality Improvement Report - Skill Documentation Drift (Stale JavaScript Location References β Third Audit) #64013
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Repository Quality Improvement Agent. A newer discussion is available at Discussion #64279. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Analysis Date: 2026-09-28
Focus Area: Skill Documentation Drift (Stale
pkg/workflow/js/Path References)Strategy Type: Reused (follow-up to 2026-09-16 finding)
Custom Area: Yes β repeat audits are the only way to detect that a previously reported, agreed-upon fix was never applied; this is a targeted verification + remediation run, not a fresh invention.
Executive Summary
On 2026-09-16 this same agent reported that four skill files (
messages,javascript-refactoring,error-pattern-safety,temporary-id-safe-output) still contained 20 literalpkg/workflow/js/path references pointing at a directory that had already been emptied by theactions/setup/js/migration (documented as fixed back on 2026-08-31). Twelve days and multiple intervening quality-improvement runs later, a fresh scan shows the problem is still unresolved:pkg/workflow/js/currently contains exactly 2 files (exchange_otlp_workload_identity.cjsand a JSON asset), neither related to messages/safe-outputs, while the real shared JavaScript location,actions/setup/js/, holds 862.cjsfiles including all the referenced modules (messages_core.cjs,messages.cjs, etc.).Across the four affected skills there are 22 remaining literal path references (2 more than the September count, likely from unrelated interim edits) that will actively mislead Copilot agents and human contributors editing safe-output messages, writing JS refactors, adding temporary-ID support, or diagnosing error-pattern safety issues β all four are high-traffic "how do I..." skills invoked whenever an agent needs to touch the safe-outputs JavaScript layer. Because no automated check ties skill-file path references to real filesystem paths, this class of drift recurs indefinitely without one-time intervention.
This run proposes concrete, mechanical sed-style fixes to all 22 stale references (with exact line numbers below) plus a lightweight CI/test guard β a Go test or script that fails when a skill file references a
pkg/workflow/js/...cjsor similarly bare committed-path pattern that does not exist on disk β so this specific regression class cannot silently resurface a fourth time.Full Analysis Report
Focus Area: Skill Documentation Drift (Stale JavaScript Location References)
Current State Assessment
Metrics Collected:
pkg/workflow/js/exchange_otlp_workload_identity.cjs,safe_outputs_tools.json)actions/setup/js/(real location).cjsfilespkg/workflow/js/referencesmessages,javascript-refactoring,error-pattern-safety,temporary-id-safe-output)Findings
Strengths
actions/setup/js/is otherwise complete and correct β the 862-file directory is healthy, well-populated, and actively used by the real message/safe-output modules (messages_core.cjs,messages.cjs,messages_run_status.cjs, etc.).javascript-refactoringline 15 correctly lists bothpkg/workflow/js/*.cjsandactions/setup/js/*.cjs), showing the fix pattern is well understood β it just wasn't applied everywhere or consistently.Areas for Improvement
messages/SKILL.md(8 stale references β the worst offender) instructs agents to create new message modules "typically" inpkg/workflow/js/, and gives a concrete example test-file pathpkg/workflow/js/messages_my_new.test.cjsthat does not exist and would silently create files in the wrong, unbuilt directory if followed literally.javascript-refactoring/SKILL.md(6 stale references) repeats the same wrong directory as the canonical "Shared workflow utilities" location and as the example test path (pkg/workflow/js/my_module.test.cjs).temporary-id-safe-output/SKILL.md(1 reference at line 101) gives a bare wrong-directory instruction (pkg/workflow/js/<job_name>.cjs) for wiring new safe-output job JS β a step directly load-bearing for that skill's stated purpose.error-pattern-safety/SKILL.md(1 reference at line 102) offerspkg/workflow/js/as an alternative valid test-suite location alongside the correctactions/setup/js/, which is misleading since the former is effectively empty.Detailed Analysis
Exact stale reference locations (verified 2026-09-28):
messages/SKILL.md(8 refs):4. **JavaScript module** underpkg/workflow/js/oractions/setup/js/`` β order/emphasis wrong; should lead with the real location.pkg/workflow/js/:" β directly wrong instruction.pkg/workflow/js/messages_my_new.test.cjs" β wrong example path.pkg/workflow/js/messages_core.cjs, and re-export ... frompkg/workflow/js/messages.cjs" β both real files live inactions/setup/js/.pkg/workflow/js/or the relevant action folder" β should beactions/setup/js/.pkg/workflow/js/messages_core.cjsandpkg/workflow/js/messages.cjs.pkg/workflow/js/" β wrong directory for existing examples.javascript-refactoring/SKILL.md(6 refs):pkg/workflow/js/*.cjsandactions/setup/js/*.cjs" β should drop the first, dead path.pkg/workflow/js/" β wrong as sole canonical location.pkg/workflow/js/my_module.test.cjs" β wrong example path.pkg/workflow/js/and update the action or workflow definition that consumes it" β wrong directory.pkg/workflow/js/oractions/setup/js/" β should beactions/setup/js/only.pkg/workflow/js/*.cjs- existing shared module patterns" β wrong reference list entry.error-pattern-safety/SKILL.md(1 ref):*.test.cjssuite underactions/setup/js/orpkg/workflow/js/" β drop the dead alternative.temporary-id-safe-output/SKILL.md(1 ref):pkg/workflow/js/<job_name>.cjs:" β should beactions/setup/js/<job_name>.cjs.Why this recurs: all four skills were edited independently over time (by different agent runs) and each accumulated its own copy of the stale directory name; nothing cross-checks skill prose against the actual repository tree. The fix pattern already exists correctly in some lines of the same files (e.g.,
javascript-refactoringline 15's second clause), proving contributors know the right path β the drift is a documentation-maintenance gap, not a knowledge gap.π€ Tasks for Copilot Agent
NOTE TO PLANNER AGENT: Split the following tasks into individual work items.
Improvement Tasks
Task 1: Fix stale
pkg/workflow/js/references inmessages/SKILL.mdPriority: High
Estimated Effort: Small
Focus Area: Skill Documentation Drift
Description: Replace all 8 occurrences of
pkg/workflow/js/in.github/skills/messages/SKILL.md(lines 20, 72, 109, 142, 150, 184, 185, 197) withactions/setup/js/, updating the surrounding prose where it currently framespkg/workflow/js/as the "typical"/primary location. Update the concrete example filenames (messages_my_new.test.cjs,messages_core.cjs,messages.cjs) to reference their real path underactions/setup/js/.Acceptance Criteria:
pkg/workflow/js/in.github/skills/messages/SKILL.mdactions/setup/js/Code Region:
.github/skills/messages/SKILL.md(lines 20, 72, 109, 142, 150, 184-185, 197)Task 2: Fix stale
pkg/workflow/js/references injavascript-refactoring/SKILL.mdPriority: High
Estimated Effort: Small
Focus Area: Skill Documentation Drift
Description: Replace all 6 occurrences of
pkg/workflow/js/in.github/skills/javascript-refactoring/SKILL.md(lines 15, 58, 101, 154, 197, 237) withactions/setup/js/, removing dual-path phrasing wherepkg/workflow/js/is listed as an equally-valid alternative alongside the real directory.Acceptance Criteria:
pkg/workflow/js/in.github/skills/javascript-refactoring/SKILL.mdactions/setup/js/file naming conventionCode Region:
.github/skills/javascript-refactoring/SKILL.md(lines 15, 58, 101, 154, 197, 237)Task 3: Fix stale
pkg/workflow/js/references inerror-pattern-safety/SKILL.mdandtemporary-id-safe-output/SKILL.mdPriority: Medium
Estimated Effort: Small
Focus Area: Skill Documentation Drift
Description: Replace the single stale reference in each of these two skills:
error-pattern-safety/SKILL.mdline 102 (droppkg/workflow/js/as an alternative test-suite location, keep onlyactions/setup/js/) andtemporary-id-safe-output/SKILL.mdline 101 (changepkg/workflow/js/<job_name>.cjstoactions/setup/js/<job_name>.cjs).Acceptance Criteria:
pkg/workflow/js/in either filetemporary-id-safe-output/SKILL.mdpoint at the real, buildable locationCode Region:
.github/skills/error-pattern-safety/SKILL.md(line 102),.github/skills/temporary-id-safe-output/SKILL.md(line 101)In .github/skills/error-pattern-safety/SKILL.md line 102, remove the "or pkg/workflow/js/" alternative so the sentence only references "actions/setup/js/" as the location of *.test.cjs suites (verified: 862 .cjs files live there vs 2 unrelated files in pkg/workflow/js/). In .github/skills/temporary-id-safe-output/SKILL.md line 101, change "In pkg/workflow/js/<job_name>.cjs:" to "In actions/setup/js/<job_name>.cjs:". Do not change any content unrelated to this path correction.Task 4: Add a regression guard preventing skill-file path drift from recurring
Priority: Medium
Estimated Effort: Medium
Focus Area: Skill Documentation Drift / Process
Description: This exact finding has now been reported on 2026-08-31, 2026-09-16, and again today (2026-09-28) without being fixed in between, proving no automated signal exists to catch skill-doc path drift. Add a lightweight Go test (e.g. under
pkg/clior a new small package) or amaketarget that scans all.github/skills/*/SKILL.mdfiles for literal backtick-quoted paths matching known repository-root prefixes (pkg/,cmd/,docs/,actions/,.github/) with a file extension, and fails if the referenced path does not exist on disk. Exclude clearly illustrative/placeholder paths (e.g.WORKFLOW-NAME.md, generic example names likemy_module.test.cjsthat intentionally don't exist) via an explicit allowlist or a naming heuristic (e.g. skip paths containing all-caps placeholder tokens). Wire the check into CI (e.g.cgo.ymlor a docs-lint job) so future drift fails fast instead of silently persisting for weeks.Acceptance Criteria:
.github/skills/*/SKILL.mdfiles for path-like references and verifies existencedeveloper-internalsor a relevant skill how to update the allowlist for new illustrative examplesCode Region: New file, e.g.
pkg/cli/skill_path_references_test.goorscripts/check-skill-paths.sh, wired into.github/workflows/cgo.ymlπ Historical Context
Previous Focus Areas
messages/javascript-refactoringdocumented a defunct embed/bundle architecturepkg/workflow/js/refs across 4 skills; flagged 132 broader broken refs repo-wide as follow-upmanualpathconcat/packagelevelmutableslicemapregressed back into the CI gap after being reported fixedπ― Recommendations
Immediate Actions (This Week)
Short-term Actions (This Month)
Long-term Actions (This Quarter)
gh awscheduled workflow that runs the Task 4 checker weekly and opens an issue automatically if skill-doc paths drift again, closing the loop without relying on this quality-improvement agent's random focus-area selection to catch it β Priority: Lowπ Success Metrics
pkg/workflow/js/references in the 4 flagged skills: 22 β 0Next Steps
Generated by Repository Quality Improvement Agent
Next analysis: 2026-09-29 β Focus area selected by diversity algorithm
All reactions