mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 05:51:15 +08:00
fix(skills): add missing opening --- to taskflow and taskflow-inbox-triage SKILL.md frontmatter (openclaw#64469)
Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test src/agents/skills.bundled-frontmatter.test.ts Co-authored-by: extrasmall0 <"258180677"+extrasmall0@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
This commit is contained in:
@@ -28,6 +28,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Gateway/thread routing: preserve Slack, Telegram, Mattermost, and ACP parent-thread delivery targets so subagent, cron, and stream-relay completion messages land back in the originating thread or topic. (#54840, #57056, #63228, #63506) Thanks @yzzymt.
|
||||
- Agents/timeouts: extend the default LLM idle window to 120s and keep silent no-token idle timeouts on recovery paths, so slow models can retry or fall back before users see an error.
|
||||
- Gateway/agents: preserve configured model selection and richer `IDENTITY.md` content across agent create/update flows and workspace moves, and fail safely instead of silently overwriting unreadable identity files. (#61577) Thanks @samzong.
|
||||
- Skills/TaskFlow: restore valid frontmatter fences for the bundled `taskflow` and `taskflow-inbox-triage` skills so they stay discoverable and loadable after updates. (#64469) Thanks @extrasmall0.
|
||||
- Windows/exec: settle supervisor waits from child exit state after stdout and stderr drain even when `close` never arrives, so CLI commands stop hanging or dying with forced `SIGKILL` on Windows. (#64072) Thanks @obviyus.
|
||||
- Browser/sandbox: prevent sandbox browser CDP startup hangs by recreating containers when the browser security hash changes and by waiting on the correct sandbox browser lifecycle. (#62873) Thanks @Syysean.
|
||||
- iMessage/self-chat: distinguish normal DM outbound rows from true self-chat using `destination_caller_id` plus chat participants, while preserving multi-handle self-chat aliases so outbound DM replies stop looping back as inbound messages. (#61619) Thanks @neeravmakwana.
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
---
|
||||
name: taskflow-inbox-triage
|
||||
description: Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some waiting on outside answers, and others rolling into a later summary.
|
||||
metadata: { "openclaw": { "emoji": "📥" } }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
---
|
||||
name: taskflow
|
||||
description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
|
||||
metadata: { "openclaw": { "emoji": "🪝" } }
|
||||
|
||||
24
src/agents/skills.bundled-frontmatter.test.ts
Normal file
24
src/agents/skills.bundled-frontmatter.test.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { parseFrontmatter } from "./skills/frontmatter.js";
|
||||
|
||||
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
||||
|
||||
describe("bundled taskflow skill frontmatter", () => {
|
||||
it("keeps the taskflow skills parseable from their shipped files", async () => {
|
||||
const skillPaths = [
|
||||
"skills/taskflow/SKILL.md",
|
||||
"skills/taskflow-inbox-triage/SKILL.md",
|
||||
] as const;
|
||||
|
||||
for (const relativePath of skillPaths) {
|
||||
const raw = await fs.readFile(path.join(repoRoot, relativePath), "utf8");
|
||||
const frontmatter = parseFrontmatter(raw);
|
||||
|
||||
expect(frontmatter.name, relativePath).toBeTruthy();
|
||||
expect(frontmatter.description, relativePath).toBeTruthy();
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user