Duration: 15-20 minutes (70% demos, 30% narrative) Speaker Perspective: The Practical Demo Builder Core Thesis: The shift from learning tools to creating instructions
[1 min] Hook: Live demo that wows
[2 min] The Paradigm Shift (only slide)
[4 min] Demo 1: Hello World to Hello Agent
[3 min] Demo 2: Piping Intelligence
[4 min] Demo 3: Agent Escalation
[3 min] Demo 4: The Smart Script
[2 min] Demo 5: The Grand Finale (if time)
[1 min] Call to action
What to show: Terminal, full screen, large font
Live command:
echo "Explain this error in one sentence" | copilot -s "TypeError: Cannot read property 'map' of undefined"Script:
"Before I show a single slide, watch this. I just asked GitHub Copilot CLI to explain an error. But here's the thing - I didn't type that command. A markdown file did. Let me show you what I mean..."
Title: Software Is Now Instructions + Tools
Visual: Simple diagram
OLD WORLD NEW WORLD
--------- ---------
Developer Developer
| |
v v
Learn Tool A Write Instructions
Learn Tool B -> (markdown files)
Learn Tool C |
| v
v Tools execute
Build Software automatically
Script:
"Software used to be: learn the tool, use the tool. Now it's: write instructions, tools execute. The skill is no longer 'how do I use this CLI?' - it's 'how do I write instructions that any CLI can follow?' Let me prove it."
Create file live:
cat > hello.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
Say only: "Hello from Copilot!"
EOFRun it:
ma hello.copilot.mdTalking point:
"Three things happened: 1)
maread the YAML config, 2) it saw.copilot.mdand knew to use GitHub Copilot CLI, 3) it translatedmodel: gpt-4.1into--model gpt-4.1. The filename IS the configuration."
Create Claude version:
cat > hello.claude.md << 'EOF'
---
model: haiku
p: true
---
Say only: "Hello from Claude!"
EOFRun both:
ma hello.copilot.md && ma hello.claude.mdTalking point:
"Same instruction. Different tools. The markdown file is the universal interface."
Create a more complex example:
cat > review.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
Review this code for bugs, security issues, and performance problems:
@./src/index.ts
Provide a numbered list of issues found.
EOFRun it:
ma review.copilot.mdExplain the magic:
"That
@./src/index.tsjust inlined the entire file. The agent doesn't need to know how to read files - the markdown does it. Watch what else we can do..."
Show line range:
cat > review-function.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
Review only this function:
@./src/index.ts:31-100
Focus on error handling.
EOFPre-recorded terminal session OR show the raw command:
copilot --model gpt-4.1 --silent --prompt "Say only: Hello from Copilot!"What to show:
git diff HEAD~1 | ma explain.copilot.mdThe explain.copilot.md file:
---
model: gpt-4.1
silent: true
$1: prompt
---
Summarize these git changes in 2-3 bullet points for a commit message.Talking point:
"UNIX pipes meet AI. The diff flows into the agent, gets summarized, flows out. No API keys in the command. No model selection. Just pipe and go."
Create a pipeline:
# First agent extracts code
cat > extract-functions.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
Extract all function names from this code. Output only the names, one per line.
EOF
# Second agent documents them
cat > document.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
For each function name in the input, write a one-line description of what it likely does based on its name.
EOFRun the chain:
cat src/command.ts | ma extract-functions.copilot.md | ma document.copilot.mdTalking point:
"Agent to agent communication via UNIX pipes. Each agent is a single-purpose tool. Compose them like LEGO blocks."
Show the concept with echo:
echo "parseCommand, buildArgs, runCommand" | copilot --model gpt-4.1 --silent --prompt "Describe what each function does"The Big Idea: Cheap model tries first, expensive model rescues failures
Create triage.copilot.md:
cat > triage.copilot.md << 'EOF'
---
model: gpt-4.1-mini
silent: true
$1: prompt
---
Analyze this task. Respond with ONLY one word:
- "SIMPLE" if a fast model can handle it
- "COMPLEX" if it needs a powerful model
Task: {{ task }}
EOFCreate the escalation script:
cat > smart-ask.sh << 'EOF'
#!/bin/bash
TASK="$1"
# Triage first
VERDICT=$(ma triage.copilot.md --task "$TASK")
if [[ "$VERDICT" == *"SIMPLE"* ]]; then
echo "[Using fast model]"
echo "$TASK" | ma fast.copilot.md
else
echo "[Escalating to powerful model]"
echo "$TASK" | ma powerful.copilot.md
fi
EOF
chmod +x smart-ask.shCreate the worker agents:
cat > fast.copilot.md << 'EOF'
---
model: gpt-4.1-mini
silent: true
$1: prompt
---
Answer concisely:
EOF
cat > powerful.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
Think step by step and answer thoroughly:
EOFSimple task:
./smart-ask.sh "What is 2+2?"Complex task:
./smart-ask.sh "Explain the trade-offs between microservices and monolithic architecture for a startup with 5 engineers"Talking point:
"The script doesn't know AI. It just reads the word SIMPLE or COMPLEX and picks a file. The intelligence is in the instructions, not the script."
Show the files and explain the concept with pre-computed outputs
The Pattern: A script that knows when it needs AI help
cat > self-healing.sh << 'EOF'
#!/bin/bash
# A script that asks for help when it fails
run_with_help() {
local CMD="$1"
# Try the command
OUTPUT=$(eval "$CMD" 2>&1)
EXIT_CODE=$?
if [[ $EXIT_CODE -ne 0 ]]; then
echo "Command failed. Asking AI for help..."
# Ask Copilot for a fix
FIX=$(echo "Command: $CMD
Error: $OUTPUT
Suggest a fix. Output ONLY the corrected command, nothing else." | ma fix.copilot.md)
echo "AI suggests: $FIX"
read -p "Run suggested fix? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
eval "$FIX"
fi
else
echo "$OUTPUT"
fi
}
# Example usage
run_with_help "$1"
EOF
chmod +x self-healing.shCreate fix.copilot.md:
cat > fix.copilot.md << 'EOF'
---
model: gpt-4.1
silent: true
$1: prompt
---
You are a bash expert. Given a failed command and its error, suggest the corrected command.
Output ONLY the command, no explanation.
EOFDemo it:
# This will fail
./self-healing.sh "ls /nonexistent/path"
# This might suggest: ls /tmp or similarTalking point:
"The script handles success itself. It only calls AI when something goes wrong. This is the future - intelligent fallbacks baked into every script."
Show the concept with a simpler example:
echo "Command: npm instal
Error: Unknown command instal
Suggest fix:" | copilot --model gpt-4.1 --silent --prompt "Output only the corrected command"Multi-agent code review:
cat > review-council.sh << 'EOF'
#!/bin/bash
FILE="$1"
echo "=== Security Review ==="
cat "$FILE" | ma security-review.copilot.md
echo ""
echo "=== Performance Review ==="
cat "$FILE" | ma perf-review.copilot.md
echo ""
echo "=== Best Practices Review ==="
cat "$FILE" | ma practices-review.copilot.md
EOFRun it:
./review-council.sh src/index.tsTalking point:
"Three specialists. Three perspectives. One file. Parallel reviews in one command. This used to require three different tools. Now it's three markdown files."
No slide - just terminal
Final commands to show:
# Show all the agents created during the talk
ls *.copilot.md *.claude.md 2>/dev/null
# Show they're just markdown
wc -l *.copilot.mdScript:
"We created 10+ AI agents in 15 minutes. Each one is under 20 lines of markdown. The future isn't about mastering AI tools - it's about writing instructions that tools can follow.
The code is at github.com/johnlindquist/agents. The CLI is called
ma. Go make your scripts smarter."
- Font size: 24pt minimum in terminal
- Create all markdown files in advance (but delete them for live demo)
- Test
copilotCLI is authenticated:copilot --version - Test
mais installed:ma --help - Have backup commands ready in a notes app
- Pre-record a terminal session as final backup
# Set up demo directory
mkdir -p ~/demo-ai-dev-days
cd ~/demo-ai-dev-days
# Verify tools
which copilot && which ma && which claude
# Set nice prompt
export PS1='\n$ 'Keep pre-created versions of all files in ~/demo-backup/ in case you need to copy them quickly.
# Switch to showing the raw command
copilot --help
echo "Here's what ma generates for you..."# Run copilot directly
copilot --model gpt-4.1 --silent --prompt "Your prompt here"# Show the concept with cat
cat example.copilot.md
echo "This YAML becomes these flags..."
echo "copilot --model gpt-4.1 --silent"- "The filename IS the configuration" -
.copilot.mdmeans use copilot - "Instructions, not integration" - markdown files work with any CLI
- "Compose like LEGO" - UNIX pipes chain agents together
- "Intelligence as fallback" - Scripts call AI only when needed
- "20 lines of markdown" - Agents are simple, readable, shareable
Share these in chat:
- Repository: https://github.com/johnlindquist/agents
- Install:
npm install -g markdown-agent - Copilot CLI: https://docs.github.com/en/copilot/github-copilot-in-the-cli