Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add toss/apps-in-toss-harness --skill welcomegit clone --depth 1 https://github.com/toss/apps-in-toss-harnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/toss/apps-in-toss-harness/welcome)<a href="https://agentmods.dev/skills/toss/apps-in-toss-harness/welcome"><img src="https://agentmods.dev/badge/skills/toss/apps-in-toss-harness/welcome/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/toss/apps-in-toss-harness/welcome"><img src="https://agentmods.dev/badge/skills/toss/apps-in-toss-harness/welcome.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00081 | $0.05291 |
| Opus 5.5 | $0.00032 | $0.02116 |
| Sonnet 5.5 | $0.00016 | $0.01058 |
| Haiku 4.5 | $0.00008 | $0.00529 |
Grade A, and why
welcome scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 296 lines — stays where its author put it; the contents beside it link to each section on GitHub.
welcome skill
목적
/plugin install은 /ait 명령을 설치하지만 "이제 뭘 하라"는 신호를 인쇄하지
않는다. 이 skill은 그 station-0→1 hand-off를 메운다 — 설치 직후 사용자가
harness 전체 흐름을 한눈에 보고 첫 station(/ait:new)으로 곧장 들어가게 한다.
여기 더해 이 skill은 현재 환경·연동 상태를 가볍게 점검하고, 그 결과에 따라
다음 조치를 권유·제안하거나(사용자 동의 시) 전담 skill로 이어간다 — git·
Node/npm/npx 존재, cwd가 빈 디렉토리인지/기존 프로젝트인지, docs·콘솔 MCP
노출 여부, 프로젝트 .mcp.json의 ait-devtools 배선 여부가 대상이다.
빈 디렉토리부터 앱인토스 미니앱 출시까지 에이전트를 떠나지 않고 완주하는 흐름을
/ait 명령으로 엮는다.
실행 순서
1. 점검 (빠르게, 병렬)
읽기 전용이다 — 아무 파일도 쓰지 않는다.
a. 로컬 도구 — 한 번의 Bash 호출로 묶어 실행한다:
{ echo "git: $(git --version 2>&1)"; \
echo "node: $(node --version 2>&1)"; \
echo "npm: $(npm --version 2>&1)"; \
echo "npx: $(npx --version 2>&1)"; \
echo "package.json: $(test -f package.json && echo 있음 || echo 없음)"; \
echo "Packages/manifest.json: $(test -f Packages/manifest.json && echo 있음 || echo 없음)"; \
echo ".git: $(test -d .git && echo 있음 || echo 없음)"; \
echo "cwd entries: $(ls -A | wc -l | tr -d ' ')"; \
echo "config: ${CLAUDE_CONFIG_DIR:-$HOME/.claude}"; \
echo "plugin cache: $(ls "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/plugins/cache/apps-in-toss/ait" 2>/dev/null | tr '\n' ' ')"; \
echo "marketplace clone: $(test -d "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/plugins/marketplaces/apps-in-toss" && echo 있음 || echo 없음)"; \
} 2>&1
각 명령이 실패하거나(command not found 류) 버전 문자열을 못 내면 그 도구가
없는 것으로 본다 — 구체적인 최소 버전은 강제하지 않는다(harness가 검증한
유일한 하한은 new-miniapp/SKILL.md의 "Node 24+"이고, 그건 create-ait-app
engines.node >=24 근거다 — scaffold를 실제로 돌리는 /ait:new에서
재확인된다). 이 skill 단계에서는 실행 실패 시 설치/업그레이드를 권유하는
수준으로만 안내한다.
b. cwd 상태 — 위 출력의 cwd entries·.git과 프로젝트 표지 파일로 판단한다.
스택을 미리 가정하지 않는다. 기존 프로젝트면 루트의 package.json(scripts·
의존성)이나 프로젝트 파일, 있으면 README를 읽어 어떤 종류의 프로젝트인지 파악하고,
모호하면 사용자에게 묻는다. 여기서 정한 종류는 안내 문구를 고르는 데만 쓰고 파일은
쓰지 않는다.
cwd entries가 0(빈 디렉토리) → 다음 제안은/ait:new.- 웹 번들러 기반 프로젝트(
package.json이 있고 dev·build 스크립트나 번들러 설정이 보임) → 다음 제안은/ait:inject-devtools(devtools 미배선 시) 또는/ait:setup-debugger(디버깅 계획 시). 번들러가 무엇이든 배선 방법은inject가 패키지 README에서 읽어 정한다. - 기능을 붙이려는 기존 프로젝트 →
/ait:feature. 실기기 확인은 스택과 무관하게/ait:test-on-device다. - Unity 프로젝트(
Packages/manifest.json에 Apps in Toss Unity SDK 항목이 있음) → 웹 번들러용inject의 devtools·debug-console facet 대상이 아니다. 기능 구현은/ait:feature, 빌드한 결과의 실기기 확인은/ait:test-on-device로 안내한다. Unity 쪽 빌드 메뉴와.ait산출 경로는 웹과 달라서feature가 읽는../feature/references/stack-pitfalls.md와 docs MCP를 기준으로 삼는다. - Godot 같은 엔진의 HTML5 빌드 프로젝트 → 공식 SDK나 연동 가이드를 확인하지 못한
스택이다. 같은 이유로
inject대상이 아니며, 기능 구현은/ait:feature, 실기기 확인은/ait:test-on-device로 안내하되 엔진별 제약은 단정하지 말고 docs MCP로 확인한다고 알린다. .git없음 → git 저장소가 아니라는 사실만 알린다(초기화는 사용자 결정 — 이 skill은git init을 실행하지 않는다).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 296 lines · 81 tokens per session scan A 616310f6489a
welcome is a skill published in the GitHub repository toss/apps-in-toss-harness (186 stars, last pushed 3d ago), licensed BSD-3-Clause. It adds 81 tokens to every session and 5,291 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-23.
Other skills, from other repositories
orbit-notion
Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…
agentmail
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by your inbox assignment.
Cortex
LifeOS memory, prior-session recall, and learning capture. USE WHEN capture this learning, document this learning, what did we learn recently, recent learnings, cortex, knowledge, knowledge base, search knowledge, what do we know about, archive, harvest, knowledge status, develop note, add to knowledge, add a people…
rowboat-spaces
How to work as a member of Rowboat Spaces, the team chat where people and agents work together. Load it once per session, before acting on any request that reaches you from Rowboat; it covers your setup, mentions and hand-offs, the tools, and files.
pinchtab-mcp
Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.