Agent skill

control-flow

Human-readable control flow patterns for refactoring complex conditionals. Use when refactoring nested conditionals, improving code readability, or restructuring decision logic.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/control-flow

SKILL.md

Human-Readable Control Flow

When refactoring complex control flow, mirror natural human reasoning patterns:

  1. Ask the human question first: "Can I use what I already have?" -> early return for happy path
  2. Assess the situation: "What's my current state and what do I need to do?" -> clear, mutually exclusive conditions
  3. Take action: "Get what I need" -> consolidated logic at the end
  4. Use natural language variables: isUsingNavigator, isUsingLocalTranscription, needsOldFileCleanup: names that read like thoughts
  5. Avoid artificial constructs: No nested conditions that don't match how humans actually think through problems

Transform this: nested conditionals with duplicated logic Into this: linear flow that mirrors human decision-making

Example: Early Returns with Natural Language Variables

typescript
// From apps/whispering/src/routes/(app)/_layout-utils/check-ffmpeg.ts

export async function checkFfmpegRecordingMethodCompatibility() {
  if (!window.__TAURI_INTERNALS__) return;

  // Only check if FFmpeg recording method is selected
  if (settings.value['recording.method'] !== 'ffmpeg') return;

  const { data: ffmpegInstalled } = await rpc.ffmpeg.checkFfmpegInstalled.ensure();
  if (ffmpegInstalled) return; // FFmpeg is installed, all good

  // FFmpeg recording method selected but not installed
  toast.warning('FFmpeg Required for FFmpeg Recording Method', {
    // ... toast content
  });
}

Example: Natural Language Booleans

typescript
// From apps/whispering/src/routes/(app)/_layout-utils/check-ffmpeg.ts

const isUsingNavigator = settings.value['recording.method'] === 'navigator';
const isUsingLocalTranscription =
  settings.value['transcription.selectedTranscriptionService'] === 'whispercpp' ||
  settings.value['transcription.selectedTranscriptionService'] === 'parakeet';

return isUsingNavigator && isUsingLocalTranscription && !isFFmpegInstalled;

Example: Cleanup Check with Comment

typescript
// From packages/epicenter/src/indexes/markdown/markdown-index.ts

/**
 * This is checking if there's an old filename AND if it's different
 * from the new one. It's essentially checking: "has the filename
 * changed?" and "do we need to clean up the old file?"
 */
const needsOldFileCleanup = oldFilename && oldFilename !== filename;
if (needsOldFileCleanup) {
  const oldFilePath = path.join(tableConfig.directory, oldFilename);
  await deleteMarkdownFile({ filePath: oldFilePath });
  tracking[table.name]!.deleteByFilename({ filename: oldFilename });
}

Didn't find tool you were looking for?

Be as detailed as possible for better results