How to Define Trigger Conditions in Cangjie-Skill Description Fields

The description field in cangjie-skill must explicitly define the user's trigger scenario, list bilingual language signals, and specify clear boundaries to prevent overlapping activations.

The cangjie-skill repository generates reusable mental-model skills for Claude-Bot, where the description field acts as the primary trigger mechanism. According to the methodology defined in methodology/04-stage2-ria-plus.md, this field determines when a skill activates based on specific user contexts and language cues. Proper trigger definition ensures skills fire only in intended situations rather than becoming "always-on" noise or remaining unreachable.

Core Trigger Requirements for Cangjie-Skill Descriptions

According to SKILL.md (line 152) and methodology/04-stage2-ria-plus.md, every skill description must satisfy five specific requirements to function as a reliable Future Trigger (A2):

  • Explicit scenario statement: The description must clearly state what situation the user is in when they need this skill (e.g., "stuck deciding between two alternatives").
  • Recognizable language signals: It must list specific keywords or phrases the user will actually say, documented in lines 36-39 of the methodology file.
  • Differentiation from adjacent skills: The description must include boundaries that prevent overlap with similar skills, as specified in line 40.
  • Word count constraint: The description must be ≤ 300 words (lines 75-77).
  • Bilingual support: Trigger wording should include both Chinese and English signals when possible (line 45), accommodating users who may ask in either language.

The Three-Part Trigger Template

Effective cangjie-skill descriptions follow a strict three-part structure that combines scenario context with precise linguistic triggers.

Scenario Definition

Define the specific user state that warrants this mental model. Vague contexts cause misfires.

Language Signals

List exact phrases in both languages. For example: "怎样才能更好地做 X?" (Chinese) and "how can I decide on X?" (English).

Boundary Conditions

Explicitly state when not to trigger. This prevents the skill from activating on pure factual queries like "What is X?" when the user only needs the framework for decision-making dilemmas.

Implementing Triggers in Skill Front-Matter

The trigger description lives in the YAML front-matter of each skill file, as defined in templates/SKILL.md.template. Below is a minimal example following the three-part template:

---
name: reverse-thinking
description: |
  When the user is torn between two options and phrases the problem as
  "怎么决定 X?" or "how should I choose X?",  
  suggest the Reverse-Thinking framework.  
  Do NOT fire for simple definitional questions like "What is X?".
source_book: 《穷查理宝典》 查理·芒格
source_chapter: 第三讲
tags: [decision, mental-model, cognitive-bias]
related_skills: []
---

This structure ensures the description meets the ≤ 300 words requirement while providing clear activation cues for the Claude-Bot classifier.

Validating Trigger Accuracy with Pressure Testing

After defining triggers, you must verify they activate correctly using the pressure-testing protocol defined in methodology/06-stage4-pressure-test.md. Create JSON test cases that explicitly check both positive and negative triggers:

{
  "id": "should-trigger-01",
  "type": "should_trigger",
  "prompt": "我现在在两个项目之间犹豫不决,应该怎么决定?"
},
{
  "id": "should-not-trigger-01",
  "type": "should_not_trigger",
  "prompt": "请告诉我逆向思维的定义是什么?"
}

These test prompts validate that the description's trigger words are precise enough to activate the skill only in the intended context, avoiding the "always-or-never" problem that renders skills useless.

Summary

  • The description field in cangjie-skill serves as the Future Trigger (A2) that tells Claude-Bot when to invoke a mental model.
  • Every description must include an explicit scenario, bilingual language signals, and clear boundaries to differentiate from adjacent skills.
  • Descriptions are stored in YAML front-matter and must not exceed 300 words.
  • Validate trigger precision using the should_trigger and should_not_trigger test prompts defined in the stage 4 pressure-testing methodology.

Frequently Asked Questions

What is the maximum length for a cangjie-skill description?

According to methodology/04-stage2-ria-plus.md (lines 75-77), the description field must be ≤ 300 words. This constraint ensures the trigger definition remains concise enough for the classifier to process efficiently while capturing all necessary scenario, signal, and boundary information.

Why must trigger conditions be bilingual in cangjie-skill?

The methodology specifies bilingual triggers (Chinese and English) because users may interact with Claude-Bot in either language. Including both "怎样才能更好地做 X?" and "how can I decide on X?" ensures the skill activates regardless of the user's language preference, as documented in line 45 of methodology/04-stage2-ria-plus.md.

How do I prevent my skill from overlapping with adjacent skills?

You must explicitly differentiate your skill from related ones by defining boundary conditions in the description. As noted in line 40 of the methodology file, state what situations or query types should not trigger this skill. For example, exclude pure definitional questions if your skill targets decision-making dilemmas.

Where is the trigger description stored in the skill file?

The trigger description resides in the YAML front-matter under the description key, as implemented in templates/SKILL.md.template. This field appears immediately after the name field and before metadata like source_book and tags, ensuring the classifier can parse the trigger conditions before loading the skill content.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →