agents/skills/experimental-code-coverage-verification-prep/SKILL.md
This skill modifies workspace files to ensure LUCI builders run, isolates target test suites in builder Starlark files for speed, and uploads a Work-In-Progress (WIP) Gerrit CL. It is used to prepare both experimental branches with fixes and clean baseline branches.
This skill reads its primary inputs directly from scratch/triage_state.json.
The only dynamic selector passed in the subagent prompt is role ("Control"
vs. "Fix"):
target_files: A list of file paths that need a dummy comment to ensure
they are included in the build's affected files.builders_of_concern: A list of target builder names (e.g. ["linux-rel"]).
To locate the .star Starlark configuration file for each builder, reference
builder_star_map.json.test_suites: The test suite names to isolate in the builder
configurations.bug_id: The issue ID for context in the CL description.control_branch_name / fix_branch_name: The git branch to check out. If
role is "Control" (or "control"), check out control_branch_name. If
role is "Fix" (or "fix"), check out fix_branch_name.Checkout Branch:
Read scratch/triage_state.json and check out control_branch_name (if
role is "Control") or fix_branch_name (if role is "Fix").
git checkout {{selected_branch_name}}
Add Dummy Comments:
target_files (from
scratch/triage_state.json).// Verification run for b/{{bug_id}}).# Example for one file
echo "// Verification run for b/{{bug_id}} $(date)" >> {{file_path}}
Optimize Builder Configurations:
builders_of_concern and its .star file:
test_suites (from scratch/triage_state.json).# Example for a builder's test targets
targets = targets.bundle(targets = {{test_suites}})
.star file(s), regenerate configuration artifacts
directly from the repository root:
lucicfg generate infra/config/main.star
Commit Changes:
git add -u. This
stages the dummy comments and updated builder configurations while safely
ignoring any untracked scratch files or local skills.git add -u
(Control) or (Fix) based on role. If
test_suites contains multiple test suites, join their names or list them.Verify Code Coverage Change for {{test_suites}} ({{role}})
This was generated by the Code Coverage Debugging Agent.
Role: {{role}} Verification
Target Files: {{ target_files }}
{{ summary of applied GN/Starlark/recipe fixes or trimming }}
Bug: {{bug_id}}
git commit \
-m "Verify Code Coverage Change for {{test_suites}} ({{role}})" \
-m "This was generated by the Code Coverage Debugging Agent." \
-m "Role: {{role}} Verification" \
-m "Target Files: {{ target_files }}" \
-m "{{ summary of applied GN/Starlark/recipe fixes or trimming }}" \
-m "Bug: {{bug_id}}"
Upload to Gerrit:
--cq-dry-run to the upload command.git cl upload -f --bypass-hooks -o wip
Update State File:
scratch/triage_state.json: write the uploaded CL URL into
control_cl (if role is "Control") or fix_cl (if role is "Fix").scratch/triage_state.json (control_cl or fix_cl) has
been updated.