Communitygithub.com

diegosouzapw/awesome-omni-skills

Astro Web Framework ワークフロースキル。ユーザーが Astro を使用してコンテンツ重視のウェブサイト(デフォルトでゼロJS、アイランドアーキテクチャ、マルチフレームワークコンポーネント、Markdown/MDX対応)を構築する必要がある場合に使用します。オペレーターは、マージや引き継ぎの前に上流のワークフロー、コピーされたサポートファイル、および出典を保持する必要があります。

awesome-omni-skills とは?

このスキルは、Astro Web フレームワークのワークフローを提供するためのインテークパッケージです。上流リポジトリ `https://github.com/sickn33/antigravity-awesome-skills` から `plugins/antigravity-awesome-skills/skills/astro` をパッケージ化し、その出典を隠すことなく Omni Skills のエディトリアルシェイプに適合させます。 オペレーターは、パブリックバリデーターとプライベートエンハンサーが通常の下流フローを継続する間、上流のワークフロー、サポートファイル、リポジトリコンテキストをそのまま維持する必要がある場合にこれを使用します。このインテークは、コピーされた上流ファイルをそのまま保持し、`metadata.json` 内の `external_source` ブロックと `ORIGIN.md` を出典のアンカーとしてレビューに使用します。 このスキルは、Astro のフレームワークとしての機能(ファイルベースルーティング、コンテンツコレクション、アイランドアーキテクチャによる選択的水和、SSR/SSG 出力)の詳細なガイドを提供します。Markdown/MDX サポート、コンポーネント構文、レイアウト、トラブルシューティングのベストプラクティスを網羅し、インポートされたワークフローを忠実に再現しつつ、オペレーターが出典を明確に追跡できるようにします。

対応✓Claude Code✓Codex CLI✓Cursor✓Antigravity✓Gemini CLI✓OpenCode
npx skills add https://github.com/diegosouzapw/awesome-omni-skills/tree/HEAD/skills/astro-v2

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Astro Web フレームワーク

概要

このパブリックインテークコピーは、https://github.com/sickn33/antigravity-awesome-skills から plugins/antigravity-awesome-skills/skills/astro をパッケージ化し、その出典を隠すことなく、ネイティブの Omni Skills エディトリアルシェイプに適合させます。

パブリックバリデーターとプライベートエンハンサーが通常の下流フローを続ける間、オペレーターが上流のワークフロー、サポートファイル、リポジトリコンテキストをそのまま維持する必要がある場合に使用します。

このインテークは、コピーされた上流ファイルをそのまま保持し、metadata.json 内の external_source ブロックと ORIGIN.md をレビューのための出典アンカーとして使用します。

Astro Web フレームワーク

パブリック見出しにきれいにマッピングされなかったインポート元セクションも、以下またはサポートファイルに保存されています。注目すべきインポートセクション: 仕組み、セキュリティと安全性に関する注意事項、よくある落とし穴、制限事項。

このスキルを使用するタイミング

このセクションをトリガーフィルターとして使用します。オペレーターがファイルをロードしたり、コマンドを実行したり、プルリクエストを開いたりする前に、アクティベーション境界を明確にする必要があります。

  • ブログ、ドキュメンテーションサイト、マーケティングページ、またはポートフォリオを構築する場合
  • パフォーマンスと Core Web Vitals が最優先事項である場合
  • プロジェクトが Markdown または MDX ファイルを使用したコンテンツ中心の場合
  • SSG(静的)出力を希望し、動的ルートにオプションで SSR を使用する場合
  • ユーザーが .astro ファイル、Astro.props、コンテンツコレクション、または client: ディレクティブについて質問する場合
  • リクエストがインポート元の意図と明確に一致する場合: Astro を使用してコンテンツ重視のウェブサイトを構築する — デフォルトでゼロ JS、アイランドアーキテクチャ、マルチフレームワークコンポーネント、Markdown/MDX サポート。

操作テーブル

