agentleFS
synaptiaisynaptiai/agent-capability-standard/skills/classify/SKILL.md

classify

Skill6 starsChanged 13 days agoApache-2.0View on GitHub

Assign labels or categories to items based on characteristics. Use when categorizing entities, tagging content, identifying types, or labeling data according to a taxonomy.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If taxonomy provided, use those labels exclusively

    line 44
  2. Distinctive:

    If no taxonomy, infer appropriate categories from context

    line 45
  3. Distinctive:

    Consider edge cases and borderline classifications

    line 50
  4. Distinctive:

    Ground classification: Document evidence supporting each label

    line 58
  5. Distinctive:

    Verification tools: Read (to verify evidence references)

    line 174
  6. Distinctive:

    Do not invent labels outside the provided taxonomy

    line 184
  7. Distinctive:

    Do not access data beyond what's needed for classification

    line 186
  8. Very specific:

    Never use classify for binary detection (use detect)

    line 202
  9. Very specific:

    Avoid classify when precise measurement needed (use measure)

    line 203

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Intent

Assign one or more labels from a defined taxonomy to items based on their observed characteristics. This capability bridges detection and reasoning by providing semantic categorization.

Success criteria:

  • Item assigned at least one label from taxonomy
  • Label assignment supported by evidence
  • Confidence scores reflect classification certainty
  • Ambiguous cases explicitly flagged

Compatible schemas:

  • schemas/output_schema.yaml

Inputs

ParameterRequiredTypeDescription
itemYesanyThe item to classify (entity, document, code, data)
taxonomyNostring|arrayClassification scheme or list of valid labels
multi_labelNobooleanWhether multiple labels can be assigned (default: false)

Inputs not listed here are outside the capability's contract: a workflow step that binds them gets W604 (STANDARD v1.1 §5.5).

Procedure

  1. Examine the item: Gather characteristics relevant to classification
    • Identify distinguishing features
    • Note structural patterns, content type, metadata
    • Collect evidence for each observed characteristic
  2. Understand the taxonomy: Clarify the classification scheme
    • If taxonomy provided, use those labels exclusively
    • If no taxonomy, infer appropriate categories from context
    • Define clear boundaries between categories
  3. Match characteristics to labels: Evaluate fit for each potential label
    • Score how well item characteristics match each category
    • Consider edge cases and borderline classifications
    • Note which features drive each potential classification
  4. Assign labels: Select the most appropriate label(s)
    • For single-label: choose highest confidence match
    • For multi-label: include all labels above confidence threshold
    • Flag if no label is a strong match
  5. Ground classification: Document evidence supporting each label
    • Reference specific characteristics that drove classification
    • Note any characteristics that contradict the assignment

Output Contract

Return a structured object:

labels:
  - label: string  # Assigned category/label
    confidence: number  # 0.0-1.0 for this specific label
    evidence: array[string]  # Characteristics supporting this label
probabilities:  # Optional: full probability distribution
  label_1: number
  label_2: number
primary_label: string  # Highest confidence label
ambiguous: boolean  # True if classification is uncertain
confidence: 0..1  # Overall classification confidence
evidence_anchors: ["file:line", "characteristic:value"]
assumptions: []

Field Definitions

FieldTypeDescription
labelsarrayAssigned labels with confidence and evidence
probabilitiesobjectProbability for each possible label
primary_labelstringSingle best classification
ambiguousbooleanWhether classification is uncertain
confidencenumber0.0-1.0 overall confidence
evidence_anchorsarrayReferences to the characteristics each label rests on
assumptionsarrayExplicit assumptions

Examples

Example 1: Classify Code File

Input:

item: "src/services/payment_processor.rb"
taxonomy: ["service", "model", "controller", "helper", "concern"]

Output:

labels:
  - label: "service"
    confidence: 0.92
    evidence:
      - "Located in services/ directory"
      - "Class name ends with 'Processor'"
      - "Contains business logic methods without persistence"
probabilities:
  service: 0.92
  model: 0.03
  controller: 0.02
  helper: 0.02
  concern: 0.01
primary_label: "service"
ambiguous: false
confidence: 0.92
evidence_anchors:
  - "src/services/payment_processor.rb:1"
  - "src/services/payment_processor.rb:15-45"
assumptions:
  - "Directory structure follows Rails conventions"

Example 2: Classify with Ambiguity

Input:

item: "User reported issue: 'App crashes on login'"
taxonomy: ["bug", "feature-request", "question", "documentation"]
multi_label: true

Output:

labels:
  - label: "bug"
    confidence: 0.75
    evidence:
      - "Reports crash behavior"
      - "Describes unexpected failure"
  - label: "question"
    confidence: 0.40
    evidence:
      - "Lacks reproduction steps"
      - "May be user error or configuration"
probabilities:
  bug: 0.75
  question: 0.40
  feature-request: 0.05
  documentation: 0.10
primary_label: "bug"
ambiguous: true
confidence: 0.65
evidence_anchors:
  - "issue:title"
  - "issue:body"
assumptions:
  - "Crash is not expected behavior"
  - "User has attempted normal login flow"

Verification

  • At least one label assigned with confidence > 0.3
  • Evidence exists for each assigned label
  • Labels are from specified taxonomy (if provided)
  • Ambiguous flag set when confidence < 0.7
  • Probabilities sum to ~1.0 (if provided)

Verification tools: Read (to verify evidence references)

Safety Constraints

  • mutation: false
  • requires_checkpoint: false
  • requires_approval: false
  • risk: low

Capability-specific rules:

  • Do not invent labels outside the provided taxonomy
  • Flag uncertainty rather than forcing low-confidence classifications
  • Do not access data beyond what's needed for classification
  • Note when item characteristics are insufficient for reliable classification

Composition Patterns

Commonly follows:

  • detect - Classify items after detecting their presence
  • observe - Classify based on observed characteristics
  • retrieve - Classify retrieved items

Commonly precedes:

  • compare - Classification enables comparison within categories
  • plan - Classified items inform planning decisions
  • generate - Classification guides content generation

Anti-patterns:

  • Never use classify for binary detection (use detect)
  • Avoid classify when precise measurement needed (use measure)

Workflow references:

  • See reference/workflow_catalog.yaml#capability_gap_analysis for classification usage

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.