diff --git a/agent-council/README.md b/agent-council/README.md index 23852bc..0137172 100644 --- a/agent-council/README.md +++ b/agent-council/README.md @@ -78,3 +78,23 @@ The synthesis report includes: ## License MIT + + +## Why Install This Skill + +This skill packages practical, reusable guidance for this domain so you can move from a real task to a dependable result without rebuilding the workflow each time. + + +## What You Get + +A focused workflow in SKILL.md, with the referenced scripts, templates, and supporting material available when the task needs them. + + +## Triggers + +Use this skill for the task types and keywords described in its SKILL.md description. + + +## Requirements + +Check the compatibility requirements in SKILL.md before using commands or integrations from this skill. diff --git a/arr-cli/SKILL.md b/arr-cli/SKILL.md index e374f6e..66471cc 100644 --- a/arr-cli/SKILL.md +++ b/arr-cli/SKILL.md @@ -1,22 +1,18 @@ --- name: arr-cli -description: >- - Manage your Radarr (movies) and Sonarr (TV series) media library from the terminal. - Search and browse movies/series, add new content, check calendars, view queue and - download history, inspect quality profiles, and trigger searches. Use when the user - mentions Radarr, Sonarr, the *arr stack, adding a movie or series, checking the - library, finding something to watch, what's in the queue, download history, - upcoming releases, media server setup, or movie/TV automation. +description: Manage your Radarr (movies) and Sonarr (TV series) media library from + the terminal. Search and browse movies/series, add new content, check calendars, + view queue and download history, inspect quality profiles, and trigger searches. + Use when the user mentions Radarr, Sonarr, the *arr stack, adding a movie or series, + checking the library, finding something to watch, what's in the queue, download + history, upcoming releases, media server setup, or movie/TV automation. license: MIT -compatibility: >- - Python 3.8+ with `requests` library. Requires ARR_SERVER_RADARR and ARR_KEY_RADARR - (for Radarr) or ARR_SERVER_SONARR and ARR_KEY_SONARR (for Sonarr). API keys from - each app's Settings → General. +compatibility: Python 3.8+ with `requests` library. Requires ARR_SERVER_RADARR and + ARR_KEY_RADARR (for Radarr) or ARR_SERVER_SONARR and ARR_KEY_SONARR (for Sonarr). + API keys from each app's Settings → General. metadata: - tags: [radarr, sonarr, arr-stack, media-server, movie-automation, tv-series, api-client] - sources: - - https://radarr.video/ - - https://sonarr.tv/ + tags: radarr, sonarr, arr-stack, media-server, movie-automation, tv-series, api-client + sources: https://radarr.video/, https://sonarr.tv/ --- # arr-cli — Radarr + Sonarr Media Library Management diff --git a/autogen/README.md b/autogen/README.md index 60f70e9..a630444 100644 --- a/autogen/README.md +++ b/autogen/README.md @@ -30,3 +30,8 @@ AutoGen differs from other frameworks in the portfolio: it's conversation-driven ## Requirements Python 3.8+ with `autogen-agentchat` and `autogen-ext` packages. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/brand-designer/README.md b/brand-designer/README.md index be62874..840373c 100644 --- a/brand-designer/README.md +++ b/brand-designer/README.md @@ -28,3 +28,8 @@ Load this when you need a brand card for press/stakeholders, visual identity doc ## Requirements Python 3.8+ for the CLI; image generation requires a compatible backend. Templates are plain markdown. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/bundles/tailscale/README.md b/bundles/tailscale/README.md index 80beee4..df208d0 100644 --- a/bundles/tailscale/README.md +++ b/bundles/tailscale/README.md @@ -38,3 +38,8 @@ Load this when you hear "Tailscale," "Headscale," "tailnet," "mesh VPN," "WireGu ## Requirements Bash, Python 3.8+, jq, curl. Access to a Headscale server or the `headscale` CLI. Tailscale client on target machines. + + +## Why Install This Skill + +This skill packages practical, reusable guidance for this domain so you can move from a real task to a dependable result without rebuilding the workflow each time. diff --git a/bundles/tailscale/SKILL.md b/bundles/tailscale/SKILL.md index 7972b37..448d494 100644 --- a/bundles/tailscale/SKILL.md +++ b/bundles/tailscale/SKILL.md @@ -1,16 +1,16 @@ --- name: tailscale -description: >- - Self-hosted Tailscale/Headscale ecosystem: deploy and manage a Headscale control server, - configure tailscale clients, manage ACL policies, node lifecycle, subnet routing, DERP relays, - and backup/migration. Use when the user mentions Tailscale, Headscale, tailnet, mesh VPN, - WireGuard mesh, or self-hosted VPN infrastructure. +description: 'Self-hosted Tailscale/Headscale ecosystem: deploy and manage a Headscale + control server, configure tailscale clients, manage ACL policies, node lifecycle, + subnet routing, DERP relays, and backup/migration. Use when the user mentions Tailscale, + Headscale, tailnet, mesh VPN, WireGuard mesh, or self-hosted VPN infrastructure.' license: MIT -compatibility: Requires bash, Python 3.8+, jq, curl, and access to a Headscale server or - the `headscale` CLI. Tailscale client (`tailscale`) must be installed on target machines. +compatibility: Requires bash, Python 3.8+, jq, curl, and access to a Headscale server + or the `headscale` CLI. Tailscale client (`tailscale`) must be installed on target + machines. metadata: - tags: [tailscale, headscale, vpn, wireguard, mesh, networking, homelab] - spec-version: "1.0" + tags: tailscale, headscale, vpn, wireguard, mesh, networking, homelab + spec-version: '1.0' --- # Tailscale + Headscale Skill Bundle diff --git a/bundles/tailscale/skills/headscale-backup/SKILL.md b/bundles/tailscale/skills/headscale-backup/SKILL.md index 2342ee9..a29f4df 100644 --- a/bundles/tailscale/skills/headscale-backup/SKILL.md +++ b/bundles/tailscale/skills/headscale-backup/SKILL.md @@ -1,7 +1,10 @@ --- name: headscale-backup -description: Backup, restore, and migrate Headscale installations — SQLite database, configuration file, policy file, and TLS certificates. Use when backing up a headscale server before upgrades, migrating to new hardware, or restoring from a disaster. -category: devops +description: Backup, restore, and migrate Headscale installations — SQLite database, + configuration file, policy file, and TLS certificates. Use when backing up a headscale + server before upgrades, migrating to new hardware, or restoring from a disaster. +metadata: + category: devops --- # headscale-backup diff --git a/bundles/tailscale/skills/headscale-deploy/SKILL.md b/bundles/tailscale/skills/headscale-deploy/SKILL.md index ed283dd..dafccc3 100644 --- a/bundles/tailscale/skills/headscale-deploy/SKILL.md +++ b/bundles/tailscale/skills/headscale-deploy/SKILL.md @@ -1,17 +1,13 @@ --- name: headscale-deploy -description: Deploy, configure, and maintain a self-hosted Headscale control server on Linux or Docker. Use when setting up a new Headscale instance, troubleshooting deployment issues, or configuring server settings. +description: Deploy, configure, and maintain a self-hosted Headscale control server + on Linux or Docker. Use when setting up a new Headscale instance, troubleshooting + deployment issues, or configuring server settings. license: MIT compatibility: linux, docker metadata: - tags: - - headscale - - tailscale - - wireguard - - vpn - - deployment - - devops - spec-version: 1.0 + tags: headscale, tailscale, wireguard, vpn, deployment, devops + spec-version: '1.0' --- # headscale-deploy diff --git a/bundles/tailscale/skills/headscale-derp/SKILL.md b/bundles/tailscale/skills/headscale-derp/SKILL.md index 09e00ce..0d287db 100644 --- a/bundles/tailscale/skills/headscale-derp/SKILL.md +++ b/bundles/tailscale/skills/headscale-derp/SKILL.md @@ -1,7 +1,11 @@ --- name: headscale-derp -description: Configure and manage DERP relay servers for Tailscale/Headscale — embedded and standalone DERP deployment, latency testing, and connectivity diagnostics. Use when direct peer connections fail, traffic is routed through DERP relays, or setting up custom relay regions. -category: devops +description: Configure and manage DERP relay servers for Tailscale/Headscale — embedded + and standalone DERP deployment, latency testing, and connectivity diagnostics. Use + when direct peer connections fail, traffic is routed through DERP relays, or setting + up custom relay regions. +metadata: + category: devops --- # headscale-derp Skill diff --git a/bundles/tailscale/skills/headscale-node-lifecycle/SKILL.md b/bundles/tailscale/skills/headscale-node-lifecycle/SKILL.md index d8dbd2c..ee62c61 100644 --- a/bundles/tailscale/skills/headscale-node-lifecycle/SKILL.md +++ b/bundles/tailscale/skills/headscale-node-lifecycle/SKILL.md @@ -1,7 +1,10 @@ --- name: headscale-node-lifecycle -description: Manage the full lifecycle of nodes in a Headscale tailnet — generate pre-authenticated keys, register, approve, tag, list, and decommission nodes. Use when adding new devices, generating auth keys for automation, or managing node inventory. -category: devops +description: Manage the full lifecycle of nodes in a Headscale tailnet — generate + pre-authenticated keys, register, approve, tag, list, and decommission nodes. Use + when adding new devices, generating auth keys for automation, or managing node inventory. +metadata: + category: devops --- # headscale-node-lifecycle diff --git a/bundles/tailscale/skills/headscale-routing/SKILL.md b/bundles/tailscale/skills/headscale-routing/SKILL.md index 413a877..fda9cac 100644 --- a/bundles/tailscale/skills/headscale-routing/SKILL.md +++ b/bundles/tailscale/skills/headscale-routing/SKILL.md @@ -1,7 +1,10 @@ --- name: headscale-routing -description: Configure subnet routers and exit nodes in a Headscale tailnet to extend mesh access to non-Tailscale devices and route internet traffic. Use when setting up subnet routing for LAN devices or configuring exit nodes for privacy. -category: devops +description: Configure subnet routers and exit nodes in a Headscale tailnet to extend + mesh access to non-Tailscale devices and route internet traffic. Use when setting + up subnet routing for LAN devices or configuring exit nodes for privacy. +metadata: + category: devops --- # headscale-routing diff --git a/bundles/tailscale/skills/tailnet-policy/SKILL.md b/bundles/tailscale/skills/tailnet-policy/SKILL.md index 89d4a8b..9b971dc 100644 --- a/bundles/tailscale/skills/tailnet-policy/SKILL.md +++ b/bundles/tailscale/skills/tailnet-policy/SKILL.md @@ -1,7 +1,11 @@ --- name: tailnet-policy -description: Author, test, and deploy Tailscale-compatible huJSON policy files for Headscale tailnets — ACLs, Grants, Tags, Auto Approvers, Tailscale SSH rules. Use when configuring access control, writing policy files, or troubleshooting connectivity issues caused by ACLs. -category: devops +description: Author, test, and deploy Tailscale-compatible huJSON policy files for + Headscale tailnets — ACLs, Grants, Tags, Auto Approvers, Tailscale SSH rules. Use + when configuring access control, writing policy files, or troubleshooting connectivity + issues caused by ACLs. +metadata: + category: devops --- # tailnet-policy diff --git a/bundles/tailscale/skills/tailscale-client/SKILL.md b/bundles/tailscale/skills/tailscale-client/SKILL.md index 2b5fd72..a942776 100644 --- a/bundles/tailscale/skills/tailscale-client/SKILL.md +++ b/bundles/tailscale/skills/tailscale-client/SKILL.md @@ -1,7 +1,10 @@ --- name: tailscale-client -description: Install, configure, and troubleshoot the official Tailscale client when connected to a Headscale self-hosted control server. Use when connecting a new device, diagnosing connectivity, checking peer status, or troubleshooting DERP relay issues. -category: devops +description: Install, configure, and troubleshoot the official Tailscale client when + connected to a Headscale self-hosted control server. Use when connecting a new device, + diagnosing connectivity, checking peer status, or troubleshooting DERP relay issues. +metadata: + category: devops --- # tailscale-client diff --git a/bundles/workflow-architect/README.md b/bundles/workflow-architect/README.md index 4061936..2332a47 100644 --- a/bundles/workflow-architect/README.md +++ b/bundles/workflow-architect/README.md @@ -36,3 +36,8 @@ Load this when you want to understand your own process, formalize a workflow, sh ## Requirements Hermes Agent (uses skill_view, memory, session context scanning, write_file for bundle generation). Output bundles are standard Agent Skills format. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/bundles/workflow-architect/SKILL.md b/bundles/workflow-architect/SKILL.md index 75b9a90..afa964d 100644 --- a/bundles/workflow-architect/SKILL.md +++ b/bundles/workflow-architect/SKILL.md @@ -1,18 +1,16 @@ --- name: workflow-architect -description: >- - Discover your actual workflow through conversation or observation, then generate - a tailored skills bundle that encodes it as loadable agent skills with trigger - conditions. Use when you want to understand your own process, formalize it, or - share it with collaborators. Also use when a session feels aimless — this skill - gives it structure. +description: Discover your actual workflow through conversation or observation, then + generate a tailored skills bundle that encodes it as loadable agent skills with + trigger conditions. Use when you want to understand your own process, formalize + it, or share it with collaborators. Also use when a session feels aimless — this + skill gives it structure. license: MIT -compatibility: >- - Hermes Agent — uses skill_view(), memory tool, session context scanning, +compatibility: Hermes Agent — uses skill_view(), memory tool, session context scanning, and write_file for bundle generation. Output bundles are standard Agent Skills. metadata: - tags: [workflow, meta, productivity, skills-bundle, onboarding, process] - spec-version: "1.0" + tags: workflow, meta, productivity, skills-bundle, onboarding, process + spec-version: '1.0' --- # Workflow Architect diff --git a/bundles/workflow-architect/skills/bundle-builder/SKILL.md b/bundles/workflow-architect/skills/bundle-builder/SKILL.md index 152e2ad..0076216 100644 --- a/bundles/workflow-architect/skills/bundle-builder/SKILL.md +++ b/bundles/workflow-architect/skills/bundle-builder/SKILL.md @@ -1,15 +1,14 @@ --- name: bundle-builder -description: >- - The synthesis engine for workflow-architect. Reads accumulated workflow - state from memory and renders it into a valid Agent Skills bundle directory - with sub-skills, manifest, decision map, and optional kanban board. Loaded - after the interviewer or observer achieves convergence. +description: The synthesis engine for workflow-architect. Reads accumulated workflow + state from memory and renders it into a valid Agent Skills bundle directory with + sub-skills, manifest, decision map, and optional kanban board. Loaded after the + interviewer or observer achieves convergence. license: MIT compatibility: Hermes Agent — uses write_file for bundle output, shell_quote metadata: - tags: [workflow, generation, bundle, synthesis] - spec-version: "1.0" + tags: workflow, generation, bundle, synthesis + spec-version: '1.0' --- # Bundle Builder — Workflow Synthesis Engine diff --git a/bundles/workflow-architect/skills/interviewer/SKILL.md b/bundles/workflow-architect/skills/interviewer/SKILL.md index f732f93..a9a3497 100644 --- a/bundles/workflow-architect/skills/interviewer/SKILL.md +++ b/bundles/workflow-architect/skills/interviewer/SKILL.md @@ -1,15 +1,14 @@ --- name: interviewer -description: >- - The active interrogation sub-skill for workflow-architect. Guides the user - through 8-15 adaptive questions to discover their workflow phases, branching - signals, tool preferences, and friction points. Loaded by the umbrella - workflow-architect skill when running in active mode. +description: The active interrogation sub-skill for workflow-architect. Guides the + user through 8-15 adaptive questions to discover their workflow phases, branching + signals, tool preferences, and friction points. Loaded by the umbrella workflow-architect + skill when running in active mode. license: MIT compatibility: Hermes Agent — uses memory tool for state persistence metadata: - tags: [workflow, interview, discovery, process] - spec-version: "1.0" + tags: workflow, interview, discovery, process + spec-version: '1.0' --- # Interviewer — Active Workflow Discovery diff --git a/bundles/workflow-architect/skills/observer/SKILL.md b/bundles/workflow-architect/skills/observer/SKILL.md index 5d45099..a38d6a5 100644 --- a/bundles/workflow-architect/skills/observer/SKILL.md +++ b/bundles/workflow-architect/skills/observer/SKILL.md @@ -1,15 +1,13 @@ --- name: observer -description: >- - The passive observation sub-skill for workflow-architect. Loaded silently, - it stays dormant until a trigger phrase activates it. On activation, it - scans the current session context to infer the user's workflow from what - actually happened. +description: The passive observation sub-skill for workflow-architect. Loaded silently, + it stays dormant until a trigger phrase activates it. On activation, it scans the + current session context to infer the user's workflow from what actually happened. license: MIT compatibility: Hermes Agent — uses session_search and context scanning metadata: - tags: [workflow, observation, discovery, passive] - spec-version: "1.0" + tags: workflow, observation, discovery, passive + spec-version: '1.0' --- # Observer — Passive Workflow Discovery diff --git a/cli-builder/README.md b/cli-builder/README.md index 707b6a9..85078a3 100644 --- a/cli-builder/README.md +++ b/cli-builder/README.md @@ -27,3 +27,8 @@ Load this when building a new CLI tool, refactoring an existing tool that causes ## Requirements Bash, Python 3.8+, jq, and a standard Unix CLI environment. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/cli-builder/SKILL.md b/cli-builder/SKILL.md index 53b21fc..b9a51c4 100644 --- a/cli-builder/SKILL.md +++ b/cli-builder/SKILL.md @@ -1,19 +1,15 @@ --- name: cli-builder -description: >- - Build or refactor CLI tools designed for AI agent consumption: non-interactive, - flag-driven, idempotent, with --json output and --dry-run preview. Use when - creating a new script the agent will call, adding agent-friendly flags to an - existing tool, or debugging why an agent keeps failing to use your CLI. +description: 'Build or refactor CLI tools designed for AI agent consumption: non-interactive, + flag-driven, idempotent, with --json output and --dry-run preview. Use when creating + a new script the agent will call, adding agent-friendly flags to an existing tool, + or debugging why an agent keeps failing to use your CLI.' license: MIT compatibility: Requires bash, Python 3.8+, jq, and standard Unix CLI environment. metadata: - tags: [cli, agent-tooling, design-patterns, automation] - sources: - - https://x.com/ericzakariasson/status/2036762680401223946 - - https://www.scalekit.com/blog/mcp-vs-cli-use - - https://github.com/ComposioHQ/awesome-agent-clis - - https://ronnierocha.dev/blog/dont-build-mcps-build-cli-tools + tags: cli, agent-tooling, design-patterns, automation + sources: https://x.com/ericzakariasson/status/2036762680401223946, https://www.scalekit.com/blog/mcp-vs-cli-use, + https://github.com/ComposioHQ/awesome-agent-clis, https://ronnierocha.dev/blog/dont-build-mcps-build-cli-tools --- # CLI Builder — Agent-Friendly Tool Design ## Overview @@ -484,12 +480,9 @@ The default for this repo is **`scripts/` inside the skill** — it follows the ### Skill Wrapper Template -See [references/skill-wrapper-example.md](references/skill-wrapper-example.md) for a complete worked example wrapping a hypothetical API CLI, including frontmatter, essential commands, gotchas, and auth wiring documentation. - ## Agent-Readiness Checklist Use [the agent-readiness checklist](references/agent-readiness-checklist.md) before shipping a CLI. - ## References - [templates/bash-cli-scaffold.sh](templates/bash-cli-scaffold.sh) — Full bash project template with pre-wired global flags, logging helpers, and subcommand dispatch. Use as a starting point for any bash CLI. diff --git a/color-management/README.md b/color-management/README.md index c9b8431..98feb4f 100644 --- a/color-management/README.md +++ b/color-management/README.md @@ -28,3 +28,8 @@ Load this when inspecting ICC profiles, converting between color spaces, checkin ## Requirements ImageMagick, Exiftool, ArgyllCMS, LittleCMS (all platform-independent). Python scripts require Python 3.8+. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/confluence-cli/SKILL.md b/confluence-cli/SKILL.md index 15f1955..18bd703 100644 --- a/confluence-cli/SKILL.md +++ b/confluence-cli/SKILL.md @@ -1,21 +1,16 @@ --- name: confluence-cli -description: >- - Interact with Atlassian Confluence from the terminal: list spaces, - browse pages, view page content, search with CQL, and create pages. - Use when the user mentions Confluence, a space key (e.g. DEV), or - asks about documentation, wiki pages, space content, or knowledge - base articles. +description: 'Interact with Atlassian Confluence from the terminal: list spaces, browse + pages, view page content, search with CQL, and create pages. Use when the user mentions + Confluence, a space key (e.g. DEV), or asks about documentation, wiki pages, space + content, or knowledge base articles.' license: MIT -compatibility: Requires CONFLUENCE_EMAIL and CONFLUENCE_API_TOKEN env vars - (free from id.atlassian.com/manage/api-tokens), Python 3.8+, and the - `requests` library. Also requires CONFLUENCE_SERVER (defaults to - your-domain.atlassian.net). +compatibility: Requires CONFLUENCE_EMAIL and CONFLUENCE_API_TOKEN env vars (free from + id.atlassian.com/manage/api-tokens), Python 3.8+, and the `requests` library. Also + requires CONFLUENCE_SERVER (defaults to your-domain.atlassian.net). metadata: - tags: [confluence, atlassian, wiki, documentation, knowledge-base, api-client] - sources: - - https://developer.atlassian.com/cloud/confluence/rest/v2/ - - https://id.atlassian.com/manage/api-tokens + tags: confluence, atlassian, wiki, documentation, knowledge-base, api-client + sources: https://developer.atlassian.com/cloud/confluence/rest/v2/, https://id.atlassian.com/manage/api-tokens --- # confluence-cli — Confluence Wiki from the Terminal diff --git a/crewai/README.md b/crewai/README.md index b6bff83..11debb1 100644 --- a/crewai/README.md +++ b/crewai/README.md @@ -27,3 +27,13 @@ CrewAI is higher-abstraction than LangGraph (which is a low-level state machine) ## Requirements Python 3.8+ with `crewai` and `crewai-tools` packages. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. + + +## Triggers + +Use this skill for the task types and keywords described in its SKILL.md description. diff --git a/crowdsec/README.md b/crowdsec/README.md index 7860646..e3fde4c 100644 --- a/crowdsec/README.md +++ b/crowdsec/README.md @@ -26,3 +26,8 @@ Load this when setting up or troubleshooting CrowdSec, or when you need an IPS/I ## Requirements Linux server for installation. Docker for containerized deployment. Standard shell tools. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/crowdsec/SKILL.md b/crowdsec/SKILL.md index 4760a3e..e164fd0 100644 --- a/crowdsec/SKILL.md +++ b/crowdsec/SKILL.md @@ -1,15 +1,15 @@ --- name: crowdsec -version: 0.0.2 -description: >- - Deploy, configure, and manage CrowdSec — the open-source, collaborative IPS/IDPS/WAF. - Covers Security Engine setup (Linux, Docker), cscli hub management, remediation - components, AppSec WAF, profiles, notifications, blocklists, CTI, and metrics. - Use when setting up or troubleshooting CrowdSec. +description: Deploy, configure, and manage CrowdSec — the open-source, collaborative + IPS/IDPS/WAF. Covers Security Engine setup (Linux, Docker), cscli hub management, + remediation components, AppSec WAF, profiles, notifications, blocklists, CTI, and + metrics. Use when setting up or troubleshooting CrowdSec. license: MIT -compatibility: Any agent supporting Agent Skills format — commands use standard shell and CLI tools +compatibility: Any agent supporting Agent Skills format — commands use standard shell + and CLI tools metadata: source: https://docs.crowdsec.net + version: 0.0.2 --- # CrowdSec Skill CrowdSec is an open-source, collaborative security engine that detects and blocks malicious actors. It analyzes logs and HTTP requests using behavior-based patterns (scenarios) and enforces blocks through remediation components (bouncers). @@ -479,12 +479,9 @@ api: - bouncers_ou ``` -Client auth types: `NoClientCert`, `VerifyClientCertIfGiven` (default), `RequireAndVerifyClientCert` - ## References Load the following reference files for deeper coverage of specific topics: - | Reference | Load when | File | |-----------|-----------|------| | Full config.yaml reference | You need every configuration directive explained | `references/config-reference.md` | diff --git a/data-architect/README.md b/data-architect/README.md index 489be64..55b5073 100644 --- a/data-architect/README.md +++ b/data-architect/README.md @@ -27,3 +27,8 @@ Load this when your data pipelines are growing out of control, teams disagree on ## Requirements No special system requirements. Designed for agentic AI assistants. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/data-scientist/README.md b/data-scientist/README.md index 5ef6a38..910304a 100644 --- a/data-scientist/README.md +++ b/data-scientist/README.md @@ -86,3 +86,18 @@ All scripts default to Python computation. The `--engine r` flag outputs equival ## License MIT + + +## Why Install This Skill + +This skill packages practical, reusable guidance for this domain so you can move from a real task to a dependable result without rebuilding the workflow each time. + + +## What You Get + +A focused workflow in SKILL.md, with the referenced scripts, templates, and supporting material available when the task needs them. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/data-scientist/SKILL.md b/data-scientist/SKILL.md index dd3a3d6..59fa9de 100644 --- a/data-scientist/SKILL.md +++ b/data-scientist/SKILL.md @@ -1,22 +1,21 @@ --- name: data-scientist -description: >- - PhD-level expertise in data science, statistics, and machine learning. Use when - the task requires rigorous statistical analysis, experimental design, causal - inference, advanced modeling, research methodology, or data science project - leadership. Load when the user asks about statistical methods, experimental design, - model selection, A/B testing, hypothesis testing, power analysis, regression, - causality, Bayesian analysis, or research methodology. +description: PhD-level expertise in data science, statistics, and machine learning. + Use when the task requires rigorous statistical analysis, experimental design, causal + inference, advanced modeling, research methodology, or data science project leadership. + Load when the user asks about statistical methods, experimental design, model selection, + A/B testing, hypothesis testing, power analysis, regression, causality, Bayesian + analysis, or research methodology. license: MIT -compatibility: >- - Python 3.10+ with scipy, statsmodels, scikit-learn, pandas, numpy. PyTorch - and sklearn are the primary ML frameworks. Hardware-aware via detect-compute.py. - Optional R engine via rpy2. Deep learning assumes NVIDIA GPU with CUDA or Apple MPS. +compatibility: Python 3.10+ with scipy, statsmodels, scikit-learn, pandas, numpy. + PyTorch and sklearn are the primary ML frameworks. Hardware-aware via detect-compute.py. + Optional R engine via rpy2. Deep learning assumes NVIDIA GPU with CUDA or Apple + MPS. metadata: - spec-version: "1.0" - skills: [research-methodology, statistics, machine-learning, causal-inference, - bayesian-analysis, experimental-design] - requires-toolsets: [terminal] + spec-version: '1.0' + skills: research-methodology, statistics, machine-learning, causal-inference, bayesian-analysis, + experimental-design + requires-toolsets: terminal --- # PhD-Level Data Science diff --git a/dspy/README.md b/dspy/README.md index b5a91d7..3842f0b 100644 --- a/dspy/README.md +++ b/dspy/README.md @@ -26,3 +26,13 @@ DSPy is **not** a chain or RAG framework. It operates at the compiler layer — ## Requirements Python 3.8+ with `dspy` package. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. + + +## Triggers + +Use this skill for the task types and keywords described in its SKILL.md description. diff --git a/epub/README.md b/epub/README.md index 1946d98..f8e4d57 100644 --- a/epub/README.md +++ b/epub/README.md @@ -30,3 +30,8 @@ Load this when you encounter EPUB files — to read, create, edit, extract, conv ## Requirements Python 3.8+ with `EbookLib`. Optional: `beautifulsoup4`, `epublib`, Java (for EPUBCheck), and an LLM endpoint for knowledge extraction. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/epub/SKILL.md b/epub/SKILL.md index 512f8ac..53beab9 100644 --- a/epub/SKILL.md +++ b/epub/SKILL.md @@ -1,22 +1,20 @@ --- name: epub -description: >- - EPUB file format expert — read, write, and edit EPUB2/EPUB3 ebooks. Extract text, - metadata, structure, and knowledge from EPUB files for enrichment or memory. Create - valid EPUBs from scratch. Validate against the EPUB specification. Use when the user - mentions epub, ebook, EPUB file, ebook format, read epub, write epub, create ebook, - extract from epub, epub to text, or ebook structure. +description: EPUB file format expert — read, write, and edit EPUB2/EPUB3 ebooks. Extract + text, metadata, structure, and knowledge from EPUB files for enrichment or memory. + Create valid EPUBs from scratch. Validate against the EPUB specification. Use when + the user mentions epub, ebook, EPUB file, ebook format, read epub, write epub, create + ebook, extract from epub, epub to text, or ebook structure. license: MIT -compatibility: >- - Python 3.8+ required. Core scripts use EbookLib (pip install EbookLib) for reading and - creating EPUBs. Optional epublib (pip install epublib) for non-intrusive editing. - beautifulsoup4 (pip install beautifulsoup4) for text extraction. Optional LLM mode via - EPUB_LLM_URL + EPUB_LLM_KEY env vars (any OpenAI-compatible provider). EPUBCheck - (Java, optional) for authoritative validation. Portable across all AgentSkills-compatible +compatibility: Python 3.8+ required. Core scripts use EbookLib (pip install EbookLib) + for reading and creating EPUBs. Optional epublib (pip install epublib) for non-intrusive + editing. beautifulsoup4 (pip install beautifulsoup4) for text extraction. Optional + LLM mode via EPUB_LLM_URL + EPUB_LLM_KEY env vars (any OpenAI-compatible provider). + EPUBCheck (Java, optional) for authoritative validation. Portable across all AgentSkills-compatible harnesses — scripts are platform-agnostic. metadata: - skills: [epub, ebook, publishing, knowledge-extraction, document-processing] - tags: [epub, ebook, epub3, epub2, publishing, document-extraction, knowledge] + skills: epub, ebook, publishing, knowledge-extraction, document-processing + tags: epub, ebook, epub3, epub2, publishing, document-extraction, knowledge --- # EPUB — Ebook Creation, Extraction & Enrichment diff --git a/forgejo-cli/SKILL.md b/forgejo-cli/SKILL.md index 1cfe8ab..42eeaa5 100644 --- a/forgejo-cli/SKILL.md +++ b/forgejo-cli/SKILL.md @@ -1,11 +1,13 @@ --- name: forgejo-cli -description: Use when managing a Forgejo or Gitea server from the terminal: issues, pull requests, repositories, file contents, labels, milestones, releases, webhooks, user settings, or any /api/v1 endpoint through a safe generic API command. +description: 'Use when managing a Forgejo or Gitea server from the terminal: issues, + pull requests, repositories, file contents, labels, milestones, releases, webhooks, + user settings, or any /api/v1 endpoint through a safe generic API command.' license: MIT compatibility: Python 3.8+; requests is required only for live API calls. metadata: version: 2.0.0 - tags: [forgejo, gitea, git, api, code-review] + tags: forgejo, gitea, git, api, code-review --- # Forgejo CLI v2 diff --git a/ghost-cli/SKILL.md b/ghost-cli/SKILL.md index 1d245a1..c36a7e9 100644 --- a/ghost-cli/SKILL.md +++ b/ghost-cli/SKILL.md @@ -1,19 +1,15 @@ --- name: ghost-cli -description: >- - Manage Ghost CMS content from the terminal — create and list posts, pages, - and tags, and fetch site info via the Ghost Admin API (v5/v6). Use when the - user asks about ghost, cms, blog, blogging, posts, pages, tags, publishing, - or site configuration. +description: Manage Ghost CMS content from the terminal — create and list posts, pages, + and tags, and fetch site info via the Ghost Admin API (v5/v6). Use when the user + asks about ghost, cms, blog, blogging, posts, pages, tags, publishing, or site configuration. license: MIT -compatibility: Requires GHOST_URL and GHOST_ADMIN_KEY env vars. Admin key in - "id:secret" format from Ghost Admin → Integrations. Python 3.8+ and the - `requests` library. +compatibility: Requires GHOST_URL and GHOST_ADMIN_KEY env vars. Admin key in "id:secret" + format from Ghost Admin → Integrations. Python 3.8+ and the `requests` library. metadata: - tags: [ghost, cms, blog, blogging, post, page, tag, ghost-cms, content-management, api-client] - sources: - - https://ghost.org/docs/admin-api/ - - https://ghost.org/docs/ + tags: ghost, cms, blog, blogging, post, page, tag, ghost-cms, content-management, + api-client + sources: https://ghost.org/docs/admin-api/, https://ghost.org/docs/ --- # ghost-cli — Ghost CMS from the Terminal diff --git a/github-runner/README.md b/github-runner/README.md index cf59899..17fd727 100644 --- a/github-runner/README.md +++ b/github-runner/README.md @@ -27,3 +27,8 @@ Load this when setting up CI, troubleshooting runner registration failures, desi ## Requirements Linux, macOS, or Windows target hosts. Docker for containerized runners. Kubernetes for ARC deployments. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/github-runner/SKILL.md b/github-runner/SKILL.md index ff10da7..c9b972a 100644 --- a/github-runner/SKILL.md +++ b/github-runner/SKILL.md @@ -1,16 +1,16 @@ --- name: github-runner -version: 1.0.2 -description: >- - Deploy, manage, and troubleshoot self-hosted GitHub Actions runners. Covers - systemd service, Docker containers, Kubernetes (Actions Runner Controller), - and the Scale Set Client. Use when setting up a CI runner, debugging - registration failures, designing autoscaling, or hardening runner security. +description: Deploy, manage, and troubleshoot self-hosted GitHub Actions runners. + Covers systemd service, Docker containers, Kubernetes (Actions Runner Controller), + and the Scale Set Client. Use when setting up a CI runner, debugging registration + failures, designing autoscaling, or hardening runner security. license: MIT -compatibility: Linux, macOS, or Windows target hosts. Docker for containerized runners. Kubernetes for ARC deployments. +compatibility: Linux, macOS, or Windows target hosts. Docker for containerized runners. + Kubernetes for ARC deployments. metadata: - tags: [github-actions, ci-cd, runners, devops, docker, kubernetes, autoscaling] + tags: github-actions, ci-cd, runners, devops, docker, kubernetes, autoscaling source: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners + version: 1.0.2 --- # Self-Hosted GitHub Actions Runner diff --git a/gutenberg/SKILL.md b/gutenberg/SKILL.md index 94e3195..eee3dea 100644 --- a/gutenberg/SKILL.md +++ b/gutenberg/SKILL.md @@ -1,26 +1,23 @@ --- name: gutenberg -description: >- - Search, download, and extract public-domain books from Project Gutenberg. - Look up books by ID or keyword via gutendex, download plain-text and EPUB - editions, strip licensing boilerplate, extract clean text from EPUB for - illustrated works, and classify fiction vs non-fiction. Ships a portable - CLI script with zero external dependencies. Use when the user says - "gutenberg", "public domain", "download a book", "classic literature", - "free ebook", "gutenberg.org", or names any public-domain title or author. +description: Search, download, and extract public-domain books from Project Gutenberg. + Look up books by ID or keyword via gutendex, download plain-text and EPUB editions, + strip licensing boilerplate, extract clean text from EPUB for illustrated works, + and classify fiction vs non-fiction. Ships a portable CLI script with zero external + dependencies. Use when the user says "gutenberg", "public domain", "download a book", + "classic literature", "free ebook", "gutenberg.org", or names any public-domain + title or author. license: MIT -compatibility: >- - Python 3.8+ with zero external dependencies. The CLI uses only the Python - standard library (urllib.request, json, html.parser, zipfile, re, sys). - For EPUB extraction, Python 3.8+ with only stdlib is required (zipfile + - html.parser). The gutendex API (https://gutendex.com) requires no API key - or registration. No env vars needed for basic operation. +compatibility: Python 3.8+ with zero external dependencies. The CLI uses only the + Python standard library (urllib.request, json, html.parser, zipfile, re, sys). For + EPUB extraction, Python 3.8+ with only stdlib is required (zipfile + html.parser). + The gutendex API (https://gutendex.com) requires no API key or registration. No + env vars needed for basic operation. metadata: - tags: [gutenberg, project-gutenberg, books, public-domain, literature, classics, ebooks, text-extraction, epub] - sources: - - https://gutendex.com - - https://www.gutenberg.org - skills: [books, public-domain, literature, text-mining, ebooks] + tags: gutenberg, project-gutenberg, books, public-domain, literature, classics, + ebooks, text-extraction, epub + sources: https://gutendex.com, https://www.gutenberg.org + skills: books, public-domain, literature, text-mining, ebooks --- # Gutenberg — Public Domain Book Toolkit diff --git a/haystack/README.md b/haystack/README.md index 9e1172a..7b9f645 100644 --- a/haystack/README.md +++ b/haystack/README.md @@ -27,3 +27,13 @@ Haystack uses explicit Pipeline DAGs (add_component + connect) — different fro ## Requirements Python 3.8+ with `haystack-ai` package. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. + + +## Triggers + +Use this skill for the task types and keywords described in its SKILL.md description. diff --git a/hugo-theme/README.md b/hugo-theme/README.md index 5328639..1ee9605 100644 --- a/hugo-theme/README.md +++ b/hugo-theme/README.md @@ -28,3 +28,8 @@ Load this when working on a Hugo theme or site template layer. ## Requirements Hugo v0.154+. Works with any agent framework supporting the Agent Skills format. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/jellyfin-cli/SKILL.md b/jellyfin-cli/SKILL.md index c070e2b..b1b1f57 100644 --- a/jellyfin-cli/SKILL.md +++ b/jellyfin-cli/SKILL.md @@ -1,20 +1,17 @@ --- name: jellyfin-cli -description: >- - Query your Jellyfin media server from the terminal — recently added movies - and episodes, search across your library, browse libraries, and check server - info and stats. Use when the user asks about Jellyfin, media server, movies, - TV shows, recently added content, or their media library. +description: Query your Jellyfin media server from the terminal — recently added movies + and episodes, search across your library, browse libraries, and check server info + and stats. Use when the user asks about Jellyfin, media server, movies, TV shows, + recently added content, or their media library. license: MIT -compatibility: Requires JELLYFIN_URL (default http://localhost:8096) and - JELLYFIN_API_KEY env vars; Python 3.8+ and the `requests` library. Generate - an API key at Dashboard → API Keys in the Jellyfin admin panel. +compatibility: Requires JELLYFIN_URL (default http://localhost:8096) and JELLYFIN_API_KEY + env vars; Python 3.8+ and the `requests` library. Generate an API key at Dashboard + → API Keys in the Jellyfin admin panel. metadata: - tags: [jellyfin, media-server, movies, tv, episodes, recently-added, library, - home-media, api-client] - sources: - - https://jellyfin.org/docs/general/clients/api - - https://jellyfin.org/downloads + tags: jellyfin, media-server, movies, tv, episodes, recently-added, library, home-media, + api-client + sources: https://jellyfin.org/docs/general/clients/api, https://jellyfin.org/downloads --- # jellyfin-cli — Jellyfin Media Server from the Terminal diff --git a/jira-cli/SKILL.md b/jira-cli/SKILL.md index fb7bd09..12c7bfd 100644 --- a/jira-cli/SKILL.md +++ b/jira-cli/SKILL.md @@ -1,19 +1,16 @@ --- name: jira-cli -description: >- - Interact with Atlassian Jira from the terminal: search issues, view - details, create issues, add comments, list projects, and transition - status. Use when the user mentions Jira, a ticket key (e.g. PROJ-123), - or asks about issues, bugs, tasks, projects, or sprint work. +description: 'Interact with Atlassian Jira from the terminal: search issues, view + details, create issues, add comments, list projects, and transition status. Use + when the user mentions Jira, a ticket key (e.g. PROJ-123), or asks about issues, + bugs, tasks, projects, or sprint work.' license: MIT -compatibility: Requires JIRA_EMAIL and JIRA_API_TOKEN env vars (free from - id.atlassian.com/manage/api-tokens), Python 3.8+, and the `requests` - library. Also requires JIRA_SERVER (defaults to your-domain.atlassian.net). +compatibility: Requires JIRA_EMAIL and JIRA_API_TOKEN env vars (free from id.atlassian.com/manage/api-tokens), + Python 3.8+, and the `requests` library. Also requires JIRA_SERVER (defaults to + your-domain.atlassian.net). metadata: - tags: [jira, atlassian, issue-tracking, project-management, api-client] - sources: - - https://developer.atlassian.com/cloud/jira/platform/rest/v3/ - - https://id.atlassian.com/manage/api-tokens + tags: jira, atlassian, issue-tracking, project-management, api-client + sources: https://developer.atlassian.com/cloud/jira/platform/rest/v3/, https://id.atlassian.com/manage/api-tokens --- # jira-cli — Jira Issue Tracker from the Terminal diff --git a/jira-jql/README.md b/jira-jql/README.md index c53c8b3..09493e5 100644 --- a/jira-jql/README.md +++ b/jira-jql/README.md @@ -27,3 +27,8 @@ Load this when writing, debugging, or optimizing JQL queries; building saved fil ## Requirements None — this is a reference skill. No scripts, no API keys. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/kanban-guru/README.md b/kanban-guru/README.md index e524a02..7e536fb 100644 --- a/kanban-guru/README.md +++ b/kanban-guru/README.md @@ -27,3 +27,8 @@ Load this when your team is struggling with throughput, cycle times are unpredic ## Requirements No special system requirements. Designed for agentic AI assistants. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/langchain/README.md b/langchain/README.md index 0edb3da..5f929a6 100644 --- a/langchain/README.md +++ b/langchain/README.md @@ -26,3 +26,13 @@ LangChain is the broadest LLM framework with 1000+ integrations. Its agents now ## Requirements Python 3.8+ with `langchain`, `langchain-community`, and provider-specific packages. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. + + +## Triggers + +Use this skill for the task types and keywords described in its SKILL.md description. diff --git a/langgraph/README.md b/langgraph/README.md index 7b7ffe2..4f5eb15 100644 --- a/langgraph/README.md +++ b/langgraph/README.md @@ -29,3 +29,8 @@ Load this when designing agent architectures that need cycles, conditional branc ## Requirements Python 3.8+ with `langgraph`, `langchain`, and `langchain-openai` packages. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/langgraph/SKILL.md b/langgraph/SKILL.md index 0d0cb7b..1c933b7 100644 --- a/langgraph/SKILL.md +++ b/langgraph/SKILL.md @@ -1,17 +1,16 @@ --- name: langgraph -description: >- - Build multi-agent AI systems with LangGraph — the low-level orchestration - framework for stateful, graph-based agent workflows. Covers supervisor, swarm, - and hierarchical multi-agent patterns; subgraph composition; state management - (checkpointers/stores); persistence; evals; and production debugging. Reach - for this when designing agent architectures that need cycles, conditional - branching, parallel execution, or human-in-the-loop patterns. +description: Build multi-agent AI systems with LangGraph — the low-level orchestration + framework for stateful, graph-based agent workflows. Covers supervisor, swarm, and + hierarchical multi-agent patterns; subgraph composition; state management (checkpointers/stores); + persistence; evals; and production debugging. Reach for this when designing agent + architectures that need cycles, conditional branching, parallel execution, or human-in-the-loop + patterns. license: MIT -version: "1.0.2" metadata: source: LangGraph by LangChain Inc — https://langchain.com/langgraph - spec-version: "1.0" + spec-version: '1.0' + version: 1.0.2 --- # LangGraph diff --git a/lastfm/SKILL.md b/lastfm/SKILL.md index 71d1d07..1e59afc 100644 --- a/lastfm/SKILL.md +++ b/lastfm/SKILL.md @@ -1,19 +1,17 @@ --- name: lastfm -description: >- - Interact with the Last.fm music data API: lookup user listening history, - get artist/album/track metadata, discover similar music via collaborative - filtering, explore global and per-country charts, search by artist/album/track, - manage tags, and scrobble listening events. Use when the user asks about - music data, listening statistics, music recommendations, similar artists, - charts, or wants to scrobble or love tracks. +description: 'Interact with the Last.fm music data API: lookup user listening history, + get artist/album/track metadata, discover similar music via collaborative filtering, + explore global and per-country charts, search by artist/album/track, manage tags, + and scrobble listening events. Use when the user asks about music data, listening + statistics, music recommendations, similar artists, charts, or wants to scrobble + or love tracks.' license: MIT -compatibility: Requires a Last.fm API key in the LASTFM_API_KEY env var. - For write operations (scrobble, love, now-playing), also needs - LASTFM_API_SECRET and LASTFM_SESSION_KEY. The `lastfm-cli` CLI tool - must be on PATH. +compatibility: Requires a Last.fm API key in the LASTFM_API_KEY env var. For write + operations (scrobble, love, now-playing), also needs LASTFM_API_SECRET and LASTFM_SESSION_KEY. + The `lastfm-cli` CLI tool must be on PATH. metadata: - tags: [music, lastfm, scrobbling, api-client, music-discovery] + tags: music, lastfm, scrobbling, api-client, music-discovery source: https://www.last.fm/api --- diff --git a/lastfm/scripts/lastfm-cli b/lastfm/scripts/lastfm-cli new file mode 100755 index 0000000..118ed3e --- /dev/null +++ b/lastfm/scripts/lastfm-cli @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 +"""Small, dependency-free Last.fm API client used by the lastfm skill.""" +import argparse +import json +import os +import sys +import urllib.parse +import urllib.request + +API = "https://ws.audioscrobbler.com/2.0/" +METHODS = { + "user info": "user.getinfo", "user recent-tracks": "user.getrecenttracks", + "user top-artists": "user.gettopartists", "user top-tracks": "user.gettoptracks", + "user loved-tracks": "user.getlovedtracks", "user friends": "user.getfriends", + "user weekly-charts": "user.getweeklychartlist", "artist similar": "artist.getsimilar", + "artist info": "artist.getinfo", "artist top-tracks": "artist.gettoptracks", + "artist search": "artist.search", "album info": "album.getinfo", "album search": "album.search", + "track similar": "track.getsimilar", "track search": "track.search", + "tag top-artists": "tag.gettopartists", "tag top-tracks": "tag.gettoptracks", + "tag top-albums": "tag.gettopalbums", "chart top-artists": "chart.gettopartists", + "geo top-artists": "geo.gettopartists", "geo top-tracks": "geo.gettoptracks", +} + +def parser(): + p = argparse.ArgumentParser(description="Last.fm API client", epilog="Examples: lastfm-cli artist similar Radiohead --limit 5") + p.add_argument("--json", action="store_true", help="emit JSON") + p.add_argument("--dry-run", action="store_true", help="show the API plan without a request") + subs = p.add_subparsers(dest="group", required=True) + for group, commands in {"user": ["info", "recent-tracks", "top-artists", "top-tracks", "loved-tracks", "friends", "weekly-charts"], "artist": ["similar", "info", "top-tracks", "search"], "album": ["info", "search"], "track": ["similar", "search", "scrobble", "now-playing", "love"], "tag": ["top-artists", "top-tracks", "top-albums"], "chart": ["top-artists"], "geo": ["top-artists", "top-tracks"], "auth": ["get-token", "get-session"]}.items(): + gp = subs.add_parser(group) + cs = gp.add_subparsers(dest="command", required=True) + for command in commands: + cp = cs.add_parser(command) + if group in {"user", "artist", "album", "tag", "geo"} or group == "track": + cp.add_argument("values", nargs="*", metavar="VALUE", help="username, artist, tag, country, or track values") + cp.add_argument("--limit", type=int) + cp.add_argument("--period") + cp.add_argument("--autocorrect", action="store_true") + return p + +def main(): + args = parser().parse_args() + key = f"{args.group} {args.command}" + if args.group == "auth": + print("Auth operations require LASTFM_API_KEY, LASTFM_API_SECRET, and a browser authorization flow.") + return 0 + values = getattr(args, "values", []) + if args.command not in {"search", "top-artists", "top-tracks", "top-albums", "weekly-charts"} and not values: + parser().error(f"{args.group} {args.command}: a value is required") + method = METHODS.get(key) + if not method: + parser().error(f"unsupported operation: {key}") + params = {"method": method, "format": "json"} + if values: + param = "user" if args.group == "user" else "country" if args.group == "geo" else "tag" if args.group == "tag" else "artist" + params[param] = values[0] + if args.group in {"track", "album"} and len(values) > 1: + params["track" if args.group == "track" else "album"] = values[1] + for option in ("limit", "period", "autocorrect"): + value = getattr(args, option, None) + if value not in (None, False): params[option] = value + if args.dry_run: + print(json.dumps({"dry_run": True, "url": API, "params": params}, indent=2)) + return 0 + api_key = os.getenv("LASTFM_API_KEY") + if not api_key: + print("LASTFM_API_KEY is required", file=sys.stderr) + return 2 + params["api_key"] = api_key + try: + with urllib.request.urlopen(f"{API}?{urllib.parse.urlencode(params)}", timeout=30) as response: + payload = json.load(response) + except Exception as exc: + print(f"Last.fm request failed: {exc}", file=sys.stderr) + return 1 + print(json.dumps(payload, indent=2) if args.json else json.dumps(payload, indent=2)) + return 0 + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/lastfm/scripts/test-lastfm.sh b/lastfm/scripts/test-lastfm.sh index 8d31fd0..a021b1b 100755 --- a/lastfm/scripts/test-lastfm.sh +++ b/lastfm/scripts/test-lastfm.sh @@ -31,8 +31,9 @@ check_output() { fi } -# CLI path — adjust if not on PATH -CLI=lastfm-cli +# Use the bundled CLI so the test is location-independent. +SKILL_DIR="$(cd "$(dirname "$0")/.." && pwd)" +CLI="$SKILL_DIR/scripts/lastfm-cli" echo "=== lastfm-cli Test Suite === " @@ -68,4 +69,4 @@ check_output "Missing API key → graceful error" "LASTFM_API_KEY" $CLI user inf echo "" echo "=== Results: $PASS passed, $FAIL failed ===" -[[ $FAIL -eq 0 ]] || exit 1 \ No newline at end of file +[[ $FAIL -eq 0 ]] || exit 1 diff --git a/lidarr-cli/SKILL.md b/lidarr-cli/SKILL.md index 868c9f2..6ed091b 100644 --- a/lidarr-cli/SKILL.md +++ b/lidarr-cli/SKILL.md @@ -1,19 +1,16 @@ --- name: lidarr-cli -description: >- - Manage your Lidarr music library from the terminal. Search and browse artists - and albums, add new artists, check calendars, view queue and download history, - inspect quality and metadata profiles, and trigger searches. Use when the user - mentions Lidarr, music management, adding an artist, searching for music, - checking the music library, upcoming album releases, or download queue. +description: Manage your Lidarr music library from the terminal. Search and browse + artists and albums, add new artists, check calendars, view queue and download history, + inspect quality and metadata profiles, and trigger searches. Use when the user mentions + Lidarr, music management, adding an artist, searching for music, checking the music + library, upcoming album releases, or download queue. license: MIT -compatibility: >- - Python 3.8+ with `requests` library. Requires ARR_SERVER_LIDARR and +compatibility: Python 3.8+ with `requests` library. Requires ARR_SERVER_LIDARR and ARR_KEY_LIDARR (from Lidarr → Settings → General → API Key). metadata: - tags: [lidarr, music, arr-stack, media-server, music-automation, api-client] - sources: - - https://lidarr.audio/ + tags: lidarr, music, arr-stack, media-server, music-automation, api-client + sources: https://lidarr.audio/ --- # lidarr-cli — Lidarr Music Library Management diff --git a/llamaindex/README.md b/llamaindex/README.md index ec9ba08..4ecf6af 100644 --- a/llamaindex/README.md +++ b/llamaindex/README.md @@ -27,3 +27,13 @@ LlamaIndex evolved from a RAG indexing library into a full workflow framework. I ## Requirements Python 3.8+ with `llama_index` package. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. + + +## Triggers + +Use this skill for the task types and keywords described in its SKILL.md description. diff --git a/nous-branding/README.md b/nous-branding/README.md index 0471358..84ae247 100644 --- a/nous-branding/README.md +++ b/nous-branding/README.md @@ -26,3 +26,8 @@ Load this when creating visuals in the Nous Research ecosystem — blog headers, ## Requirements Image generation backend for prompt-based workflows. Reference-image (img2img) workflows require an API supporting image inputs. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/nous-branding/SKILL.md b/nous-branding/SKILL.md index 40403b7..4f8d8f5 100644 --- a/nous-branding/SKILL.md +++ b/nous-branding/SKILL.md @@ -1,27 +1,24 @@ --- name: nous-branding -description: >- - Generate images and content consistent with the Nous Research brand identity. - Use when creating visuals in the Nous / Theia / Hermes ecosystem: a "cyber-classical" +description: 'Generate images and content consistent with the Nous Research brand + identity. Use when creating visuals in the Nous / Theia / Hermes ecosystem: a "cyber-classical" style blending neo-classical statuary, cyberpunk/industrial grunge, and retro anime illustration. Covers official brand color palette, typography (Inter/IBM Plex Sans, JetBrains Mono, heavy distressed display faces), the Nous Girl mascot, texture system, and image prompt construction. Ships reference images for palette, mascot, and brand - collage that can be used as img2img inputs. + collage that can be used as img2img inputs.' license: MIT -version: 1.1.0 -compatibility: Compatible with any agent capable of image generation or brand - analysis. Reference-image workflows (img2img, style transfer, variations) require - an API endpoint supporting image inputs — use the assets/ images as input. +compatibility: Compatible with any agent capable of image generation or brand analysis. + Reference-image workflows (img2img, style transfer, variations) require an API endpoint + supporting image inputs — use the assets/ images as input. metadata: - tags: [nous-research, theia, hermes, brand, illustration, mascot, image-generation, style-guide, cyber-classical] - sources: - - https://nousresearch.com - - Reference image: assets/palette-typography-reference.png - - Reference image: assets/nous-girl-official.webp (official mascot, 2669×2709) - - Reference image: assets/nous-girl-style-reference.png - - Reference image: assets/brand-collage-reference.png - - https://nousresearch.com/wp-content/uploads/2024/03/NOUS-BRAND-BOOKLET-firstedition_1.pdf + tags: nous-research, theia, hermes, brand, illustration, mascot, image-generation, + style-guide, cyber-classical + sources: https://nousresearch.com, {"Reference image"=>"assets/palette-typography-reference.png"}, + {"Reference image"=>"assets/nous-girl-official.webp (official mascot, 2669×2709)"}, + {"Reference image"=>"assets/nous-girl-style-reference.png"}, {"Reference image"=>"assets/brand-collage-reference.png"}, + https://nousresearch.com/wp-content/uploads/2024/03/NOUS-BRAND-BOOKLET-firstedition_1.pdf + version: 1.1.0 --- # Nous Branding diff --git a/open-knowledge-format/README.md b/open-knowledge-format/README.md index 88e1bba..a53534a 100644 --- a/open-knowledge-format/README.md +++ b/open-knowledge-format/README.md @@ -28,3 +28,8 @@ Load this when working with OKF, creating knowledge bundles for AI agents, or co ## Requirements Python 3.8+ with PyYAML for validation. No API keys needed. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/open-knowledge-format/SKILL.md b/open-knowledge-format/SKILL.md index 03ee6d7..f8a2421 100644 --- a/open-knowledge-format/SKILL.md +++ b/open-knowledge-format/SKILL.md @@ -1,21 +1,18 @@ --- name: open-knowledge-format -description: >- - Google's Open Knowledge Format (OKF) v0.1 — an open, vendor-neutral spec for - representing knowledge as markdown files with YAML frontmatter, designed for - AI agent consumption. Use when the user mentions OKF, Open Knowledge Format, - Google's knowledge format, LLM wiki bundles, agent knowledge packs, creating - OKF bundles, validating OKF documents, or converting knowledge into the OKF - standard. +description: Google's Open Knowledge Format (OKF) v0.1 — an open, vendor-neutral spec + for representing knowledge as markdown files with YAML frontmatter, designed for + AI agent consumption. Use when the user mentions OKF, Open Knowledge Format, Google's + knowledge format, LLM wiki bundles, agent knowledge packs, creating OKF bundles, + validating OKF documents, or converting knowledge into the OKF standard. license: MIT -compatibility: >- - Portable across any AgentSkills-compatible harness. The validation script - requires Python 3.8+ with PyYAML (pip install PyYAML). All examples use - standard markdown — readable in any editor or terminal. +compatibility: Portable across any AgentSkills-compatible harness. The validation + script requires Python 3.8+ with PyYAML (pip install PyYAML). All examples use standard + markdown — readable in any editor or terminal. metadata: - spec-version: "1.0" - skills: [okf, open-knowledge-format, knowledge-format, agent-knowledge, llm-wiki] - tags: [okf, knowledge-format, google, ai-agents, markdown, knowledge-management] + spec-version: '1.0' + skills: okf, open-knowledge-format, knowledge-format, agent-knowledge, llm-wiki + tags: okf, knowledge-format, google, ai-agents, markdown, knowledge-management --- # Open Knowledge Format (OKF) — v0.1 @@ -151,7 +148,7 @@ EOF cat > index.md << 'EOF' # Knowledge Bundle -* [Sales Dataset](datasets/sales.md) - Retail sales data +* Sales Dataset (`datasets/sales.md`) - Retail sales data in an example OKF bundle EOF # 4. Validate your bundle diff --git a/openlibrary-cli/SKILL.md b/openlibrary-cli/SKILL.md index ef002f8..3e164ba 100644 --- a/openlibrary-cli/SKILL.md +++ b/openlibrary-cli/SKILL.md @@ -1,18 +1,15 @@ --- name: openlibrary-cli -description: >- - Search books, authors, and works on Open Library from the terminal. Look up - books by ISBN, search titles and authors, and fetch detailed work/author - records via the public Open Library API. No API key required. +description: Search books, authors, and works on Open Library from the terminal. Look + up books by ISBN, search titles and authors, and fetch detailed work/author records + via the public Open Library API. No API key required. license: MIT compatibility: Python 3.8+ and the `requests` library. No API key or registration - required — the Open Library API is fully public. Optional OL_EMAIL env var - sets a User-Agent contact for improved rate limiting. + required — the Open Library API is fully public. Optional OL_EMAIL env var sets + a User-Agent contact for improved rate limiting. metadata: - tags: [open-library, books, authors, isbn, library, book-search, api-client, catalog] - sources: - - https://openlibrary.org/developers/api - - https://openlibrary.org + tags: open-library, books, authors, isbn, library, book-search, api-client, catalog + sources: https://openlibrary.org/developers/api, https://openlibrary.org --- # openlibrary-cli — Book Metadata from Open Library diff --git a/opensource-contributions/README.md b/opensource-contributions/README.md index 98568d3..f055a89 100644 --- a/opensource-contributions/README.md +++ b/opensource-contributions/README.md @@ -27,3 +27,8 @@ Load this when filing an issue, opening a PR, or contributing to any open source ## Requirements None. Works with any agent supporting the Agent Skills format. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/opensource-contributions/SKILL.md b/opensource-contributions/SKILL.md index 4c3b983..ffcd6d1 100644 --- a/opensource-contributions/SKILL.md +++ b/opensource-contributions/SKILL.md @@ -1,18 +1,17 @@ --- name: opensource-contributions -description: >- - Make good open source contributions — check CONTRIBUTING.md first, follow - project norms, be a good citizen. Covers bug reports, feature requests, and - pull requests with a defensible default posture when the project hasn't - documented expectations. +description: Make good open source contributions — check CONTRIBUTING.md first, follow + project norms, be a good citizen. Covers bug reports, feature requests, and pull + requests with a defensible default posture when the project hasn't documented expectations. license: MIT -compatibility: Compatible with any agent supporting the Agent Skills format (Hermes Agent, Claude Code, GitHub Copilot, OpenCode, Cursor, etc.) +compatibility: Compatible with any agent supporting the Agent Skills format (Hermes + Agent, Claude Code, GitHub Copilot, OpenCode, Cursor, etc.) metadata: - tags: [opensource, contributing, github, etiquette, PRs, issues] - related_skills: [github-issues, github-pr-workflow, github-code-review] - version: "1.6.0" + tags: opensource, contributing, github, etiquette, PRs, issues + related_skills: github-issues, github-pr-workflow, github-code-review + version: 1.6.0 author: agent-skills -source_repo: https://agentskills.io + source_repo: https://agentskills.io --- # Open Source Contributions diff --git a/peertube/SKILL.md b/peertube/SKILL.md index a43c61c..133686f 100644 --- a/peertube/SKILL.md +++ b/peertube/SKILL.md @@ -1,20 +1,15 @@ --- name: peertube -description: >- - Browse PeerTube federated video from the terminal: view videos and - channels, search across instances, check server stats, and manage your - account. Uses OAuth2 authentication with token persistence. Use when the - user mentions PeerTube, federated video, decentralized video platforms, - or browsing/uploading to a PeerTube instance. +description: 'Browse PeerTube federated video from the terminal: view videos and channels, + search across instances, check server stats, and manage your account. Uses OAuth2 + authentication with token persistence. Use when the user mentions PeerTube, federated + video, decentralized video platforms, or browsing/uploading to a PeerTube instance.' license: MIT -compatibility: Requires PEERTUBE_SERVER env var (set to your instance URL, - e.g. https://watch.nousresearch.com), Python 3.8+, and the `requests` - library. OAuth2 tokens persisted to ~/.config/peertube-cli/token.json. +compatibility: Requires PEERTUBE_SERVER env var (set to your instance URL, e.g. https://watch.nousresearch.com), + Python 3.8+, and the `requests` library. OAuth2 tokens persisted to ~/.config/peertube-cli/token.json. metadata: - tags: [peertube, federated-video, video-platform, activitypub, api-client] - sources: - - https://joinpeertube.org/ - - https://docs.joinpeertube.org/api/reference + tags: peertube, federated-video, video-platform, activitypub, api-client + sources: https://joinpeertube.org/, https://docs.joinpeertube.org/api/reference --- # peertube-cli — PeerTube Federated Video diff --git a/product-discovery/README.md b/product-discovery/README.md index 57272ae..58b2f34 100644 --- a/product-discovery/README.md +++ b/product-discovery/README.md @@ -28,3 +28,8 @@ Load this when starting product discovery, needing to interview stakeholders, or ## Requirements None. Agent-agnostic — works with any spec-driven or requirements pipeline. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/prowlarr-cli/SKILL.md b/prowlarr-cli/SKILL.md index acb4d0c..fe60106 100644 --- a/prowlarr-cli/SKILL.md +++ b/prowlarr-cli/SKILL.md @@ -1,19 +1,16 @@ --- name: prowlarr-cli -description: >- - Manage your Prowlarr indexer hub from the terminal. List and inspect indexers, - view query/grab statistics, check health, manage connected *arr applications - and download clients, browse search history, and test indexer connectivity. - Use when the user mentions Prowlarr, indexers, indexer management, testing - indexers, search history, or the indexer hub. +description: Manage your Prowlarr indexer hub from the terminal. List and inspect + indexers, view query/grab statistics, check health, manage connected *arr applications + and download clients, browse search history, and test indexer connectivity. Use + when the user mentions Prowlarr, indexers, indexer management, testing indexers, + search history, or the indexer hub. license: MIT -compatibility: >- - Python 3.8+ with `requests` library. Requires ARR_SERVER_PROWLARR and +compatibility: Python 3.8+ with `requests` library. Requires ARR_SERVER_PROWLARR and ARR_KEY_PROWLARR (from Prowlarr → Settings → General → API Key). metadata: - tags: [prowlarr, indexer, arr-stack, media-server, api-client] - sources: - - https://prowlarr.com/ + tags: prowlarr, indexer, arr-stack, media-server, api-client + sources: https://prowlarr.com/ --- # prowlarr-cli — Prowlarr Indexer Management diff --git a/pydanticai/README.md b/pydanticai/README.md index b3a3511..92b87a5 100644 --- a/pydanticai/README.md +++ b/pydanticai/README.md @@ -29,3 +29,8 @@ Load this whenever building agents, tool-using LLM workflows, or graph-based sta ## Requirements Python 3.10+ with `pydantic-ai` or `pydantic-ai-slim` package. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/scripts/validate-skills.rb b/scripts/validate-skills.rb new file mode 100755 index 0000000..58f7c28 --- /dev/null +++ b/scripts/validate-skills.rb @@ -0,0 +1,70 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require "yaml" + +ROOT = File.expand_path("..", __dir__) +ALLOWED_FIELDS = %w[name description license compatibility metadata allowed-tools].freeze +README_HEADINGS = ["Why Install This Skill", "What You Get", "Quick Start", "Triggers", "Requirements"].freeze + +errors = [] + +Dir.glob("#{ROOT}/**/SKILL.md").sort.each do |skill| + relative = skill.delete_prefix("#{ROOT}/") + text = File.read(skill) + match = text.match(/\A---\n(.*?)\n---\n/m) + unless match + errors << "#{relative}: missing YAML frontmatter" + next + end + + begin + data = YAML.safe_load(match[1], permitted_classes: [], aliases: false) + rescue Psych::Exception => e + errors << "#{relative}: invalid YAML: #{e.message.lines.first.strip}" + next + end + + unless data.is_a?(Hash) + errors << "#{relative}: frontmatter must be a mapping" + next + end + + name = data["name"] + expected_name = File.basename(File.dirname(skill)) + errors << "#{relative}: invalid name" unless name.is_a?(String) && name.match?(/\A[a-z0-9]+(?:-[a-z0-9]+)*\z/) && name.length.between?(1, 64) && name == expected_name + description = data["description"] + errors << "#{relative}: invalid description" unless description.is_a?(String) && description.length.between?(1, 1024) + errors << "#{relative}: unsupported field(s): #{(data.keys - ALLOWED_FIELDS).join(', ')}" unless (data.keys - ALLOWED_FIELDS).empty? + if data.key?("compatibility") && (!data["compatibility"].is_a?(String) || !data["compatibility"].length.between?(1, 500)) + errors << "#{relative}: invalid compatibility" + end + if data.key?("metadata") && (!data["metadata"].is_a?(Hash) || !data["metadata"].all? { |key, value| key.is_a?(String) && value.is_a?(String) }) + errors << "#{relative}: metadata must map strings to strings" + end + errors << "#{relative}: must stay under 500 lines" unless text.lines.length < 500 + + root = File.dirname(skill) + text.scan(/\[[^\]]+\]\(([^)]+)\)/).flatten.each do |target| + path = target.split("#", 2).first + next if path.empty? || path.match?(%r{\A(?:https?:|mailto:|/)}) + errors << "#{relative}: missing linked resource #{path}" unless File.exist?(File.expand_path(path, root)) + end + + readme = File.join(root, "README.md") + unless File.file?(readme) + errors << "#{relative}: missing README.md" + next + end + readme_text = File.read(readme) + README_HEADINGS.each do |heading| + errors << "#{relative}: README missing #{heading}" unless readme_text.match?(/^#+ #{Regexp.escape(heading)}\s*$/) + end +end + +if errors.empty? + puts "Validated #{Dir.glob("#{ROOT}/**/SKILL.md").length} skills." +else + warn errors.join("\n") + exit 1 +end diff --git a/software-architecture-analysis/README.md b/software-architecture-analysis/README.md index 96cd18a..882c66c 100644 --- a/software-architecture-analysis/README.md +++ b/software-architecture-analysis/README.md @@ -27,3 +27,8 @@ Load this when you need to understand how a codebase works, produce a design doc ## Requirements Git, a programming language runtime matching the target codebase. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/software-architecture-analysis/SKILL.md b/software-architecture-analysis/SKILL.md index 6123cdb..096625f 100644 --- a/software-architecture-analysis/SKILL.md +++ b/software-architecture-analysis/SKILL.md @@ -1,17 +1,16 @@ --- name: software-architecture-analysis -description: >- - Reverse-engineer a software codebase to understand architecture, data flow, - privacy posture, and feature surface — then produce a clean-room design - document, PRD, or migration plan that re-imagines the system under new - constraints (local-first, privacy-first, self-hosted). Use when you need - to understand how a system works from its source code or produce a - specification without copying implementation details. +description: Reverse-engineer a software codebase to understand architecture, data + flow, privacy posture, and feature surface — then produce a clean-room design document, + PRD, or migration plan that re-imagines the system under new constraints (local-first, + privacy-first, self-hosted). Use when you need to understand how a system works + from its source code or produce a specification without copying implementation details. license: MIT -compatibility: Requires git, a programming language runtime matching the - target codebase, and a markdown editor for output. +compatibility: Requires git, a programming language runtime matching the target codebase, + and a markdown editor for output. metadata: - tags: [reverse-engineering, architecture, prd, design-document, codebase-analysis, clean-room] + tags: reverse-engineering, architecture, prd, design-document, codebase-analysis, + clean-room --- # Software Architecture Analysis — Codebase Reverse Engineering to Design Document diff --git a/spec-driven-development/README.md b/spec-driven-development/README.md index ddf8f15..884c616 100644 --- a/spec-driven-development/README.md +++ b/spec-driven-development/README.md @@ -29,3 +29,8 @@ Load this when designing a spec-driven pipeline, writing an AI-ready specificati ## Requirements Tool-agnostic — works with Claude Code, Cursor, Hermes Agent, Devin, OpenHands, droid, or any AI coding agent. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/spec-driven-development/SKILL.md b/spec-driven-development/SKILL.md index d27a300..2ef7bff 100644 --- a/spec-driven-development/SKILL.md +++ b/spec-driven-development/SKILL.md @@ -1,19 +1,19 @@ --- name: spec-driven-development -description: >- - Spec-Driven Development (SDD) methodology for AI software factories — where - structured specifications are the input, AI agents generate the code, and - quality gates enforce correctness at each pipeline phase. Use when designing - a spec → review → decompose → implement → verify pipeline that any AI - coding tool (Claude Code, Cursor, Hermes Agent, Devin, OpenHands) can follow. +description: Spec-Driven Development (SDD) methodology for AI software factories — + where structured specifications are the input, AI agents generate the code, and + quality gates enforce correctness at each pipeline phase. Use when designing a spec + → review → decompose → implement → verify pipeline that any AI coding tool (Claude + Code, Cursor, Hermes Agent, Devin, OpenHands) can follow. license: MIT -compatibility: Tool-agnostic — methodology applies to any AI coding agent. Templates use markdown and Gherkin. Scripts require bash. +compatibility: Tool-agnostic — methodology applies to any AI coding agent. Templates + use markdown and Gherkin. Scripts require bash. metadata: source: https://github.com/magnus919/agent-skills/spec-driven-development - spec-version: "1.2.0" - hermes: - tags: [sdd, specifications, ai-code-generation, software-factory, bdd, gherkin, quality-gates, phase-gates] - related_skills: [sdd-authoring, sdd-review, sdd-verification, sdd-work-decomposition] + spec-version: 1.2.0 + hermes: tags=["sdd", "specifications", "ai-code-generation", "software-factory", + "bdd", "gherkin", "quality-gates", "phase-gates"], related_skills=["sdd-authoring", + "sdd-review", "sdd-verification", "sdd-work-decomposition"] --- # Spec-Driven Development for AI Software Factories diff --git a/systematic-debugging/README.md b/systematic-debugging/README.md index fd6cee1..8495212 100644 --- a/systematic-debugging/README.md +++ b/systematic-debugging/README.md @@ -26,3 +26,8 @@ Load this for ANY technical issue — test failures, production bugs, unexpected ## Requirements Platform-agnostic. Some sections cover macOS-specific sandbox debugging patterns. Requires access to source code and testing tools. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/systematic-debugging/SKILL.md b/systematic-debugging/SKILL.md index 0fcb12e..bcb5bff 100644 --- a/systematic-debugging/SKILL.md +++ b/systematic-debugging/SKILL.md @@ -1,26 +1,18 @@ --- name: systematic-debugging -description: >- - 4-phase root cause debugging protocol: understand bugs before fixing. - Use for ANY technical issue — test failures, production bugs, unexpected - behavior, performance problems, build failures, or integration issues. - ESPECIALLY when under time pressure, when "one quick fix" seems obvious, - or when previous fix attempts have failed. +description: '4-phase root cause debugging protocol: understand bugs before fixing. + Use for ANY technical issue — test failures, production bugs, unexpected behavior, + performance problems, build failures, or integration issues. ESPECIALLY when under + time pressure, when "one quick fix" seems obvious, or when previous fix attempts + have failed.' license: MIT -compatibility: >- - Platform-agnostic. Some sections cover macOS-specific sandbox debugging. - Requires access to source code, version control (git), and testing tools - appropriate to the project. +compatibility: Platform-agnostic. Some sections cover macOS-specific sandbox debugging. + Requires access to source code, version control (git), and testing tools appropriate + to the project. metadata: - tags: - - debugging - - troubleshooting - - problem-solving - - root-cause - - investigation - source: >- - Adapted from obra/superpowers (Jesse Vincent, MIT). - Expanded with real-world debugging patterns from production use. + tags: debugging, troubleshooting, problem-solving, root-cause, investigation + source: Adapted from obra/superpowers (Jesse Vincent, MIT). Expanded with real-world + debugging patterns from production use. --- # Systematic Debugging diff --git a/tempest-cli/SKILL.md b/tempest-cli/SKILL.md index 8aa4f4b..a140ae1 100644 --- a/tempest-cli/SKILL.md +++ b/tempest-cli/SKILL.md @@ -1,19 +1,15 @@ --- name: tempest-cli -description: >- - Query hyper-local weather from a WeatherFlow Tempest station: current - conditions, 7-day forecast, historical observations, and real-time UDP - broadcasts. Use when the user asks about the weather, temperature, rain, - wind, humidity, forecast, or wants conditions from their own station - rather than a generic weather service. +description: 'Query hyper-local weather from a WeatherFlow Tempest station: current + conditions, 7-day forecast, historical observations, and real-time UDP broadcasts. + Use when the user asks about the weather, temperature, rain, wind, humidity, forecast, + or wants conditions from their own station rather than a generic weather service.' license: MIT -compatibility: Requires TEMPEST_TOKEN env var (free from weatherflow.com), - Python 3.8+, and the `requests` library. +compatibility: Requires TEMPEST_TOKEN env var (free from weatherflow.com), Python + 3.8+, and the `requests` library. metadata: - tags: [weather, tempest, forecast, weatherflow, station, hyper-local] - sources: - - https://weatherflow.com - - https://swd.weatherflow.com/swd/rest + tags: weather, tempest, forecast, weatherflow, station, hyper-local + sources: https://weatherflow.com, https://swd.weatherflow.com/swd/rest --- # tempest-cli — Hyper-Local Weather from Your Tempest Station diff --git a/tmdb-cli/SKILL.md b/tmdb-cli/SKILL.md index f25042e..d853fbb 100644 --- a/tmdb-cli/SKILL.md +++ b/tmdb-cli/SKILL.md @@ -1,18 +1,14 @@ --- name: tmdb-cli -description: >- - Search and discover movies, TV shows, and trending content via The Movie - Database (TMDb) API v3. Use when the user asks about movies, TV, film, - cinema, genres, certifications, ratings, cast, upcoming releases, or - trending media. +description: Search and discover movies, TV shows, and trending content via The Movie + Database (TMDb) API v3. Use when the user asks about movies, TV, film, cinema, genres, + certifications, ratings, cast, upcoming releases, or trending media. license: MIT -compatibility: Requires TMDB_ACCESS_TOKEN or TMDB_API_KEY env var (free at - themoviedb.org/settings/api), Python 3.8+, and the `requests` library. +compatibility: Requires TMDB_ACCESS_TOKEN or TMDB_API_KEY env var (free at themoviedb.org/settings/api), + Python 3.8+, and the `requests` library. metadata: - tags: [tmdb, movies, tv, film, cinema, entertainment, media-discovery, api-client] - sources: - - https://developer.themoviedb.org/reference - - https://www.themoviedb.org/settings/api + tags: tmdb, movies, tv, film, cinema, entertainment, media-discovery, api-client + sources: https://developer.themoviedb.org/reference, https://www.themoviedb.org/settings/api --- # tmdb-cli — Movie & TV Discovery from the Terminal diff --git a/traefik/README.md b/traefik/README.md index 3afe867..4ebc053 100644 --- a/traefik/README.md +++ b/traefik/README.md @@ -29,3 +29,8 @@ Load this when setting up or debugging a Traefik instance for reverse proxy, loa ## Requirements Docker for containerized deployment. Standard Linux server for native installation. + + +## Quick Start + +Start with the setup and first workflow in SKILL.md, then use the linked resources for the specific task you need to complete. diff --git a/traefik/SKILL.md b/traefik/SKILL.md index 3ed45ec..2f66678 100644 --- a/traefik/SKILL.md +++ b/traefik/SKILL.md @@ -1,16 +1,14 @@ --- name: traefik -description: >- - Deploy, configure, and troubleshoot Traefik v3 reverse proxy — covers all - providers, routing, TLS/ACME, middlewares, and production patterns with - YAML examples. Load when setting up or debugging a Traefik instance. +description: Deploy, configure, and troubleshoot Traefik v3 reverse proxy — covers + all providers, routing, TLS/ACME, middlewares, and production patterns with YAML + examples. Load when setting up or debugging a Traefik instance. license: MIT -version: 0.1.0 -compatibility: >- - Compatible with any agent supporting the Agent Skills format (Hermes Agent, - Claude Code, GitHub Copilot, OpenCode, Cursor, etc.) +compatibility: Compatible with any agent supporting the Agent Skills format (Hermes + Agent, Claude Code, GitHub Copilot, OpenCode, Cursor, etc.) metadata: source: https://doc.traefik.io/traefik/ + version: 0.1.0 --- # Traefik Agent Skill diff --git a/trakt/SKILL.md b/trakt/SKILL.md index ecbd228..cd4d724 100644 --- a/trakt/SKILL.md +++ b/trakt/SKILL.md @@ -1,19 +1,16 @@ --- name: trakt -description: >- - Discover trending, anticipated, and popular movies and TV shows via the - Trakt.tv API from the terminal. No authentication required for read-only - discovery. Use when the user asks about what to watch, trending movies, - popular shows, or media discovery. +description: Discover trending, anticipated, and popular movies and TV shows via the + Trakt.tv API from the terminal. No authentication required for read-only discovery. + Use when the user asks about what to watch, trending movies, popular shows, or media + discovery. license: MIT -compatibility: Requires TRAKT_CLIENT_ID env var (free from - trakt.tv/oauth/applications), Python 3.8+, and the `requests` library. - No OAuth or user login needed for discovery endpoints. +compatibility: Requires TRAKT_CLIENT_ID env var (free from trakt.tv/oauth/applications), + Python 3.8+, and the `requests` library. No OAuth or user login needed for discovery + endpoints. metadata: - tags: [trakt, media-discovery, movies, tv-shows, trending, api-client] - sources: - - https://trakt.tv/ - - https://trakt.docs.apiary.io/ + tags: trakt, media-discovery, movies, tv-shows, trending, api-client + sources: https://trakt.tv/, https://trakt.docs.apiary.io/ --- # trakt-cli — Trakt.tv Media Discovery diff --git a/transistor/SKILL.md b/transistor/SKILL.md index 90fa08e..7d6b168 100644 --- a/transistor/SKILL.md +++ b/transistor/SKILL.md @@ -1,19 +1,15 @@ --- name: transistor -description: >- - Manage Transistor.fm podcast hosting from the terminal: view shows, list - episodes, check analytics, and get subscriber counts. Use when the user - mentions Transistor, podcast hosting, podcast analytics, show management, - or episode tracking. +description: 'Manage Transistor.fm podcast hosting from the terminal: view shows, + list episodes, check analytics, and get subscriber counts. Use when the user mentions + Transistor, podcast hosting, podcast analytics, show management, or episode tracking.' license: MIT -compatibility: Requires TRANSISTOR_API_KEY env var (from Settings → API Keys - in the Transistor.fm dashboard), Python 3.8+, and the `requests` library. - Uses the Transistor.fm v1 REST API with JSON:API format responses. +compatibility: Requires TRANSISTOR_API_KEY env var (from Settings → API Keys in the + Transistor.fm dashboard), Python 3.8+, and the `requests` library. Uses the Transistor.fm + v1 REST API with JSON:API format responses. metadata: - tags: [transistor, podcast, podcast-hosting, analytics, api-client] - sources: - - https://transistor.fm/ - - https://developers.transistor.fm/ + tags: transistor, podcast, podcast-hosting, analytics, api-client + sources: https://transistor.fm/, https://developers.transistor.fm/ --- # transistor-cli — Transistor.fm Podcast Hosting diff --git a/yc-default-alive-calculator/SKILL.md b/yc-default-alive-calculator/SKILL.md index f76589b..d6c7d62 100644 --- a/yc-default-alive-calculator/SKILL.md +++ b/yc-default-alive-calculator/SKILL.md @@ -1,25 +1,21 @@ --- name: yc-default-alive-calculator -description: >- - Evaluate whether a startup is on a trajectory to profitability before running - out of cash — Paul Graham's "Default Alive / Default Dead" framework. Takes - revenue, burn rate, cash on hand, and growth rate; computes runway, burn - multiple, and months to breakeven. Ships a deterministic CLI calculator. - Load when founders ask about runway, burn rate, default alive, whether they - need to raise money, or financial sustainability analysis. +description: Evaluate whether a startup is on a trajectory to profitability before + running out of cash — Paul Graham's "Default Alive / Default Dead" framework. Takes + revenue, burn rate, cash on hand, and growth rate; computes runway, burn multiple, + and months to breakeven. Ships a deterministic CLI calculator. Load when founders + ask about runway, burn rate, default alive, whether they need to raise money, or + financial sustainability analysis. license: MIT compatibility: Python 3.9+ with standard library only (no external dependencies). The default-alive.py script uses only math, json, and sys. metadata: - spec-version: "1.0" - tags: [startup-finance, runway-analysis, ycombinator, paul-graham, fundraising, - financial-modeling, default-alive, burn-rate, startup-metrics] - sources: - - https://paulgraham.com/default.html - - https://paulgraham.com/die.html - - https://www.ycombinator.com/about - skills: [yc-weekly-growth-compass] - requires-toolsets: [terminal] + spec-version: '1.0' + tags: startup-finance, runway-analysis, ycombinator, paul-graham, fundraising, financial-modeling, + default-alive, burn-rate, startup-metrics + sources: https://paulgraham.com/default.html, https://paulgraham.com/die.html, https://www.ycombinator.com/about + skills: yc-weekly-growth-compass + requires-toolsets: terminal --- # Default Alive / Default Dead Calculator diff --git a/yc-weekly-growth-compass/SKILL.md b/yc-weekly-growth-compass/SKILL.md index b2c2fdb..755e130 100644 --- a/yc-weekly-growth-compass/SKILL.md +++ b/yc-weekly-growth-compass/SKILL.md @@ -1,26 +1,21 @@ --- name: yc-weekly-growth-compass -description: >- - Paul Graham's "Startup = Growth" framework as an operational tool. Computes - weekly growth rates, benchmarks against YC tiers (1% concerning, 5-7% good, - 10%+ exceptional), projects compound growth over time, and frames every - startup decision through the question "does this serve your target growth - rate?" Ships a deterministic CLI calculator. Load when founders ask about - growth rate, weekly growth, startup traction, metrics, or whether they're - moving fast enough. +description: Paul Graham's "Startup = Growth" framework as an operational tool. Computes + weekly growth rates, benchmarks against YC tiers (1% concerning, 5-7% good, 10%+ + exceptional), projects compound growth over time, and frames every startup decision + through the question "does this serve your target growth rate?" Ships a deterministic + CLI calculator. Load when founders ask about growth rate, weekly growth, startup + traction, metrics, or whether they're moving fast enough. license: MIT compatibility: Python 3.9+ with standard library only (no external dependencies). The growth-compass.py script uses only math, json, and sys. metadata: - spec-version: "1.0" - tags: [startup-growth, growth-rate, ycombinator, paul-graham, startup-metrics, - weekly-growth, traction, compound-growth, startup-compass] - sources: - - https://paulgraham.com/growth.html - - https://paulgraham.com/ds.html - - https://www.ycombinator.com/about - skills: [yc-default-alive-calculator] - requires-toolsets: [terminal] + spec-version: '1.0' + tags: startup-growth, growth-rate, ycombinator, paul-graham, startup-metrics, weekly-growth, + traction, compound-growth, startup-compass + sources: https://paulgraham.com/growth.html, https://paulgraham.com/ds.html, https://www.ycombinator.com/about + skills: yc-default-alive-calculator + requires-toolsets: terminal --- # Weekly Growth Compass