Aiden's Stack — a small, curated set of skills for Claude Code and Codex, packaged as a plugin.
The skills respond in Korean by default (they grew out of Korean voice/notes workflows), but the mechanics work in any language.
/plugin marketplace add ai-native-engineer/astack
/plugin install astack@astack
codex plugin marketplace add ai-native-engineer/astack
codex plugin add astack@astackThen invoke a skill with the astack: prefix, e.g. astack:session-history.
| Skill | What it does | External deps |
|---|---|---|
agent-team |
Coordinate independent worker tasks across Claude Code, AGY, Codex, and GJC with a strong lead, a fixed delegation contract, and run records for result recovery. Cross-harness work runs in observable Herdr panes. | None; optional Herdr and worker CLIs for cross-harness panes |
session-history |
Unified view and search of Claude Code, Codex, and Grok sessions, including timelines, full conversation/tool-call search, token usage, API-equivalent cost, model rollups, and live subscription quota. | Python 3 |
voice-memos |
Apple Voice Memos / call recordings / Apple Notes / Caret MCP → transcribe, correct, search, summarize, notify. Includes a launchd watcher pipeline (auto transcribe → summarize → notify on new recordings, incl. call .m4a) with FDA diagnostics. |
macOS, Python 3, apple-stt, ffmpeg, (optional) stt skill for speaker diarization, (optional) Caret MCP, Telegram/Discord |
imessage |
Read & search macOS Messages (iMessage/SMS/RCS) via readonly SQLite (decodes attributedBody); send via osascript. MCP-free, on-demand. |
macOS, Python 3 (stdlib only), Full Disk Access |
chrome-devtools-cli |
Drive headless Chrome from the terminal via chrome-devtools-mcp's standalone CLI — navigate, click/fill, screenshot, console/network inspect, JS eval, Lighthouse audit, performance trace (Core Web Vitals), heap snapshot. On-demand alternative to the MCP server. |
Node.js, chrome-devtools-mcp (npm i -g chrome-devtools-mcp@latest), Chrome/Chromium |
meta-ads-cli |
Manage Meta (Facebook/Instagram) ads from the shell via the meta CLI — campaign/adset/ad/creative CRUD, performance insights (spend/CTR/CPC/ROAS, breakdowns), pixel conversion tracking, catalogs. Mental model + setup/commands/recipes references; full options delegated to meta --help. |
PyPI meta-ads (uv tool install meta-ads --python 3.13), a Meta system-user access token |
crawl |
Crawl web pages & doc sites to clean markdown, fully local with no API key — single page, deep-crawl to one file, or mirror a whole doc tree to per-page files (URL path = file path) with optional image download (--assets). Built-in traps for locale explosion, boilerplate, broken links, and discovery-vs-extraction selector scoping (target_elements, not css_selector); bundled crawl4ai API reference for custom scripts (bot-evasion, dynamic/infinite-scroll, Shadow DOM, capture/download). |
Python 3, crawl4ai crwl CLI (uv tool install crawl4ai && crawl4ai-setup), headless browser; yt-dlp + jq for YouTube transcripts |
oss-explore |
Discover-first GitHub toolkit (gh CLI): find open-source projects by topic (merged keyword+topic search, star/activity/language, with per-repo good-first-issue/help-wanted counts auto-shown), then drill into issue-level entry points (beginner-label synonyms, excludes already-PR'd/stale), browse trending ∩ contributable, bootstrap fork→clone→branch, and retrospect merged-PR contributions (org vs external OSS, star-ranked, badges) + stats (merge-rate, year/month/weekday, language). Terminal tables or dark/light HTML. Topic/language/filters are all user args — no hardcoded domain. |
gh (authenticated), jq |
project-collect |
Collect relevant project context from local and collaboration sources into per-source archives under 01-context/company/ (or a legacy context/ tree), preserving attachments and incrementally merging reruns. |
rg, plus whichever source tools you use: Slack, Notion ntn, gog, Obsidian, voice notes/recordings |
html-page |
Single-file local HTML pages: explainers with diagrams/charts, interactive walkthroughs, searchable wikis, confirm sheets, meeting notes, summaries, and prototypes. One publish command checks the page, links it to the originating Herdr conversation, and opens it; a design-token lint and a Stop hook keep the flow fixed. |
chrome-devtools-cli skill's CLI (for verify.sh), internet for CDNs (jsDelivr/unpkg) |
open-api |
Route Korean official APIs (data.go.kr, DART, KIPRIS, NTIS) for disclosures, patents, trademarks, R&D, procurement, and registry lookups. Reuses a cached recipe first; otherwise picks the provider, follows the official docs and application steps, calls the API, and saves the first successful call as a recipe with the reference docs alongside. Calls hit each API directly with your own keys; no proxy. | Per-provider keys (DATA_GO_KR_API_KEY, API_K_DART, KIPRIS_API_KEY, NTIS_API_KEY; data.go.kr needs per-API 활용신청), curl; Python 3 and pandoc for some recipes |
company-context-research |
Pre-outreach / diligence company research → a per-company evidence package with public-surface mapping, recursive crawl and attachments, press inventory, normalized official data, canonical JSON, and a validated local HTML viewer. | Python 3, crawl skill, Naver Developers app keys, (optional) open-api skill with DART and data.go.kr keys, Tavily CLI |
communication |
Shared work-message contract and channel-specific writing overlays used by transport skills. | None for drafting; the corresponding transport skill for read/send actions |
tts |
Local text-to-speech & voice cloning (Qwen3-TTS via mlx-audio; offline after model download) — keeps personal voice references in a local data directory outside the plugin and supports full/chunk generation, partial regeneration, cutoff audit, and edit-ready loudness normalization. |
macOS (Apple Silicon), mlx-audio, ffmpeg, (optional) apple-stt for automatic reference transcription |
stt |
Local speech-to-text and optional speaker diarization. Uses macOS apple-stt as the text source, falls back to Handy only when Apple fails, and can align Apple text with Argmax RTTM speaker ranges. |
macOS 26+ with apple-stt on PATH, ffmpeg; optional Handy and argmax-cli |
podcast |
Draft, render, or explicitly publish a podcast episode from a news recap or script. Includes spoken-script and show-notes conventions, TTS routing, Apple/Spotify-compatible HTML show notes, validated RSS date ordering, dry-run preflight, and GitHub Releases + Pages publishing. | gh (authenticated), ffmpeg/ffprobe, Python 3, tts skill (for voice) |
ffmpeg |
Standalone ffmpeg/ffprobe (+ macOS sips) operations — explicit cuts/joins, compress/convert, extract tracks, resize, FPS, rotate, GIFs, subtitles, thumbnails, normalization, HDR-to-SDR, and HEIC. |
ffmpeg/ffprobe (macOS sips for HEIC) |
video-cut-editor |
Evidence-driven video cleanup for silence removal and retake markers, with reviewable cut plans, one-pass original-timeline rendering, frame/waveform/decode QA, and browser listening approval. | Python 3, ffmpeg/ffprobe; optional STT/VAD tools |
ocr |
Local OCR for images and scanned PDFs via macOS Vision, searchable PDF text-layer creation and repair, plus table extraction to Markdown/HTML/CSV. Fully on-device, no cloud upload. | macOS, ocrmypdf + AppleOCR plugin; uv for table extraction dependencies |
similarweb |
SimilarWeb free-endpoint domain analytics — traffic, rank, visitor estimates, traffic sources, AI/LLM referrals, SEO keyword value, competitor comparison. No API key. | Python 3 / uv (auto-installs requests) |
humanize-korean |
Detect and rewrite AI-ish Korean — translationese, mechanical parallelism, passive overuse, citation clutter, uniform rhythm — while preserving meaning. 40+ tell-patterns with a scholarship reference. | none (prompt/reference skill) |
find-skills |
Discover and install agent skills from the open skills ecosystem via the Skills CLI. | Node.js, skills CLI (npx skills) |
context7-cli |
Context7 ctx7 CLI — fetch up-to-date library/framework/SDK docs and code examples on demand, plus find/install/generate AI coding skills. |
Node.js, ctx7 (npm i -g ctx7@latest) |
kakaotalk |
macOS KakaoTalk read, search, and send through the katok CLI, including archive sync, duplicate-room rejection, dry-run targeting, and draft-only delivery. |
macOS, KakaoTalk app, Rust katok CLI, Full Disk Access; Accessibility for sending |
goal-plan |
Durable /goal harness for long-running agent work: AGENTS.md instructions plus a progress.tsv scoreboard, scaffolded into an external worktree or dedicated goal repo so every loop step is resumable through git. |
git, Python 3 (stdlib only) |
project-organize |
Audit a project workspace for current truth, stale drafts, legacy outputs, cleanup/archive candidates, and AGENTS/README index drift; proposes changes before acting. | rg, git (optional) |
voice-memos is macOS-only and needs a few extras:
apple-stt(macOS SpeechAnalyzer) for transcription;ffmpegfor.qtafiles- Python deps:
cd skills/voice-memos && uv sync - Optional notifications: place Telegram/Discord values in
~/.config/voice-memos/.env(or setVOICE_MEMOS_CONFIG_FILE). Everything else works without it; only sending is skipped. - Optional automation: register a launchd LaunchAgent that runs
scripts/run.shon new recordings — setup, log reading, and Full Disk Access diagnostics inskills/voice-memos/references/watcher.md.
The source of truth is ~/.agents/skills/shared/. This repository's skills/ directory is generated; do not edit it directly. Run scripts/sync.sh after validating the shared skills, then validate both plugin manifests before committing.
배포 변환의 정본은 scripts/stage-skills.sh다. sync.sh와 외부 drift 검사는 이 진입점을
함께 사용한다. 제외 목록, crawl helper 번들, 문서 경로 치환을 소비자 쪽에 복사하지 않는다.
source_root="${AGENTS_ROOT:-$HOME/.agents}/skills/shared"
stage="$(mktemp -d)"
bash scripts/stage-skills.sh "$source_root" "$stage" agent-team crawl출력 경로는 source 밖에 있는 빈 실디렉터리여야 한다. 이 명령은 그 임시 경로에만 복사하며
정본, 배포본, Git, 하네스 설정을 바꾸지 않는다. allowlist, 정본 검증, 개인정보 검사,
배포본 교체는 계속 sync.sh의 책임이다. helper가 없거나 실패하면 외부 검사는
이를 drift 없음으로 해석하지 않고 미검증으로 보고해야 한다.
python3 -I tests/test_repository.py
python3 -I tests/test_staging.py
claude plugin validate .claude-plugin/plugin.json --strict
claude plugin validate .claude-plugin/marketplace.json --strictMIT © Seungwon An (Aiden) — see LICENSE.