スキル last30days
📦

last30days

コンテンツリビジョン r1 高リスク 🌐 ネットワークアクセス📁 ファイルシステムへのアクセス🔑 環境変数⚡ スクリプトを含む⚙️ 外部コマンド

現在のコミュニティトレンドを調査

変化の速いトピックを記憶だけで調査するのは困難です。このスキルは、最近のReddit、X、Web上のシグナルを収集し、それを実践的なガイダンスに変換します。

対応: Claude Codex Code(CC)
⚠️ 38 不十分

自分のエージェントでインストール

このリクエストをエージェントにコピーしてください。正規の Skill ページとマニフェストが含まれています。

エージェントリクエスト
Review the Skillstore skill "last30days" from https://skillstore.io/skills/sickn33-last30days.md and its manifest at https://skillstore.io/api/skills/sickn33-last30days/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.

エージェントは引き続き計画を提示し、セキュリティポリシーで必要な確認を求める必要があります。

エージェントが読めるリソース

AI エージェント、クローラー、スクリプトがページ全体ではなく整理されたコンテキストを必要とする場合は、これらのリンクを使ってください。

テストする

「last30days」を使用しています。 /last30days best Claude Code skills

期待される結果:

言及されたスキル、マーケットプレイス、リソースを、ソースの種類とエンゲージメントの注記付きでランク付けした要約。

「last30days」を使用しています。 /last30days iOS app mockups for Nano Banana Pro

期待される結果:

現在のUIプロンプトパターンを統合し、その後に対象の画像ツール向けに調整されたプロンプト形式を提示します。

「last30days」を使用しています。 /last30days what are people saying about DeepSeek R1

期待される結果:

ポジティブなテーマ、懸念点、最も強く繰り返されている論点を含む最近のセンチメント要約。

セキュリティ監査

高リスク

Confirmed runtime network calls to OpenAI, xAI, and Reddit, plus API-key handling, hidden configuration loading, and local report/cache writes. Most markdown, plan, test, and fixture hits are false positives, but one packaged photo contains GPS EXIF metadata. No evidence found of prompt-injection text that tries to bypass security review.

36
スキャンされたファイル
7,069
解析済み行数
66
レビュー項目
0
誤検知を無視

確認済みのセキュリティ上の懸念 (4)

高
Environment file access
CONFIG_FILE = CONFIG_DIR / ".env"
The environment helper defines and loads ~/.config/last30days/.env. This is legitimate configuration loading, but it reads a hidden file that may contain API keys.
高
Environment file access
"""Load configuration from ~/.config/last30days/.env and environment."""
The environment helper defines and loads ~/.config/last30days/.env. This is legitimate configuration loading, but it reads a hidden file that may contain API keys.
高
Environment file access
cat > ~/.config/last30days/.env << 'ENVEOF'
The setup instructions solicit OpenAI or xAI API keys for storage in ~/.config/last30days/.env. Legitimate optional setup still handles sensitive credentials.
高
Environment file access
chmod 600 ~/.config/last30days/.env
The setup instructions solicit OpenAI or xAI API keys for storage in ~/.config/last30days/.env. Legitimate optional setup still handles sensitive credentials.
機能レビュー項目 (66)

これらは、このスキルに期待される可能性のある実際のローカル機能であるため、レビューが必要ですが、確認済みの悪意ある動作としてはカウントされません。

