Borrowing it
Nothing to install: this file belongs to phil65/agentpool. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/phil65/agentpool/main/.agents/skills/sync-skills-spec/SKILL.mdgit clone --depth 1 https://github.com/phil65/agentpoolWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/phil65/agentpool/sync-skills-spec)<a href="https://agentmods.dev/skills/phil65/agentpool/sync-skills-spec"><img src="https://agentmods.dev/badge/skills/phil65/agentpool/sync-skills-spec/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/phil65/agentpool/sync-skills-spec"><img src="https://agentmods.dev/badge/skills/phil65/agentpool/sync-skills-spec.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00024 | $0.00548 |
| Opus 5.5 | $0.00010 | $0.00219 |
| Sonnet 5.5 | $0.00005 | $0.00110 |
| Haiku 4.5 | $0.00002 | $0.00055 |
Grade C, and why
sync-skills-spec scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf "$tmp" How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Sync Skills Spec
Keep src/agentpool/skills/ aligned with the official Agent Skills Spec.
Steps
-
Clone the reference repo into a temporary directory:
tmp=$(mktemp -d) git clone --depth 1 https://github.com/agentskills/agentskills "$tmp/agentskills" -
Read the spec and reference implementation:
$tmp/agentskills/spec/— the formal specification documents$tmp/agentskills/implementations/— reference implementations (especially Python)- Focus on the
SkillPropertiesmodel, frontmatter fields, validation rules, and prompt generation
-
Compare with our implementation:
src/agentpool/skills/skill.py— ourSkillPydantic model, validators,parse_frontmatter(),to_prompt()src/agentpool/skills/registry.py— discovery and registration (our extension, not part of the spec)src/agentpool/skills/manager.py— pool-wide management (our extension)- Check for missing fields, changed validation rules, new spec requirements
-
Apply updates to our code:
- Add any new frontmatter fields to the
Skillmodel - Update validators to match spec changes (name format, length limits, allowed fields)
- Update
to_prompt()if the recommended XML format changed - Do NOT replace our registry/manager — those are agentpool-specific extensions
- Add any new frontmatter fields to the
-
Update the synced commit hash in
src/agentpool/skills/skill.py:- Get the current HEAD of the cloned repo:
git -C "$tmp/agentskills" rev-parse HEAD - Update the
SPEC_SYNCED_COMMITconstant to the new hash - This tracks which version of the spec we last synced against
- Get the current HEAD of the cloned repo:
-
Clean up:
rm -rf "$tmp"
Key differences from upstream
Our implementation extends the spec with:
- Async discovery via fsspec/UPath (supports GitHub, S3, etc.)
- Registry pattern (
SkillsRegistryextendingBaseRegistry) - Pool-wide management (
SkillsManagerwith async context manager) - YAML parsing via
yamling(notstrictyaml)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 54 lines · 24 tokens per session scan C 051e59f1b43e
sync-skills-spec is a skill published in the GitHub repository phil65/agentpool (200 stars, last pushed 6mo ago), licensed MIT. It adds 24 tokens to every session and 548 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
braindb
Memory recall and save. Use at every conversation start and whenever the user shares personal information, expertise, project context, preferences, or decisions worth remembering long-term.
braindb-agent
Persistent memory across sessions via the BrainDB agent. Use at conversation start and whenever you need to recall what you know about the user or save new information to long-term memory.
braindb-custom-profile
How to author a BrainDB custom profile — prompt add/replace fragments and an optional keyless ingestor — that shapes wiki naming/structure and feeds a custom ingestion source, with zero effect on defaults when inactive.
migrating-openai-agents-sdk-to-pydantic-ai
Migrate Python OpenAI Agents SDK applications to Pydantic AI and, when warranted, Pydantic AI Harness. Use for agents.Agent, Runner, function tools, handoffs, guardrails, sessions, human approval, streaming, or SandboxAgent. Do not use for applications built directly on the OpenAI Responses API without the Agents SDK…
nano-banana-pro-openrouter
Deterministic OpenRouter image generation adapter for Nano Banana Pro / Gemini image models. Use as skillexec when a meta-skill needs local image files and structured IMAGEREADY records without spawning an LLM agent.
skill-creator-linter
Internal tool (not user-invocable). Called by meta-skill-creator as a DAG step (kind: agent) to lint a candidate meta-skill SKILL.md against G1 (parse + reference check + xmlescape grep + structural lint) and G2 (scheduler dry-run with stub executors). Deterministic, sub-second, no LLM. Returns JSON diagnostics.