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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for observability, analytics, telemetry, and data pipelines (OpenTelemetry, PostHog, Mixpanel) / Panduan ahli untuk observabilitas, telemetri, dan analitik.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
<a name="english"></a>
Connects and orchestrates with relevant domain skills like brainstorming, zero-to-prod-orchestrator, and session-memory-manager to ensure cohesive execution.
Expert guide for production observability, product analytics, and data pipelines. Covers OpenTelemetry 1.x (stable, vendor-neutral traces/metrics/logs), PostHog (open-source product analytics), ClickHouse (OLAP analytics database), Grafana stack, and AI agent observability patterns.
OpenTelemetry (OTel) is the CNCF standard for generating traces, metrics, and logs from any application.
| Signal | What It Captures | Example |
|---|---|---|
| Traces | Request flow across services | GET /api/users → DB query → cache |
| Metrics | Numeric measurements over time | http_requests_total, db_query_duration |
| Logs | Structured event records | {"level":"error","msg":"DB timeout"} |
// instrumentation.ts (Next.js built-in OTel support)
export async function register() {
if (process.env.NEXT_RUNTIME === 'nodejs') {
const { NodeSDK } = await import('@opentelemetry/sdk-node');
const { OTLPTraceExporter } = await import('@opentelemetry/exporter-trace-otlp-http');
const { OTLPMetricExporter } = await import('@opentelemetry/exporter-metrics-otlp-http');
const { PeriodicExportingMetricReader } = await import('@opentelemetry/sdk-metrics');
const { Resource } = await import('@opentelemetry/resources');
const { SEMRESATTRS_SERVICE_NAME } = await import('@opentelemetry/semantic-conventions');
const sdk = new NodeSDK({
resource: new Resource({
[SEMRESATTRS_SERVICE_NAME]: 'my-saas-app',
}),
traceExporter: new OTLPTraceExporter({
url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT,
}),
metricReader: new PeriodicExportingMetricReader({
exporter: new OTLPMetricExporter(),
exportIntervalMillis: 30_000,
}),
});
sdk.start();
}
}
import { trace, SpanStatusCode } from '@opentelemetry/api';
const tracer = trace.getTracer('my-service', '1.0.0');
async function processOrder(orderId: string) {
return tracer.startActiveSpan('processOrder', async (span) => {
span.setAttribute('order.id', orderId);
span.setAttribute('order.source', 'api');
try {
const order = await db.order.findUnique({ where: { id: orderId } });
span.setAttribute('order.amount', order.amount);
const result = await chargeCustomer(order);
span.setStatus({ code: SpanStatusCode.OK });
return result;
} catch (error) {
span.recordException(error as Error);
span.setStatus({ code: SpanStatusCode.ERROR, message: String(error) });
throw error;
} finally {
span.end();
}
});
}
ClickHouse is the 2026 standard for analytical workloads — ingests billions of events and queries them in milliseconds:
-- Create an events table optimized for time-series analytics
CREATE TABLE events (
event_id UUID DEFAULT generateUUIDv4(),
workspace_id String,
user_id String,
event_name LowCardinality(String),
properties JSON,
timestamp DateTime64(3, 'UTC'),
date Date DEFAULT toDate(timestamp)
)
ENGINE = MergeTree()
PARTITION BY toYYYYMM(date)
ORDER BY (workspace_id, event_name, timestamp)
TTL date + INTERVAL 1 YEAR;
-- Query: Funnel analysis — users who signed up then upgraded
SELECT
countIf(event_name = 'signup') AS signups,
countIf(event_name = 'plan_upgraded') AS upgrades,
round(countIf(event_name = 'plan_upgraded') / countIf(event_name = 'signup') * 100, 2) AS conversion_rate
FROM events
WHERE workspace_id = 'ws_abc'
AND timestamp >= now() - INTERVAL 30 DAY;
// Node.js ClickHouse client
import { createClient } from '@clickhouse/client';
const client = createClient({ url: process.env.CLICKHOUSE_URL });
await client.insert({
table: 'events',
values: [{
workspace_id: 'ws_abc',
user_id: 'user_123',
event_name: 'page_view',
properties: { path: '/dashboard', referrer: 'google.com' },
timestamp: new Date().toISOString(),
}],
format: 'JSONEachRow',
});
// Next.js + PostHog (client-side)
import posthog from 'posthog-js';
posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
api_host: process.env.NEXT_PUBLIC_POSTHOG_HOST ?? 'https://app.posthog.com',
capture_pageview: false, // Manual with App Router
});
// Track custom events
posthog.capture('feature_used', {
feature: 'ai_assistant',
plan: user.plan,
workspace_id: workspace.id,
});
// Feature flags
if (posthog.isFeatureEnabled('new-dashboard')) {
return <NewDashboard />;
}
Track LLM costs, latency, and quality for production AI applications:
// Custom OTel attributes for LLM calls
span.setAttribute('llm.model', 'claude-4-sonnet');
span.setAttribute('llm.input_tokens', response.usage.input_tokens);
span.setAttribute('llm.output_tokens', response.usage.output_tokens);
span.setAttribute('llm.cost_usd', calculateCost(response.usage));
span.setAttribute('llm.latency_ms', Date.now() - startTime);
span.setAttribute('llm.cached', response.usage.cache_read_input_tokens > 0);
Backend tracing tools for LLM: LangSmith (LangChain/LangGraph), OpenAI Tracing (Agents SDK), Langfuse (open-source, any LLM).
<a name="bahasa-indonesia"></a>
Terhubung dan mengorkestrasi skill domain yang relevan seperti brainstorming, zero-to-prod-orchestrator, dan session-memory-manager untuk memastikan observabilitas terpadu.
Panduan ahli untuk observabilitas produksi, analitik produk, dan pipeline data. Mencakup OpenTelemetry 1.x (standar traces, metrics, logs netral vendor), PostHog (analitik produk open-source), ClickHouse (database analitik OLAP berkecepatan tinggi), Grafana stack, dan pola pemantauan agen AI.
| Sinyal | Definisi | Contoh Kasus |
|---|---|---|
| Traces | Alur request di berbagai microservice | GET /api/pesanan → query DB → redis cache |
| Metrics | Pengukuran numerik sepanjang waktu | http_requests_total, durasi query DB |
| Logs | Catatan kejadian terstruktur | {"level":"error","pesan":"Koneksi DB timeout"} |
// instrumentation.ts
export async function register() {
if (process.env.NEXT_RUNTIME === 'nodejs') {
const { NodeSDK } = await import('@opentelemetry/sdk-node');
const { OTLPTraceExporter } = await import('@opentelemetry/exporter-trace-otlp-http');
const { OTLPMetricExporter } = await import('@opentelemetry/exporter-metrics-otlp-http');
const { PeriodicExportingMetricReader } = await import('@opentelemetry/sdk-metrics');
const { Resource } = await import('@opentelemetry/resources');
const { SEMRESATTRS_SERVICE_NAME } = await import('@opentelemetry/semantic-conventions');
const sdk = new NodeSDK({
resource: new Resource({
[SEMRESATTRS_SERVICE_NAME]: 'saas-produksi-app',
}),
traceExporter: new OTLPTraceExporter({
url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT,
}),
metricReader: new PeriodicExportingMetricReader({
exporter: new OTLPMetricExporter(),
exportIntervalMillis: 30_000,
}),
});
sdk.start();
}
}
import { createClient } from '@clickhouse/client';
const clickhouse = createClient({ url: process.env.CLICKHOUSE_URL });
export async function rekamEventTelemetri(namaEvent: string, dataProperti: Record<string, unknown>) {
await clickhouse.insert({
table: 'events',
values: [{
event_name: namaEvent,
properties: dataProperti,
timestamp: new Date().toISOString(),
}],
format: 'JSONEachRow',
});
}
import posthog from 'posthog-js';
posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
api_host: process.env.NEXT_PUBLIC_POSTHOG_HOST ?? 'https://app.posthog.com',
capture_pageview: false,
});
export function lacakAktivitasPengguna(namaFitur: string) {
posthog.capture('fitur_digunakan', { fitur: namaFitur, timestamp: new Date().toISOString() });
}
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for Affective Computing, emotional AI, and real-time sentiment analysis through native multimodal tokens (voice intonation and facial micro-expressions) / Panduan ahli komputasi afektif, AI emosional, dan analisis sentimen real-time melalui token multimodal native.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for AI-assisted coding workflows — agentic code generation, multi-agent code swarms, self-healing CI/CD, automated PR review, spec-to-code pipelines, codebase knowledge graphs, and human-in-the-loop approval gates / Panduan ahli untuk workflow pengkodean berbasis AI — generasi kode agentic, code swarm multi-agen, CI/CD self-healing, review PR otomatis, pipeline spec-to-code, knowledge graph codebase, dan gate persetujuan human-in-the-loop.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for autonomous Machine-to-Machine (M2M) agent settlement, dual-rail fiat & stablecoin micro-clearing, dynamic budget envelopes, and cryptographic agent invoicing / Panduan ahli settlement otonom antar-agen (M2M), kliring mikro dual-rail fiat & stablecoin, pagu anggaran dinamis, dan penagihan agen kriptografis.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for long-term episodic memory integration (Mem0 v2, Letta/MemGPT, Zep v2), memory tier architecture, pgvector HNSW storage, and unified context management for autonomous AI agents / Panduan ahli untuk integrasi memori episodik jangka panjang (Mem0 v2, Letta/MemGPT, Zep v2), arsitektur tier memori, penyimpanan pgvector HNSW, dan manajemen konteks terpadu untuk agen AI otonom.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.