AI Skill StudioAI Skill Studio
Skills
Presets:

Target Standard & File Format

AI Agent Rules & Skills
Context Shields & Privacy (Ignore Files)
Integrations & Machine Documentation
AI Governance & Multi-Agent Planning Suite

Identity & Activation Rules

3 chips
Scoped domain keywords evaluated in real time
api-routescode-auditsrefactoring
Suggested Chips:

Technology Stack Context

Engineering Philosophy

Flexible & Adaptable

Architectural & Code Quality Conventions

Less rigid & configurable

Agent Behavioral Guardrails

Select active rules
Security & Trust Boundaries
Always included
  • Untrusted Content Is Data
  • Encoded Payloads
  • Least-Privilege File Access
  • Confirm Irreversible Actions
  • Secret Handling
  • Validation Failures
  • Conflicting Requests

Step-by-Step Workflow Procedures

Flutter 3 & Riverpod / Dart GitHub Copilot Instructions

Generate .github/copilot-instructions.md repository rules for Flutter 3 & Riverpod / Dart. GitHub Copilot adds .github/copilot-instructions.md to Copilot Chat, code review and coding agent requests in the repository. Writing down the Flutter 3 & Riverpod / Dart conventions there means Copilot's answers and reviews follow your project's patterns instead of generic ones.

Target Path
.github/copilot-instructions.md
Execution Scope
Whole repository
Specification Format
Markdown (.md)
AI Tool Support
Copilot Chat, code review, coding agent
02 / WHY IT HELPS

What this file changes for Flutter 3 & Riverpod / Dart

Without it

GitHub Copilot adds .github/copilot-instructions.md to Copilot Chat, code review and coding agent requests in the repository. Writing down the Flutter 3 & Riverpod / Dart conventions there means Copilot's answers and reviews follow your project's patterns instead of generic ones.

What the file tells the agent
Always add const constructors wherever possible to maximize Flutter element rebuild caching.
Use Riverpod 2 with code generation (@riverpod / NotifierProvider) or BLoC; ban raw mutable setState() in business logic.
Leverage Dart 3 pattern matching and sealed classes for exhaustive state and error representation.
Enforce sound null safety: avoid force-unwrapping with ! unless proven non-null by a preceding guard clause.
Separate presentation UI widgets from asynchronous repository and API service layers.
03 / CODE PATTERNS

Flutter 3 & Riverpod / Dart: code to avoid and code to write instead

Avoid
// Discouraged: Mutable setState with force-unwrap and missing const
class BadProfile extends StatefulWidget {
  @override
  _BadProfileState createState() => _BadProfileState();
}
class _BadProfileState extends State<BadProfile> {
  var user;
  void load() async {
    user = await fetchUser();
    setState(() {});
  }
  @override
  Widget build(BuildContext context) {
    return Container(child: Text(user!.name)); // Runtime crash if null!
  }
}
Write instead
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

@immutable
sealed class ViewState<T> {
  const ViewState();
}
class Loading<T> extends ViewState<T> { const Loading(); }
class Success<T> extends ViewState<T> { final T data; const Success(this.data); }
class Failure<T> extends ViewState<T> { final String message; const Failure(this.message); }

class ProfileView extends ConsumerWidget {
  const ProfileView({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final state = ref.watch(profileProvider);
    return Scaffold(
      appBar: AppBar(title: const Text('Profile')),
      body: switch (state) {
        Loading() => const Center(child: CircularProgressIndicator.adaptive()),
        Success(:final data) => Center(child: Text('Welcome, ${data.name}')),
        Failure(:final message) => Center(child: Text('Error: $message')),
      },
    );
  }
}
04 / REPOSITORY PLACEMENT & 3-STEP TERMINAL INSTALLATION

How to Install Flutter 3 & Riverpod / Dart GitHub Copilot Instructions via Terminal

1

Step 1: Open Project Directory & Verify Target Placement

Open your terminal and navigate to your project root folder where the .github/copilot-instructions.md file will reside. Ensure the file is placed at the exact path below relative to your project root so the AI engine automatically loads it:

.github/copilot-instructions.md
2

Step 2: Fetch Rule File via Terminal Command

Run curl, PowerShell, or wget to stream the rule directly from the DevScratchpad raw API endpoint and write it to .github/copilot-instructions.md:

Terminal One-Liner Install

Run directly in your project root to stream and write this rule file with one command.

Raw API Stream
$mkdir -p ".github" && curl -fsSL "https://www.devscratchpad.tech/api/raw/copilot-instructions/flutter-dart" -o ".github/copilot-instructions.md"
3

Step 3: Check that Copilot Chat, code review, coding agent uses it

Copilot Chat, Copilot code review and the coding agent add the file to requests in this repository. It does not change completions as you type.

05 / ROUTE DIRECTORY & CROSS-TOOLING
Format Pillar Hub

GitHub Copilot instructions generator: .github/copilot-instructions.md

GitHub Copilot Instructions: how it works, where the file goes, and every Copilot preset.

/copilot-instructions Directory
06 / RELATED DEVELOPER TOOLS

Tools for Flutter 3 & Riverpod / Dart work

Browser-based utilities to test, format and inspect the code your AI tool writes. Nothing you paste is uploaded.

View all 28 tools

Live Repository & Schema Ingestion

Inspect any public or private GitHub repository, or paste SQL DDL and Prisma models directly in AI Skill Studio to auto-generate authentic rules. Zero server transmission.

Launch AI Skill Studio

Migrating from Legacy .cursorrules or CLAUDE.md?

Use the free, in-browser converter to turn one long rules file into Cursor .mdc, Claude SKILL.md or Windsurf rules.

Convert Rules Free
07 / FREQUENTLY ASKED QUESTIONS

Technical FAQ: Flutter 3 & Riverpod / Dart AI Rulebooks

Where should this Copilot instruction file be stored?

Save it as .github/copilot-instructions.md in your repository. Copilot Chat, Copilot code review and the Copilot coding agent use it; completions as you type do not.

Does this apply to all team members?

Yes. Once the file is on the default branch, Copilot uses it for everyone working in the repository.