mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-11 19:47:12 +03:00
Merge pull request 'fix: resolve skill audit findings' (#97) from fix/skill-audit-compliance into main
This commit is contained in:
@@ -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.
|
||||
|
||||
+11
-15
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+7
-14
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+9
-14
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+7
-10
@@ -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` |
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+14
-15
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+12
-14
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+8
-12
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
+16
-19
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+10
-13
@@ -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
|
||||
|
||||
+9
-12
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+8
-9
@@ -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
|
||||
|
||||
+10
-12
@@ -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
|
||||
---
|
||||
|
||||
|
||||
Executable
+80
@@ -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())
|
||||
@@ -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
|
||||
[[ $FAIL -eq 0 ]] || exit 1
|
||||
|
||||
+8
-11
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+13
-16
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
+8
-13
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+8
-11
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Executable
+70
@@ -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
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
+8
-12
@@ -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
|
||||
|
||||
+7
-11
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+6
-8
@@ -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
|
||||
|
||||
+9
-12
@@ -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
|
||||
|
||||
+8
-12
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user