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..a0f51e8 --- /dev/null +++ b/evaluations/eval-social-approval-skill.json @@ -0,0 +1,18 @@ +{ + "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", + "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" + ] +}