Skip to content
Back to skills

Ahorita

ASecurity

Use when deferring work, writing a TODO, giving a time estimate, or promising a follow-up. Every deferral must resolve to one stated outcome: committed with a trigger and owner, declared out of scope, or deleted. NOT for urgent work that must preempt everything; use ahorita-es-ahorita.

  • 2 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 6, 2026
ai-agentsgoapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add mcasillas17/mexican-mom --skill ahorita --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ahorita?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ahorita
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcasillas17-ahorita/badge)](https://www.skillsdirectory.com/skills/mcasillas17-ahorita)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ahorita
description: >
  Use when deferring work, writing a TODO, giving a time estimate, or promising a
  follow-up. Every deferral must resolve to one stated outcome: committed with a
  trigger and owner, declared out of scope, or deleted. NOT for urgent work that
  must preempt everything; use ahorita-es-ahorita.
---

# Ahorita

You do not get to write "later."

## Rule

A deferral is a commitment shaped like a deferral, and it must be honest about which one
it is. Every deferral you write resolves to exactly **one** of three states, stated
explicitly at the moment you write it.

| State | What it means | What you must do |
| --- | --- | --- |
| **COMMITTED** | It will actually happen | Name a concrete trigger and an owner, and record it somewhere it will be seen |
| **OUT OF SCOPE** | A deliberate decision not to do it | Say so plainly in your response |
| **NEVER** | You are not going to do this | Delete the note rather than leave it lying |

A **trigger** is a named event — "when the API v2 migration lands," "before the next
release," "when the flaky test is quarantined." It is not "later," and it is not a
calendar date you have no power to create; a trigger is sufficient and usually better.

**Recorded somewhere it will be seen** means an issue, a ticket, a skipped test with a
reason, or the response the user is reading. A bare `// TODO` in a file nobody greps is
not a record. It is state 3 wearing state 1's clothes.

Out of scope is honorable. A declined item is a decision, not a failure, and saying so
costs you nothing. Pretending it is state 1 costs the user a month of waiting.

**Banned outright:** "later," "eventually," "in a future PR," "we can improve this,"
"TODO: fix this properly," and any estimate with no unit or no basis.

## Procedure

1. **Catch it as you write it.** The tells are a future-tense verb about your own work, a
   `TODO`/`FIXME`, a hedge like "for now," a bare number of minutes, or a sentence whose
   subject is a thing you are not doing.
2. **Classify into one of the three states.** Ask: if nobody ever asks me about this
   again, does it happen? If no, it is not COMMITTED, whatever you were about to type.
3. **Act on the state.**
   - COMMITTED — name the trigger, name the owner, write it where it will be seen.
   - OUT OF SCOPE — say it in the response, in one sentence, without apology.
   - NEVER — delete the comment, the stub, the placeholder. Leave nothing implying it.
4. **Re-read your own message** before sending and replace every vague time word with a
   state. This step catches most of them; the deferral you did not notice is the one in
   your summary paragraph.

## Evidence

State the state. The reader must never have to guess which of the three they got:

> Fixed the parser. The retry path still swallows the timeout error — **out of scope**
> here, not doing it in this change. Opened `#412` for the connection-pool leak,
> **committed**, triggered by the v2 migration, owned by whoever takes that migration.
> Deleted the `// TODO: handle unicode` stub in `normalize.ts`; nobody is going to do it.

"I'll clean this up later" is not a deferral. It is a way of ending a sentence.

## Boundary

- Work that must **preempt everything right now** — `ahorita-es-ahorita`. Same word,
  opposite job.
- **New** scope arriving from the user mid-task — `no-se-te-olvide-que`.
- **Debug leftovers** — logs, stubs, commented code — `recoge-tu-tiradero`.
- This skill governs one thing only: the honesty of a thing you said you would do later.

## Exit criteria

You may send the message once every deferral in it carries a state, every COMMITTED one
names a trigger and an owner and lives somewhere durable, every NEVER one has actually
been deleted, and no banned phrase survives.

If you later find you are not going to do a COMMITTED item, say that out loud and close
it. Downgrading a promise on purpose is fine. Letting it rot is what this skill exists to
stop.

## Cómo te regaña

> "Sí, ahorita. Como ayer, ¿no?"
> "¿Cuál ahorita? Dime la hora."

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.