2.2 KiB
2.2 KiB
name, description, version, user-invocable, disable-model-invocation
| name | description | version | user-invocable | disable-model-invocation |
|---|---|---|---|---|
| Systematic Enumeration | Forces element-by-element verification for finite sets to prevent counting errors. | 1.0 | true | false |
Systematic Enumeration & Verification Skill
Objective
To eliminate heuristic errors and "hallucinated patterns" when analyzing finite sets. This protocol overrides the model's tendency toward "holistic recognition" in favor of systematic, element-by-element verification.
Execution Protocol
When this skill is triggered, you MUST NOT provide a direct answer immediately. Follow these three phases to ensure accuracy:
Phase 1: Set Definition
Explicitly define the boundaries and members of the finite set being analyzed.
- Requirement: List the members before performing any tests.
- Example: "The set consists of the files in the
/srcdirectory: [main.rs, utils.rs, types.rs]."
Phase 2: Atomic Element Testing (O(n))
Iterate through every item in the set. For each item, perform a literal check against the target property.
- Format: Use a list or table to force token-level focus on each element.
- Structure:
[Item] -> [Logic/Observation] -> [Boolean Result] - Note: For character-based tests, split the string into individual characters to bypass tokenization bias.
Phase 3: Reduction & Summation
Aggregate the True results from Phase 2 to derive the final answer.
- Self-Correction: Verify that the count of items tested in Phase 2 exactly matches the count of the set defined in Phase 1. If there is a mismatch, restart Phase 2.
Constraints & Anti-Patterns
- STRICT BAN on Heuristics: Do not use phrases like "typically," "usually," or "it appears that."
- NO Pattern Matching: Do not extrapolate a rule (e.g., "every other item") as a substitute for testing every item.
- Computational Justification: Treat the process as an
O(n)operation wherenis small enough that accuracy is the only priority.
Trigger Scenarios
- Counting specific characters or substrings within a string.
- Verifying property adherence across a list of variables, files, or objects.
- Membership testing in sets where false negatives are high-risk.