Amplifier design philosophy using Linux kernel metaphor. Covers mechanism vs policy, module architecture, event-driven design, and kernel principles. Use when designing new modules or making architectural decisions.
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "amplifier-philosophy" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/amplifier-bundle-skills/main/modules/tool-skills/tests/fixtures/skills/amplifier-philosophy/SKILL.md 2. 保存为 ~/.claude/skills/amplifier-philosophy/SKILL.md 3. 装好后重载技能,告诉我可以用了
If two teams might want different behavior, it belongs in a module, not the kernel.
The kernel provides mechanisms (mount, emit, dispatch). Modules provide policies (what to mount, when to emit, how to handle).
Keep it minimal and stable:
session_create, mount, unmount)emit)Never add to kernel:
All capabilities as modules:
Think of modules as devices mounted at paths:
/mnt/providers/{name} - LLM backends
/mnt/tools/{name} - Agent capabilities
/mnt/hooks/{event} - Lifecycle observers
/mnt/context - Conversation state
/mnt/orchestrator - Execution loop
Each mount point has a stable connector (Protocol interface).
If it's important, emit an event:
session:start, session:endprompt:submit, prompt:completeprovider:request, provider:responsetool:pre, tool:postcontext:pre_compact, context:post_compactHooks observe, never interfere:
When creating a new module:
Ask: "Would every team use this the exact same way?"
Only after:
Ruthless simplicity. If two designs solve it, pick the one with fewer moving parts and clearer failure modes.
Modules compete at edges. The kernel enables them, doesn't choose between them.
Observability is mandatory. If it's not in the logs, it didn't happen.
Python coding standards for Amplifier including type hints, async patterns, error handling, and formatting. Use when writing Python code for Amplifier modules.
Adapt a skill written for another AI coding assistant (Claude Code, Cursor, etc.) into a properly structured Amplifier SKILL.md file. Reads the source skill, identifies platform-specific conventions, researches the source platform if needed, and produces an Amplifier-native skill conforming to the Agent Skills specification with Amplifier extensions. Use when the user wants to adapt a skill, port a skill, convert a skill to amplifier, translate a skill, or has a SKILL.md from another platform they want to bring into Amplifier.
Use when your service needs authentication that works without friction locally but secures remote access, automatic TLS certificate setup, or token-based auth with auto-generation and localhost bypass.
Use when building a new CLI tool that needs one-line install via uv or npm, subcommand dispatch with a default action, or 3-tier config resolution (CLI flags, config file, hardcoded defaults).
Review changed code for reuse, quality, and efficiency, then fix any issues found.
Guide for creating new Amplifier modules including protocol implementation, entry points, mount functions, and testing patterns. Use when creating new modules or understanding module architecture.