thesis-proposal-skills: Instructions file for Claude Code

AGENTS.md

thesis-proposal-skills AGENTS.md is an instructions file for Claude Code, Codex, OpenCode from hutzelmann/thesis-proposal-skills. It costs 7,240 tokens per session, scanned C, original, MIT.

A repository guide for ten agent skills that help students write thesis proposals, including a supervisor-focused skill. It defines a specification-first development process and rules for keeping real proposals and credentials private.

In plain words
What is it for?
Use it when developing, testing, or documenting thesis-proposal skills and validating their specifications.
Why use it?
It tells agents how to change and test the skills while protecting users’ proposal files and following the project’s required review process.

Instructions file for Claude CodeCodexOpenCode

Written for Claude Code and Codex and OpenCode: ${CLAUDE_SKILL_DIR} variable, but also the file is AGENTS.md. Also seen: reads .claude/ paths; mentions .claude-plugin; positional $N argument.

This is hutzelmann/thesis-proposal-skills's own configuration. It tells Claude Code, Codex and OpenCode how to work on thesis-proposal-skills itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything thesis-proposal-skills configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/hutzelmann/thesis-proposal-skills/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/hutzelmann/thesis-proposal-skills

Made for: Claude Code, Codex, OpenCode.

Wrote 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.

agentmods badge for thesis-proposal-skills AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/hutzelmann/thesis-proposal-skills/agents-md/github.svg)](https://agentmods.dev/instructions/hutzelmann/thesis-proposal-skills/agents-md)
Your own site
<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.

agentmods 80×15 button for thesis-proposal-skills AGENTS.md

Your own site · 80×15
<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>
Per session 7,240 This file is loaded in full into every session.
When invoked 7,240 The same file — it is already loaded in full.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 10d ago against content hash aa827d3e8ee4, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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
AGENTS.md · 202 lines

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.

Read the full file on GitHub · 202 lines

Changes

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.

  1. 10d ago Changed · +3 lines · +670 tokens per session aa827d3e8ee4
  2. 12d ago Changed · +25 lines · +1,907 tokens per session 527b939b1f33
  3. 1mo ago Changed · +2 lines · +308 tokens per session 146fa973104f
  4. 1mo ago First seen · 172 lines · 4,355 tokens per session scan C c771afcec7fe

Subscribe to this mod's changes

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.