rnett/gradle-mcp/.junie/skills/ingest-gradle-upgrade/SKILL.md
ingest-gradle-upgrade
Ingests a Gradle wrapper upgrade for this repository: reads the release notes, upgrade guides, and linked documentation for the version upgraded to, then updates this repo's own code/tooling and the shipped Gradle MCP skills (src/main/skills/*) so everything stays accurate for that version. ## Positive Triggers (when to activate) - The Gradle wrapper of this repo was just bumped in `gradle/wrapper/gradle-wrapper.properties` (or the bump is in flight) and the new version's implications must be in
- Source repository stars
- 56
- Declared platforms
- 0
- Static risk flags
- 2
- Last source update
- 2026-08-05
- Source checked
- 2026-08-05
Decision brief
What it does—and where it fits
Post-upgrade maintenance process for this repository. After the Gradle wrapper version is bumped, ingest the release notes, upgrade guides, and linked documentation for the new version, then update (a) this repo's code and tooling, (b) the shipped Gradle MCP skills under src/mai…
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/rnett/gradle-mcp --skill ".junie/skills/ingest-gradle-upgrade"Inspect the Agent Skill "ingest-gradle-upgrade" from https://github.com/rnett/gradle-mcp/blob/b61fc9339789879e6d03910cb8c2e71085cec4d8/.junie/skills/ingest-gradle-upgrade/SKILL.md at commit b61fc9339789879e6d03910cb8c2e71085cec4d8. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Before You Start
1. Confirm the wrapper bump exists (or is part of this task): gradle/wrapper/gradle-wrapper.properties differs from the last recorded version. 2. Establish the OLD version before reading anything — git history of the wrapper properties file is the only reliable source (Workflow…
Confirm the wrapper bump exists (or is part of this task): gradle/wrapper/gradle-wrapper.properties differs from the last recorded version.Establish the OLD version before reading anything — git history of the wrapper properties file is the only reliable source (Workflow step 1).Plan for both halves up front: (a) repo code/tooling and (b) shipped skills. Neither half is optional; a "no impact" conclusion for either still requires explicit triage evidence in the ledger. - 02
Scope
In scope: 1. This repo's own code and tooling: build scripts, the Tooling API layer, init scripts, docs/version services, tests. 2. Shipped skills under src/main/skills/: SKILL.md bodies, references, compatibility tables, lifecycle language, and gradledocs pointers. 3. The gener…
This repo's own code and tooling: build scripts, the Tooling API layer, init scripts, docs/version services, tests.Shipped skills under src/main/skills/: SKILL.md bodies, references, compatibility tables, lifecycle language, and gradledocs pointers.The generated best-practices corpus — regenerated, never hand-edited. - 03
Constitution
1. The wrapper properties file is the NEW-version source of truth. Parse NEW from distributionUrl in gradle/wrapper/gradle-wrapper.properties; never take the version from memory, doc prose, or an unrelated Gradle installation. 2. OLD comes from git history. git log -p gradle/wra…
The wrapper properties file is the NEW-version source of truth. Parse NEW from distributionUrl in gradle/wrapper/gradle-wrapper.properties; never take the version from memory, doc prose, or an unrelated Gradle installat…OLD comes from git history. git log -p gradle/wrapper/gradle-wrapper.properties (previous distributionUrl), falling back to .junie/playbook.md; otherwise ask. Never guess.Pin every docs lookup to an explicit version. version="" for new docs, version="" when comparing old behavior; default resolution can silently read the wrong version's docs. - 04
Materiality and the Ledger Contract
The impact ledger is the single work queue. Its row unit is the material item — one row per material item, per walked source:
Release notes: one row per material entry (a leaf entry in any walked section of any release-notes document read).Within-major upgrade-guide blocks: one row per material item inside each in-range changesT block, across every spanned version-family guide (upgradingversion.md for every major M with major(OLD) .mdchanges (); for OLD=9…Crossed-major guide sections: one row per material item inside each walked section of each crossed-major guide. The Source column carries the guide and section in the form upgradingmajorversion (). - 05
Workflows
1. Read gradle/wrapper/gradle-wrapper.properties and parse NEW from distributionUrl; the distribution filename carries the version, so gradle-9.6.1-bin.zip parses to NEW = 9.6.1. 2. Establish OLD from git log -p gradle/wrapper/gradle-wrapper.properties (previous distributionUrl)…
Read gradle/wrapper/gradle-wrapper.properties and parse NEW from distributionUrl; the distribution filename carries the version, so gradle-9.6.1-bin.zip parses to NEW = 9.6.1.Establish OLD from git log -p gradle/wrapper/gradle-wrapper.properties (previous distributionUrl); fall back to the wrapper version recorded in .junie/playbook.md; otherwise ask. Never guess.Classify the delta — this decides steps 2 and 3:
Permission review
Static risk signals and limitations
Writes files
The documentation asks the agent to create, modify, or delete local files.
Post-upgrade maintenance process for this repository. After the Gradle wrapper version is bumped, ingest the release notes, upgrade guides, and linked documentation for the new version, then update (a) this repo's code and tooling, (b) the Reads files
The documentation asks the agent to read local files, directories, or repositories.
For shipped-skill impact: open the mapped skill file/section (Tables A and B) and check its claims, compatibility rows, lifecycle language, and `gradle_docs` pointers against the new docs.Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 85/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 56 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- rnett/gradle-mcp
- Skill path
- .junie/skills/ingest-gradle-upgrade/SKILL.md
- Commit
- b61fc9339789879e6d03910cb8c2e71085cec4d8
- License
- Apache-2.0
- Collected
- 2026-08-05
- Default branch
- main
View the original SKILL.md
Ingest Gradle Upgrade
Post-upgrade maintenance process for this repository. After the Gradle wrapper version is bumped, ingest the release notes, upgrade guides, and linked documentation for the new version, then update (a) this repo's code and tooling, (b) the shipped Gradle MCP skills under src/main/skills/, and (c) the generated best-practices corpus, so everything stays accurate for the new version.
More info: Do all documentation research through gradle_docs pinned to explicit versions: gradle_docs(path="release-notes.md", version="<v>"), gradle_docs(path="userguide/upgrading_version_<N>.md", version="<v>"), and gradle_docs(query="tag:<scope> <term>", version="<v>") with scopes userguide, dsl, release-notes, best-practices, upgrading, javadoc, samples. Version resolution is explicit version → wrapper auto-detection via projectRoot → latest stable; always pass version explicitly here, because old and new behavior must be distinguished. Use gradle_docs(path=".", version="<v>") to list a version's doc page tree. Sourcing boundary: release enumeration (which versions exist and must be read) comes from the official versions metadata endpoint https://services.gradle.org/versions/all (workflow step 2.1) and supplies version metadata only; all documentation content is read exclusively through gradle_docs.
Before You Start
- Confirm the wrapper bump exists (or is part of this task):
gradle/wrapper/gradle-wrapper.propertiesdiffers from the last recorded version. - Establish the OLD version before reading anything — git history of the wrapper properties file is the only reliable source (Workflow step 1).
- Plan for both halves up front: (a) repo code/tooling and (b) shipped skills. Neither half is optional; a "no impact" conclusion for either still requires explicit triage evidence in the ledger.
Scope
In scope:
- This repo's own code and tooling: build scripts, the Tooling API layer, init scripts, docs/version services, tests.
- Shipped skills under
src/main/skills/: SKILL.md bodies, references, compatibility tables, lifecycle language, andgradle_docspointers. - The generated best-practices corpus — regenerated, never hand-edited.
- Records in
.junie/playbook.md(wrapper version line, Build Verification section).
Out of scope: the wrapper bump itself; changes to other projects; new feature work discovered while reading the notes (record as follow-ups, do not implement here).
Constitution
- The wrapper properties file is the NEW-version source of truth. Parse NEW from
distributionUrlingradle/wrapper/gradle-wrapper.properties; never take the version from memory, doc prose, or an unrelated Gradle installation. - OLD comes from git history.
git log -p gradle/wrapper/gradle-wrapper.properties(previousdistributionUrl), falling back to.junie/playbook.md; otherwise ask. Never guess. - Pin every docs lookup to an explicit version.
version="<NEW>"for new docs,version="<OLD>"when comparing old behavior; default resolution can silently read the wrong version's docs. - Canonical enumeration only. The release-notes reading set comes from the official final-releases list (step 2.1); upgrade-guide block selection comes from the anchor rule
OLD < T <= NEWapplied within every spanned version-family guide (step 3.1). Never derive either set from heading prose or memory. - Sourcing boundary. All documentation content — release notes, upgrade guides, and linked documentation pages — is read exclusively through
gradle_docs, never from web-search paraphrase. The only sanctioned non-gradle_docssource is the official versions metadata endpointhttps://services.gradle.org/versions/all(step 2.1), which is used solely to enumerate which releases exist; it supplies version metadata and nothing else. - One ledger, one disposition unit. The ledger's row unit is the material item: every material item in every walked source gets exactly one row. Walked source units that contain zero material items — top-level release-notes sections, in-range upgrade-guide blocks, crossed-major guide sections — each get exactly one sentinel row (
no material items — <reason>); sentinel rows are coverage evidence, not dispositions. Every change traces to a ledger row. - Regenerate, don't hand-edit, the best-practices corpus.
generateBestPracticesDocowns that content. - Shipped-skill edits follow the shipped-skill rules. Load Shipped Skills Update Checklist before touching
src/main/skills/. - Ingestion ends in verification.
./gradlew checkgreen (or green except explicitly named known pre-existing failures), plus an updated.junie/playbook.md.
Materiality and the Ledger Contract
The impact ledger is the single work queue. Its row unit is the material item — one row per material item, per walked source:
- Release notes: one row per material entry (a leaf entry in any walked section of any release-notes document read).
- Within-major upgrade-guide blocks: one row per material item inside each in-range
changes_Tblock, across every spanned version-family guide (upgrading_version_<M>.mdfor every majorMwithmajor(OLD) <= M <= major(NEW)). The Source column carries the family page, the block anchor, and the heading text in the formupgrading_version_<M>.md#changes_<T> (<heading text>); for OLD=9.4.1, NEW=9.6.1 the two in-range row groups are sourcedupgrading_version_9.md#changes_9.5.0 (Upgrading from 9.4.0 and earlier)andupgrading_version_9.md#changes_9.6.0 (Upgrading from 9.5.0 and earlier). - Crossed-major guide sections: one row per material item inside each walked section of each crossed-major guide. The Source column carries the guide and section in the form
upgrading_major_version_<N> (<section heading>). - Sentinel rows — the sole exception to the item unit. Every walked source unit that contains zero material items — a top-level release-notes section, an in-range
changes_Tblock, or a crossed-major guide section — gets exactly one row readingno material items — <one-line reason>. Sentinel rows are coverage evidence that the unit was walked, not dispositions; they never replace item rows where material items exist.
An entry is material if it meets ANY of:
- It changes a Gradle, Tooling, or init-script API/behavior that this repo calls or parses (mapped surfaces: Release Notes Impact Map, Tables A and C).
- It changes guidance, a compatibility claim, or a
gradle_docs(path=...)pointer present insrc/main/skills/(Table A skill column, Table B). - It changes a feature's lifecycle status — incubating → stable promotion, deprecation, or removal — for any feature this repo or its shipped skills mention.
- It fixes an issue this repo works around (workaround comments, issue numbers, known-issue caveats in code or skills).
- It introduces a known issue affecting a flow this repo drives (build execution, output parsing, dependency reporting, REPL, docs ingestion).
- It adds, renames, moves, or removes a documentation page that a shipped skill or this skill points to.
Everything else is non-material and needs no row of its own — the sentinel row of its containing unit records that the unit was walked and why nothing in it is material ("Android Studio integration only; no mapped surface" is a typical reason).
Ledger columns:
| # | Source (version + section, or family page + block anchor) | Item | Domain (Table A) | Project-code impact | Shipped-skill impact | Disposition |
Completeness check before leaving step 4: every material item in every walked source has exactly one row, and every walked source unit with zero material items — every top-level section of every release-notes document read, every in-range changes_T block across all spanned version-family guides, every crossed-major guide section walked — has exactly one sentinel row.
Workflows
1. Establish the Version Delta
- Read
gradle/wrapper/gradle-wrapper.propertiesand parse NEW fromdistributionUrl; the distribution filename carries the version, sogradle-9.6.1-bin.zipparses to NEW =9.6.1. - Establish OLD from
git log -p gradle/wrapper/gradle-wrapper.properties(previousdistributionUrl); fall back to the wrapper version recorded in.junie/playbook.md; otherwise ask. Never guess. - Classify the delta — this decides steps 2 and 3:
- patch-only — same major.minor, such as 9.6.0 → 9.6.1: one release-notes page; no upgrade-guide blocks in range; no major guide.
- within-major — such as 9.4.1 → 9.6.1: every final release in
(OLD, NEW]; the in-rangechanges_Tblocks of the single spanned version-family guide. - cross-major — such as 8.14 → 9.6.1: within-major rules applied to every spanned version family (the version-family guide of each major from
major(OLD)throughmajor(NEW)inclusive), plus the major upgrade guide for each crossed major.
- Confirm the bump is effective: run a trivial task through the repo's normal Gradle entry point and confirm the reported version equals NEW.
2. Read the Release Notes (deterministic version walk)
- Enumerate the reading set. Fetch the official versions metadata —
curl.exe -s https://services.gradle.org/versions/all(JSON array; the sameservices.gradle.orghost this repo already uses forversions/current). This endpoint is the sanctioned source for release enumeration and supplies version metadata only; all documentation content still comes fromgradle_docs(Constitution rule 5). Keep only final releases:snapshot == false,nightly == false,releaseNightly == false,rcFor == "",milestoneFor == "",broken == false. Sort semantically (major, minor, patch compared numerically) and select everyVwithOLD < V <= NEW. Never inject RCs/milestones/nightlies into a final-to-final range; never skip patch releases — patches have their own release-notes pages with patch-specific resolved issues. - Read each selected version. For each
Vin ascending order:gradle_docs(path="release-notes.md", version="V"). Patch pages prepend a patch-specific resolved-issues preamble and then carry the feature-release body — read both parts. - Heading tolerance. The canonical section list is a template baseline, not an invariant: ingest whatever headings are actually present. Known variation: some releases have no
Promoted features(such as 9.5.0); documentation children differ (User ManualvsDocumentation/Training);Fixed issues/Known issuesmay be present but empty (record that). There is no separate docs-changelog page — theDocumentation and trainingsection is the docs changelog. - Walk each document in this priority order, flagging material entries for the ledger (definition in Materiality and the Ledger Contract):
Upgrade instructions— note which upgrade-guide pages it points to.New features and usability improvements— walk subsections in this repo's priority order: Configuration Cache improvements; Isolated Projects; CLI, logging, and problem reporting; Test reporting and execution; Core plugin and plugin authoring enhancements; Tooling and IDE integration; Build authoring improvements; Dependency management enhancements; Performance improvements; Security and infrastructure; any other present subsections. For each material entry, follow its linked pages:gradle_docs(path="<linked page>.md", version="V"), orgradle_docs(query="tag:javadoc <type or member>", version="V")for API changes.Promoted features— list every incubating → stable promotion and any removal; these drive lifecycle-language updates in shipped skills.Fixed issues— search repo code and shipped skills for workarounds the fixes obsolete (issue numbers,workaroundmarkers, known-issue phrasing; patterns in the impact map).Known issues— flag new caveats for shipped troubleshooting content or repo docs.Documentation and training— note new, renamed, moved, or removed doc pages, then verify everygradle_docs(path=...)pointer used in shipped skills still resolves at NEW:gradle_docs(path=".", version="NEW")lists the page tree.
3. Read the Upgrade Guides (deterministic block selection)
- Version-family guides — every spanned major. For every major
Mwithmajor(OLD) <= M <= major(NEW), readgradle_docs(path="userguide/upgrading_version_<M>.md", version="NEW"). Within each family guide, blocks are anchored#changes_<T>whereTis the target feature release — the anchor version, NOT the "Upgrading from X and earlier" heading baseline. Include blockchanges_Tif and only ifOLD < T <= NEW(semantic comparison; patch values participate; every block on a family page carries aTof that family's majorM). Never derive the block set from heading text. Extract from each included block:Potential breaking changes(must fix) andDeprecations(fix the warning before it becomes a break). A same-major delta spans exactly one family guide; a cross-major delta spans one family guide per major in the closed range, and the intermediate majors' guides are mandatory, not optional. - Worked examples. Within-major: OLD=9.4.1, NEW=9.6.1 spans
upgrading_version_9.mdonly; readchanges_9.5.0andchanges_9.6.0only, noting thatchanges_9.5.0is headed "Upgrading from 9.4.0 and earlier" yet still applies because 9.5.0 > 9.4.1. Cross-major: OLD=7.4.0, NEW=9.6.1 spansupgrading_version_7.md,upgrading_version_8.md, andupgrading_version_9.md; include their blockschanges_Twith 7.4.0 < T <= 9.6.1 — thechanges_7.xblocks with T > 7.4.0, allchanges_8.xblocks, and thechanges_9.xblocks with T <= 9.6.0 (block anchors target feature releases;9.6.1is a patch and anchors no block) — and also read the step-3.3 transition guidesupgrading_major_version_8.mdandupgrading_major_version_9.md. - Cross-major transition guides. For each major
Nwithmajor(OLD) < N <= major(NEW), readgradle_docs(path="userguide/upgrading_major_version_<N>.md", version="NEW")— runtime requirements, DSL changes, plugin changes, settings-file changes, task changes, andRemoval of ...sections. These transition guides are in addition to the per-family within-major blocks of step 3.1, not a replacement for them. Same-major upgrades skip this step entirely. - Patch-only deltas have no block in range (no feature release
TsatisfiesOLD < T <= NEW) and span no major boundary — record that and skip this step. - Use
gradle_docs(query="tag:upgrading <term>", version="NEW")for targeted migration detail on a ledger item. - Check embedded Kotlin and Groovy version changes across the delta: init scripts and Kotlin DSL build logic compile against them.
4. Triage Into the Impact Ledger
Load Release Notes Impact Map. Build the ledger per the Materiality and the Ledger Contract:
- Tag each material item with exactly one domain from Table A; the map supplies the project-code surfaces and shipped-skill surfaces to open.
- For project-code impact: open the mapped surfaces (Table C) and look for the affected API, behavior, CLI flag, or output format.
- For shipped-skill impact: open the mapped skill file/section (Tables A and B) and check its claims, compatibility rows, lifecycle language, and
gradle_docspointers against the new docs. - Item matches no domain: run the impact map's discovery grep patterns, then decide.
- Run the completeness check: every material item in every walked source has exactly one ledger row, and every walked source unit with zero material items — every top-level section of every release-notes document read, every in-range
changes_Tblock across all spanned version-family guides, every crossed-major guide section walked — has exactly one sentinel row. No code or skill edits happen before the ledger is complete.
5. Update Project Code and Tooling
Work ledger items with project-code impact:
- Fix breaking changes and migrate removed/changed APIs in the Tooling API layer, build execution/event capture, dependency-report parsing, docs services, and init scripts.
- Resolve deprecations flagged by the in-range upgrade-guide blocks in
build.gradle.kts,settings.gradle.kts, and convention usage. - Update tests that assert version-sensitive behavior; add coverage where a ledger item changed behavior this repo relies on.
- If a change touches an OpenSpec-governed area (build execution, output concurrency, progress reporting, caching/search, multi-reader search), follow the matching spec under
openspec/specs/. - Run targeted tests for changed areas, then
./gradlew test.
6. Update the Shipped Skills
Load Shipped Skills Update Checklist, then work ledger items with shipped-skill impact:
- Update compatibility quick-reference tables,
Version notesblocks, and version-sensitive footguns to match NEW. - Apply
Promoted features: remove incubating/experimental hedges for promoted features; delete or rewrite guidance for removed features. - Apply the docs changelog from step 2.4.6: fix or replace
gradle_docs(path=...)pointers whose pages moved or disappeared; add pointers for new doc areas a skill covers. - Add new known-issue caveats to the relevant troubleshooting content; drop caveats made obsolete by fixes.
- Bump frontmatter
metadata.versionfor every skill materially changed; keep any new reference linked from its SKILL.md; respect theafterEvaluatesafety rule.
7. Regenerate the Best-Practices Corpus
Run ./gradlew generateBestPracticesDoc. The task targets -PgradleDocsVersion=<v> when passed, otherwise the running Gradle version (gradle.gradleVersion) — NEW once the wrapper bump is in effect. Regenerates cleanly means:
- The task succeeds against NEW. It fails loudly when the new docs structure breaks extraction: the failure message is
No Gradle best-practices pages were extracted for version <v>. Examined entries include: <examined entries>. If it fails, fix the:best-practices-generatormodule and rerun before proceeding. - Review the regenerated files under
build/generated/skills/authoring-gradle-builds/references/best-practices/(_index.mdplus per-section files) for material drift caused by the upgrade — sections appearing/disappearing or guidance contradicting the new release notes. Nothing is committed from this step: the output lives under the gitignoredbuild/tree and is regenerated on every build;zipSkillsmerges it intoauthoring-gradle-builds/referencesinsideskills.zip. Never hand-edit generated corpus files.
8. Verify and Record
- Run
./gradlew check verifySkillsList— unit tests (including the skill artifact safety test),verifyToolsList, and the skills-list sync check.verifySkillsListis not wired intocheck, so name it explicitly. - If execution-layer code changed, also run
./gradlew integrationTest; the pre-existingJavaReplIntegrationTest.initializationError/KotlinReplIntegrationTest.basic execution works()REPL failures are known — name them, don't silently tolerate new ones. - Run
./gradlew :updateToolsListonly if Kotlin tool metadata changed. - Update
.junie/playbook.md: the wrapper version line and theBuild Verificationsection (date, command, result, context). - Report: the version delta and its class, the ledger with dispositions, skills changed with version bumps, and verification results.
Definition of Done
- Version delta documented with its class (patch-only / within-major / cross-major).
- Enumeration complete: every final release in
(OLD, NEW]read; every material item in every walked source has a ledger row, and every walked source unit with zero material items — every top-level section of every release-notes document read, every in-rangechanges_Tblock across all spanned version-family guides, every crossed-major guide section walked — has exactly one sentinel row. - All material items with project-code impact implemented and covered by tests; deprecations from in-range blocks resolved.
- All material items with shipped-skill impact applied per the shipped-skills checklist;
metadata.versionbumped where material;SkillArtifactSafetyTestandverifySkillsListpass. - Best-practices corpus regenerates cleanly against NEW (task success + drift review; generator fixed if it failed).
./gradlew checkgreen (or green except explicitly named known pre-existing failures)..junie/playbook.mdupdated (wrapper version line, Build Verification section).
Reference Discovery
- Load Release Notes Impact Map at step 4 (triage): release-notes domain → repo code surfaces and shipped-skill surfaces, hotspot inventories with file:line evidence, discovery grep patterns, and lifecycle-language rules.
- Load Shipped Skills Update Checklist at step 6, and before any edit under
src/main/skills/: shipping pipeline, edit rules, inventory-change procedure, corpus regeneration, and verification commands.
Alternatives
Compare before choosing
wshobson/agents
brand-landingpage
Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens —
wanshuiyin/Auto-claude-code-research-in-sleep
experiment-bridge
Use it for deployment and documentation tasks; the detail page covers purpose, installation, and practical steps.
ruvnet/ruflo
github-release-management
Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management
Galaxy-Dawn/claude-scholar
git-workflow
This skill should be used when the user asks to "create git commit", "manage branches", "follow git workflow", "use Conventional Commits", "handle merge conflicts", or asks about git branching strategies, version control best practices, pull request workflows. Provides comprehensive Git workflow guidance for team collaboration.