状況開始場所なぜ重要か
初回使用時metadata.jsonコピーされたワークフローに触れる前に、external_source ブロックを通じてリポジトリ、ブランチ、コミット、インポートパスを確認します
出典レビューORIGIN.mdレビュー担当者にインポート元のわかりやすい監査証跡を提供します
ワークフロー実行SKILL.md実行を実質的に変更する最小のコピーファイルから開始します
サポートコンテキストSKILL.mdパッケージ全体をロードせずに、次に最も関連性の高いコピー元ソースファイルを追加します
引き継ぎ判断## 関連スキルタスクが逸脱した場合に、オペレーターがより強力なネイティブスキルに切り替えるのを支援します

ワークフロー

このワークフローは、意図的に編集的かつ運用的なものです。ダウンストリームのエンハンサーフローにフィードするパブリックインテーク基準を満たしながら、インポート元をオペレーターにとって有用に保ちます。

  1. ユーザーの目標、インポートされたワークフローの範囲、およびこのスキルがタスクに適したルーターであるかどうかを確認します。
  2. コピーされた上流サポートファイルをロードする前に、概要と出典ファイルを読みます。
  3. 現在のリクエストの結果を実質的に変更する参照、例、プロンプト、またはスクリプトのみをロードします。
  4. 作業メモで出典とソースの境界を明示的に保ちながら、上流のワークフローを実行します。
  5. 上流の期待と、コピーされたファイルで指摘できる証拠に対して結果を検証します。
  6. 作業がこのインポートワークフローの重心から外れた場合、関連スキルにエスカレーションまたは引き継ぎます。
  7. マージまたはクローズの前に、何が使用され、何が変更され、レビュー担当者がまだ何を検証する必要があるかを記録します。

インポートされたワークフローノート

インポート: 概要

Astro は、コンテンツが豊富なウェブサイト(ブログ、ドキュメント、ポートフォリオ、マーケティングサイト、Eコマース)向けに設計されたウェブフレームワークです。その中核的な革新はアイランドアーキテクチャです。デフォルトでは、Astro はブラウザにゼロの JavaScript を配信します。インタラクティブなコンポーネントは、分離された「アイランド」として選択的にハイドレートされます。Astro は、React、Vue、Svelte、Solid、およびその他の UI フレームワークを同じプロジェクトで同時にサポートし、コンポーネントごとに適切なツールを選択できます。

インポート: 仕組み

ステップ 1: プロジェクトセットアップ

npm create astro@latest my-site
cd my-site
npm install
npm run dev

必要に応じてインテグレーションを追加:

npx astro add tailwind        # Tailwind CSS
npx astro add react           # React コンポーネントサポート
npx astro add mdx             # MDX サポート
npx astro add sitemap         # 自動 sitemap.xml
npx astro add vercel          # Vercel SSR アダプター

プロジェクト構造:

src/
  pages/          ← ファイルベースルーティング (.astro, .md, .mdx)
  layouts/        ← 再利用可能なページシェル
  components/     ← UI コンポーネント (.astro, .tsx, .vue など)
  content/        ← タイプセーフなコンテンツコレクション (Markdown/MDX)
  styles/         ← グローバル CSS
public/           ← 静的アセット (そのままコピー)
astro.config.mjs  ← フレームワーク設定

ステップ 2: Astro コンポーネント構文

.astro ファイルは、上部にコードフェンス(サーバー専用)があり、その下にテンプレートがあります:

---
// src/components/Card.astro
// このブロックはサーバー上でのみ実行されます — ブラウザでは決して実行されません
interface Props {
  title: string;
  href: string;
  description: string;
}

const { title, href, description } = Astro.props;
---

<article class="card">
  <h2><a href={href}>{title}</a></h2>
  <p>{description}</p>
</article>