高
Generic API/secret keys
config["OPENAI_API_KEY"],
The main pipeline passes configured API keys into OpenAI or xAI search clients for outbound requests. This is intended behavior, but it handles user secrets.
高
Generic API/secret keys
config["OPENAI_API_KEY"],
The main pipeline passes configured API keys into OpenAI or xAI search clients for outbound requests. This is intended behavior, but it handles user secrets.
高
Generic API/secret keys
config["XAI_API_KEY"],
The main pipeline passes configured API keys into OpenAI or xAI search clients for outbound requests. This is intended behavior, but it handles user secrets.
高
Hidden file in home directory
"""Load configuration from ~/.config/last30days/.env and environment."""
The environment helper defines and loads ~/.config/last30days/.env. This is legitimate configuration loading, but it reads a hidden file that may contain API keys.
高
Generic API/secret keys
'OPENAI_API_KEY': os.environ.get('OPENAI_API_KEY') or file_env.get('OPENAI_API_KEY'),
The code reads OPENAI_API_KEY or XAI_API_KEY from process environment or the .env file. These are sensitive credentials used by provider clients.
高
Generic API/secret keys
'XAI_API_KEY': os.environ.get('XAI_API_KEY') or file_env.get('XAI_API_KEY'),
The code reads OPENAI_API_KEY or XAI_API_KEY from process environment or the .env file. These are sensitive credentials used by provider clients.
高
Generic API/secret keys
has_openai = bool(config.get('OPENAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
高
Generic API/secret keys
has_xai = bool(config.get('XAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
高
Generic API/secret keys
has_openai = bool(config.get('OPENAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
高
Generic API/secret keys
has_xai = bool(config.get('XAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
高
Generic API/secret keys
headers = {"Authorization": f"Bearer {api_key}"}
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
高
Generic API/secret keys
if config.get("OPENAI_API_KEY"):
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
高
Generic API/secret keys
config["OPENAI_API_KEY"],
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
高
Generic API/secret keys
if config.get("XAI_API_KEY"):
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
高
Generic API/secret keys
config["XAI_API_KEY"],
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
高
Generic API/secret keys
"Authorization": f"Bearer {api_key}",
The OpenAI client places the API key in an Authorization bearer header. This is necessary for the feature but is real secret transmission to an external API.
高
Generic API/secret keys
"Authorization": f"Bearer {api_key}",
The xAI client places the API key in an Authorization bearer header. This is necessary for the feature but is real secret transmission to an external API.
高
Hidden file in home directory
mkdir -p ~/.config/last30days
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
高
Hidden file in home directory
cat > ~/.config/last30days/.env << 'ENVEOF'
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
高
Hidden file in home directory
chmod 600 ~/.config/last30days/.env
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
高
Hidden file in home directory
python3 ~/.claude/skills/last30days/scripts/last30days.py "$ARGUMENTS" --emit=compact 2>&1
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
高
Generic API/secret keys
OPENAI_API_KEY=
The setup instructions solicit OpenAI or xAI API keys for storage in ~/.config/last30days/.env. Legitimate optional setup still handles sensitive credentials.
高
Generic API/secret keys
XAI_API_KEY=
The setup instructions solicit OpenAI or xAI API keys for storage in ~/.config/last30days/.env. Legitimate optional setup still handles sensitive credentials.
中
Python file write/append
with open(cache_path, 'w') as f:
The cache helper writes JSON files under the user cache directory. The path is controlled by the application, but it persists user research data locally.
中
Python file write/append
with open(MODEL_CACHE_FILE, 'w') as f:
The cache helper writes JSON files under the user cache directory. The path is controlled by the application, but it persists user research data locally.
中
Hidden file access
"""Load configuration from ~/.config/last30days/.env and environment."""
The environment helper defines and loads ~/.config/last30days/.env. This is legitimate configuration loading, but it reads a hidden file that may contain API keys.
中
Python file write/append
with open(OUTPUT_DIR / "report.json", 'w') as f:
The renderer writes reports, context files, and raw provider responses under ~/.local/share/last30days/out. This persists user research output and raw API data locally.
中
Python file write/append
with open(OUTPUT_DIR / "report.md", 'w') as f:
The renderer writes reports, context files, and raw provider responses under ~/.local/share/last30days/out. This persists user research output and raw API data locally.
中
Python file write/append
with open(OUTPUT_DIR / "last30days.context.md", 'w') as f:
The renderer writes reports, context files, and raw provider responses under ~/.local/share/last30days/out. This persists user research output and raw API data locally.
中
Python file write/append
with open(OUTPUT_DIR / "raw_openai.json", 'w') as f:
The renderer writes reports, context files, and raw provider responses under ~/.local/share/last30days/out. This persists user research output and raw API data locally.
中
Python file write/append
with open(OUTPUT_DIR / "raw_xai.json", 'w') as f:
The renderer writes reports, context files, and raw provider responses under ~/.local/share/last30days/out. This persists user research output and raw API data locally.
中
Python file write/append
with open(OUTPUT_DIR / "raw_reddit_threads_enriched.json", 'w') as f:
The renderer writes reports, context files, and raw provider responses under ~/.local/share/last30days/out. This persists user research output and raw API data locally.
中
Hidden file access
mkdir -p ~/.config/last30days
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
中
Hidden file access
cat > ~/.config/last30days/.env << 'ENVEOF'
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
中
Hidden file access
chmod 600 ~/.config/last30days/.env
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
中
Hidden file access
python3 ~/.claude/skills/last30days/scripts/last30days.py "$ARGUMENTS" --emit=compact 2>&1
The skill instructions explicitly create or use hidden paths under ~/.config or ~/.claude during setup and execution. This is user-directed but still a real filesystem side effect.
低
Python environment access
os.environ["LAST30DAYS_DEBUG"] = "1"
The --debug option mutates LAST30DAYS_DEBUG in the process environment to increase logging. It is intentional and low impact, but it is real environment manipulation.
低
Python environment access
'OPENAI_API_KEY': os.environ.get('OPENAI_API_KEY') or file_env.get('OPENAI_API_KEY'),
The code reads OPENAI_API_KEY or XAI_API_KEY from process environment or the .env file. These are sensitive credentials used by provider clients.
低
Python environment access
'XAI_API_KEY': os.environ.get('XAI_API_KEY') or file_env.get('XAI_API_KEY'),
The code reads OPENAI_API_KEY or XAI_API_KEY from process environment or the .env file. These are sensitive credentials used by provider clients.
低
Python environment access
'OPENAI_MODEL_POLICY': os.environ.get('OPENAI_MODEL_POLICY') or file_env.get('OPENAI_MODEL_POLICY',
The code reads model policy configuration from the environment or .env file. This is low-severity configuration access that can alter provider behavior.
低
Python environment access
'OPENAI_MODEL_PIN': os.environ.get('OPENAI_MODEL_PIN') or file_env.get('OPENAI_MODEL_PIN'),
The code reads model policy configuration from the environment or .env file. This is low-severity configuration access that can alter provider behavior.
低
Python environment access
'XAI_MODEL_POLICY': os.environ.get('XAI_MODEL_POLICY') or file_env.get('XAI_MODEL_POLICY', 'latest')
The code reads model policy configuration from the environment or .env file. This is low-severity configuration access that can alter provider behavior.
低
Python environment access
'XAI_MODEL_PIN': os.environ.get('XAI_MODEL_PIN') or file_env.get('XAI_MODEL_PIN'),
The code reads model policy configuration from the environment or .env file. This is low-severity configuration access that can alter provider behavior.
低
Configuration library
has_openai = bool(config.get('OPENAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
低
Configuration library
has_xai = bool(config.get('XAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
低
Configuration library
has_openai = bool(config.get('OPENAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
低
Configuration library
has_xai = bool(config.get('XAI_API_KEY'))
The code checks whether OpenAI or xAI keys are present to select active sources. This is intentional, but it is real credential-aware behavior.
低
HTTP client library
def request(
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
HTTP client library
return request("GET", url, headers=headers, **kwargs)
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
HTTP client library
return request("POST", url, headers=headers, json_data=json_data, **kwargs)
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
Python HTTP libraries
import urllib.request
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
Python HTTP libraries
req = urllib.request.Request(url, data=data, headers=headers, method=method)
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
Python HTTP libraries
with urllib.request.urlopen(req, timeout=timeout) as response:
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
Hardcoded URL
url = f"https://www.reddit.com{path}?raw_json=1"
The HTTP helper imports urllib, constructs requests, and opens URLs including Reddit JSON endpoints. This is intentional outbound network access.
低
Python environment access
DEBUG = os.environ.get("LAST30DAYS_DEBUG", "").lower() in ("1", "true", "yes")
The module reads LAST30DAYS_DEBUG from the environment to enable diagnostic logging. This is real but low-severity environment-controlled behavior.
低
HTTP/HTTPS get
response = http.get(OPENAI_MODELS_URL, headers=headers)
The model selector uses the OpenAI models endpoint through the shared HTTP client. This is intentional outbound provider communication.
低
Hardcoded URL
OPENAI_MODELS_URL = "https://api.openai.com/v1/models"
The model selector uses the OpenAI models endpoint through the shared HTTP client. This is intentional outbound provider communication.
低
Configuration library
if config.get("OPENAI_API_KEY"):
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
低
Configuration library
config.get("OPENAI_MODEL_POLICY", "auto"),
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
低
Configuration library
config.get("OPENAI_MODEL_PIN"),
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
低
Configuration library
if config.get("XAI_API_KEY"):
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
低
Configuration library
config.get("XAI_MODEL_POLICY", "latest"),
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
低
Configuration library
config.get("XAI_MODEL_PIN"),
The model selector checks configured API keys and uses an Authorization header for provider model discovery. This is legitimate but handles sensitive credentials.
低
Hardcoded URL
OPENAI_RESPONSES_URL = "https://api.openai.com/v1/responses"
The OpenAI Responses endpoint is the active destination for Reddit discovery. The skill intentionally makes authenticated external API calls.
低
HTTP/HTTPS get
data = http.get_reddit_json(path)
The Reddit enrichment flow calls http.get_reddit_json for fetched thread URLs. This is intended outbound network access to reddit.com.
低
Hardcoded URL
XAI_RESPONSES_URL = "https://api.x.ai/v1/responses"
The xAI Responses endpoint is the active destination for X search. The skill intentionally makes authenticated external API calls.

リスク要因

🌐 ネットワークアクセス (31)
📁 ファイルシステムへのアクセス (50)
🔑 環境変数 (50)
⚡ スクリプトを含む (1)
⚙️ 外部コマンド (43)
監査者: codex 監査履歴を表示 →
このレポートを共有・引用

バージョン付き評価レポート、中立的なバッジ、埋め込みカード、引用を共有できます。Skillstore は証拠を報告しますが、この Skill が安全かどうかは判断しません。

バージョン別レポートを開く
セキュリティ評価

レポートリンクをコピー

https://skillstore.io/skills/sickn33-last30days/audits/5?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdownバッジ

[![Skillstore security assessment](https://skillstore.io/badges/skills/sickn33-last30days/security.svg)](https://skillstore.io/skills/sickn33-last30days?utm_source=security_passport_badge)

HTMLバッジ

<a href="https://skillstore.io/skills/sickn33-last30days?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/sickn33-last30days/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

埋め込みカード

<iframe src="https://skillstore.io/embed/skills/sickn33-last30days.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
学術引用 (APA · BibTeX · CFF)

APA形式の引用

sickn33. (2026). last30days security audit report (audit version 5) [Author version unspecified]. Skillstore. https://skillstore.io/skills/sickn33-last30days/audits/5

BibTeX形式の引用

@techreport{sickn33-sickn33-last30days-2026, author = {sickn33}, title = {last30days security audit report (audit version 5)}, institution = {Skillstore}, year = {2026}, number = {5}, url = {https://skillstore.io/skills/sickn33-last30days/audits/5}, note = {Author version unspecified} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "last30days security audit report (audit version 5)" version: "unspecified" type: report authors: - name: "sickn33" date-released: "2026-07-09" url: "https://skillstore.io/skills/sickn33-last30days/audits/5" identifiers: - type: other value: "skillstore:sickn33-last30days:audit:5" description: "Skillstore immutable audit report identifier"

Skillstore スコア

このスコアの理由 証拠の信頼度: 中
73
アーキテクチャ
85
保守性
85
コンテンツ
69
コミュニティ
83
仕様準拠

作成できるもの

現在のプロンプトパターンを見つける

画像、音楽、コーディング、文章作成ツール向けのプロンプトを書く前に、最近の例やコミュニティの助言を調査します。

プロダクトの反応を追跡する

過去1か月にReddit、X、Webでツール、ローンチ、トレンドについて何が語られているかを比較します。

推薦リストを作成する

エンゲージメントシグナルに裏付けられた、頻繁に言及されるツール、スキル、リソース、プロダクトを特定します。

これらのプロンプトを試す

基本的な最近の調査
/last30days {topic}
ツール向けのプロンプト作成
/last30days {topic} prompts for {target tool}
推薦候補のスキャン
/last30days best {tool category or product type}
詳細な統合リクエスト
/last30days {topic} for {target tool} --deep

ベストプラクティス

  • 検索が古い話題や関連トピックに逸れないよう、正確なトピック名を使用します。
  • RedditまたはXのエンゲージメント指標が重要な場合にのみAPI keyを追加します。
  • 機密性の高いトピック、法律、金融、医療に関するトピックで行動する前に、生のソースを確認します。

回避

  • Web専用の出力を、RedditとXを含む完全なカバレッジと同等に扱わないでください。
  • 新しいクエリを実行せずに、古い調査を別のトピックに再利用しないでください。
  • 非公開データを調査トピックや生成プロンプトに貼り付けないでください。

よくある質問

このスキルはAPI keyなしで動作しますか?
はい。Web検索にフォールバックしますが、RedditとXのエンゲージメント指標は利用できません。
どのサービスを検索できますか?
OpenAI経由のReddit、xAI経由のX、およびアシスタントのWeb検索ツールを使用できます。
出力はどこに保存されますか?
ローカルのlast30days出力ディレクトリ配下に、レポート、コンテキストファイル、生レスポンスを書き込みます。
コーディング以外のツール向けのプロンプトを作成できますか?
はい。例として、画像生成、音楽生成、プロダクト調査、一般的なトレンド分析があります。
結果はどのくらい新しいものですか?
このパイプラインは過去30日間を対象とし、日付シグナルが利用できる場合は日付付き項目をフィルタリングします。
機密調査に使用しても安全ですか?
注意して使用してください。APIベースのRedditまたはX検索が有効な場合、トピックが外部プロバイダーに送信される可能性があります。

開発者情報

作成者

sickn33

ライセンス

MIT

Skillstore リビジョン

r1

バージョンに関する注意

作者はバージョンを宣言していません。

参照

3e4b6c31a74a3bd1a291c98cf585d720cb9fbc88

メンテナンスの新しさ

2026/7/18

利用状況

41 ダウンロード · 159 閲覧