/etc is a marker for open-ended lists. Write X, Y, /etc to tell an agent
that X and Y are examples, then ask it to check the broader category for
material omissions.
Examples are strong instructions. A trailing "etc." is weak by comparison, so
an agent may complete the named items and stop. /etc makes the user's intent
plain: check the examples, infer the category, and keep looking.
The skill guards against two common misses:
- Checklist satisfaction: the agent treats the named items as the entire scope.
- Near-neighbor generalization: the agent finds more of the same kind but misses other kinds of problems.
The idea is motivated by work on instruction-induction conflict. Camassa and Shiller found that explicitly identifying the status of instructions improved adherence in their experiments. Their paper studies instruction status, not this marker specifically: "Do as I Say, Not as I Do: Instruction-Induction Conflict in LLMs" (2026).
Given check timeouts, retries, /etc, the agent should:
- Check timeouts and retries.
- Infer the broader category, in this case reliability.
- Look outside the examples for backoff, circuit breakers, silent failures, load behavior, setting interactions, and other relevant omissions.
- Say what it checked beyond the original list.
The marker expands what the agent considers. It does not grant permission for unrelated changes, destructive actions, external communication, or much higher cost. An explicit exhaustive instruction still wins.
The repository is both a Claude Code marketplace and a Codex marketplace. Each
installs the same skill from plugins/etc-plugin/skills/etc.
/plugin marketplace add henryzd8/etc-skill
/plugin install etc-plugin@etc-skill
The installed skill is namespaced as /etc-plugin:etc. It can also trigger
from a prompt whose open-ended list ends in /etc.
codex plugin marketplace add henryzd8/etc-skill
codex plugin add etc-plugin@etc-skillInvoke it explicitly with $etc, or end an open-ended list with /etc for
implicit invocation.
If the host supports Agent Skills but not plugin marketplaces, copy the skill folder into its skills directory. For example:
# Codex, user level
cp -r plugins/etc-plugin/skills/etc ~/.codex/skills/etc
# Claude Code, user level
cp -r plugins/etc-plugin/skills/etc ~/.claude/skills/etc<repo root>/
├── .agents/plugins/marketplace.json # Codex marketplace
├── .claude-plugin/marketplace.json # Claude marketplace
├── plugins/etc-plugin/
│ ├── .claude-plugin/plugin.json # Claude plugin metadata
│ ├── .codex-plugin/plugin.json # Codex plugin metadata
│ └── skills/etc/
│ ├── SKILL.md # portable skill instructions
│ ├── agents/openai.yaml # Codex skill UI metadata
│ ├── evals/evals.json # tracked behavioral eval definitions
│ ├── evals/trigger-evals.json # tracked trigger cases
│ ├── evals/README.md # tracked eval instructions
│ └── scripts/check_skill.py # tracked deterministic checker
├── etc-workspace/ # local generated eval outputs (gitignored)
├── LICENSE # MIT
└── README.md
The skill folder and its name: etc frontmatter match, as required by the
Agent Skills specification. Eval definitions, the checker, and their README
are repository files intended to be reviewed and shipped. Runs and reports
written under etc-workspace/ are local working data and are deliberately
gitignored; they are not part of the plugin package.
- Only the explicit
/etcmarker triggers this skill. Plainetc.,..., and Unix paths such as/etc/hostsdo not. - Use it for open-ended lists. If the list is exhaustive, say so.
- Weak examples still steer an agent. Remove a bad example instead of expecting the marker to cancel it out.
- The skill's metadata is available for discovery. The full instructions enter context when the skill is selected.
Before publishing:
python3 plugins/etc-plugin/skills/etc/scripts/check_skill.py
gh skill publish --dry-run
python3 -m json.tool .claude-plugin/marketplace.json
python3 -m json.tool .agents/plugins/marketplace.json
python3 -m json.tool plugins/etc-plugin/.claude-plugin/plugin.json
python3 -m json.tool plugins/etc-plugin/.codex-plugin/plugin.json
git diff --checkThe checker is also the local test command; run it from the repository root or
pass the script's full path from elsewhere. gh skill publish --dry-run
validates publication without submitting it. The marketplace files point at
this repository, so a repository release also includes a normal commit and push
of the tracked plugin, manifest, documentation, and eval files; generated run
artifacts are not a build product. Confirm that generated output remains local
with git check-ignore -v etc-workspace/ before a release. Bump the version in
both plugin manifests for a user-visible release.
The skill also includes paired behavioral cases and trigger near-misses under
plugins/etc-plugin/skills/etc/evals. Run marker and baseline prompts in clean,
separate agent sessions with the same model. Use multiple repetitions before
treating a coverage difference as stable.
MIT. See LICENSE.