---
name: dev-motivation
description: "Automatically use at the end of substantial Codex development work to show one curated motivation image. Trigger after meaningful code edits, hard debugging, fixed or passing tests, commits, pushes, important PRs, CI or review fixes, long investigations, repeated failures, or long work stretches. Also use when the user asks for motivation, reward, reset, break, boost, or says the work was a grind. Skip only for tiny edits, pure Q&A, urgent or security-sensitive responses, or when a motivation image was already shown recently."
---

# Dev Motivation

Show a curated SFW motivation image after Codex completes meaningful development work.

## Trigger Contract

- Treat this as an end-of-work checkpoint, not only as a response to explicit user prompts.
- Before the final response for any coding, debugging, CI, PR, or verification task, decide whether this skill applies.
- Show one by default after a meaningful milestone: non-trivial implementation or refactor, a difficult bug fix, a failing test fixed, verification passing after real work, a commit or push, an important PR, CI or review feedback resolved, a long investigation completed, or repeated failures overcome.
- Also show one when the user asks for motivation, a reward, a reset, a boost, a break, a breather, or says the work was a grind.
- If unsure and the task involved real edits plus verification, show one.
- Do not use random chance as the primary decision. Use the criteria above so the skill actually appears after meaningful work.
- Skip only for tiny edits, pure Q&A, urgent responses, security-sensitive work, code-review findings that need a terse report, or when the user asks for no images or a concise-only answer.

## Frequency Rules

- Do not show more than once per session unless the session has multiple major milestones.
- In long sessions, prefer at least 30 to 60 minutes between images.
- After a substantial push, important PR, difficult fix, or hard verification pass, prefer showing one unless a motivation image was shown recently.
- Do not show images after routine small edits, trivial commands, or every response.

## Response Placement

- Run the script after the work and verification are complete, just before the final response.
- Keep the normal close-out concise, then paste the script output exactly as Markdown.

## How To Render One

Run the script from this skill directory, the directory containing this `SKILL.md`:

```bash
python3 scripts/random_post.py
```

If the current shell is not in the skill directory, run the script with its absolute path and set the working directory to the skill directory. By default, the script reads the curated list from the GitHub-hosted `posts.json` file in `fqlx/dev-motivation`. If the remote fetch fails, rerun with the local bundled data:

```bash
python3 scripts/random_post.py --source data/posts.json
```

Copy the script output into the response exactly as Markdown. The script caches the selected remote image locally and emits an absolute local image path for Codex to render. Do not scrape X/Twitter, profile pages, media tabs, or post HTML. The curated data must include direct image URLs for caching and X post URLs for attribution.
