ワンクリックで
scaffold-service
Scaffold a new external service integration under src/services following MMPS conventions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Scaffold a new external service integration under src/services following MMPS conventions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Verifies factual claims in documents using web search and official sources, then proposes corrections with user confirmation. Use when the user asks to fact-check, verify information, validate claims, check accuracy, or update outdated information in documents. Supports AI model specs, technical documentation, statistics, and general factual statements.
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, passive voice, negative parallelisms, and filler phrases.
Research an external website, API, tool, or service and produce an MMPS-specific feasibility + integration plan
Plan new MMPS features by exploring the codebase and producing a structured implementation plan that follows project conventions
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
Generates optimized prompts for AI tools. Activates only when the user explicitly asks to write, fix, improve, or adapt a prompt for a specific AI tool (LLM, Cursor, Midjourney, image AI, video AI, coding agents, etc.). Does not activate for general conversation, coding tasks, document writing, or other non-prompt-engineering work.
| name | scaffold-service |
| description | Scaffold a new external service integration under src/services following MMPS conventions |
Create a new external service integration (src/services/{name}/) that wraps a third-party API/SDK, following the shape of existing services like alpha-vantage, twitter, and open-weather-map.
Use this when the user says "integrate X", "add a service for X", "I want to scrape/fetch X", "wrap the X API".
alpha-vantage, yahoo-finance).ALPHA_VANTAGE_API_KEY, YOUTUBE_API_KEY). Read node:process env.If an npm SDK is involved, install it with npm install <pkg> (only after confirming it's a real dependency change).
Model on src/services/alpha-vantage/ (api.ts + types.ts + index.ts); add constants.ts only if there are shared constants.
src/services/{name}/types.tsexport type {Name}Response = {
readonly id: string;
// ... readonly fields, type not interface
};
src/services/{name}/constants.ts (optional)export const BASE_URL = 'https://api.example.com';
src/services/{name}/api.ts (or {name}.service.ts for stateful clients)import axios from 'axios';
import { env } from 'node:process';
import { {Name}Response } from '@services/{name}/types';
const baseURL = 'https://api.example.com';
export async function getSomething(param: string): Promise<{Name}Response | null> {
const { data } = await axios.get(`${baseURL}/...`, {
params: { apikey: env.{NAME}_API_KEY, param },
});
return data ?? null;
}
spotify).async/await, never .then().if (!env.{NAME}_API_KEY) throw new Error('...');src/services/{name}/index.ts (barrel)export { getSomething } from './api';
export type { {Name}Response } from './types';
.env.example (with a placeholder/comment).@services/{name} resolves (covered by @services/* in tsconfig.json — no config change needed)./scaffold-ai-tool to create the tool that calls these functions.npm run lint:fix on changed files.npx tsc --noEmit (or npm run build) to confirm types/imports.*.spec.ts to confirm a live call works (ask before hitting paid APIs).types.ts uses type + readonly, no interfaceapi.ts/*.service.ts uses async/await, env from node:processindex.ts with named exports (functions + export type).env.example