<critical_constraints> ❌ NO adapters without BaseAdapter inheritance ❌ NO skipping filesystem.py registration ❌ NO skipping copy.py registration ✅ MUST create agents//adapter.py ✅ MUST update SUPPORTED_AGENTS and AGENT_SCOPES ✅ MUST test with ask copy <agent> --skill bug-finder
</critical_constraints>
<adapter_template>
from pathlib import Path from typing import Dict from agents.base import BaseAdapter from ask.utils.skill_registry import get_skill_readme
class ExampleAdapter(BaseAdapter): def init(self, use_global: bool = False): if use_global: self.target_dir = Path.home() / ".example" / "skills" else: self.target_dir = Path.cwd() / ".example" / "skills"
def get_target_path(self, skill: Dict, name: str = None) -> Path:
skill_name = name or skill.get("name", "unknown")
return self.target_dir / skill_name / "SKILL.md"
def transform(self, skill: Dict) -> str:
return f"---\nname: {skill['name']}\n---\n\n{get_skill_readme(skill)}"
</adapter_template>
<filesystem_registration>
def _get_example_adapter(use_global: bool): from agents.example.adapter import ExampleAdapter return ExampleAdapter(use_global=use_global)
</filesystem_registration>