Unify commit message line-length limits across rules, skills, and
validation scripts to at most 64 characters for the title (following
https://crrev.com/c/8517730) and 72 characters for body lines, removing
the undocumented 78-character limit in git-cl.md and
validate_cl_description.py.
TAG=agy
R=mrcvtl@chromium.org
Change-Id: Ied3de955595c8dd7126d1cad9c058d1161871886
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8559340
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Marco Vitale <mrcvtl@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110658}
Previously, upload_cl.sh appended '-o wip' on all 'cur' uploads without
'--ready' and called set_cl_wip when a CQ dry-run failed or timed out
(introduced in https://crrev.com/c/8486985). This reverted CLs that
were already Ready for Review back to WIP.
Only pass '-o wip' on initial ('new') uploads or when '--wip' is
explicitly requested, and stop calling set_cl_wip on dry-run failures.
This lets Gerrit preserve the existing WIP or Ready-for-Review state on
default subsequent uploads while keeping '--wip' available.
TAG=agy
R=leszeks@chromium.org
Change-Id: I99bc56b67851973fa99cb76faff5201d83e5f85d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8557818
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110579}
Make `upload_cl.sh` upload both initial (`new`) and iterative (`cur`)
patchsets as WIP (`-o wip`) by default. When `--ready` is passed on a
`cur` upload, trigger a CQ dry-run while keeping WIP CLs in WIP, poll
until the run completes, and only switch the CL to Ready for Review if
the dry-run passes (or switch it back to WIP if the dry-run fails).
This avoids prematurely notifying reviewers or putting broken patchsets
into review queues before CQ verification succeeds.
TAG=agy
CONV=3d0d4d6d-9342-4725-ae8a-ee160211229c
Change-Id: I1026b04f4e8b9c6b1a545904d27f626f2a2a9894
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8486985
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110174}
- Delete unused gemini-cli prompt files (common.md, templates/README.md)
and inline the general best practices into v8-best-practices.md.
- Remove stale gemini-cli, static subagent, and framework.md references
from modular.md and prompts/README.md.
- Upgrade legacy @agents/prompts/ imports in GEMINI.md via
install_for_jetski.py.
- Fix agents/plugins/install.py to discover */plugin.json + mcp_config.json
and manage ~/.gemini/config/mcp_config.json directly.
TAG=agy
CONV=e496c475-2873-4f73-aa51-7587bbe84e8c
Change-Id: I12d21014e9d16e4466a6ce512e268e5d92f4b8dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8456726
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110081}
Remove 'Orchestrator-Only' mandates, static subagent personas
(agents/agents/*), and orchestration/adapter skills
(orchestrator, env-abstraction, subagent-env-passing) so the main
agent can investigate C++ directly while delegating genuinely parallel
work to built-in subagents (self and research-google).
- Consolidate framework.md into execution-constraints.md and switch
debugging.md to trigger: model_decision.
- Update install scripts and blocklists for removed agent personas and
orchestration skills/rules.
Eval: https://chromium-review.git.corp.google.com/c/v8/v8/+/8445039
TAG=agy
Change-Id: Ief8903507223e10f01d66bcf406d9cb4b0fc9438
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8451031
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110057}
Generate GitHub Copilot CLI adapters from the canonical V8 agent files,
alongside the existing Gemini CLI and Jetski installers. Everything
written under .github/ is generated and git-ignored, so agents/ stays
the single source of truth.
Skills are symlinked, with a generated wrapper where symlinks are
unavailable. Rules cannot be linked: Copilot selects instruction files
through an applyTo glob and has no equivalent of V8's trigger
vocabulary, so each rule is wrapped in an instruction file carrying its
globs. Rules and skills that depend on client-specific tooling are
excluded rather than partially adapted.
Bug: 537631526
Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8127880
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Marco Vitale <mrcvtl@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Issack John <issackjohn@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#109080}
cleanup_worktree.sh picked SUBAGENT_WS="$TASK_ID" whenever a directory
named exactly $TASK_ID existed under the Rift parent dir.
create_worktree.sh never makes such a bare directory (it uses
${CURRENT_WS}_subagent_$TASK_ID), so that test only matched unrelated
directories and made cleanup close the wrong workspace, orphaning the
real one. Mirror create_worktree.sh.
Introduced by d89c6024cf ("[agents] Support Rift Btrfs workspaces in
worktree scripts").
Change-Id: I162f0d39ba04e5a90d7cf60d19830636113ba3eb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8034924
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Jakob Linke <jgruber@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#108443}
In upload_cl.sh and edit_cl_description.sh, SCRIPT_DIR was used to call
validate_cl_description.py before being initialized. Because SCRIPT_DIR
evaluated to an empty string, the scripts attempted to execute
/validate_cl_description.py at the filesystem root and failed with
"No such file or directory".
This patch initializes SCRIPT_DIR at the top of both scripts and removes
a redundant later definition in upload_cl.sh.
TAG=agy
Conversation-ID: 31cd242e-6a15-4ae7-8096-650cb7573ae0
Change-Id: Id3fd7d2b734f834b9674db73f71844a717058913
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8018355
Reviewed-by: Marco Vitale <mrcvtl@chromium.org>
Commit-Queue: Marco Vitale <mrcvtl@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#108328}
Update agents/rules/git-cl.md to delegate standard Gerrit commands and
options to the shared git-cl-helper skill while retaining V8-specific
upload mandates and guardrails.
Extract commit description validation (78-char length check following
Gerrit exclusion rules and Change-Id verification) into a standalone
validate_cl_description.py script shared by upload_cl.sh and
edit_cl_description.sh.
Update install_for_jetski.py to ensure the shared git-cl-helper skill
is symlinked and discovered properly during setup.
TAG=agy
Conversation-ID: 31cd242e-6a15-4ae7-8096-650cb7573ae0
Change-Id: Ic0b166b35a7cfc2191600b2a3c219d8c9065e47c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8019003
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Marco Vitale <mrcvtl@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#108311}
Automatically detect Rift Btrfs workspace environments in
create_worktree.sh and cleanup_worktree.sh. When running under Rift, use
rift subagent fork and rift subagent close (with fallback to standard
fork/close) instead of creating Git worktrees. Update v8-workflow skill
documentation accordingly.
Change-Id: I55ea398d6a6ff2c38e8a3a85ea4209612a6a7de9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7978998
Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#108156}
This updates the default GEMINI.md template content generated by the
installation scripts to use the correct markdown link syntax for rules
transclusion (`@[Label](path)`).
The previous syntax (`@path`) is not supported by the rules loader
engine and was treated as literal text instead of injecting the target
file's contents.
TAG=agy
CONV=5e56f80d-4eff-43ba-bdca-93ec47ab710f
Change-Id: I48cb7ed75d99a5cfcbb2a4fbef0ddca684d8d423
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7900076
Auto-Submit: Olivier Flückiger <olivf@chromium.org>
Reviewed-by: Marco Vitale <mrcvtl@chromium.org>
Commit-Queue: Olivier Flückiger <olivf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#107787}
Drive-by: make the create script use "origin/main" as a base for
new worktree instead of "main" branch which might not exist.
No-try: true
Change-Id: I84c3e1016672feae37acd7f3e17f03cf016b78ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7894595
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#107711}
Update the task worktree generation and cleanup helper scripts to
always initialize worktrees cleanly inside a dedicated gitignored
worktrees/ directory within the V8 repository root. This resolves
previous issues where worktrees created outside the main directory
structure broke agent execution context.
Additionally, rename the scripts to create_worktree.sh and
cleanup_worktree.sh, and update all corresponding agent rules
and skills to mandate using these unified entry points.
TAG=agy
CONV=87c789d2-e06c-4825-a6a1-dcd9d9e3302d
Change-Id: I0a6f47b59058892c197efcaf1c68594c72d5d4fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7879984
Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Olivier Flückiger <olivf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#107636}
Check for GEMINI.md and create it if it does not exist in the repository root. This ensures the modular prompt template is correctly imported for agents.
TAG=agy
CONV=ed82634d-1d5d-469d-9e67-14187f9d0373
Change-Id: I36ef1bfa19be3dcc2a0eee90757ab4715f53bfca
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7786053
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Patrick Thier <pthier@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#106720}
Add a new skill and script that analyzes recent commits and evaluates
whether any relevant documentation in docs/ has been invalidated.
Uses a pro subagent to compare the commit diff with documentation.
TAG=agy
CONV=404194fb-29bf-46ca-9669-cd89c62695de
R=verwaest@chromium.org
Change-Id: I143afecae45db5a0577820824fa50058fb917cf1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7784256
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#106713}
This change refactors the subagents structure in V8:
- Replaces workflow-oriented subagents with task-oriented ones: researcher, builder, tester, debugger.
- Moves workflows and informational guides back to being skills in agents/skills/.
- Updates install_for_jetski.py to symlink individual skills and agents to allow local additions.
TAG=agy
Change-Id: Ib23538a07557e720bcb1328810f6b32fea2dc1ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7772130
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Marco Vitale <mrcvtl@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#106651}
This CL introduces a structured, multi-layered framework for V8 agent skills
to maximize efficiency, parallelism, and adaptability. It also refines existing
skills and adds new ones based on self-evaluation.
Key Changes:
- Layer 1: Orchestration: Created orchestrator skill defining DAG-based task scheduling, priority management, and strict delegation.
- Layer 2: Environment Abstraction: Created env_abstraction skill to map abstract actions to concrete tools.
- Layer 3: Workflows: Added workflow_debugging for issue-based debugging with full tracking, and workflow_general_debugging for lightweight project debugging. Expanded workflow_perf with Crossbench and Turbolizer instructions.
- Self-Improvement: Created agent_self_improvement skill for isolated execution and process refinement.
- Workspace Configuration: Lightened GEMINI.md by moving detailed sections to specialized skills (v8_commands, v8_structure, v8_testing).
- Rules: Added framework.md and updated execution_constraints.md to enforce mandatory orchestration and forbid browser usage.
TAG=agy
CONV=b814f84b-5e21-4196-ab3c-a6cbb37b0a88
Change-Id: I5ba039c4001b7ec30881356424db1a469f449ef0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7762294
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#106558}