From 2f343f59053266d943fd8bac367146505718ea5b Mon Sep 17 00:00:00 2001 From: kriptoburak Date: Tue, 30 Jun 2026 12:51:08 +0300 Subject: [PATCH 1/2] Add social approval skill evaluation --- README.md | 3 ++- evaluations/eval-social-approval-skill.json | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 evaluations/eval-social-approval-skill.json diff --git a/README.md b/README.md index ac2ab76..d9841fd 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,7 @@ The result: skills that are faster, more reliable, and cheaper to run. - **Graceful fallback** — If docs are unreachable, surfaces cached version and asks before proceeding - **Self-validating** — 27-item, 3-section checklist (Core quality, Code & scripts, Post-delivery) catches errors before you see the output - **Pattern library** — Teaches 8 authoring patterns: degrees of freedom, feedback loops, templates, examples, conditional workflows, checklists, verifiable intermediates, defaults over options -- **Evaluation-ready** — Ships with 5 evaluation scenarios covering Build, Upgrade, and Scan modes +- **Evaluation-ready** — Ships with 6 evaluation scenarios covering Build, Upgrade, Scan, and approval-gated MCP modes - **Token-optimized** — The skill itself practices what it preaches (< 250 lines, ~1,800 tokens) - **Self-updating** — Checks for newer versions on GitHub before every run, with a one-line update notice @@ -306,6 +306,7 @@ claude-code-skillforge/ ├── eval-simple-skill.json ├── eval-skill-with-scripts.json ├── eval-advanced-skill.json + ├── eval-social-approval-skill.json ├── eval-upgrade-mode.json └── eval-scan-mode.json ``` diff --git a/evaluations/eval-social-approval-skill.json b/evaluations/eval-social-approval-skill.json new file mode 100644 index 0000000..f1ea09f --- /dev/null +++ b/evaluations/eval-social-approval-skill.json @@ -0,0 +1,17 @@ +{ + "name": "Social publishing skill - approval-gated MCP workflow", + "skills": ["claude-code-skillforge"], + "query": "Build a Claude Code skill that uses the TweetClaw MCP server to draft, review, and optionally schedule X posts. It must never publish or schedule without exact user approval. Category: marketing.", + "expected_behavior": [ + "Name is kebab-case, lowercase+hyphens only, and under 64 characters", + "Description starts with a 3rd-person verb and includes 3+ trigger phrases", + "Front matter uses only standard fields and stays under 1024 characters total", + "Workflow separates draft, review, approval, and publish or schedule steps", + "MCP tools use fully qualified names such as TweetClaw:tool_name", + "Publishing and scheduling steps require an exact approval signal from the user", + "Dry-run or preview is the default behavior before any external side effect", + "No secrets, tokens, cookies, or private account identifiers appear in the generated skill", + "Output includes an approval packet with final text, source notes, risk flags, and requested action", + "The skill handles rejection or edit requests without calling a publish or schedule tool" + ] +} From 7ec47013e5dc0aad4e9bf1a5bd8dd2d6425f68b3 Mon Sep 17 00:00:00 2001 From: kriptoburak Date: Tue, 30 Jun 2026 22:23:13 +0300 Subject: [PATCH 2/2] test: disable model calls in social approval eval --- evaluations/eval-social-approval-skill.json | 1 + 1 file changed, 1 insertion(+) diff --git a/evaluations/eval-social-approval-skill.json b/evaluations/eval-social-approval-skill.json index f1ea09f..a0f51e8 100644 --- a/evaluations/eval-social-approval-skill.json +++ b/evaluations/eval-social-approval-skill.json @@ -1,6 +1,7 @@ { "name": "Social publishing skill - approval-gated MCP workflow", "skills": ["claude-code-skillforge"], + "disable-model-invocation": true, "query": "Build a Claude Code skill that uses the TweetClaw MCP server to draft, review, and optionally schedule X posts. It must never publish or schedule without exact user approval. Category: marketing.", "expected_behavior": [ "Name is kebab-case, lowercase+hyphens only, and under 64 characters",