<style>
  /* このコンポーネントに自動的にスコープされます */
  .card { border: 1px solid #eee; padding: 1rem; }
</style>

ステップ 3: ファイルベースのページとルーティング

src/pages/index.astro          → /
src/pages/about.astro          → /about
src/pages/blog/[slug].astro    → /blog/:slug (動的)
src/pages/blog/[...path].astro → /blog/* (キャッチオール)

getStaticPaths を使用した動的ルート:

---
// src/pages/blog/[slug].astro
export async function getStaticPaths() {
  const posts = await getCollection('blog');
  return posts.map(post => ({
    params: { slug: post.slug },
    props: { post },
  }));
}

const { post } = Astro.props;
const { Content } = await post.render();
---

<h1>{post.data.title}</h1>
<Content />

ステップ 4: コンテンツコレクション

コンテンツコレクションは、Markdown および MDX ファイルへのタイプセーフなアクセスを提供します:

// src/content/config.ts
import { z, defineCollection } from 'astro:content';

const blog = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    date: z.coerce.date(),
    tags: z.array(z.string()).default([]),
    draft: z.boolean().default(false),
  }),
});

export const collections = { blog };
---
// src/pages/blog/index.astro
import { getCollection } from 'astro:content';

const posts = (await getCollection('blog'))
  .filter(p => !p.data.draft)
  .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
---

<ul>
  {posts.map(post => (
    <li>
      <a href={`/blog/${post.slug}`}>{post.data.title}</a>
      <time>{post.data.date.toLocaleDateString()}</time>
    </li>
  ))}
</ul>

ステップ 5: アイランド — 選択的水和

デフォルトでは、UI フレームワークコンポーネントは JS なしで静的 HTML にレンダリングされます。client: ディレクティブを使用してハイドレートします:

---
import Counter from '../components/Counter.tsx';  // React コンポーネント
import VideoPlayer from '../components/VideoPlayer.svelte';
---

<!-- 静的 HTML — ブラウザに JavaScript は送信されません -->
<Counter initialCount={0} />

<!-- ページ読み込み時に即座にハイドレート -->
<Counter initialCount={0} client:load />

<!-- コンポーネントがビューポートにスクロールされたときにハイドレート -->
<VideoPlayer src="/demo.mp4" client:visible />

<!-- ブラウザがアイドル状態のときにのみハイドレート -->
<Analytics client:idle />

<!-- 特定のメディアクエリでのみハイドレート -->
<MobileMenu client:media="(max-width: 768px)" />

ステップ 6: レイアウト

---
// src/layouts/BaseLayout.astro
interface Props {
  title: string;
  description?: string;
}
const { title, description = 'My Astro Site' } = Astro.props;
---

<html lang="ja">
  <head>
    <meta charset="utf-8" />
    <title>{title}</title>
    <meta name="description" content={description} />
  </head>
  <body>
    <nav>...</nav>
    <main>
      <slot />  <!-- ページコンテンツはここにレンダリングされます -->
    </main>
    <footer>...</footer>
  </body>
</html>
---
// src/pages/about.astro
import BaseLayout from '../layouts/BaseLayout.astro';
---

<BaseLayout title="About Us">
  <h1>私たちについて</h1>
  <p>私たちの会社へようこそ...</p>
</BaseLayout>

ステップ 7: SSR モード(オンデマンドレンダリング)

アダプターを設定することで、動的ページに SSR を有効にします:

// astro.config.mjs
import { defineConfig } from 'astro/config';
import vercel from '@astrojs/vercel/serverless';

export default defineConfig({
  output: 'hybrid',  // 'static' | 'server' | 'hybrid'
  adapter: vercel(),
});

export const prerender = false で個々のページを SSR にオプトインします。

例

例 1: 上流ワークフローを直接依頼する

@astro-v2 を使用して <task> を処理します。コピーされた上流ワークフローから開始し、結果を変更するファイルのみをロードし、回答内で出典を可視化します。

説明: これは、オペレーターがインポートされたワークフローを必要とするが、リポジトリ全体は必要としない場合の最も安全な開始点です。

例 2: 出典に基づいたレビューを依頼する

metadata.json と ORIGIN.md に照らして @astro-v2 をレビューし、最初にどのコピー元上流ファイルをロードするか、その理由を説明します。

説明: レビューまたはトラブルシューティングの前に、出典とファイル選択の正確で監査可能な説明が必要な場合にこれを使用します。

例 3: 実行前にコピーされたサポートファイルを絞り込む

<task> に @astro-v2 を使用します。結果を変更するコピーされた参照、例、またはスクリプトのみをロードし、作業を進める前にファイルを明示的に指定します。

説明: これにより、デフォルトでコピーされたパッケージ全体をロードするのではなく、スキルを段階的な開示に合わせることができます。

例 4: レビュー担当者用パケットを作成する

コピーされた上流ファイルと出典を使用して @astro-v2 をレビューし、マージ前のギャップを要約します。

説明: PR が人間のレビューを待っており、再現可能な監査パケットが必要な場合に便利です。

インポートされた使用上の注意

インポート: 例

例 1: RSS フィード付きブログ

// src/pages/rss.xml.ts
import rss from '@astrojs/rss';
import { getCollection } from 'astro:content';

export async function GET(context) {
  const posts = await getCollection('blog');
  return rss({
    title: 'My Blog',
    description: '最新の投稿',
    site: context.site,
    items: posts.map(post => ({
      title: post.data.title,
      pubDate: post.data.date,
      link: `/blog/${post.slug}/`,
    })),
  });
}

例 2: API エンドポイント (SSR)

// src/pages/api/subscribe.ts
import type { APIRoute } from 'astro';

export const POST: APIRoute = async ({ request }) => {
  const { email } = await request.json();

  if (!email) {
    return new Response(JSON.stringify({ error: 'メールアドレスが必要です' }), {
      status: 400,
      headers: { 'Content-Type': 'application/json' },
    });
  }

  await addToNewsletter(email);
  return new Response(JSON.stringify({ success: true }), { status: 200 });
};

例 3: アイランドとしての React コンポーネント

// src/components/SearchBox.tsx
import { useState } from 'react';

export default function SearchBox() {
  const [query, setQuery] = useState('');
  const [results, setResults] = useState([]);

  async function search(e: React.FormEvent) {
    e.preventDefault();
    const data = await fetch(`/api/search?q=${query}`).then(r => r.json());
    setResults(data);
  }

  return (
    <form onSubmit={search}>
      <input value={query} onChange={e => setQuery(e.target.value)} />
      <button type="submit">検索</button>
      <ul>{results.map(r => <li key={r.id}>{r.title}</li>)}</ul>
    </form>
  );
}
---
import SearchBox from '../components/SearchBox.tsx';
---
<!-- 即座にハイドレート — このアイランドはインタラクティブです -->
<SearchBox client:load />

ベストプラクティス

生成されたパブリックスキルを、上流リポジトリのレビュー可能なパッケージングレイヤーとして扱います。目標は、出典を明示的に保ち、実行を実質的に改善するコピーされたソースマテリアルのみをロードすることです。

  • ✅ ほとんどのコンポーネントを静的 .astro ファイルとして保持 — インタラクティブにする必要があるもののみハイドレート
  • ✅ すべての Markdown/MDX コンテンツにコンテンツコレクションを使用 — タイプセーフティと自動検証が得られます
  • ✅ スクロール位置より下のコンポーネントには client:load よりも client:visible を優先 — 初期 JS を削減
  • ✅ 環境変数には import.meta.env を使用 — パブリック変数には PUBLIC_ をプレフィックス
  • ✅ astro:transitions から を追加 — フル SPA なしでスムーズなページナビゲーションを実現
  • ❌ すべてのコンポーネントに client:load を使用しない — これでは Astro のパフォーマンス上の利点が損なわれます
  • ❌ クライアント向けテンプレートで使用される .astro フロントマターにシークレットを入れない

インポートされた運用ノート

インポート: ベストプラクティス

  • ✅ ほとんどのコンポーネントを静的 .astro ファイルとして保持 — インタラクティブにする必要があるもののみハイドレート
  • ✅ すべての Markdown/MDX コンテンツにコンテンツコレクションを使用 — タイプセーフティと自動検証が得られます
  • ✅ スクロール位置より下のコンポーネントには client:load よりも client:visible を優先 — 初期 JS を削減
  • ✅ 環境変数には import.meta.env を使用 — パブリック変数には PUBLIC_ をプレフィックス
  • ✅ astro:transitions から <ViewTransitions /> を追加 — フル SPA なしでスムーズなページナビゲーションを実現
  • ❌ すべてのコンポーネントに client:load を使用しない — これでは Astro のパフォーマンス上の利点が損なわれます
  • ❌ クライアント向けテンプレートで使用される .astro フロントマターにシークレットを入れない
  • ❌ 静的モードでの動的ルートに getStaticPaths をスキップしない — ビルドが失敗します

トラブルシューティング

問題: オペレーターがインポートされたコンテキストをスキップし、あまりに一般的に回答した

症状: 結果が plugins/antigravity-awesome-skills/skills/astro の上流ワークフローを無視し、出典に言及せず、コピーされたソースファイルをまったく使用しません。 解決策: metadata.json、ORIGIN.md、および最も関連性の高いコピーされた上流ファイルを再度開きます。最初に external_source ブロックを確認し、続行する前に出典を再表明します。

問題: レビュー中にインポートされたワークフローが不完全に感じられる

…

[翻訳のため省略]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

diegosouzapw/awesome-omni-skills

AgentFolio workflow skill. Use this skill when the user needs Skill for discovering and researching autonomous AI agents, tools, and ecosystems using the AgentFolio directory and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

AgentFolio workflow skill. Use this skill when the user needs Skill for discovering and researching autonomous AI agents, tools, and ecosystems using the AgentFolio directory and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Agent skill at skills/ai-ugc-ads/SKILL.md

diegosouzapw/awesome-omni-skills

Copy Editing workflow skill. Use this skill when the user needs You are an expert copy editor specializing in marketing and conversion copy. Your goal is to systematically improve existing copy through focused editing passes while preserving the core message and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Copy Editing workflow skill. Use this skill when the user needs You are an expert copy editor specializing in marketing and conversion copy. Your goal is to systematically improve existing copy through focused editing passes while preserving the core message and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Copy Editing workflow skill. Use this skill when the user needs You are an expert copy editor specializing in marketing and conversion copy. Your goal is to systematically improve existing copy through focused editing passes while preserving the core message and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Fal Image Edit workflow skill. Use this skill when the user needs AI-powered image editing with style transfer and object removal and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Fal Image Edit workflow skill. Use this skill when the user needs AI-powered image editing with style transfer and object removal and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

frontend-design workflow skill. Use this skill when the user needs Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics. Do NOT use for design review or audit (use web-design-guidelines or web-quality-audit) and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Frontend Design (Distinctive, Production-Grade) workflow skill. Use this skill when the user needs You are a frontend designer-engineer, not a layout generator and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

i18n & Localization workflow skill. Use this skill when the user needs Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

i18n & Localization workflow skill. Use this skill when the user needs Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Interactive Portfolio workflow skill. Use this skill when the user needs Expert in building portfolios that actually land jobs and clients - and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Interactive Portfolio workflow skill. Use this skill when the user needs Expert in building portfolios that actually land jobs and clients - and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Landing Page Generator workflow skill. Use this skill when the user needs Generates high-converting Next.js/React landing pages with Tailwind CSS. Uses PAS, AIDA, and BAB frameworks for optimized copy/components (Heroes, Features, Pricing). Focuses on Core Web Vitals/SEO and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Landing Page Generator workflow skill. Use this skill when the user needs Generates high-converting Next.js/React landing pages with Tailwind CSS. Uses PAS, AIDA, and BAB frameworks for optimized copy/components (Heroes, Features, Pricing). Focuses on Core Web Vitals/SEO and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Interactive Portfolio workflow skill. Use this skill when the user needs Expert in building portfolios that actually land jobs and clients - and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

Paid Creative AI workflow skill. Use this skill when the user needs When the user wants to create AI-generated ad creative, test performance creative, manage creative fatigue, or optimize paid media with AI tools. Also use when the user mentions 'ad creative,' 'performance creative,' 'creative testing,' 'creative fatigue,' 'Meta ads,' 'Google ads,' 'TikTok ads,' 'AI ads,' 'ad budget,' 'ROAS,' 'Advantage+,' or 'Performance Max.' This skill covers AI-powered paid creative from generation through performance optimization. Do NOT use for technical implementation, code review, or software architecture and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

SEO-AEO Landing Page Writer workflow skill. Use this skill when the user needs Writes complete, structured landing pages optimized for SEO ranking, AEO citation, and visitor conversion. Activate when the user wants to write or generate a landing page for a product, service, or offer and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

diegosouzapw/awesome-omni-skills

SEO-AEO Landing Page Writer workflow skill. Use this skill when the user needs Writes complete, structured landing pages optimized for SEO ranking, AEO citation, and visitor conversion. Activate when the user wants to write or generate a landing page for a product, service, or offer and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

関連スキル