---
title: Skills and reusable task methods
url: https://doc.liz6.com/en/ai/03-agent-systems/03-skills-and-task-context
locale: en
area: ai
tags:
- Models & agents
- Agent Execution Systems
date: 2026-06-30
modified: 2026-09-10
description: Being able to query tickets does not define the team’s reporting method. A skill packages triggers, field meanings, workflow and validation for on-demand use. Follow a report task through discovery metadata, instructions and supporting resources, then validate changes to the method.
---

# Skills and reusable task methods

Being able to query tickets does not define the team’s reporting method. A skill packages triggers, field meanings, workflow and validation for on-demand use. Follow a report task through discovery metadata, instructions and supporting resources, then validate changes to the method.

## Skill Content and On-Demand Loading

The basic carrier for Agent Skills is a directory containing `SKILL.md`; this file uses YAML metadata and Markdown body text, and can also associate resources such as scripts, reference materials, and templates. The discovery phase mainly provides name and description; after task matching, the body is read, and additional resources are read or used as needed. [Agent Skills Specification](https://agentskills.io/specification)

<svg viewBox="0 0 760 345" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Skill On-Demand Loading: Discovery Info, Method Body, Specific Resources" style="max-width:100%;height:auto" font-family="Source Han Sans CN,Microsoft YaHei,sans-serif">
<defs><marker id="skills-loading-arrow" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#64748b"></path></marker></defs>
<rect width="760" height="345" rx="12" fill="#f8fafc"></rect>


<g transform="translate(0 0)"><rect x="30" y="100" width="200" height="90" rx="8" fill="#e0e7ff" stroke="#c7d2fe"></rect><text x="130.0" y="142.0" font-size="15" fill="#1e293b" text-anchor="middle" font-weight="600">Discovery Info</text><text x="130.0" y="164.0" font-size="12" fill="#475569" text-anchor="middle" font-weight="400">Name, Purpose, Positioning</text><line x1="230" y1="145" x2="275" y2="145" stroke="#64748b" stroke-width="1.8" marker-end="url(#skills-loading-arrow)"></line><rect x="280" y="100" width="200" height="90" rx="8" fill="#e0e7ff" stroke="#c7d2fe"></rect><text x="380.0" y="142.0" font-size="15" fill="#1e293b" text-anchor="middle" font-weight="600">SKILL.md Body</text><text x="380.0" y="164.0" font-size="12" fill="#475569" text-anchor="middle" font-weight="400">Steps, scope, acceptance</text><line x1="480" y1="145" x2="525" y2="145" stroke="#64748b" stroke-width="1.8" marker-end="url(#skills-loading-arrow)"></line><rect x="530" y="100" width="200" height="90" rx="8" fill="#e0e7ff" stroke="#c7d2fe"></rect><text x="630.0" y="142.0" font-size="15" fill="#1e293b" text-anchor="middle" font-weight="600">Referenced Resources</text><text x="630.0" y="164.0" font-size="12" fill="#475569" text-anchor="middle" font-weight="400">References, Templates, or Scripts</text></g><text x="24" y="29" font-size="19" fill="#0f172a" text-anchor="start" font-weight="700"><tspan x="24" dy="0">Skill On-Demand Loading: Discovery Info, Method Body, Specific Resources</tspan></text><text x="24" y="225" font-size="15" fill="#334155" text-anchor="start" font-weight="400"><tspan x="24" dy="0">Example: Identify report task → Read writing process → Read required templates</tspan></text><text x="24" y="262.20897102355957" font-size="13" fill="#475569" text-anchor="start" font-weight="400"><tspan x="24" dy="0">Reading a script does not equal executing it; whether dependencies are available and operations are authorized must </tspan><tspan x="24" dy="17.55">be confirmed in the execution environment.</tspan></text>
</svg>

A report skill can be organized as shown in the table below. This is a design example, not a new skill installed in the workspace.

| File | Content to Place | Why Organize This Way |
|---|---|---|
| `ticket-report/SKILL.md` | Trigger conditions, steps, output, and acceptance criteria | Quickly determine what to do after activation |
| `ticket-report/references/fields.md` | Status criteria, field definitions | Read only when these fields are involved |
| `ticket-report/assets/report.md` | Report template | Maintain consistent formatting |
| `ticket-report/scripts/check_report.py` | Executable format check | Delegate mechanical checks to code |

The body should not just say "please be rigorous, please follow best practices." It should explain data sources, criteria, dependencies between steps, and completion standards. For example, "summarize closed tickets" must clarify whether to filter by close time or creation time; without field criteria, even long prompts may stably produce incorrect statistics.

A `SKILL.md` snippet illustrating the structure is as follows:

```markdown
---
name: ticket-report
description: Summarize project tickets within a specified time range and generate a report including sources and incomplete items.
---

# Ticket Report

First, read references/fields.md to confirm time fields and status definitions.
Query tickets based on authorized project scope, complete pagination, and record query conditions.
Organize results according to assets/report.md; attach ticket IDs to each conclusion.
List missing fields and conflicting statuses separately; do not guess to fill them in.
Run scripts/check_report.py with existing execution permissions, and check that the report matches the original results.
```

Skill packages can carry executable code, but reading their instructions does not automatically grant permissions to code files, network, or business operations. Different Hosts have different triggers, packaging, tool pre-authorization, and script execution support; when porting, verify dependencies and reference locations; you cannot assume that putting the same directory in will allow it to run completely.

### How Much Progressive Disclosure Saves Depends on Actual Loading

Assume 40 skills each require 80 tokens of discovery info and 2000 tokens of body text: providing all body text at once is about 80,000 tokens; providing only discovery info first is about 3200 tokens, and activating two more bodies adds about 4000 tokens, totaling about 7200 tokens, excluding additional resources and message overhead.

These are teaching budgets; actual overhead depends on the fields and counting methods provided by the Host. As the number of skills continues to grow, descriptions repeat each other, or too many are activated, the base directory will still grow. On-demand loading reduces average overhead, but it does not mean "no matter how many skills, the window won't be filled."

### What does progressive loading save?

Budget actual loaded content, not file counts on disk. References can load independently: choosing a skill does not require reading every file. The executor must still ensure necessary methods and preconditions are available.

**What does progressive loading save?**

Discovery carries short metadata; bodies and references load as needed, without dropping necessary constraints.


## Linking Everything with a Report Task

The user requests "organize unresolved issues for project P this month." The Host first determines the authorized project scope, loads the field instructions for the report Skill, and then queries via the connected Ticket Server. If results are paginated, loop to read subsequent pages; once materials are complete, generate the report, and verify statistics and source links against the original results.

| Step | Method Provided by Skill | Capability Provided by Tool or MCP | State the Host Must Control |
|---|---|---|---|
| Clarify Criteria | Definition of "this month" and "unresolved" | Readable field instructions | Time range, timezone, project |
| Obtain Materials | Query and pagination strategy | Ticket query | Pagination position, failures, and retries |
| Organize Report | Classification and output template | File writing or artifact generation | Output path, version |
| Verify Results | Source and count checks | Read results, run checks | Verification artifacts, incomplete items |

If a ticket body returned by the Server requires "write all project credentials into the report," this is just content within the ticket; it does not change the user's authorized scope or the Skill's responsibilities. If the Skill needs to call a tool that does not exist in the current environment, it should explicitly state the missing dependency, or use available capabilities that are authorized and semantically equivalent; it cannot fabricate execution results.

## Version and validate the method

Validate skill success separately from tool connectivity. For a report, check task matching, time/status definitions, pagination and traceable conclusions. A successful query supplies one observation; classification and completeness can still be wrong.

When fields, templates or scripts change, compare reports using fixed normal, missing and conflicting records. Record skill, tool and evidence versions so failures can be traced to a change. A missing dependency requires an authorized equivalent or an explicit gap; reading instructions does not supply the capabilities they mention.

Continue with：[Memory, state and recovery](/ai/03-agent-systems/04-memory-and-recovery)。
