Postiz
gitroomhq/postiz-agent
Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest…
Discovers and indexes Python code in skills, enabling cross-skill imports.
$ npx skills add oaustegard/claude-skills --skill inspecting-skills -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install oaustegard/claude-skills inspecting-skills --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/inspecting-skills .claude/skills/inspecting-skills && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "inspecting-skills" agent skill from https://github.com/oaustegard/claude-skills/tree/main/inspecting-skills into .claude/skills/inspecting-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspecting-skills", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/oaustegard/claude-skills/tree/main/inspecting-skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add oaustegard/claude-skills --skill inspecting-skills -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install oaustegard/claude-skills inspecting-skills --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/inspecting-skills .agents/skills/inspecting-skills && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "inspecting-skills" agent skill from https://github.com/oaustegard/claude-skills/tree/main/inspecting-skills into .agents/skills/inspecting-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspecting-skills", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oaustegard/claude-skills --skill inspecting-skills -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install oaustegard/claude-skills inspecting-skills --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/inspecting-skills .cursor/skills/inspecting-skills && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "inspecting-skills" agent skill from https://github.com/oaustegard/claude-skills/tree/main/inspecting-skills into .cursor/skills/inspecting-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspecting-skills", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/oaustegard/claude-skills.git --path inspecting-skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add oaustegard/claude-skills --skill inspecting-skills -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install oaustegard/claude-skills inspecting-skills --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/inspecting-skills .gemini/skills/inspecting-skills && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "inspecting-skills" agent skill from https://github.com/oaustegard/claude-skills/tree/main/inspecting-skills into .gemini/skills/inspecting-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspecting-skills", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install oaustegard/claude-skills inspecting-skillsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add oaustegard/claude-skills --skill inspecting-skills -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/inspecting-skills .github/skills/inspecting-skills && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "inspecting-skills" agent skill from https://github.com/oaustegard/claude-skills/tree/main/inspecting-skills into .github/skills/inspecting-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspecting-skills", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oaustegard/claude-skills --skill inspecting-skills -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install oaustegard/claude-skills inspecting-skills --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/inspecting-skills .opencode/skills/inspecting-skills && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "inspecting-skills" agent skill from https://github.com/oaustegard/claude-skills/tree/main/inspecting-skills into .opencode/skills/inspecting-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspecting-skills", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
inspecting-skillsDiscovers and indexes Python code in skills, enabling cross-skill imports.
Inspecting Skills is an agent skill from oaustegard/claude-skills. Discovers and indexes Python code in skills, enabling cross-skill imports. Use when importing functions from other skills or analyzing skill codebases.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `CHANGELOG.md`, `__init__.py` and `scripts/__init__.py`).
It sits in Writing & Content. It works with Python and Bluesky. The repository describes itself as: My collection of Claude skills. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 90b0f1b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Inspecting Skills loads about 1.5k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 204 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from oaustegard/claude-skills at commit 90b0f1b, republished under its MIT licence (© oaustegard). 204 words, ~1,515 tokens.
.claude/skills/inspecting-skills/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Discover Python code across skills and enable universal imports. Solves the dash-underscore naming mismatch between skill directories (e.g., browsing-bluesky) and Python imports (e.g., browsing_bluesky).
import sys
sys.path.insert(0, '/home/user/claude-skills')
from inspecting_skills import setup_skill_path, skill_importfrom inspecting_skills import skill_import
# Import by skill name (dash or underscore form)
bsky = skill_import("browsing-bluesky")
posts = bsky.search_posts("python")
# Import specific functions
search, profile = skill_import("browsing-bluesky", ["search_posts", "get_profile"])from inspecting_skills import setup_skill_path
# Configure once at session start
setup_skill_path("/home/user/claude-skills")
# Now import skills directly (underscore form)
from browsing_bluesky import search_posts, get_profile
from remembering import remember, recallfrom inspecting_skills import list_importable_skills
skills = list_importable_skills()
for s in skills:
print(f"{s['name']} -> import {s['module_name']}")| Function | Purpose |
|---|---|
discover_skill(path) | Analyze a single skill directory |
discover_all_skills(root) | Find all skills with Python code |
find_skill_by_name(name, root) | Find skill by name (either form) |
skill_name_to_module(name) | Convert "browsing-bluesky" to "browsing_bluesky" |
| Function | Purpose |
|---|---|
index_skill(layout) | Extract symbols from a discovered skill |
index_all_skills(root) | Index all skills in repository |
generate_registry(root, output) | Create registry.json manifest |
| Function | Purpose |
|---|---|
setup_skill_path(root) | Enable transparent skill imports |
skill_import(name, symbols) | Import skill or specific symbols |
register_skill(name, path) | Register skill at custom path |
list_importable_skills() | List all importable skills |
Skills organize Python code in three patterns:
browsing-bluesky/
SKILL.md
__init__.py # Re-exports from scripts/
scripts/
__init__.py
bsky.py # Main implementationremembering/
SKILL.md
__init__.py # Re-exports functions
memory.py # Core functionality
boot.py
config.pysimple-skill/
SKILL.md
__init__.py # Contains all codeCreate a registry.json for offline symbol lookup:
from inspecting_skills import generate_registry
from pathlib import Path
registry = generate_registry(
Path("/home/user/claude-skills"),
output_path=Path("registry.json")
)
# Registry structure:
# {
# "version": "1.0.0",
# "skills": {
# "browsing-bluesky": {
# "module_name": "browsing_bluesky",
# "exports": ["search_posts", "get_profile", ...],
# "modules": [...]
# }
# }
# }from inspecting_skills import discover_skill, index_skill
from pathlib import Path
# Discover the skill layout
layout = discover_skill(Path("/home/user/claude-skills/remembering"))
print(f"Layout: {layout.layout_type}")
print(f"Has __init__.py: {layout.has_init}")
print(f"Python files: {[f.name for f in layout.python_files]}")
# Index symbols
index = index_skill(layout)
for module in index.modules:
print(f"\n{module.file_path}:")
for sym in module.symbols:
print(f" {sym.kind} {sym.name}{sym.signature or ''}")This skill complements tree-sitting, which extracts code structure at runtime:
Use both together:
tree-sitting for navigation and code reviewinspecting-skills for actual code imports and execution# If skill_import fails, check:
# 1. Skill exists and has __init__.py
from inspecting_skills import discover_skill
layout = discover_skill(Path("/path/to/skill"))
print(layout.has_init) # Must be True for importing
# 2. Skills root is configured
from inspecting_skills import get_skills_root
print(get_skills_root())
# 3. Symbol is exported in __all__
import ast
init_code = open("/path/to/skill/__init__.py").read()
# Check for __all__ definition# Manually set skills root
from inspecting_skills import set_skills_root
set_skills_root("/home/user/claude-skills")@dataclass
class SkillLayout:
name: str # "browsing-bluesky"
path: Path # Full path to skill directory
layout_type: str # "scripts" | "root" | "package" | "none"
python_files: list[Path]
has_init: bool # Can be imported as package
entry_module: str # "browsing_bluesky"@dataclass
class SkillIndex:
name: str # "browsing-bluesky"
module_name: str # "browsing_bluesky"
layout_type: str
modules: list[ModuleIndex]
exports: list[str] # From __all__@dataclass
class Symbol:
name: str # Function/class name
kind: str # "function" | "class" | "method"
signature: str | None # "(self, x: int)"
line: int | None # 1-indexed
docstring: str | None # First line
children: list[Symbol] # Methods for classes© oaustegard, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts) in inspecting-skills of oaustegard/claude-skills.
Open the folder on GitHubat commit 90b0f1b
Inspecting Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Inspecting Skills this skilloaustegard/claude-skills | 150 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Postizgitroomhq/postiz-agent | 508 | 2 repos | ~7.9k | Automated safety check: Pass | AGPL-3.0 | |
| Typefullyfreekmurze/dotfiles | 1k | 1 repos | ~3.4k | Automated safety check: Notes | None | |
| Release Postquarto-dev/quarto-r | 160 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| China Travel Kittczyliu/china-travel-kit | 194 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Ghostwritersuperzhang21/ghostwriter | 304 | — | ~759 | Automated safety check: Pass | CC-BY-NC-ND-4.0 |
gitroomhq/postiz-agent
Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest…
freekmurze/dotfiles
Create, schedule, and manage social media posts via Typefully.
quarto-dev/quarto-r
Create professional package release blog posts following Tidyverse or Shiny blog conventions.
tczyliu/china-travel-kit
Research and plan first-time independent trips in China with bilingual, source-aware city data and official live-check entry points.
superzhang21/ghostwriter
A skill your agent uses when switching AI persona/language style.
seyedehsanhadi/sloptrim
A skill your agent uses when the user wants to humanize text, trim slop, de-AI or de-slop writing, remove AI tells, fix robotic or ChatGPT-sounding prose, or make writing sound human and natural.
oaustegard/claude-skills
Builds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline.
oaustegard/claude-skills
Builds self-contained single-file HTML pages such as reports, decks, postmortems, flowcharts and prototypes from a small spec using a bundled Python composer and templates.
oaustegard/claude-skills
Routes, triages, flags and rates a piece of text with a probability for every option: which department or queue a ticket goes to, which intent a message expresses, whether a yes/no condition holds…
oaustegard/claude-skills
Rewrites model-sounding prose into plain technical writing and checks that every claim survives, for PR text, docs, commit messages and similar drafts.
oaustegard/claude-skills
Guides building standards-based Preact apps with native-first choices, HTM syntax, import maps and vendored ESM, from single-file demos to larger builds.
oaustegard/claude-skills
Deprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill.
Categories
Discovers and indexes Python code in skills, enabling cross-skill imports. Inspecting Skills is an agent skill from oaustegard/claude-skills. Discovers and indexes Python code in skills, enabling cross-skill imports.
Inspecting Skills fits situations like: importing functions from other skills; analyzing skill codebases.
Run `npx skills add oaustegard/claude-skills --skill inspecting-skills -a claude-code`. Or copy the skill folder (inspecting-skills in oaustegard/claude-skills) into .claude/skills/inspecting-skills in your project. Claude Code loads it when a task matches its description.
Run `npx skills add oaustegard/claude-skills --skill inspecting-skills -a codex`. Or copy the skill folder (inspecting-skills in oaustegard/claude-skills) into .agents/skills/inspecting-skills in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oaustegard/claude-skills --skill inspecting-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/inspecting-skills, .gemini/skills/inspecting-skills, .github/skills/inspecting-skills and .opencode/skills/inspecting-skills in your project.
Going by SKILL.md and its folder, Inspecting Skills needs Python for the scripts in its folder. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Inspecting Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Inspecting Skills: Postiz (gitroomhq/postiz-agent, 508 stars), Typefully (freekmurze/dotfiles, 1k stars), Release Post (quarto-dev/quarto-r, 160 stars) and China Travel Kit (tczyliu/china-travel-kit, 194 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
oaustegard (a GitHub user) maintains it in oaustegard/claude-skills, which has 150 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 9, 2026.
Source: oaustegard/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.