# What Quality Red Lines Prevent Skill Output Generation in cangjie-skill?

> Discover the five quality red lines that prevent skill output generation in cangjie-skill. Learn how to avoid Triple-Verification failure, missing sections, and more to ensure successful skill development.

- Repository: [kangarooking/cangjie-skill](https://github.com/kangarooking/cangjie-skill)
- Tags: how-to-guide
- Published: 2026-08-13

---

**The cangjie-skill pipeline blocks skill generation when any of five strict quality red lines are violated: Triple-Verification failure, missing R/I/A1/A2/E/B sections, excessive quotation length, absent or incomplete test-prompts.json, or vague trigger descriptions.**

The **cangjie-skill** repository enforces these safeguards to ensure every skill emitted is **complete, verifiable, and usable** by downstream agents like `darwin-skill`. These quality red lines prevent skill output generation when defined criteria are not met, placing rejected candidates in the `rejected/` folder for audit.

## The Five Quality Red Lines Defined in SKILL.md

According to the source code in **[`SKILL.md`](https://github.com/kangarooking/cangjie-skill/blob/main/SKILL.md)** (lines 46-53), the pipeline evaluates every candidate skill against five non-negotiable requirements. Violating any single red line aborts generation.

### 1. Triple-Verification Must Pass All Three Checks

Every skill must satisfy the **cross-domain evidence**, **predictive power**, and **uniqueness** checks defined in [`methodology/03-stage1.5-triple-verify.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md). This guarantees the candidate unit is substantiated, generalizable to unseen questions, and not trivial common-sense.

### 2. All Six R/I/A1/A2/E/B Sections Required

The **`templates/SKILL.md.template`** enforces a uniform atomic structure:

- **R** (Reading): Source evidence
- **I** (Interpretation): Restatement in agent's own words
- **A1** (Past Application): Documented use case
- **A2** (Future Trigger): Specific activation condition
- **E** (Execution): Step-by-step implementation
- **B** (Boundary): Explicit non-applicability conditions

Missing any section triggers rejection.

### 3. Original Quotations Limited to 150 Characters

Each quotation segment must not exceed **150 characters** (≈100 words for English). This prevents bloated prompts that exceed context window limits and degrade downstream performance.

### 4. Mandatory test-prompts.json with Bait Tests

Every skill must ship a **[`test-prompts.json`](https://github.com/kangarooking/cangjie-skill/blob/main/test-prompts.json)** file per [`methodology/06-stage4-pressure-test.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/06-stage4-pressure-test.md). Requirements include:

- At least one **negative/bait test** (scenario that should *not* trigger the skill)
- One **cross-skill bait test** explicitly referencing a sibling skill from the same book

This ensures robust false-positive protection and clean integration with the `darwin-skill` testing harness.

### 5. Description Must Specify Concrete Trigger

The `description` field cannot use vague phrasing like "a skill about leadership." It must spell out an **explicit, actionable trigger condition** that makes the skill discoverable by orchestrating agents.

## Code Examples: Compliant vs. Non-Compliant Skills

### Non-Compliant Skill (Multiple Red-Line Violations)

```markdown

# SKILL.md (invalid)

R: "In the long passage the author says many things about how leaders should behave in complex organizational settings..."   <!-- >150 chars -->
I: Short reinterpretation.
A1: Example from chapter 3.
A2: Trigger when needed.
E: Step-by-step instructions.
B: When not applicable.

description: "A skill about leadership."

```

**Failures detected:**
- **R** exceeds 150-character limit (violates #3)
- `description` is vague (violates #5)
- No [`test-prompts.json`](https://github.com/kangarooking/cangjie-skill/blob/main/test-prompts.json) present (violates #4)
- No Triple-Verification evidence cited (violates #1)

### Compliant Skill (Passes All Red Lines)

```markdown

# SKILL.md (valid)

R: "The author notes, 'Align early, iterate often.'"                     <!-- ≤150 chars -->
I: I restate the principle in my own words.
A1: Case: The author applied the framework in XYZ scenario.
A2: Trigger: When planning a product roadmap that requires stakeholder alignment.
E: 1. Identify stakeholders. 2. Map dependencies. 3. Draft timeline.
B: Not suitable for solo projects lacking cross-functional teams.

description: "Triggers when a team needs a structured stakeholder-alignment roadmap."

```

**test-prompts.json:**

```json
{
  "positive": [
    "How can I align my product team with the executive board?"
  ],
  "negative": [
    "Give me a summary of the book."
  ],
  "cross-skill": [
    "When should I use the 'risk-assessment' skill from the same book?"
  ]
}

```

This passes all five red lines: structured sections, concise quotation, concrete description, and comprehensive test coverage including cross-skill bait.

## Key Implementation Files

| File | Purpose | Red Line Enforced |
|------|---------|-------------------|
| [`SKILL.md`](https://github.com/kangarooking/cangjie-skill/blob/main/SKILL.md) | Meta-skill definition with quality checklist | All five red lines |
| [`methodology/03-stage1.5-triple-verify.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md) | Triple-Verification logic | #1 |
| [`methodology/06-stage4-pressure-test.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/06-stage4-pressure-test.md) | Test-prompt creation rules | #4 |
| `templates/SKILL.md.template` | Skeleton ensuring R/I/A1/A2/E/B presence | #2 |
| `templates/test-prompts.json.template` | Scaffold for required bait prompts | #4 |

## Summary

- **Triple-Verification failure** blocks unsubstantiated skills
- **Missing R/I/A1/A2/E/B sections** violate structural requirements
- **Quotations over 150 characters** trigger length violations
- **Absent or incomplete test-prompts.json**—especially missing bait or cross-skill tests—prevents emission
- **Vague descriptions** without concrete triggers cause rejection

The cangjie-skill quality red lines operate as a **hard gate**: any violation dumps the candidate to `rejected/` with audit metadata, ensuring only production-ready skills reach downstream consumers.

## Frequently Asked Questions

### What happens when a skill violates a quality red line?

The pipeline aborts generation immediately and moves the offending candidate to the `rejected/` folder with a documented reason. No partial or non-compliant skills are emitted.

### Why is the 150-character quotation limit strictly enforced?

This limit prevents context window overflow in downstream LLM consumers and maintains prompt efficiency. Excessive quoting degrades agent performance and increases token costs.

### What makes a valid cross-skill bait test?

A valid cross-skill bait explicitly names another skill from the same source book—for example, asking when to use the "risk-assessment" skill instead of the current candidate. This tests discrimination ability between related skills.

### Can the R/I/A1/A2/E/B section order be modified?

No. The `templates/SKILL.md.template` enforces fixed ordering. Consistent structure enables reliable parsing by orchestrating agents and automated validators.