Agent skill · research science · aradotso

learn-coding-agent

learn-coding-agent — an agent skill for coding agents.

Why this skill is useful

Adds deep knowledge of Claude Code's architecture, including internal patterns and implementation details that the AI wouldn't generate on its own.

What it needs

About 9k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.

What this skill does

typescript // Minimal agent loop — the foundation everything else builds on async function agentLoop(userMessage: string) { const messages: Message[] = [ { role: "user", content: userMessage } ]; while (true) { const response = await claude.messages.create({ model: "claude-opus-4-5", maxtokens: 8096, tools: TOOLDEFINITIONS, messages, }); if (response.stopreason === "endturn") { // Final text response — return to user return extractText(response.content); } if (response.stopreason === "tooluse") { // Execute each tool the model requested const toolResults = await executeTools(response.content); // Append assistant response + tool results and loop messages.push({ role: "assistant", content: response.content }); messages.push({ role: "user", content: toolResults }); // → loop back to API call } } } typescript // Based on Claude Code's Tool.ts pattern interface Tool<TInput, TOutput> { name: string; description: string; inputSchema: JSONSchema; // Permission check before execution checkPermission(input: TInput, context: PermissionContext): PermissionResult; // Actual execution execute(input: TInput, context: ExecutionContext): Promise<TOutput>; // Whether this tool can run in parallel with others isReadOnly: boolean; } // buildTool factory pattern function buildTool<TInput, TOutput>(config: ToolConfig<TInput, TOutput>): Tool<TInput, TOutput> { return { name: config.name, description: config.description, inputSchema: config.inputSchema, checkPermission: config.checkPermission ?? defaultPermissionCheck, execute: config.execute, isReadOnly: config.isReadOnly ?? false, }; } // Example: a simple file-reading tool const readFileTool = buildTool({ name: "readfile", description: "Read the contents of a file", isReadOnly: true, inputSchema: { type: "object", properties: { path: { type: "string", description: "Absolute or relative file path" } }, required: ["path"] }, checkPermission: (input, ctx) => { if (isPathOutsideWorkdir(input.path, ctx.workdir)) { return { allowed: false, r …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aradotso/learn-coding-agent

View the source on GitHub

Browse the @skills marketplace