Borrowing it
Nothing to install: this file belongs to hutzelmann/thesis-proposal-skills. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/hutzelmann/thesis-proposal-skills/main/AGENTS.mdgit clone --depth 1 https://github.com/hutzelmann/thesis-proposal-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/hutzelmann/thesis-proposal-skills/agents-md)<a href="https://agentmods.dev/instructions/hutzelmann/thesis-proposal-skills/agents-md"><img src="https://agentmods.dev/badge/instructions/hutzelmann/thesis-proposal-skills/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/hutzelmann/thesis-proposal-skills/agents-md"><img src="https://agentmods.dev/badge/instructions/hutzelmann/thesis-proposal-skills/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.07240 | $0.07240 |
| Opus 5.5 | $0.02896 | $0.02896 |
| Sonnet 5.5 | $0.01448 | $0.01448 |
| Haiku 4.5 | $0.00724 | $0.00724 |
Grade C, and why
thesis-proposal-skills AGENTS.md scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
**Use the OpenSpec tooling; never hand-roll it.** Humans enter the loop through the `/opsx:*` slash commands (`/opsx:propose`, `/opsx:apply`, `/opsx:archive`). Agents invoke the matching skills instead — `openspec-propos How it starts
The opening of the file, as written. The whole thing — 202 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Instructions for AI agents working on this repository (skill development and testing). User-facing proposal guidance lives in shared/guidelines/guidelines.md and is a product artifact, not agent instructions.
What this repo is
thesis-proposal-skills: eleven proposal-* agent skills (under skills/) that help students write thesis proposals — ten student-side, plus the supervisor-side proposal-supervise — and the machinery to test them. Users install the skills on their own machine, through the install prompt that runs the root install.py, the .claude-plugin/ marketplace, or npx skills add (docs/install.md); their proposals never live here. Real proposals sit in a private local directory kept out of version control via .git/info/exclude — never commit, copy, quote, or name its contents. Developer credentials live in the gitignored .env (template: .env.example), never beside the real proposals.
Spec-first workflow (mandatory)
openspec/specs/ is the source of truth, managed with OpenSpec. Any behavior change runs the loop: propose (change folder with proposal, spec deltas, tasks) → human review → implement → archive. Pure refactors/tooling/docs set skip_specs: true in the change's .openspec.yaml. Validate with uv run poe specs, the gate CI runs: scripts/validate_specs.py runs the OpenSpec CLI at its OPENSPEC_VERSION, the one place the OpenSpec CLI version is pinned, with validate --all --strict, and fails on every error or warning except a requirement over OpenSpec's 500-character limit that openspec/long-requirements.json records at no less than its current length. That includes an open change's MODIFIED text, which OpenSpec itself measures only after the archive. Write new requirements under the limit (detail goes into scenarios); --update-baseline records a long requirement that got shorter, moved or went away, and never accepts a new or longer one. uv run poe openspec-currency compares the pin with npm's latest release, the local CLI and the generatedBy stamp of .claude/skills, and a weekly workflow proposes a pin bump as a pull request. Agent integration files under .claude/ are regenerated with openspec init --tools <agent> and are not committed — except .claude/settings.json, which a .gitignore exception keeps tracked.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago Changed · +3 lines · +670 tokens per session aa827d3e8ee4
- 12d ago Changed · +25 lines · +1,907 tokens per session 527b939b1f33
- 1mo ago Changed · +2 lines · +308 tokens per session 146fa973104f
- 1mo ago First seen · 172 lines · 4,355 tokens per session scan C c771afcec7fe
thesis-proposal-skills AGENTS.md is an instructions file published in the GitHub repository hutzelmann/thesis-proposal-skills (9 stars, last pushed 6d ago), licensed MIT. It adds 7,240 tokens to every session, about $0.0290 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
plan-forge database.instructions.md
Database patterns for .NET — Dapper/EF Core 10, parameterized queries, migration strategy.
plan-forge naming.instructions.md
Azure naming conventions — Microsoft CAF abbreviations, constraints, uniqueness, tagging.
plan-forge caching.instructions.md
Caching patterns for .NET — IDistributedCache, Redis, in-memory, cache-aside, TTL strategies.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).