A2A agent protocol interoperability, Agent Cards, and MCP bridging / Protokol agen A2A, Agent Cards, dan integrasi MCP.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for Headless CMS integration (Sanity, Payload CMS, Strapi, Contentful, Storyblok) with modern frameworks / Panduan ahli integrasi Headless CMS (Sanity, Payload, Strapi, Contentful) dengan framework modern.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
<a name="english"></a>
Connects and orchestrates with domain skills:
senior-frontend, design-system-architect, ui-ux-pro-max, modern-web-guidance, and anti-slop for rendering structured CMS blocks (Portable Text, Lexical, Blocks), typography hierarchies, and component layouts.visual-ui-auditor for validating real-time visual draft mode, iframe preview boundaries, and responsive layout fidelity.nextjs-app-router-expert (SSR/ISR on-demand tag revalidation) and astro-framework-expert (Content Collections and static site generation).rich-text-editor-expert (custom authoring tools) and seo (schema markup, dynamic sitemaps, Open Graph images).brainstorming and zero-to-prod-orchestrator for structured content architecture.Expert guide for selecting, integrating, and optimizing Headless CMS platforms in modern web applications. Covers Sanity v3 (GROQ, Portable Text, Content Lake), Payload CMS 3.x (TypeScript-first, code-defined schemas), Strapi 5 (open-source, self-hosted), Contentful (enterprise, GraphQL), and Storyblok (visual editing). Includes content modeling, preview mode, webhook-based revalidation, and migration strategies.
| Criteria | Sanity v3 | Payload 3.x | Strapi 5 | Contentful | Storyblok |
|---|---|---|---|---|---|
| Hosting | Cloud (free tier) | Self-hosted / Cloud | Self-hosted | Cloud | Cloud |
| Schema Definition | Code (JS/TS) | Code (TS) | Admin UI / Code | Web UI | Web UI |
| Query Language | GROQ | REST / GraphQL | REST / GraphQL | GraphQL / REST | REST / GraphQL |
| Rich Text | Portable Text | Lexical / Slate | Blocks | Rich Text API | Rich Text |
| TypeScript | ★★★★★ | ★★★★★ | ★★★★ | ★★★ | ★★★ |
| Real-time | ★★★★★ | ★★★★ | ★★★ | ★★★ | ★★★★ |
| Visual Editing | Sanity Studio | Admin Panel | Admin Panel | Web App | Visual Editor |
| Best For | Developers | Code-first teams | Open-source fans | Enterprise | Marketing teams |
Recommendation: Use Sanity v3 for developer-heavy teams. Use Payload CMS when you need full TypeScript control and self-hosting. Use Strapi for open-source requirements.
// sanity.config.ts — Schema-as-code
import { defineConfig, defineField, defineType } from 'sanity';
export const postSchema = defineType({
name: 'post',
title: 'Blog Post',
type: 'document',
fields: [
defineField({ name: 'title', type: 'string', validation: (r) => r.required() }),
defineField({ name: 'slug', type: 'slug', options: { source: 'title' } }),
defineField({ name: 'body', type: 'array', of: [{ type: 'block' }] }),
defineField({ name: 'publishedAt', type: 'datetime' }),
],
});
// Fetching with GROQ in Next.js App Router
import { createClient } from 'next-sanity';
const client = createClient({
projectId: process.env.SANITY_PROJECT_ID!,
dataset: 'production',
apiVersion: '2026-08-01',
useCdn: true,
});
// Server Component
async function BlogPage() {
const posts = await client.fetch(
`*[_type == "post"] | order(publishedAt desc) {
title, slug, publishedAt,
"excerpt": array::join(string::split(pt::text(body), "")[0..200], "")
}`
);
return <PostList posts={posts} />;
}
// payload.config.ts
import { buildConfig } from 'payload';
import { postgresAdapter } from '@payloadcms/db-postgres';
import { lexicalEditor } from '@payloadcms/richtext-lexical';
export default buildConfig({
db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URL! } }),
editor: lexicalEditor(),
collections: [
{
slug: 'posts',
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'content', type: 'richText' },
{ name: 'status', type: 'select', options: ['draft', 'published'] },
],
},
],
});
// app/api/revalidate/route.ts
import { revalidateTag } from 'next/cache';
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
const secret = req.headers.get('x-webhook-secret');
if (secret !== process.env.REVALIDATION_SECRET) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
const body = await req.json();
revalidateTag(body._type); // Revalidate by content type
return NextResponse.json({ revalidated: true });
}
// app/api/draft/route.ts — Sanity preview
import { draftMode } from 'next/headers';
import { redirect } from 'next/navigation';
export async function GET(req: NextRequest) {
const { searchParams } = new URL(req.url);
const secret = searchParams.get('secret');
const slug = searchParams.get('slug');
if (secret !== process.env.SANITY_PREVIEW_SECRET) {
return new Response('Invalid token', { status: 401 });
}
(await draftMode()).enable();
redirect(`/posts/${slug}`);
}
<a name="bahasa-indonesia"></a>
Terhubung dan mengorkestrasi bersama skill domain:
senior-frontend, design-system-architect, ui-ux-pro-max, modern-web-guidance, dan anti-slop untuk perenderan blok konten terstruktur CMS (Portable Text, Lexical, Blocks), hierarki tipografi, dan tata letak komponen.visual-ui-auditor untuk validasi mode pratinjau langsung (draft mode), batas iframe preview, dan fidelitas tata letak responsif.nextjs-app-router-expert (revalidasi tag on-demand SSR/ISR) dan astro-framework-expert (Content Collections dan static site generation).rich-text-editor-expert (komponen editor konten) dan seo (data terstruktur schema, sitemap dinamis, Open Graph).brainstorming dan zero-to-prod-orchestrator untuk arsitektur konten yang terstruktur.Panduan ahli untuk memilih, mengintegrasikan, dan mengoptimalkan platform Headless CMS dalam aplikasi web modern. Mencakup Sanity v3 (GROQ, Portable Text), Payload CMS 3.x (TypeScript-first, schema-as-code), Strapi 5 (open-source self-hosted), Contentful, dan Storyblok (visual editor). Termasuk modeling konten, preview mode, dan revalidasi instan berbasis webhook.
// sanity.config.ts
import { defineConfig, defineField, defineType } from 'sanity';
export const skemaArtikel = defineType({
name: 'artikel',
title: 'Artikel Blog',
type: 'document',
fields: [
defineField({ name: 'judul', type: 'string', validation: (r) => r.required() }),
defineField({ name: 'slug', type: 'slug', options: { source: 'judul' } }),
defineField({ name: 'isi', type: 'array', of: [{ type: 'block' }] }),
defineField({ name: 'diterbitkanPada', type: 'datetime' }),
],
});
import { createClient } from 'next-sanity';
const sanity = createClient({
projectId: process.env.SANITY_PROJECT_ID!,
dataset: 'production',
apiVersion: '2026-08-01',
useCdn: true,
});
export async function ambilDaftarArtikel() {
return await sanity.fetch(
`*[_type == "artikel"] | order(diterbitkanPada desc) {
judul, slug, diterbitkanPada,
"ringkasan": pt::text(isi)[0..200]
}`
);
}
// app/api/revalidasi/route.ts
import { revalidateTag } from 'next/cache';
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
const secret = req.headers.get('x-webhook-secret');
if (secret !== process.env.REVALIDATION_SECRET) {
return NextResponse.json({ error: 'Tidak sah' }, { status: 401 });
}
const body = await req.json();
revalidateTag(body._type); // Revalidasi cache berdasarkan tipe konten
return NextResponse.json({ sukses: true });
}
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
A2A agent protocol interoperability, Agent Cards, and MCP bridging / Protokol agen A2A, Agent Cards, dan integrasi MCP.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
日本語の概要は準備中です。原文の説明を表示しています。
Web accessibility testing with axe-core, Playwright, and WCAG 2.2 / Pengujian aksesibilitas web axe-core, Playwright, dan WCAG 2.2.
日本語の概要は準備中です。原文の説明を表示しています。
Model cascading & complexity-scored routing (Grok, Gemini, Claude) / Routing kaskade model & scoring kompleksitas (Grok, Gemini, Claude).
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Flash/Haiku to Sonnet/Opus/Astra, dynamic escalation with quality gates, 40-60% token cost reduction while maintaining output quality / Panduan ahli untuk kaskade dan routing model cerdas — routing tugas berbasis skor kompleksitas dari Flash/Haiku ke Sonnet/Opus/Astra, eskalasi dinamis dengan gerbang kualitas, pengurangan biaya token 40-60% dengan kualitas output terjaga.
日本語の概要は準備中です。原文の説明を表示しています。
Affective computing, emotion AI, and multimodal sentiment analysis / Komputasi afektif, AI emosional, dan analisis sentimen multimodal.
日本語の概要は準備中です。原文の説明を表示しています。