← Blog

2026-10-15 · 13 min

A self-portrait with AI: what my data says about how I learn, write and code

aidataclaudelearningauthorship

For months now I've worked every day with an AI agent in my terminal. I write specs, code, courses and even this blog with it. At some point I asked myself the uncomfortable question: how much of all this is actually mine? I didn't want to answer with an opinion. I wanted to answer with data.

So I built a pipeline that reads my Claude Code history and my two GitHub accounts, and I set it against what the world is saying about AI, writing and authorship. This post is three things at once: an honest self-portrait, a sample of how I work (it's what I teach in MAPA), and a method you can copy at the end.

One disclaimer up front: this post is co-authored too. Claude wrote the draft from the data, and I reviewed it, corrected it and decided what gets published. I approved every quote from my prompts one by one. If that feels like cheating, stick around for the tensions section.

The context

Before looking at myself, I looked outward. The debate is full of big numbers, and almost all of them are self-reported. Sundar Pichai said 75% of Google's new code is generated by AI and reviewed by humans (source). People keep repeating "90%" for Anthropic, but an outside analysis by Redwood Research puts it at ~50% of merged lines (source). These are executives' numbers, each measured its own way, and they can't be compared with each other.

There are more modest outside measurements. SemiAnalysis estimated that ~4% of daily public GitHub commits carry Claude Code's signature (source). In Stack Overflow's 2025 survey, 84% use or plan to use AI, but 46% distrust its accuracy (source).

On productivity and quality, the evidence is awkward. In a controlled experiment by METR, experienced open-source developers took 19% longer with AI while believing they were 20% faster (source). GitClear measured 8x more duplicated code blocks across 211 million lines (source). And an experiment by Anthropic itself found 50% comprehension with AI versus 67% without it (source).

On writing, the ICMJE is clear: AI can't be listed as an author because it can't be accountable for the work (source). And a Cornell study showed that AI suggestions pull writing toward Western styles: Indian writers accepted 25% of suggestions versus 19% for Americans (source).

Around those numbers there are camps: pragmatic enthusiasts, evidence skeptics, people defending agentic engineering with real review, maintainers shutting the door, worry about juniors, and the old question of authorship. What I couldn't find was verifiable data from Latin America. That's why this exercise, even if it's just one person, seems worth doing.

The debate on AI, authorship and code
  • In my prompts
  • Not in my prompts

4 of 23 concepts in the debate show up in my own prompts.

See the data
ConceptRelationConcept
vibe codingel mismo acto con distinto grado de revisiónagentic engineering
Co-Authored-Bycoautoría frente a asistenciaAssisted-by
Signed-off-bysolo un humano certifica el trabajoaccountability
Co-Authored-Bylos conteos públicos dependen del trailer: son un pisomeasurement
Co-Authored-Byel trailer permitiría excluir código del entrenamientotraining data
AI disclosure93% exige atribución para confiartrust
"almost right"salidas casi correctas cuestan horas de revisióntechnical debt
technical debt8x más bloques duplicadosduplication
deskillingmenos comprensión al aprender con IAjuniors
productivitybrecha entre lo percibido y lo medidomeasurement
AI as amplifierla IA amplifica lo que el equipo ya esproductivity
slopla avalancha de texto generado erosiona la confianzatrust
authorshipsin autor humano no hay derecho de autorcopyright
authorshipser autor es poder responder por el trabajoaccountability
homogenizationlas sugerencias empujan hacia estilos occidentalesown voice
code reviewrevisar es lo que separa ingeniería de vibe codingagentic engineering
code reviewla revisión como nueva forma de autoríaauthorship
deskillingrevisar exige entender lo que se delegócode review

The map highlights the debate's concepts that also show up in my prompts. There are only four out of 23: agentic engineering, Co-Authored-By, AI disclosure and code review. I talk to AI a lot, but almost never about AI.

The timeline

Claude Code prompts per day and commits per month

81 active days; the busiest day had 176 prompts.

See the data
DatePromptsSessions
2025-11-1862
2025-11-1942
2025-12-0351
2025-12-0471
2025-12-05151
2025-12-0642
2025-12-0911
2025-12-3021
2026-02-2321
2026-02-25191
2026-02-26102
2026-02-2781
2026-03-05122
2026-03-11246
2026-03-13402
2026-03-16172
2026-03-1791
2026-03-18322
2026-03-191053
2026-03-2051
2026-04-30462
2026-05-03271
2026-05-04411
2026-05-05221
2026-05-06301
2026-05-07362
2026-05-08321
2026-05-09501
2026-05-11302
2026-05-12403
2026-05-16724
2026-05-17243
2026-05-18373
2026-05-19502
2026-05-20281
2026-05-22694
2026-05-23291
2026-05-24272
2026-05-25933
2026-05-26393
2026-05-28193
2026-06-02524
2026-06-03363
2026-06-1092
2026-06-2211
2026-06-23181
2026-06-2443
2026-06-2511
2026-06-30594
2026-07-0141
2026-07-1361
2026-07-14292
2026-07-15294
2026-07-16213
2026-07-20444
2026-07-21283
2026-07-22396
2026-07-231115
2026-07-24908
2026-07-26176
2026-07-28415
2026-07-29795
2026-08-0882
2026-08-1011
2026-08-11111
2026-08-12294
2026-08-14232
2026-08-15506
2026-08-1621
2026-08-18333
2026-08-191137
2026-08-20969
2026-08-21161
2026-08-22111
2026-08-26142
2026-08-28143
2026-09-0111
2026-09-0261
2026-09-0831
2026-10-141166
2026-10-151768
MonthCommits
2026-0222
2026-05382
2026-0699
2026-07411
2026-08250
2026-10296

The calendar runs from November 18, 2025 to today: 81 active days and 2,600 prompts across 210 sessions. Usage is anything but even. May had 20 active days and 795 prompts; September, just 3 days and 10 prompts. My two busiest days were October 14 and 15 (116 and 167 prompts), writing exactly this, and the third was August 19, with 113.

What I wanted to know was whether conversations turn into published code. Sometimes they do, sometimes they don't. In March I wrote 244 prompts and my new account shows no commits that month. It was a month for exploring, not shipping.

Where I put AI

I grouped prompts by domain. Web products take 1,133, more than four in ten: this site (sergiomonsalve.com), bichongos.store, dharmastudio.art, InteFin and sama-mobile, among others. Then come experiments (569), agents (335, with brayan and HER), mushrooms and IoT (330, with Bichongos and mobile-esp32) and education (233, with medmap, New-Old-School and stemedu).

Private repos count toward the totals but never appear by name. That's why "experiments" weighs so much while showing a single public repo.

How I work with it

The agent's most used tools

Bash is the most used tool: 3835 uses.

See the data
ToolUsesGroup
Bash3835execution
WebSearch500research
WebFetch447research
Read265editing
Write193editing
mcp:plugin_playwright_playwright185browser
mcp:claude-in-chrome124browser
Agent115orchestration
SubagentHandback115orchestration
ToolSearch87orchestration
Edit78editing
AskUserQuestion76orchestration
Skill57orchestration
Artifact42orchestration
SendMessage20orchestration

This comes from the full sessions Claude Code keeps, a sample from March to October, not the whole history. By far the tool I use most is Bash: 3,642 calls out of 5,801, almost two in three. Research comes next: 500 web searches and 446 page fetches. The browser (Playwright and Chrome) adds 260 uses, and orchestration (subagents, skills, artifacts) another 467 calls.

One detail I like: the AI asked me 71 clarifying questions before moving on. It isn't all blind delegation.

As for models, Opus 5.5 gave 8,739 of the 11,755 responses in the sample, followed by Opus 5 with 2,469. My reading: I delegate execution and keep the judgment. The agent drives the terminal; what to build and when to stop is my call.

Two eras

I have two GitHub accounts and, without planning it, each one is an era. The old one (smonsalve) runs from 2013 to 2025, with a few commits from 2026. The new one (serandmoncas) started in February 2026.

On the old account I have 417 commits of my own across 73 repos, over thirteen years. On the new one, 1,460 commits across 31 repos, in about eight months. The change in writing is even starker: my median commit message used to be 13 characters. Today it's 137, or 87 without the co-authorship trailer. I used to write "fix". Now there's a paragraph explaining what changed and why, even if the AI drafts much of it.

The co-authors changed too. In the old era five people signed with me, classmates and a business partner, adding up to 101 commits in my public repos. In the new one there are no people at all: there are six Claude models taking turns. Sonnet 4.6 dominated from February to June, Sonnet 5 took July, Opus 5 arrived in August, and Opus 5.5 signs all 286 co-signed commits in October. Opus 4.7 and Haiku 4.5 show up occasionally.

Commits co-signed by Claude, per month

With ClaudeJust me

In 2026-10, 97% of commits carry Claude's signature.

See the data
MonthTotalWith ClaudeMain model
2026-022219 (86%)Claude Sonnet 4.6
2026-0300 (0%)—
2026-0400 (0%)—
2026-05382197 (52%)Claude Sonnet 4.6
2026-069948 (48%)Claude Sonnet 4.6
2026-07411202 (49%)Claude Sonnet 5
2026-08250151 (60%)Claude Opus 5
2026-0900 (0%)—
2026-10296286 (97%)Claude Opus 5.5

Of the new account's 1,460 commits, 903 carry Claude's signature: 62%. Month by month it hovers around half from May to July, rises to 60% in August and hits 97% in October (286 of 296). Commit types include things that aren't software: cultivation, training, content, firmware. AI is already in everything I do, not just the code.

And one detail I didn't expect: Claude isn't only a co-author. In an education repo (New-Old-School) it's the main author of 69 commits.

Who I write code with

smonsalve · 2013–2026

serandmoncas · 2026

  • Sergio
  • Person
  • Model
  • Domain

Before, 5 people; now, 6 Claude models.

See the data
eraAuthorDomainCommits
smonsalveClaude Sonnet 4.6web product4
smonsalvePersona 1experiments12
smonsalvePersona 2experiments51
smonsalvePersona 3experiments9
smonsalvePersona 4experiments28
smonsalvePersona 5experiments1
smonsalveSergioexperiments406
smonsalveSergioweb product11
serandmoncasClaude (autor)education69
serandmoncasClaude Haiku 4.5web product1
serandmoncasClaude Opus 4.7web product19
serandmoncasClaude Opus 5education1
serandmoncasClaude Opus 5mushrooms & IoT121
serandmoncasClaude Opus 5web product15
serandmoncasClaude Opus 5.5education243
serandmoncasClaude Opus 5.5mushrooms & IoT4
serandmoncasClaude Opus 5.5web product39
serandmoncasClaude Sonnet 4.6education2
serandmoncasClaude Sonnet 4.6mushrooms & IoT31
serandmoncasClaude Sonnet 4.6web product205
serandmoncasClaude Sonnet 5agents32
serandmoncasClaude Sonnet 5education8
serandmoncasClaude Sonnet 5mushrooms & IoT71
serandmoncasClaude Sonnet 5web product111
serandmoncasSergioagents59
serandmoncasSergioeducation194
serandmoncasSergioexperiments13
serandmoncasSergiomushrooms & IoT321
serandmoncasSergioweb product804

Three caveats, so I don't fool myself or you. First, the trailer measures who made the commit, not who came up with the change. It's a floor, just like SemiAnalysis's ~4%. Second, the number depends on the workflow: in October Claude commits by default, so the jump to 97% says as much about my setup as about how I work. Third, only public repos are visible on the old account: the work I did for companies in those years doesn't show up, so the baseline underestimates how much I coded before AI.

The ecosystem

The AI tools I use
ToolWhat forIntensity
Claude CodemeasuredTerminal agent: code, specs, data and deploys
Claude.aiself-reportedLong conversations, Projects and Artifacts
ChatGPT / OpenAIself-reportedQuick questions and the API in projects
Ollama (modelos locales)self-reportedLocal agents (Hermes 3 in brayan) and offline tests
Gemini / Antigravityself-reportedOccasional exploration
Cursorself-reportedAI editor, occasional use

Claude Code is the only tool I can measure. The rest are self-reported: Claude.ai for long conversations and artifacts, ChatGPT for quick questions and the API, Ollama for local agents, and Gemini and Cursor now and then. The matrix labels this clearly, because a measurement and a perception are not the same thing.

What I master vs. what I don't

I wanted to know which concepts I actually master and which ones I just name. I took the 200 terms in the Experiencias IA glossary and crossed them on two axes. Spoken: the term appears in my prompts as an instruction. Built: it appears in my repos' code or in my stack backed by code. If a term only shows up in questions ("what is", "explain"), I mark it as asked.

The classifier is lexical: it measures use, not understanding. That's why I reviewed the table by hand and corrected 3 of the 200 concepts.

Concepts: what I talk about vs. what I build

Only built · 1

Talked and built · 4

Neither · 178

Only talked · 17

Ring: I've asked about it ("what is…?")

4 concepts appear both in my prompts and in my code; 178 in neither.

See the data
ConceptCategoryTalkedAskedBuiltQuadrant
Prompt engineeringfundamentos00noNeither
Context engineeringfundamentos00noNeither
Harness engineeringfundamentos73noOnly talked
Patrón de Hashimotofundamentos00noNeither
Cinco primitivasfundamentos00noNeither
RAG (Retrieval-Augmented Generation)fundamentos00noNeither
MCP (Model Context Protocol)fundamentos120noOnly talked
Skillsfundamentos80noOnly talked
Skill creatorfundamentos00noNeither
Agentesfundamentos20noTalked and built
Gestión de contextocontexto-memoria00noNeither
Memoria persistentecontexto-memoria00noNeither
Revelación progresivacontexto-memoria00noNeither
Poda de contextocontexto-memoria00noNeither
Obsidiancontexto-memoria12noOnly talked
Segundo cerebrocontexto-memoria00noNeither
Jarvis (asistente personal)contexto-memoria00noNeither
MemPalascontexto-memoria00noNeither
Infoxicacióncontexto-memoria00noNeither
Encapsulamientocontexto-memoria00noNeither
Fricción productivaseguridad-control00noNeither
Metodología Némesisseguridad-control00noNeither
Seguridad en código generadoseguridad-control00noNeither
Huellas de modelosseguridad-control00noNeither
Escepticismo productivoseguridad-control00noNeither
Auditoría de código IAseguridad-control00noNeither
Supervisión humanaseguridad-control00noNeither
AGI (inteligencia artificial general)seguridad-control00noNeither
Ética y alucinacionesseguridad-control00noNeither
GSD (Getting Stuff Done, marco)seguridad-control00noNeither
Loop Engineeringoperacion-evaluacion00noNeither
Vibe Engineeringoperacion-evaluacion00noNeither
Backlog de ticketsoperacion-evaluacion00noNeither
Pruebas automatizadas (Testing)operacion-evaluacion10yesTalked and built
OpenRouteroperacion-evaluacion00noNeither
Modelos localesoperacion-evaluacion00noNeither
Metaaprendizajeoperacion-evaluacion00noNeither
ICP (perfil de cliente ideal)operacion-evaluacion00noNeither
Comunidad de prácticaoperacion-evaluacion00noNeither
Agilismo en la era de la IAoperacion-evaluacion00noNeither
Hookseguridad-control00noNeither
Status linecontexto-memoria00noNeither
Handoffcontexto-memoria132noOnly talked
Ley del mínimo tokencontexto-memoria00noNeither
Máximo localoperacion-evaluacion00noNeither
Superpowersoperacion-evaluacion120yesTalked and built
OmniRouter / LLM Routeroperacion-evaluacion00noNeither
Hermes Agentfundamentos10noOnly talked
ADRoperacion-evaluacion01noNeither
Último momento responsableoperacion-evaluacion00noNeither
Capa de dominiofundamentos00noNeither
SDRfundamentos00noNeither
Paradoja de Jevonsoperacion-evaluacion00noNeither
Software desechableoperacion-evaluacion00noNeither
Arqueología de códigooperacion-evaluacion00noNeither
Esteganografíaseguridad-control00noNeither
Información asimétricaoperacion-evaluacion00noNeither
Aula invertidaoperacion-evaluacion00noNeither
LLM (modelo de lenguaje grande)fundamentos30noOnly talked
Tokenfundamentos90noOnly talked
Tokenizaciónfundamentos00noNeither
Transformerfundamentos00noNeither
Mecanismo de atenciónfundamentos00noNeither
Parámetrosfundamentos30noOnly talked
Pesos abiertos (open weights)fundamentos00noNeither
Preentrenamientofundamentos00noNeither
Ajuste fino (fine-tuning)fundamentos00noNeither
RLHFfundamentos00noNeither
IA constitucionalfundamentos00noNeither
Modelo de razonamientofundamentos00noNeither
Cadena de pensamientofundamentos00noNeither
Pensamiento extendidofundamentos00noNeither
Temperaturafundamentos20noOnly talked
Inferenciafundamentos00noNeither
Multimodalidadfundamentos00noNeither
Modelo de difusiónfundamentos00noNeither
Few-shotfundamentos00noNeither
Zero-shotfundamentos00noNeither
Prompt de sistemafundamentos00noNeither
Uso de herramientas (tool use)fundamentos10noOnly talked
Salida estructuradafundamentos00noNeither
Claude Codefundamentos30noTalked and built
Coworkfundamentos20noOnly talked
Subagentefundamentos00noNeither
Orquestador de agentesfundamentos00noNeither
Sistema multiagentefundamentos00noNeither
Computer usefundamentos00noNeither
Modelo fundacionalfundamentos00noNeither
Destilaciónfundamentos00noNeither
Mezcla de expertos (MoE)fundamentos00noNeither
Leyes de escalamientofundamentos00noNeither
Modelo de fronterafundamentos00noNeither
Ingeniero de avancefundamentos00noNeither
Vibe codingfundamentos00noNeither
Programación agénticafundamentos00noNeither
Ventana de contextocontexto-memoria00noNeither
Embeddingscontexto-memoria00yesOnly built
Base de datos vectorialcontexto-memoria00noNeither
Búsqueda semánticacontexto-memoria00noNeither
Fragmentación (chunking)contexto-memoria00noNeither
Reordenamiento (reranking)contexto-memoria00noNeither
Búsqueda híbridacontexto-memoria00noNeither
Grafo de conocimientocontexto-memoria00noNeither
CLAUDE.mdcontexto-memoria90noOnly talked
Proyectos (Claude)contexto-memoria375yesNeither
Compactacióncontexto-memoria00noNeither
Caché de promptscontexto-memoria00noNeither
Memoria de corto plazocontexto-memoria00noNeither
Memoria de largo plazocontexto-memoria00noNeither
Memoria episódicacontexto-memoria00noNeither
Contexto compartidocontexto-memoria00noNeither
Limpieza de contextocontexto-memoria00noNeither
Degradación de contextocontexto-memoria00noNeither
Perdido en el mediocontexto-memoria00noNeither
Aguja en el pajarcontexto-memoria00noNeither
NotebookLMcontexto-memoria00noNeither
Spec como fuente de verdadcontexto-memoria00noNeither
Commit frecuentecontexto-memoria00noNeither
llms.txtcontexto-memoria00noNeither
Documentación vivacontexto-memoria00noNeither
Memoria institucionalcontexto-memoria00noNeither
Resumen recursivocontexto-memoria00noNeither
Recuperación agénticacontexto-memoria00noNeither
Mapa del repositoriocontexto-memoria00noNeither
Traspaso de contexto por repositoriocontexto-memoria00noNeither
Comunicación entre sesionescontexto-memoria00noNeither
Ventana deslizantecontexto-memoria00noNeither
Tokens de entrada y salidacontexto-memoria00noNeither
Presupuesto de tokenscontexto-memoria00noNeither
Zettelkastencontexto-memoria00noNeither
Conectorescontexto-memoria00noNeither
Ingesta de documentoscontexto-memoria00noNeither
Inyección de promptsseguridad-control00noNeither
Inyección indirectaseguridad-control00noNeither
Jailbreakseguridad-control00noNeither
Sandboxseguridad-control30noOnly talked
Permisos de herramientasseguridad-control00noNeither
Humano en el cicloseguridad-control00noNeither
Puerta de aprobaciónseguridad-control00noNeither
Guardarraílesseguridad-control00noNeither
Alineaciónseguridad-control00noNeither
Sesgo de automatizaciónseguridad-control00noNeither
Fuga de datosseguridad-control00noNeither
Exfiltraciónseguridad-control00noNeither
Datos personalesseguridad-control00noNeither
Retención cero de datosseguridad-control00noNeither
Secretos en el códigoseguridad-control00noNeither
Cadena de suministro de softwareseguridad-control00noNeither
Slopsquattingseguridad-control00noNeither
Mínimo privilegioseguridad-control00noNeither
Red teamingseguridad-control00noNeither
Clasificador de seguridadseguridad-control00noNeither
Registro de auditoríaseguridad-control00noNeither
Marcas de agua en texto IAseguridad-control00noNeither
Deepfakeseguridad-control00noNeither
Clonación de vozseguridad-control00noNeither
Derechos de autor e IAseguridad-control00noNeither
Sesgo algorítmicoseguridad-control00noNeither
Explicabilidadseguridad-control00noNeither
Interpretabilidadseguridad-control00noNeither
Sicofanciaseguridad-control00noNeither
Envenenamiento de datosseguridad-control00noNeither
Agencia excesivaseguridad-control00noNeither
Condición de paradaseguridad-control00noNeither
Lista de permitidos (allowlist)seguridad-control00noNeither
Gobernanza de IAseguridad-control00noNeither
Política de uso aceptableseguridad-control00noNeither
Ley de IA de la Unión Europeaseguridad-control00noNeither
OWASP Top 10 para LLMseguridad-control00noNeither
Verificación de fuentesseguridad-control00noNeither
Evalsoperacion-evaluacion00noNeither
Benchmarkoperacion-evaluacion00noNeither
LLM como juezoperacion-evaluacion00noNeither
Conjunto doradooperacion-evaluacion00noNeither
Pruebas de regresiónoperacion-evaluacion00noNeither
TDD (desarrollo guiado por pruebas)operacion-evaluacion00noNeither
Integración continuaoperacion-evaluacion00noNeither
Observabilidadoperacion-evaluacion00noNeither
Trazasoperacion-evaluacion00noNeither
Latenciaoperacion-evaluacion00noNeither
Costo por tokenoperacion-evaluacion00noNeither
Enrutamiento de modelosoperacion-evaluacion00noNeither
Cuantizaciónoperacion-evaluacion00noNeither
Ollamaoperacion-evaluacion10noOnly talked
Modo planoperacion-evaluacion00noNeither
Criterios de aceptación binariosoperacion-evaluacion00noNeither
Deuda técnicaoperacion-evaluacion00noNeither
Refactorizaciónoperacion-evaluacion00noNeither
FOMOoperacion-evaluacion00noNeither
Certificación de arquitecto de Anthropicoperacion-evaluacion00noNeither
Miniproyecto comparativooperacion-evaluacion00noNeither
Mismo harness, distinto modelooperacion-evaluacion00noNeither
Límite de gastooperacion-evaluacion00noNeither
Límite de uso (rate limit)operacion-evaluacion20noOnly talked
Procesamiento por lotesoperacion-evaluacion00noNeither
Despliegueoperacion-evaluacion22noOnly talked
Gamificaciónoperacion-evaluacion00noNeither
Voz sintéticaoperacion-evaluacion00noNeither
Burbuja de inversión en IAoperacion-evaluacion00noNeither
Donación de tokensoperacion-evaluacion00noNeither

The result is humbler than I expected. Only 4 concepts land in both: Superpowers, Claude Code, agents and automated testing. There are 17 I only speak, like handoff, MCP, token, CLAUDE.md or skills. Only one is built without being spoken: embeddings. And 178 appear on neither axis, including prompt engineering, context engineering and RAG. RAG is on my declared stack, yet it doesn't appear even once in my prompts.

Six concepts show up in questions, including harness engineering (3 times) and handoff (2). ADR is the only one I've only asked about, never used as an instruction. To me, a concept I only ask about is an honest signal: I'm learning it, I'm not using it yet.

The path backwards

Then I asked myself what I had to learn to reach the stack I use today. I rebuilt a knowledge graph with 52 nodes and 74 dependencies: 35 with evidence on GitHub, 7 self-reported and 10 inferred foundations I approved by hand. Each date comes from the first commit that backs it.

The path backwards

● on GitHub○ self-reported◌ inferred

38 pieces of knowledge behind my 14 technologies of today; the oldest with evidence is from 2013.

See the data
KnowledgeBranchEvidenceFirst evidence
Agents and harness engineeringagentson GitHub2026-07
Linear algebrafoundationsinferred—
Android + BluetoothIoTon GitHub2013-03
Claude Codeagentson GitHub2026-02
Educational content productioneducationon GitHub2014-04
C++IoTon GitHub2013-08
Data pipelines (Dagster, ETL)data & MLself-reported—
Deploy (Vercel, Railway)infraon GitHub2026-05
Experimental design (oTree)data & MLon GitHub2017-04
Djangobackendon GitHub2016-03
Teaching programmingeducationon GitHub2016-01
Basic electronicsfoundationsinferred—
Embeddingsdata & MLself-reported—
Academic reading and writingfoundationsinferred—
ESP32 + PlatformIO + MQTTIoTon GitHub2026-02
Statisticsfoundationsinferred—
Agent evaluationagentsself-reported2026-05
FastAPIbackendon GitHub2025-11
Flaskbackendon GitHub2020-10
Gitinfraon GitHub2020-10
Herokuinfraon GitHub2020-10
HTML and CSSwebon GitHub2013-10
HTTP / REST APIsbackendon GitHub2022-09
JavaScriptwebon GitHub2013-10
Technical writing in LaTeXwritingon GitHub2014-03
Linux and the shellfoundationsinferred—
LLM APIsagentson GitHub2025-03
Logic and algorithmsfoundationsinferred—
Master's in educationeducationon GitHub2026-07
MAPA method / trainingeducationself-reported2026-10
MCPagentsself-reported2026-05
Meta-learningeducationon GitHub2026-06
Machine learning (scikit-learn)data & MLon GitHub2019-11
Next.js + TypeScriptwebon GitHub2026-04
Data analysis (Pandas)data & MLon GitHub2019-10
Programming (Ruby, Java, C++)backendon GitHub2013-01
Promptingagentsinferred—
Pythonbackendon GitHub2014-10
RAG and vector databasesdata & MLself-reported—
Ruby on Railsbackendon GitHub2013-01
Reactwebinferred—
React Nativewebon GitHub2026-07
Networking and protocolsfoundationsinferred—
Web scrapingdata & MLon GitHub2018-02
Sensors and Raspberry PiIoTon GitHub2017-04
Specs and docs written with Claudewritingon GitHub2026-05
SQL and relational modelingbackendon GitHub2013-02
Supabase / Postgresbackendon GitHub2026-05
Learning theoriesfoundationsinferred—
Static typing (Java, Go)backendon GitHub2015-10
Tool callingagentsself-reported—
Visualization (Dash)data & MLon GitHub2020-10

Rewinding it gave me two readings I didn't expect.

First: my current work with agents doesn't depend only on programming. Evaluating agents builds on experimental design (oTree, 2017) and statistics, and the MAPA method comes from teaching programming (2016) and producing educational content (2014). What looks like "knowing AI" today is, to a large extent, knowing how to teach and how to design experiments.

Second: one of the things I delegate most is documentation (289 docs commits on the new account), and that's a skill I already had. My first repo with technical writing in LaTeX dates from 2014. I'm not handing the AI something I never learned. I'm handing it something I know how to review. I keep thinking about Anthropic's 50% versus 67% comprehension result, and I think the difference matters: delegating what you've already mastered is not the same as delegating what you're still learning.

How I talk to AI

How I talk to AI

2484

prompts

18

characters (median)

14%

are questions

80%

in Spanish

Leaving out commands (the ones starting with /), there are 2,475 written prompts. Their median length is 18 characters. Only 13% are questions, and 80% are in Spanish. That's the clearest finding of the whole exercise: I don't converse with AI, I give it short orders. "Commit it." "Continue." "Update the backlog." Long instructions exist, but they're the exception, and they almost always show up when I start something new.

Here are some of those exceptions, with only the month:

act as a software architect and help me improve the functionality and UX of this project

— December 2025 (translated from Spanish)

help me create a backlog with the tasks mentioned so far with description, priority, prerequisites, and whenever we mention a new task or a dependency of some task create it and define it in the backlog

— June 2026 (translated from Spanish)

commit it, remember to add a good definition for each term, maybe an example, references, links, youtube videos, books, or important references, maybe it should lead to another subpage with the term and all those fields?

— July 2026 (translated from Spanish)

update the backlog and continue with the next priority

— July 2026 (translated from Spanish)

help me do harness engineering on this project create a backlog with the tickets done so far and if new tickets come up propose them

— August 2026 (translated from Spanish)

help me apply the curioso methodology to this topic and to the presentation help me using the [Claude visualization] tools we're currently developing and learning to use and whatever you think is worth it from other projects

— October 2026 (translated from Spanish)

what if I wanted the viewer to build me a timeline of what happened in the evolution of a topic: for example I want to learn about aviation give me an index showing me the big milestones in aviation

— October 2026 (translated from Spanish)

There's a pattern: the backlog comes up again and again. I ask the AI to keep track of the tasks, and I decide the order. That's what delegating execution without letting go of judgment looks like.

Tensions

I don't have settled answers. I have five questions that cross the outside world with my own data.

Co-author or assistant? Git gives me Co-Authored-By, but Assisted-by also exists, and it names assistance rather than co-authorship. The ICMJE says AI can't be an author because it can't be accountable for the work. Yet 903 of my 1,460 recent commits carry its name as co-author. Am I using the right word?

The trailer is a floor, not a measurement. SemiAnalysis's ~4% and my 97% in October measure the same thing: who left the signature. In October Claude leaves it because that's how I configured it, not because it did more than in May. If I turn the trailer off, the number collapses and the work stays the same.

The METR paradox, applied to me. I feel much faster. I went from 417 commits in thirteen years to 1,460 in eight months, though that count includes my commits plus the ones Claude co-signed or wrote: it measures the volume of published work, not what I typed. But METR found people who felt 20% faster and were 19% slower. My data measures volume, not speed or quality, and I have no control group.

Review as a new form of authorship. Simon Willison summed it up in an uncomfortable line: "But I'm not reviewing that code". If my prompts have a median of 18 characters, my contribution isn't in what I write but in what I review, accept or reject. And if I don't review, GitClear has already measured what happens: 8x more duplicated code.

My own voice. 80% of my prompts are in Spanish, and I live in the mountains of Antioquia, Colombia. Cornell showed that AI suggestions push toward Western styles. Claude wrote this post from my data, and I corrected it; this English version is itself an adaptation of the Spanish one. Does it sound like me? You tell me. That's why I declare it as co-authored.

Do it yourself

The whole analysis lives in the site's public repo, under scripts/ia-autorretrato. To run it on your own data:

Clone the repo and install dependencies with npm install.
Create .ia-autorretrato/identidades.json with your GitHub accounts and the names you sign commits with: { "cuentas": ["your-username"], "autores": ["Your Name*", "another-alias"] } (a trailing * matches by prefix). You need the gh CLI, logged in. Also, scripts/ia-autorretrato/camino.json and declarado.json are my personal trajectory: edit them with yours, or the script will skip, with a warning, any repos it doesn't find in your accounts.
Run npx tsx scripts/ia-autorretrato/index.ts. It reads your Claude Code history (~/.claude/history.jsonl and the sessions in ~/.claude/projects) and your GitHub commits.
Review what ends up in .ia-autorretrato/: the concept table to correct by hand and the candidate quotes. That folder is in .gitignore, and it's also where the private project-to-domain mappings live.

The only thing that gets published is data/ia-autorretrato.json, with aggregates. Before writing it, a privacy filter blocks the output if it detects text from your prompts, private repo names, people's names, emails or local paths. The same check runs on the text of this post before it's published.

If you want to learn to work like this, with agents, with method and without losing your judgment, that's what I do in my courses. And if you'd rather start with the concepts, the glossary is in Experiencias IA.

// Leave a comment