Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Workflow automation hooks for agent-playbook skills. This skill defines automatic triggers between skills - DO NOT use directly, it's a configuration skill that other skills reference.
.claude/skills/auto-trigger/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 17 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 9% | 0% |
This skill defines trigger intent between skills. When a skill completes its workflow, a host runtime or agent may read this metadata, record a pending follow-up, and execute the next skill only when that action is supported and safe for the current session.
yamlprd_complete: triggers: - skill: self-improving-agent mode: background condition: PRD file exists and is complete - skill: session-logger mode: auto context: "PRD created for {feature_name}" prd_implemented: triggers: - skill: session-logger mode: auto context: "Implemented PRD: {feature_name}"
yamlimplementation_complete: triggers: - skill: code-reviewer mode: ask_first message: "Implementation complete. Run code review?" - skill: create-pr mode: ask_first condition: user_requested_submission
yamlsession_start: auto_triggers: - skill: session-logger action: create_session_file session_end: auto_triggers: - skill: session-logger action: update_session_file
To add auto-trigger capability to a skill, add to its front matter:
yaml--- name: my-skill description: Skill description allowed-tools: Read, Write, Edit hooks: before_start: - trigger: session-logger mode: auto context: "Start {skill_name}" after_complete: - trigger: self-improving-agent mode: background - trigger: session-logger mode: auto on_error: - trigger: self-improving-agent mode: background ---
When a skill completes its workflow:
hooks in its own front matter (before_start, after_complete, on_error, on_progress)mode: auto, record or run a low-risk follow-up only when the host runtime supports itmode: background, record a non-blocking follow-up; do not mutate durable files silentlymode: ask_first, ask user before triggeringcondition: exists, check it firstyaml--- name: prd-planner description: Creates PRDs using persistent file-based planning... allowed-tools: Read, Write, Edit, Bash, Grep, Glob, AskUserQuestion, WebSearch hooks: after_complete: - trigger: self-improving-agent mode: background context: "PRD created at {prd_file}" - trigger: session-logger mode: auto context: "PRD creation complete" ---
yaml--- name: self-improving-agent description: Captures redacted candidates, validates them with evidence, and records only explicitly applied rules... allowed-tools: Read, Write, Edit, Bash, Grep, Glob ---
Its Claude failure hook is installed by the CLI adapter, not declared as portable skill metadata. The hooks examples in this skill are declarative intent only unless a host adapter explicitly implements them. Other hosts should use documented adapters or manual capture.
yaml--- name: create-pr description: Creates pull requests with bilingual documentation updates... allowed-tools: Read, Write, Edit, Bash, Grep, AskUserQuestion hooks: after_complete: - trigger: session-logger mode: auto context: "PR created: {pr_title}" ---
┌──────────────┐
│ prd-planner │
└──────┬───────┘
│ after_complete
├──→ self-improving-agent (background)
│ └──→ create-pr (ask_first)
│ └──→ session-logger (auto)
└──→ session-logger (auto)yamlon_error: triggers: - skill: self-improving-agent mode: background context: "Error occurred in {skill_name}" - skill: session-logger mode: auto context: "Error captured for {skill_name}"
mode: ask_first for PRs, deployments, and durable file changesmode: background for non-blocking analysis or proposal artifacts| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 23,272 | 13,621 | -41% | 1 | 1 | 0% | 3,580 | 2,898 | -19% | 0 | 0 | — |
case-02 | fail→pass | 30,996 | 25,998 | -16% | 1 | 1 | 0% | 3,850 | 5,049 | +31% | 0 | 0 | — |
case-03 | fail→pass | 25,015 | 14,000 | -44% | 1 | 1 | 0% | 3,579 | 2,955 | -17% | 0 | 0 | — |
case-04 | fail→pass | 12,668 | 10,991 | -13% | 1 | 1 | 0% | 1,143 | 1,906 | +67% | 0 | 0 | — |
case-05 | fail→fail | 45,476 | 7,055 | -84% | 1 | 1 | 0% | 6,012 | 1,504 | -75% | 0 | 0 | — |
case-06 | fail→pass | 13,910 | 7,239 | -48% | 1 | 1 | 0% | 1,445 | 1,581 | +9% | 0 | 0 | — |
case-07 | fail→pass | 21,905 | 10,167 | -54% | 1 | 1 | 0% | 1,085 | 2,222 | +105% | 0 | 0 | — |
case-08 | fail→pass | 36,809 | 7,588 | -79% | 1 | 1 | 0% | 6,395 | 1,689 | -74% | 0 | 0 | — |
case-09 | fail→pass | 13,556 | 7,985 | -41% | 1 | 1 | 0% | 1,182 | 1,728 | +46% | 0 | 0 | — |
case-10 | pass→pass | 22,786 | 6,853 | -70% | 1 | 1 | 0% | 2,478 | 2,299 | -7% | 0 | 0 | — |
case-21 | pass→pass | 13,496 | 9,850 | -27% | 1 | 1 | 0% | 1,168 | 2,077 | +78% | 0 | 0 | — |
case-11 | pass→pass | 7,400 | 3,039 | -59% | 1 | 1 | 0% | 1,130 | 1,667 | +48% | 0 | 0 | — |
case-12 | fail→pass | 15,305 | 2,808 | -82% | 1 | 1 | 0% | 1,525 | 1,572 | +3% | 0 | 0 | — |
case-13 | pass→pass | 7,988 | 3,512 | -56% | 1 | 1 | 0% | 1,158 | 1,754 | +51% | 0 | 0 | — |
case-14 | pass→pass | 14,189 | 3,655 | -74% | 1 | 1 | 0% | 1,035 | 1,642 | +59% | 0 | 0 | — |
case-15 | fail→pass | 24,752 | 7,082 | -71% | 1 | 1 | 0% | 3,170 | 1,497 | -53% | 0 | 0 | — |
case-16 | fail→pass | 8,564 | 7,395 | -14% | 1 | 1 | 0% | 1,219 | 1,626 | +33% | 0 | 0 | — |
case-17 | fail→pass | 28,508 | 3,121 | -89% | 1 | 1 | 0% | 3,082 | 1,763 | -43% | 0 | 0 | — |
case-18 | fail→pass | 15,807 | 7,962 | -50% | 1 | 1 | 0% | 2,593 | 2,344 | -10% | 0 | 0 | — |
case-19 | fail→pass | 15,651 | 14,629 | -7% | 1 | 1 | 0% | 2,410 | 2,847 | +18% | 0 | 0 | — |
case-20 | pass→pass | 18,223 | 22,837 | +25% | 1 | 1 | 0% | 3,915 | 4,711 | +20% | 0 | 0 | — |
case-22 | pass→pass | 18,730 | 10,999 | -41% | 1 | 1 | 0% | 2,124 | 3,376 | +59% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/2/2026 | +64% |
| gemini-3.6-flash | verified | 7/24/2026 | +68% |
Other measured skills in the registry, with their headline benchmark lift.