with one click
create-adapter
Create a custom source adapter for pattern-radar
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create a custom source adapter for pattern-radar
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Install hookify rules for automatic chess timer session management
Capture thinking visually during brainstorming, architecture discussions, or explaining flows. Creates persistent Mermaid diagrams.
Automatically use Perplexity search for personalized context enrichment. Use when facing unfamiliar technologies, decision points, learning questions, or preference-dependent choices.
Guide for storing enriched memories that capture decisions, preferences, and context. Use when making significant decisions or learning user preferences.
Get your personalized trend briefing based on profile domains.
Guided workflow for reverse engineering black-box systems. Use when a user wants to decode a defunct API, replicate a competitor's feature, understand unfamiliar code, or crack a data format.
| name | create-adapter |
| description | Create a custom source adapter for pattern-radar |
Guide the user through creating a custom source adapter for pattern-radar.
Ask what source they want to add
Analyze the source
Generate the adapter
plugins/pattern-radar/src/adapters/types.tsTest the adapter
Save to user config
~/.config/pattern-radar/adapters/<name>.tsimport { SourceAdapter, SourceInstance, InstanceConfig, FetchOptions, HealthStatus, ConfigValidation } from './types.js';
import { Signal } from '../types.js';
interface MyInstanceConfig extends InstanceConfig {
// Add config fields here
}
class MySourceInstance implements SourceInstance {
id: string;
adapter = 'my-source';
topic: string;
config: MyInstanceConfig;
constructor(topic: string, config: MyInstanceConfig) {
this.topic = topic;
this.config = config;
this.id = `my-source:${topic}`;
}
async fetch(options?: FetchOptions): Promise<Signal[]> {
// Implement fetching
return [];
}
async healthCheck(): Promise<HealthStatus> {
return { healthy: true, lastChecked: new Date() };
}
}
export const mySourceAdapter: SourceAdapter = {
type: 'my-source',
name: 'My Source',
capabilities: ['search'],
requiresAuth: false,
freeTierAvailable: true,
createInstance(topic: string, config: InstanceConfig): SourceInstance {
return new MySourceInstance(topic, config as MyInstanceConfig);
},
validateConfig(config: InstanceConfig): ConfigValidation {
return { valid: true };
}
};
User: /create-adapter
Claude: What source do you want to add to pattern-radar?
User: There's a Korean baseball stats site at statiz.co.kr
Claude: Let me check that out...
[fetches site, analyzes structure]
I found statiz.co.kr has a news section with an RSS-like structure.
Should I create an RSS adapter configured for their news feed?
User: Yes
Claude: [generates adapter]
Created adapter at ~/.config/pattern-radar/adapters/statiz-kbo.ts
Testing... fetched 12 articles successfully!
The adapter is ready. It will be used when you add "Korean baseball" as a topic.