What task packs capture
Task packs encode the full pattern of a recurring task type:- Intent — what the task is trying to achieve and what success looks like
- Constraints — hard rules the agent must respect (e.g. do not redesign, reuse existing CSS)
- Preferences — softer style or approach preferences (e.g. prefer composition over abstraction)
- Workflow — the ordered sequence of steps that worked well
- Failure traps — common mistakes to avoid for this task type
- Success checks — criteria to verify before declaring the task done
File location
Each task pack is a standalone JSON file stored inside thetasks/ subdirectory:
Naming convention
The packid and filename should be a lowercase hyphen-separated slug that describes the specific task type:
task-1 or refactor. The name is how agents and humans alike identify when a pack is relevant.
Fields specific to task packs
match
The match object is how agents discover whether a task pack is relevant:
keywords— individual terms the agent looks for in the task descriptionpatterns— natural-language phrases that describe the task intenttags— broader labels used for filtering and grouping
applies_to
The applies_to object provides structured hints about when this pack is most relevant:
strength
A scalar from 0 to 1 that represents how well-established this task pattern is:
| Value | Meaning |
|---|---|
0.3 | Weak or tentative — only tried once or twice |
0.7 | Solid — has worked consistently multiple times |
0.9+ | Very strong — highly trusted, battle-tested |
How matching works
When you runaep apply, the agent computes a match score for each task pack using:
- Keyword and tag overlap between the task description and the pack’s
matchfields applies_tosignals — language, framework, path, and domain alignmentstrength— combined with the match score to produce a final ranking score:
metrics.last_used_at).
Template
This is the complete task pack template from the AEP source:When to create a task pack vs reuse an existing one
- Create a new pack
- Reuse an existing pack
Create a new task pack when:
- You are doing a type of task you have not done before with this agent
- The task has specific constraints that don’t exist in any current pack
- A completed task produced noticeably better results than usual, and you want to capture why
- The task type is recurring — you expect to run it again in future sessions
"Use the AEP skill and save this collaboration as <slug>."Promoting task packs to project scope
When a task pack’s constraints start showing up repeatedly across different tasks in the same repo, it is a signal that those constraints belong at the project level.Identify the pattern
Use
aep inspect to review which task packs have high metrics.times_applied values and which constraints appear in multiple packs.Promote to project scope
Tell the agent:
"Use the AEP skill and promote the constraints from <pack-id> to the project pack." The agent moves the relevant signals to project.aep.json and adds history entries to both packs recording the promotion event.After promoting, the task pack’s
strength should reflect only the task-specific patterns that remain — not the broader constraints that moved to the project pack.Related pages
Pack types overview
Understand all three scopes and how they work together.
Project packs
What happens after you promote task patterns to project scope.
Save guide
Step-by-step guide to saving a task pack after a successful collaboration.
Schema reference
Full field reference for all task pack fields.