Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .agents/skills/merge/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: merge
description: Handle main-to-next merge tasks including conflict resolution, changeset cleanup, and CI fix-ups. Use when merging main into next.
---

# Merge

Handle the main-to-next merge process. This skill has sub-skills for each stage:

- [resolve-conflicts.md](resolve-conflicts.md) — Resolve git merge conflicts
- [fix-ci.md](fix-ci.md) — Fix build errors, type errors, and test failures
- [clean-changesets.md](clean-changesets.md) — Remove stale changeset files

When invoked, check the `step` argument to determine which sub-skill to run, then read and follow that file's instructions.
7 changes: 0 additions & 7 deletions .changeset/fix-cf-asset-cache-headers.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fix-cloudflare-fetch-circular-import.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/fix-node-logger-startup-message.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/kind-snails-wash.md

This file was deleted.

18 changes: 0 additions & 18 deletions .changeset/satteri-prism.md

This file was deleted.

2 changes: 1 addition & 1 deletion .flue/workflows/fix-verification.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Return your classification.`,
}

// Use the astro-pr-writer skill to generate a good PR title and body.
const { data: prContent } = await session.skill('astro-pr-writer/SKILL.md', {
const { data: prContent } = await session.skill('astro-pr-writer', {
args: {
issueNumber,
issueDetails,
Expand Down
43 changes: 33 additions & 10 deletions .flue/workflows/issue-triage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,14 @@ async function runTriagePipeline(
fixed: boolean;
commitMessage: string | null;
}> {
const { data: reproduceResult } = await session.skill('triage/reproduce.md', {
args: { issueNumber, issueDetails },
const { data: reproduceResult } = await session.skill('triage', {
args: {
issueNumber,
issueDetails,
step: 'reproduce',
instructions:
'Run only the "reproduce" sub-skill from reproduce.md. Do not continue to diagnose, verify, or fix steps.',
},
result: v.object({
reproducible: v.pipe(
v.boolean(),
Expand All @@ -206,17 +212,26 @@ async function runTriagePipeline(
};
}

const { data: diagnoseResult } = await session.skill('triage/diagnose.md', {
args: { issueDetails },
const { data: diagnoseResult } = await session.skill('triage', {
args: {
issueDetails,
step: 'diagnose',
instructions:
'Run only the "diagnose" sub-skill from diagnose.md. Do not continue to verify or fix steps.',
},
result: v.object({
confidence: v.pipe(
v.nullable(v.picklist(['high', 'medium', 'low'])),
v.description('Diagnosis confidence level, null if not attempted'),
),
}),
});
const { data: verifyResult } = await session.skill('triage/verify.md', {
args: { issueDetails },
const { data: verifyResult } = await session.skill('triage', {
args: {
issueDetails,
step: 'verify',
instructions: 'Run only the "verify" sub-skill from verify.md. Do not continue to fix step.',
},
result: v.object({
verdict: v.pipe(
v.picklist(['bug', 'intended-behavior', 'unclear']),
Expand All @@ -241,8 +256,8 @@ async function runTriagePipeline(
};
}

const { data: fixResult } = await session.skill('triage/fix.md', {
args: { issueDetails },
const { data: fixResult } = await session.skill('triage', {
args: { issueDetails, step: 'fix', instructions: 'Run only the "fix" sub-skill from fix.md.' },
result: v.object({
fixed: v.pipe(
v.boolean(),
Expand Down Expand Up @@ -334,8 +349,16 @@ export async function run({ init, payload }: FlueContext) {
assert(packageLabels.length > 0, 'no package labels found');

const branchName = isPushed ? branch : null;
const { data: comment } = await session.skill('triage/comment.md', {
args: { branchName, priorityLabels, issueDetails, previewRelease },
const { data: comment } = await session.skill('triage', {
args: {
branchName,
priorityLabels,
issueDetails,
previewRelease,
step: 'comment',
instructions:
'Run only the "comment" sub-skill from comment.md. Generate the GitHub comment from triage findings.',
},
result: v.pipe(
v.string(),
v.description(
Expand Down
9 changes: 7 additions & 2 deletions .flue/workflows/merge-fix/WORKFLOW.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,13 @@ export async function run({ init, payload }: FlueContext) {
// Conflicts have already been resolved by the merge-resolve workflow.
// Dependencies are installed but packages may NOT be built yet — the skill
// handles building and fixing any errors that come up.
const { data: fixResult } = await session.skill('merge/fix-ci.md', {
args: { prNumber, ciLogs },
const { data: fixResult } = await session.skill('merge', {
args: {
prNumber,
ciLogs,
step: 'fix-ci',
instructions: 'Run only the "fix-ci" sub-skill from fix-ci.md.',
},
result: v.object({
ciPass: v.pipe(v.boolean(), v.description('true if build + tests pass after fixes')),
fixedFiles: v.pipe(
Expand Down
16 changes: 12 additions & 4 deletions .flue/workflows/merge-resolve/WORKFLOW.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,13 @@ export async function run({ init, payload }: FlueContext) {
// conflicts, the working tree has conflict markers in all affected files.
// This skill resolves them intelligently — keeping next-side versions but
// preserving important changes from main (new deps, bug fixes, etc.)
const { data: resolveResult } = await session.skill('merge/resolve-conflicts.md', {
args: { branch, hasConflicts },
const { data: resolveResult } = await session.skill('merge', {
args: {
branch,
hasConflicts,
step: 'resolve-conflicts',
instructions: 'Run only the "resolve-conflicts" sub-skill from resolve-conflicts.md.',
},
result: v.object({
resolvedFiles: v.pipe(
v.array(v.string()),
Expand All @@ -42,8 +47,11 @@ export async function run({ init, payload }: FlueContext) {
});

// Step 2: Remove stale changesets that were already released on main
const { data: changesetResult } = await session.skill('merge/clean-changesets.md', {
args: {},
const { data: changesetResult } = await session.skill('merge', {
args: {
step: 'clean-changesets',
instructions: 'Run only the "clean-changesets" sub-skill from clean-changesets.md.',
},
result: v.object({
removedChangesets: v.pipe(
v.array(v.string()),
Expand Down
4 changes: 2 additions & 2 deletions examples/advanced-routing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/node": "^10.1.3",
"astro": "^6.4.4",
"@astrojs/node": "^10.1.4",
"astro": "^6.4.5",
"hono": "^4.12.14"
}
}
2 changes: 1 addition & 1 deletion examples/basics/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^6.4.4"
"astro": "^6.4.5"
}
}
4 changes: 2 additions & 2 deletions examples/blog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/mdx": "^6.0.2",
"@astrojs/mdx": "^6.0.3",
"@astrojs/rss": "^4.0.18",
"@astrojs/sitemap": "^3.7.3",
"astro": "^6.4.4",
"astro": "^6.4.5",
"sharp": "^0.34.3"
}
}
2 changes: 1 addition & 1 deletion examples/component/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
],
"scripts": {},
"devDependencies": {
"astro": "^6.4.4"
"astro": "^6.4.5"
},
"peerDependencies": {
"astro": "^5.0.0 || ^6.0.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/container-with-vitest/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"dependencies": {
"@astrojs/react": "^5.0.7",
"astro": "^6.4.4",
"astro": "^6.4.5",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"vitest": "^4.1.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/framework-alpine/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@
"@astrojs/alpinejs": "^0.5.0",
"@types/alpinejs": "^3.13.11",
"alpinejs": "^3.15.8",
"astro": "^6.4.4"
"astro": "^6.4.5"
}
}
2 changes: 1 addition & 1 deletion examples/framework-multiple/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@astrojs/vue": "^6.0.1",
"@types/react": "^18.3.28",
"@types/react-dom": "^18.3.7",
"astro": "^6.4.4",
"astro": "^6.4.5",
"preact": "^10.28.4",
"react": "^18.3.1",
"react-dom": "^18.3.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/framework-preact/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"dependencies": {
"@astrojs/preact": "^5.1.5",
"@preact/signals": "^2.8.1",
"astro": "^6.4.4",
"astro": "^6.4.5",
"preact": "^10.28.4"
}
}
2 changes: 1 addition & 1 deletion examples/framework-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"@astrojs/react": "^5.0.7",
"@types/react": "^18.3.28",
"@types/react-dom": "^18.3.7",
"astro": "^6.4.4",
"astro": "^6.4.5",
"react": "^18.3.1",
"react-dom": "^18.3.1"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/framework-solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
},
"dependencies": {
"@astrojs/solid-js": "^6.0.1",
"astro": "^6.4.4",
"astro": "^6.4.5",
"solid-js": "^1.9.11"
}
}
2 changes: 1 addition & 1 deletion examples/framework-svelte/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
},
"dependencies": {
"@astrojs/svelte": "^8.1.2",
"astro": "^6.4.4",
"astro": "^6.4.5",
"svelte": "^5.53.5"
}
}
2 changes: 1 addition & 1 deletion examples/framework-vue/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
},
"dependencies": {
"@astrojs/vue": "^6.0.1",
"astro": "^6.4.4",
"astro": "^6.4.5",
"vue": "^3.5.29"
}
}
4 changes: 2 additions & 2 deletions examples/hackernews/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/node": "^10.1.3",
"astro": "^6.4.4"
"@astrojs/node": "^10.1.4",
"astro": "^6.4.5"
}
}
2 changes: 1 addition & 1 deletion examples/integration/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
],
"scripts": {},
"devDependencies": {
"astro": "^6.4.4"
"astro": "^6.4.5"
},
"peerDependencies": {
"astro": "^4.0.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/minimal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^6.4.4"
"astro": "^6.4.5"
}
}
2 changes: 1 addition & 1 deletion examples/portfolio/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^6.4.4"
"astro": "^6.4.5"
}
}
4 changes: 2 additions & 2 deletions examples/ssr/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
"server": "node dist/server/entry.mjs"
},
"dependencies": {
"@astrojs/node": "^10.1.3",
"@astrojs/node": "^10.1.4",
"@astrojs/svelte": "^8.1.2",
"astro": "^6.4.4",
"astro": "^6.4.5",
"svelte": "^5.53.5"
}
}
2 changes: 1 addition & 1 deletion examples/starlog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^6.4.4",
"astro": "^6.4.5",
"sass": "^1.97.3",
"sharp": "^0.34.3"
},
Expand Down
2 changes: 1 addition & 1 deletion examples/toolbar-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
},
"devDependencies": {
"@types/node": "^22.10.6",
"astro": "^6.4.4"
"astro": "^6.4.5"
},
"engines": {
"node": ">=22.12.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/with-markdoc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
},
"dependencies": {
"@astrojs/markdoc": "^1.0.6",
"astro": "^6.4.4"
"astro": "^6.4.5"
}
}
4 changes: 2 additions & 2 deletions examples/with-mdx/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/mdx": "^6.0.2",
"@astrojs/mdx": "^6.0.3",
"@astrojs/preact": "^5.1.5",
"astro": "^6.4.4",
"astro": "^6.4.5",
"preact": "^10.28.4"
}
}
2 changes: 1 addition & 1 deletion examples/with-nanostores/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"dependencies": {
"@astrojs/preact": "^5.1.5",
"@nanostores/preact": "^1.0.0",
"astro": "^6.4.4",
"astro": "^6.4.5",
"nanostores": "^1.1.1",
"preact": "^10.28.4"
}
Expand Down
Loading
Loading