Use when the user asks about Dave Farley's talk "Vibe Coding — Is this really the best we can do?" — including questions about vibe coding, agentic programming, AI-generated tests, BDD-style executable specifications as prompts, problem-specific DSLs, why natural language is insufficient as a programming language, the three properties of programming languages (formal grammar / unambiguous intent / deterministic execution), the three problems AI programming creates (precise specification, verification, incrementalism), fifth-generation programming, AI as compiler, or applying Farley's continuous-delivery-style approach to working with AI coding agents.
62
74%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./talk-farley-vibe-coding-best-we-can-do/SKILL.mdThe canonical home for this skill is ainativedev/aidevcon-2026-ldn
Farley argues that "vibe coding" with natural language alone is fundamentally inadequate because natural language lacks the three properties that make programming languages useful: a simple consistent grammar, unambiguous expression of intent, and repeatable deterministic execution. AI coding accelerates the easy part of software development (writing code) while making the hard parts (specifying what we want and verifying we got it) worse, and breaks our ability to work incrementally. His prescription: treat AI assistants like compilers, and prompt them with BDD-style executable specifications written in problem-specific DSLs, verified by deployment pipelines — i.e. continuous delivery practices applied to AI-driven development.
outline.md to locate the relevant
section, then read that section of transcript.md.transcript.md. Never put
quotation marks around paraphrased content.transcript.md, say "the talk doesn't address this" — do
not infer Farley's positions from his other published work or outside knowledge
unless the user explicitly asks for it (and mark it clearly as not from this talk).outline.md before attributing.When the user asks "how would Farley tackle ?" or wants the talk's framework applied to their own situation:
outline.md → "Named frameworks / concepts" to find the relevant framework.transcript.md for the speaker's exact wording.When the user asks to "audit", "score", "review", "grade", "check", or "gap- analyse" their current AI-coding setup against the talk — or describes their situation and asks where they're falling short:
outline.md → "Named frameworks / concepts" to locate the dimensions.
The two main framework lenses are: (a) the three properties a programming
tool needs (simple consistent grammar / unambiguous intent / deterministic
execution) and (b) the three problems AI introduces (precise specification,
verification, incrementalism).transcript.md and quote it
verbatim when stating what "good" looks like.When the user asks the skill to "draft", "generate", or "give me a starting" artifact Farley described (BDD-style executable specification, user story with worked examples, problem-specific DSL grammar, AI prompt structured the way Farley describes):
outline.md (likely under "Named frameworks /
concepts" — see "executable specifications", "BDD-style DSL").transcript.md carefully — capture every
constraint he mentions (vision → user story → examples → executable specs).[not from talk — added as a starting placeholder]).For any question about what Farley said, did, or argued:
outline.md first to find the relevant section(s).transcript.md.transcript.md. Do not paraphrase
Farley's words while presenting them as a quote.When the user's current work touches on themes Farley addressed (AI coding agents, generating tests with AI, vibe coding workflows, prompt engineering for codegen, CI/CD for AI-generated code, BDD, executable specifications) — even if they haven't asked about the talk:
transcript.md — one quote is usually enough.When the user wants to understand a concept Farley covered (e.g. why AI-generated tests are "mostly a dumb idea", what an executable specification is, what "fifth generation programming" means in his usage, why incrementalism matters):
outline.md → "Terminology glossary".transcript.md.quotes.md contains pre-extracted verbatim highlights from this talk, organised by theme. When formulating answers, check quotes.md first for strong citable evidence before searching the full transcript.md.
1887349
Canonical home
since Jun 1, 2026
Also appears in
since Jun 18, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.