@@ -9,7 +9,7 @@ Files: src/ash/skills/base.py, src/ash/skills/registry.py, src/ash/tools/builtin
99Skills are markdown files that define specialized subagents. Unlike the current model where the main agent reads skill files, skills are now ** invoked explicitly** via the ` use_skill ` tool and run in ** isolated LLM loops** with scoped environments.
1010
1111This enables:
12- - ** API key isolation ** : Skills declare needed env vars, config provides values
12+ - ** Scoped env injection ** : Skills declare non-secret env vars, config provides values
1313- ** Tool restrictions** : Skills can limit which tools the subagent uses
1414- ** Context compression** : Main agent passes relevant context, not full history
1515- ** Model flexibility** : Skills can specify different models (e.g., haiku for simple tasks)
@@ -47,6 +47,7 @@ skills consume those capabilities through stable public surfaces.
4747- Invoke skills via ` use_skill ` tool (not by reading files)
4848- Run skill as subagent with isolated session
4949- Inject env vars from config into skill execution
50+ - Block secret-like env var delivery to skills by policy
5051- Support capability-mediated calls for sensitive external systems (contract in ` specs/capabilities.md ` )
5152- Keep skill execution on public host interfaces; no direct integration hook registration path for skills
5253- Treat bundled skills as regular skill surfaces (no privileged wiring semantics)
@@ -91,7 +92,7 @@ access:
9192 chat_types : # Optional invocation chat-type allowlist
9293 - private
9394env : # Env vars to inject from config
94- - PERPLEXITY_API_KEY
95+ - SERVICE_ENDPOINT
9596packages : # System packages to install (apt)
9697 - jq
9798 - curl
@@ -108,7 +109,7 @@ You are a research assistant with access to Perplexity AI.
108109Given a research query, search for accurate, up-to-date information
109110and return a structured summary with sources.
110111
111- Use the PERPLEXITY_API_KEY environment variable for API calls.
112+ Use the SERVICE_ENDPOINT environment variable for API calls.
112113```
113114
114115### Capability-Backed Skills (Contract)
@@ -158,7 +159,7 @@ declare container/command wiring.
158159# ~/.ash/config.toml
159160
160161[skills .research ]
161- PERPLEXITY_API_KEY = " pplx-... " # Direct match - injected as $PERPLEXITY_API_KEY
162+ SERVICE_ENDPOINT = " https://api.example.com " # Direct match - injected as $SERVICE_ENDPOINT
162163model = " haiku" # Override skill's default model
163164enabled = true # Can disable without removing file
164165allow_chat_ids = [" 12345" ] # Optional per-skill chat allowlist override
@@ -181,6 +182,7 @@ enabled = false # Disabled
181182
182183Config keys match env var names exactly (UPPER_CASE). No case conversion.
183184` allow_chat_ids ` can be set globally in ` [skills.defaults] ` and overridden per skill.
185+ Secret-like env var names are blocked by policy and must use host-managed capability/proxy auth.
184186
185187` [skills.gog].enabled = true ` applies default ` gog ` provider wiring.
186188` [skills.gog.capability_provider] ` can override provider command/namespace/timeout
0 commit comments