Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate a complete OAF-compliant agent package from an Agent Case (requirements) and Agent Design (architecture). Use when asked to "package an agent", "generate an agent package", "create an agent from a design", or when you have both case/ and design/ folders and need to create the package/ folder with AGENTS.md, skills, and scripts.
.claude/skills/majiayu000-package-agent/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 1167% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 43% | 0% |
Generate a complete Open Agent Format (OAF) package from an Agent Case and Agent Design.
The user will provide paths to:
case/README.md - Agent Case with Description, Example Session, Deliverablesdesign/README.md - Agent Design with sub-agents, skills, scripts, MCPs, memory, toolsRead both files to understand what to generate.
Create package/AGENTS.md with this structure:
markdown--- name: [from design identity] slug: [from design identity] version: [from design identity] description: [from design identity] tags: [from design identity] license: MIT --- # [Agent Name] [Architecture overview paragraph from design section 2] ## Sub-Agents [For each sub-agent in design section 3, create a subsection:] ### [sub-agent-name] **Role:** [role from design] **Tools:** [tools list] Tasks: - [delegated task 1] - [delegated task 2] ## Skills This agent uses the following skills: | Skill | Purpose | |-------|---------| | [skill-name] | [purpose from design] | ## MCP Servers [For each MCP in design section 6:] ### [mcp-name] - **Purpose:** [description] - **Protocol:** [protocol] - **Auth:** [auth type] - **Tools:** [list enabled tools] ## Memory | Label | Purpose | Retention | |-------|---------|-----------| | [label] | [purpose] | [retention] | ## Tools **Allowed:** [list from design] **Denied:** [list from design] ## Error Handling | Failure | Detection | Recovery | |---------|-----------|----------| [from design section 10]
For each skill in design section 4, create:
package/skills/[skill-name]/
├── SKILL.md
├── resources/
│ └── [any templates mentioned]
└── scripts/
└── [any scripts assigned to this skill]markdown--- name: [skill-name] description: [purpose from design]. Triggers when [infer trigger from purpose]. --- # [Skill Name] ## Overview [Expand on purpose - what knowledge/procedures this skill provides] ## Usage [Describe when and how the agent uses this skill] ## Resources [List any files in resources/ and what they contain] ## Scripts [List any scripts and their purpose]
Create stub resource files based on what the design mentions:
For each script in design section 5:
path in design)python#!/usr/bin/env python3 """ [Script name] - [purpose from design] Inputs: [list inputs from design] Outputs: [list outputs from design] Dependencies: [list from design] """ # Requirements: [dependencies] import json from typing import Any def main([parameters from design inputs]) -> dict[str, Any]: """ [Purpose from design] Args: [param]: [description inferred from design] Returns: dict with keys: [output keys from design] """ # TODO: Implement [purpose] return { # [output structure from design] } if __name__ == "__main__": import sys # TODO: Parse command line args result = main() print(json.dumps(result, indent=2))
After generating all files, verify the package structure:
package/
├── AGENTS.md # Main agent manifest
└── skills/
├── [skill-1]/
│ ├── SKILL.md
│ ├── resources/
│ │ └── [templates/docs]
│ └── scripts/
│ └── [any scripts]
├── [skill-2]/
│ └── ...
└── ...Print a summary of what was created.
User: Package the travel research agent. The case is in examples/travel-research/case/ and design is in examples/travel-research/design/
Claude: [Reads both files, then creates:]
- examples/travel-research/package/AGENTS.md
- examples/travel-research/package/skills/travel-planning/SKILL.md
- examples/travel-research/package/skills/travel-planning/resources/itinerary-template.md
- examples/travel-research/package/skills/travel-planning/scripts/budget-calculator.py
- [etc.]references/oaf-structure.md for detailed OAF package formatreferences/agents-md-schema.md for AGENTS.md field reference| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→pass | 21,920 | 32,576 | +49% | 1 | 1 | 0% | 3,453 | 5,336 | +55% | 0 | 0 | — |
case-18 | fail→pass | 16,912 | 19,299 | +14% | 1 | 1 | 0% | 3,111 | 4,807 | +55% | 0 | 0 | — |
case-01 | fail→fail | 12,171 | 15,994 | +31% | 1 | 1 | 0% | 434 | 1,682 | +288% | 0 | 0 | — |
case-02 | fail→fail | 13,926 | 8,972 | -36% | 1 | 1 | 0% | 243 | 1,617 | +565% | 0 | 0 | — |
case-03 | fail→fail | 5,173 | 15,117 | +192% | 1 | 1 | 0% | 302 | 1,705 | +465% | 0 | 0 | — |
case-04 | pass→pass | 28,201 | 25,119 | -11% | 1 | 1 | 0% | 4,292 | 5,082 | +18% | 0 | 0 | — |
case-05 | pass→pass | 10,442 | 13,302 | +27% | 1 | 1 | 0% | 2,118 | 2,853 | +35% | 0 | 0 | — |
case-06 | fail→pass | 10,315 | 22,090 | +114% | 1 | 1 | 0% | 386 | 4,890 | +1167% | 0 | 0 | — |
case-07 | pass→pass | 22,741 | 20,050 | -12% | 1 | 1 | 0% | 4,173 | 4,750 | +14% | 0 | 0 | — |
case-09 | fail→pass | 19,453 | 21,774 | +12% | 1 | 1 | 0% | 3,719 | 4,613 | +24% | 0 | 0 | — |
case-10 | fail→fail | 14,131 | 16,038 | +13% | 1 | 1 | 0% | 281 | 1,823 | +549% | 0 | 0 | — |
case-11 | fail→pass | 17,756 | 10,886 | -39% | 1 | 1 | 0% | 2,244 | 3,216 | +43% | 0 | 0 | — |
case-12 | fail→pass | 20,911 | 24,924 | +19% | 1 | 1 | 0% | 3,813 | 4,865 | +28% | 0 | 0 | — |
case-13 | fail→pass | 24,294 | 23,107 | -5% | 1 | 1 | 0% | 5,536 | 5,297 | -4% | 0 | 0 | — |
case-14 | fail→fail | 18,007 | 20,473 | +14% | 1 | 1 | 0% | 4,074 | 4,244 | +4% | 0 | 0 | — |
case-15 | pass→pass | 23,286 | 18,643 | -20% | 1 | 1 | 0% | 3,997 | 4,238 | +6% | 0 | 0 | — |
case-16 | fail→fail | 18,650 | 19,262 | +3% | 1 | 1 | 0% | 4,054 | 5,031 | +24% | 0 | 0 | — |
case-17 | fail→pass | 37,369 | 17,715 | -53% | 1 | 1 | 0% | 7,854 | 5,039 | -36% | 0 | 0 | — |
case-19 | fail→pass | 22,511 | 22,888 | +2% | 1 | 1 | 0% | 4,540 | 5,573 | +23% | 0 | 0 | — |
case-20 | pass→fail | 25,903 | 5,849 | -77% | 1 | 1 | 0% | 5,984 | 1,939 | -68% | 0 | 0 | — |
case-21 | fail→pass | 12,761 | 8,906 | -30% | 1 | 1 | 0% | 2,473 | 2,955 | +19% | 0 | 0 | — |
case-22 | fail→pass | 16,384 | 22,976 | +40% | 1 | 1 | 0% | 2,915 | 6,035 | +107% | 0 | 0 | — |
case-23 | fail→pass | 15,335 | 20,151 | +31% | 1 | 1 | 0% | 3,003 | 5,425 | +81% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 17 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +48 percentage points is the difference between those two pass rates over the 17 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.