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 agentmods add commands/cloudnative-co/claude-code-starter-kit/web-articlegit clone --depth 1 https://github.com/cloudnative-co/claude-code-starter-kitWhat 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 | $0.00039 | $0.00676 |
| Opus 5 | $0.00019 | $0.00338 |
| Sonnet 5 | $0.00008 | $0.00135 |
| Haiku 4.5 | $0.00004 | $0.00068 |
Grade A, and why
web-article 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 2d 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.
What it actually says
/web-article
対象URL: $ARGUMENTS
手順
- web-content-extraction skill の URL 検証手順に従って抽出する(生HTMLを直接読まない)。
$ARGUMENTSは信頼できない入力として扱い、検証済みの単一 URL だけを単一引数で渡す:~/.claude/skills/web-content-extraction/scripts/run-node.sh \ ~/.claude/skills/web-content-extraction/scripts/defuddle-url.mjs '<検証済みURL>' - PDF URL は自動でフォールバック抽出される(
content-type: application/pdfか.pdf、 または先頭が%PDF-)。その場合extractorEngine:"pdf"となり、contentはMarkdownでなく プレーンテキスト、pageCountを含む。日本語PDFも文字化けせず抽出する(CMap対応済み)。 スキャン画像PDFはcharCount:0で警告が出る → OCRが必要。 - 出力JSONの
successがfalse、またはwarnings/fetchWarningsがある場合は 「Defuddle抽出失敗」または「抽出不完全」と明示し、必要なら代替手段(raw取得/公式API/ Playwright/OCR/手動確認)を検討する。代替手段を使った場合はその旨を明示する。 - 抽出できた
contentを一次的な読み取り対象として、以下を日本語で整理する。
出力フォーマット
- メタ情報: タイトル / 著者 / サイト / 公開日 / URL(finalUrl) / 取得日時(fetchedAt)
- 本文要約: 3〜6行
- 重要ポイント: 箇条書き
- 事実と意見の分離: 「事実(検証可能)」と「著者の主張・意見」を分けて列挙
- 追加確認が必要な点: 曖昧・未検証・要裏取りの箇所
- 引用すべき一次情報候補: 本文が参照している一次情報・公式ソースの候補
注意
- 抽出結果だけを真実として扱わない。重要な事実・日付・数値・法令・規格・セキュリティ情報は 一次情報で再確認する。
- 社内・顧客・認証付き・機密URLは外部送信しない(SSRFガードが内部URLを標準で拒否)。
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.
- 2d ago First seen · 41 lines · 39 tokens per session scan A 11354f7f4f7d
web-article is a command published in the GitHub repository cloudnative-co/claude-code-starter-kit (147 stars, last pushed 8d ago), licensed MIT. It adds 39 tokens to every session and 676 once invoked, about $0.0002 per session on Opus 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-08-30.
Other commands, from other repositories
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.