Agent skill

AI Development Guide

by shinpr in shinpr/claude-code-workflows

Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates.

MITAuto-check passedDevelopment

Install AI Development Guide

skills CLI
$ npx skills add shinpr/claude-code-workflows --skill ai-development-guide -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shinpr/claude-code-workflows ai-development-guide --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shinpr/claude-code-workflows.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ai-development-guide .claude/skills/ai-development-guide && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ai-development-guide
GitHub stars
691
Token cost
~3.9k tokens
SKILL.md length
1,717 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates.

  • Works in 7 steps: Duplicating one responsibility across… → Multiple responsibilities mixed in a… → Defining same content in multiple files… → …
  • Reviewing general/backend implementation choices
  • SKILL.md covers Value-First Engineering, Technical Anti-patterns (Red…, Fail-Fast Fallback Design… and Criteria for Code Duplication, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

AI Development Guide is an agent skill from shinpr/claude-code-workflows. Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. Use when reviewing general/backend implementation choices, code smells, failures, or implementation completeness.

Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Refactoring and Quality gates. The repository describes itself as: Development workflows for Claude Code that keep broad exploration focused on the outcome you approved. The licence is MIT.

When your agent uses it

  • Reviewing general/backend implementation choices
  • Implementation completeness

Example prompts

  • “Use the ai-development-guide skill to apply language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and…”
  • “/ai-development-guide”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Duplicating one responsibility across independently maintained locations - Review whether the duplicated logic has one change reason and…
  2. Multiple responsibilities mixed in a single file - Violates Single Responsibility Principle (SRP)
  3. Defining same content in multiple files - Violates DRY principle
  4. Making changes without checking dependencies - Potential for unexpected impacts
  5. Disabling code with comments - Should use version control
  6. Error suppression - Hiding problems creates technical debt
  7. Bypassing safety mechanisms (type systems, validation, contracts) - Circumventing language's correctness guarantees

What it can do on your machine

Read from SKILL.md and the folder at commit a4ecd62. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

AI Development Guide loads about 3.9k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 1,717 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~3.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shinpr/claude-code-workflows at commit a4ecd62, republished under its MIT licence (© shinpr). 1,717 words, ~3,885 tokens.

Download SKILL.mdSave it as .claude/skills/ai-development-guide/SKILL.md (or your agent's skills folder).
name
ai-development-guide
description
Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. Use when reviewing general/backend implementation choices, code smells, failures, or implementation completeness.

AI Developer Guide - Technical Decision Criteria and Anti-pattern Collection

Value-First Engineering

Inspect until the evidence identifies the lowest-total-complexity solution that delivers the required user, operator, or maintainer value while keeping the system correct and maintainable.

  • Resolve verified problems within confirmed scope or dependencies required for the outcome; report other findings with their owning boundary and evidence without expanding the active change.
  • Introduce capabilities, infrastructure, abstractions, or speculative edge-case handling when a current outcome, verified constraint, or evidence-backed material risk requires them.
  • Treat behavior-preserving maintenance inside the confirmed responsibility as current maintainer value when repository evidence shows it reduces change ambiguity, duplicate ownership, defect risk, or future implementation and verification cost without expanding observable product scope.

Judge total complexity across every activated surface: user decisions, settings, modes, concepts, outputs, persistent state, and implementation paths, together with their UX, runtime, implementation, testing, documentation, and maintenance cost. Compare only dimensions that differ between viable approaches. Prefer reuse or no new mechanism when it delivers the same confirmed value and proof at lower total complexity.

Technical Anti-patterns (Red Flag Patterns)

Pause the affected decision and review the design when detecting the following patterns:

Code Quality Anti-patterns
  1. Duplicating one responsibility across independently maintained locations - Review whether the duplicated logic has one change reason and should have one owner
  2. Multiple responsibilities mixed in a single file - Violates Single Responsibility Principle (SRP)
  3. Defining same content in multiple files - Violates DRY principle
  4. Making changes without checking dependencies - Potential for unexpected impacts
  5. Disabling code with comments - Should use version control
  6. Error suppression - Hiding problems creates technical debt
  7. Bypassing safety mechanisms (type systems, validation, contracts) - Circumventing language's correctness guarantees
Design Anti-patterns
  • "Make it work for now" thinking - Accumulation of technical debt
  • Patchwork implementation - Unplanned additions to existing code
  • Optimistic implementation of uncertain technology - Designing unknown elements assuming "it'll probably work"
  • Symptomatic fixes - Surface-level fixes that don't solve root causes
  • Unplanned large-scale changes - Lack of incremental approach

Fail-Fast Fallback Design Principles

Core Principle

Make all errors visible and traceable with full context. Prioritize primary code reliability over fallback implementations. Excessive fallback mechanisms mask errors and make debugging difficult.

Implementation Guidelines
Default Approach
  • Give every failure an explicit outcome: propagate it, translate it to the boundary's error contract, or recover through an accepted fallback
  • Make failures explicit: Errors should be visible and traceable
  • Preserve error context: Include original error information when re-throwing
When Fallbacks Are Acceptable
  • Accepted recovery contract: A requirement, Design Doc, existing boundary contract, or project policy defines why degraded behavior is preferable to failure
  • Business-critical continuity: When partial functionality is better than none
  • Graceful degradation paths: Clearly defined degraded service levels
Layer Responsibilities
  • Infrastructure Layer:

    • Preserve the original cause and operational context
    • Propagate, translate, or return the failure in the form required by the caller's boundary contract
    • Perform infrastructure-owned cleanup or retry only when that boundary owns it; business recovery decisions remain in the application layer
  • Application Layer:

    • Make business-driven error handling decisions
    • Implement fallbacks only when an accepted recovery contract defines the degraded outcome
    • Make fallback activation observable through the project's established logging, metrics, or user-visible state when diagnosis or recovery requires it
Error Masking Detection

Review Triggers (require design review):

  • Adding an error handler that duplicates or fragments an existing recovery responsibility
  • The same failure is caught at multiple layers without a single recovery owner
  • Nested handlers obscure which state is committed, rolled back, or exposed
  • A handler converts a failure to success/default output without an observable degraded-state contract
  • Error handlers that return default values without logging

Another handler may remain when it covers a distinct failure mode with a documented recovery owner, state outcome, and observable signal.

Before Implementing Any Fallback:

  1. Identify the accepted requirement, boundary contract, project policy, or Design Doc entry that defines this fallback
  2. Document the business justification
  3. Make activation observable at the boundary that owns diagnosis or recovery through one existing UI, log, or metric channel; when logging is that channel, log once with sensitive data redacted
  4. Add new monitoring or alerting only when an operational requirement or project policy requires it
Implementation Pattern
AVOID: Silent fallback that hides errors
    <handle error>:
        return DEFAULT_VALUE  // Error hidden, debugging impossible

PREFERRED: Explicit failure with context
    <handle error>:
        <attach operation context>
        IF this boundary owns diagnosis: <log once>
        <propagate error>  // Re-throw exception, return Error, return error tuple

Adaptation: Use language-appropriate error handling (exceptions, Result types, error tuples, etc.)

Criteria for Code Duplication

Keep concrete implementations separate while their apparent similarity is accidental or their change reasons differ. Consolidate when repository evidence shows the same business rule, algorithm, validation contract, or coordinated change responsibility is maintained in multiple places.

Criteria for Commonalization

Cases for Commonalization

  • Business logic duplication
  • Complex processing algorithms
  • Areas likely requiring bulk changes
  • Validation rules

Cases to Avoid Commonalization

  • Accidental matches (coincidentally same code)
  • Possibility of evolving in different directions
  • Significant readability decrease from commonalization
  • Simple helpers in test code

Common Failure Patterns and Avoidance Methods

Pattern 1: Error Fix Chain

Symptom: Fixing one error causes new errors Cause: Surface-level fixes without understanding root cause Avoidance: Identify root cause with 5 Whys before fixing

Pattern 2: Circumventing Correctness Guarantees

Symptom: Bypassing safety mechanisms (type systems, validation, contracts) Cause: Impulse to avoid correctness errors Avoidance: Use language-appropriate safety mechanisms (static checking, runtime validation, contracts, assertions)

Pattern 3: Implementation Without Sufficient Testing

Symptom: Many bugs after implementation Cause: Ignoring Red-Green-Refactor process Avoidance: Start implementation with a failing test that proves the intended behavior

Pattern 4: Ignoring Technical Uncertainty

Symptom: Frequent unexpected errors when introducing new technology Cause: Assuming "it should work according to official documentation" without prior investigation Avoidance:

  • Record certainty where it controls implementation or verification decisions
    Certainty: low (Reason: no working examples found for this integration)
    Exploratory implementation: true
    Fallback: use established alternative approach
  • For low certainty cases, create minimal verification code first
Pattern 5: Insufficient Existing Code Investigation

Symptom: Duplicate implementations, architecture inconsistency, integration failures, adopting outdated patterns Cause: Insufficient understanding of existing code before implementation; referencing only nearby files without verifying representativeness Avoidance Methods:

  • Before implementation, always search for similar functionality (using domain, responsibility, configuration patterns as keywords)
  • Similar functionality found → Verify that its contract, lifecycle, and repository usage are representative; reuse or extend it when compatible, otherwise record why it is not a valid model
  • Similar functionality is technical debt → Repair it when it blocks the current outcome, was caused by the current change, or lies in confirmed scope; otherwise report it separately. Create an ADR when the repair requires an architectural decision
  • No similar functionality exists → Implement new functionality following existing design philosophy
  • Preserve the evidence for each reuse, extend, separate, or repair decision in the applicable implementation or design record
  • Reference representativeness check: When adopting a pattern or dependency from nearby code, verify it is representative across the repository before adopting — nearby files alone are an insufficient basis
Show full SKILL.md (634 more words)Show less

Quality Assurance Mechanism Awareness

Before executing quality checks, identify what quality mechanisms exist for the change area:

  • Primary detection: inspect the change area's file types, project manifest, and configuration to identify applicable quality tools
    • Check CI pipeline definitions for checks that cover the affected paths
    • Check for domain-specific linter or validator configurations (e.g., schema validators, API spec validators, configuration file linters)
    • Check for domain-specific constraints in project configuration (naming rules, length limits, format requirements)
  • Run verification methods supplied by the governing work artifact as change-specific checks
  • Include discovered domain-specific checks alongside standard quality phases below

Quality Check Workflow

Discover the repository's configured quality entry points and the categories they cover. Use the categories below as the applicable evidence checklist:

  • Static checks: formatting, linting, unused-code detection, type checking, and configured static analysis
  • Build checks: compilation or production build, dependency resolution, and configured resource validation
  • Behavior checks: the smallest configured tests that exercise the changed behavior, plus integration or E2E suites when the change crosses their boundary, a generated skeleton requires them, or the repository gate includes them

Follow repository-declared command composition or ordering when it exists. Otherwise choose an order that respects command dependencies and provides useful feedback. Completion requires every applicable configured check to pass.

Situations Requiring Technical Decisions

Timing of Abstraction
  • Extract a shared abstraction after repository evidence establishes a shared responsibility and coordinated change pattern
  • Be conscious of YAGNI, implement only currently needed features
  • Prioritize current simplicity over future extensibility
Performance vs Readability
  • Prioritize readability unless profiling identifies a measurable bottleneck (e.g., response time exceeding SLA, memory exceeding allocation)
  • Measure before optimizing
  • Document reason with comments when optimizing
Granularity of Contracts and Interfaces
  • Overly detailed contracts reduce maintainability
  • Design interfaces where each method maps to a single domain operation and parameter types use domain vocabulary
  • Use abstraction mechanisms to reduce duplication
Scope Expansion
  • Apply implementation/edit instructions to the accepted outcome and its governing scope.
  • Treat explicit restrictions and quantities ("one", "this file", "only X") in the governing request or confirmed outcome, desired-future requirements, and non-goals as hard boundaries; treat technical-artifact How as a correctable baseline when repository evidence invalidates it without changing those boundaries
  • Treat referenced or expected paths as investigation starting points unless the governing source explicitly makes them exclusive
  • Copy/move/mirror requests preserve content verbatim; edit content only when requested
  • Port/translation requests preserve intent and behavior; adapt only what the destination context requires
  • Include related files, symmetric locations, and adjacent behavior when evidence shows they are required by the same accepted outcome or consistency contract; report unrelated improvements separately

Implementation Completeness Assurance

Impact Analysis: Risk-Scaled 3-Stage Process

Complete these stages sequentially before implementation. For an isolated change with no public contract, data-flow, integration, or configuration impact, concise notes or search evidence are sufficient. Use the structured report for cross-boundary, high-risk, or multi-consumer changes.

1. Discovery - Identify all affected code:

  • Implementation references (imports, calls, instantiations)
  • Interface dependencies (contracts, types, data structures)
  • Behavior-relevant test evidence
  • Configuration (build configs, env settings, feature flags)
  • Documentation (comments, docs, diagrams)

2. Understanding - Analyze each discovered location:

  • Role and purpose in the system
  • Dependency direction (consumer or provider)
  • Data flow (origin → transformations → destination)
  • Coupling strength

3. Identification - Record the affected units, risks, and implementation order at the depth required by the change. For expanded analysis, use:

## Impact Analysis
### Direct Impact
- [Unit]: [Reason and modification needed]

### Indirect Impact
- [System]: [Integration path → reason]

### Data Flow
[Source] → [Transformation] → [Consumer]

### Risk Assessment
- High: [Complex dependencies, fragile areas]
- Medium: [Moderate coupling, test gaps]
- Low: [Isolated, well-tested areas]

### Implementation Order
1. [Start with lowest risk or deepest dependency]
2. [...]

Proceed when discovery and understanding cover the accepted outcome, governing boundaries, and required adjacent dependencies, and each material risk has an implementation, verification, or unresolved-decision disposition.

Unused Code Deletion

When an artifact made obsolete by the requested change is detected:

  • Delete it in the same change when its callers and generated/operational uses are checked
  • Preserve and report it when obsolescence is uncertain or deletion would expand beyond the accepted outcome and governing boundaries
  • Keep unrelated dormant code outside the implementation scope
Existing Code Modification
Required by the requested change? No → Preserve unless the change proves it obsolete
                               Yes → Working and compatible? Yes → Fix/Extend
                                                             No → Repair or replace with migration/rollback evidence

Principle: Prefer clean implementation over patching broken code

© shinpr, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/ai-development-guide of shinpr/claude-code-workflows.

Open the folder on GitHubat commit a4ecd62

Compare with similar skills

AI Development Guide next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

AI Development Guide compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Development Guide this skillshinpr/claude-code-workflows691—~3.9kAutomated safety check: PassMIT
Sonarcloud Reviewlucasvieirasilva/nx-plugins153—~2.7kAutomated safety check: NotesMIT
Sonarclaudeagentculture/culture113—~764Automated safety check: PassApache-2.0
Workflow Practiceseser/stack128—~743Automated safety check: PassCustom licence
Qe Quality Assessmentproffesor-for-testing/agentic-qe494—~1.9kAutomated safety check: PassMIT
Triage Sonarqubenetdata/netdata81k—~2.8kAutomated safety check: NotesGPL-3.0

Similar skills

  • Sonarcloud Review

    lucasvieirasilva/nx-plugins

    Fetches and triages SonarCloud findings (issues, security hotspots, quality gate) for the current pull request or branch of this repository via the SonarCloud Web API, summarizes them in a markdown…

    153 GitHub stars~2.7k tokensUpdated 9 days ago
    DevelopmentAuto-check: notes
  • Sonarclaude

    agentculture/culture

    Query SonarCloud API for code quality data. An agent skill from agentculture/culture.

    113 GitHub stars~764 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • How agents work in eserstack: clarifying requests, roles, approvals, forbidden git and publish actions, cross-package changes, root-cause fixes, quality gates.

    128 GitHub stars~743 tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Qe Quality Assessment

    proffesor-for-testing/agentic-qe

    Evaluates code quality through complexity analysis, lint results, code smell detection, and test health metrics.

    494 GitHub stars~1.9k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Triage Sonarqube

    netdata/netdata

    Inspect, review, or apply authorized triage decisions to SonarCloud issues and security hotspots; also review the Sonar helpers.

    81k GitHub stars~2.8k tokensUpdated today
    Testing & QAAuto-check: notes
  • Sonarqube Analysis

    hbmartin/graphviz2drawio

    Inspect SonarQube Cloud/SonarCloud findings for this repository using local .env credentials.

    275 GitHub stars~508 tokensUpdated 2 mo ago
    Testing & QAAuto-check: notes

More from shinpr/claude-code-workflows

All 30 skills in this repo
  • Integration E2E Testing

    shinpr/claude-code-workflows

    Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria.

    691 GitHub stars~3.5k tokensUpdated 6 days ago
    Auto-check passed
  • Frontend AI Guide

    shinpr/claude-code-workflows

    Applies React/TypeScript-specific technical decision criteria, anti-pattern detection, debugging, and frontend quality gates.

    691 GitHub stars~3k tokensUpdated 6 days ago
    Auto-check passed
  • Implementation Approach

    shinpr/claude-code-workflows

    Implementation strategy selection framework. An agent skill from shinpr/claude-code-workflows.

    691 GitHub stars~2.6k tokensUpdated 6 days ago
    Auto-check passed
  • Recipe Quality Profile

    shinpr/claude-code-workflows

    Proposes repository-specific quality policy for implementation and review and, after confirmation, creates or updates docs/project-context/quality.yaml.

    691 GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • Subagents Orchestration Guide

    shinpr/claude-code-workflows

    Guides subagent coordination through implementation workflows.

    691 GitHub stars~9.3k tokensUpdated 6 days ago
    Auto-check passed
  • Coding Principles

    shinpr/claude-code-workflows

    Language-agnostic coding principles for maintainability, readability, and quality.

    691 GitHub stars~2.4k tokensUpdated 6 days ago
    Auto-check passed

Questions about AI Development Guide

What does AI Development Guide do?

Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. AI Development Guide is an agent skill from shinpr/claude-code-workflows. Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates.

When should I use AI Development Guide?

AI Development Guide fits situations like: reviewing general/backend implementation choices; implementation completeness.

How do I install AI Development Guide in Claude Code?

Run `npx skills add shinpr/claude-code-workflows --skill ai-development-guide -a claude-code`. Or copy the skill folder (skills/ai-development-guide in shinpr/claude-code-workflows) into .claude/skills/ai-development-guide in your project. Claude Code loads it when a task matches its description.

How do I install AI Development Guide in Codex?

Run `npx skills add shinpr/claude-code-workflows --skill ai-development-guide -a codex`. Or copy the skill folder (skills/ai-development-guide in shinpr/claude-code-workflows) into .agents/skills/ai-development-guide in your project. Codex loads it when a task matches its description.

Can I use AI Development Guide in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shinpr/claude-code-workflows --skill ai-development-guide -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-development-guide, .gemini/skills/ai-development-guide, .github/skills/ai-development-guide and .opencode/skills/ai-development-guide in your project.

What does AI Development Guide need to run?

SKILL.md names no scripts, command-line tools or credentials: AI Development Guide is instructions for the agent only.

Does AI Development Guide access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is AI Development Guide safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does AI Development Guide use?

AI Development Guide is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AI Development Guide use?

About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to AI Development Guide?

Skills that share tags, products or a category with AI Development Guide: Sonarcloud Review (lucasvieirasilva/nx-plugins, 153 stars), Sonarclaude (agentculture/culture, 113 stars), Workflow Practices (eser/stack, 128 stars) and Qe Quality Assessment (proffesor-for-testing/agentic-qe, 494 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Development Guide?

shinpr (a GitHub user) maintains it in shinpr/claude-code-workflows, which has 691 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 1, 2026.

Source: shinpr/claude-code-workflows on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.