Borrowing it
Nothing to install: this file belongs to QinxiangCao/QualifiedCProgramming. 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/QinxiangCao/QualifiedCProgramming/main/.agents/skills-en/annotation-designing/SKILL.mdgit clone --depth 1 https://github.com/QinxiangCao/QualifiedCProgrammingWrote 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/skills/qinxiangcao/qualifiedcprogramming/annotation-designing)<a href="https://agentmods.dev/skills/qinxiangcao/qualifiedcprogramming/annotation-designing"><img src="https://agentmods.dev/badge/skills/qinxiangcao/qualifiedcprogramming/annotation-designing/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/skills/qinxiangcao/qualifiedcprogramming/annotation-designing"><img src="https://agentmods.dev/badge/skills/qinxiangcao/qualifiedcprogramming/annotation-designing.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.00056 | $0.00901 |
| Opus 5.5 | $0.00022 | $0.00360 |
| Sonnet 5.5 | $0.00011 | $0.00180 |
| Haiku 4.5 | $0.00006 | $0.00090 |
Grade A, and why
annotation-designing scanned grade A with 0 findings 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 today.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 41 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Annotation Design and Authoring
One annotation owner handles the initial attempt and every retry in the main root.
Work in this order:
problem statement
-> natural-language specification
-> Rocq specification
-> C function contract
-> loop invariant
-> symexec
The natural-language specification, Rocq Spec, and C Ensure state the same output relation. Editorials, algorithm hints, loop state, DP transitions, and data-structure construction do not belong in the top-level specification.
Before writing a definition, search the current dependencies, canonical case library, and shared libraries. Directly combine existing predicates such as Zlength, Znth, sublist, replace_Znth, Forall, Forall2, In, NoDup, Permutation, sum, and the existing monotonicity, extrema, path, and array predicates. Do not add successive wrappers around those combinations. When the problem meaning or a cross-function interface needs a name, keep one case predicate and refer to it directly everywhere else.
Result and progress predicates contain mathematics only, without memory ownership, input restrictions, or implementation-safety ranges. Retain the candidate sets, valid domains, and output formats needed to define the answer. Expand input ranges, element ranges, and overflow conditions in the function contract. Use With for logical values and Require for entry conditions and resources. The mathematical part of Ensure promises only the required final result; return spatial resources separately.
Use Z and Z-indexed list interfaces in new specifications, helpers, and annotations, and Forall for index-independent elementwise properties. Extrema must use MaxMinLib's min_value_of_subset / max_value_of_subset. Reuse sum_range / sum / sum_set_R for sums, Zrange for range enumeration, clos_refl_trans for reflexive-transitive closure, Veci / Vecp / VecpArray for growable vectors, and CDCLLib's literal / clause / cnf / models / cnf_sat / cnf_unsat for CNF and SAT; do not redefine these meanings. See the knowledge rules for boundaries, signatures, and examples.
Put one Inv Assert before every loop. It contains only mathematical progress, ranges needed by the next execution step, live resources, and necessary @pre bridges. Use an ordinary Assert only when symbolic execution cannot recover state needed downstream; it may appear before an if, but not before a return or an Inv Assert. Do not use by local, branch control, ordinary Inv, multi-invariants, or call where clauses in a function body.
Keep a user-provided specification unchanged. If it must change, describe the function, reason, edit, and semantic change in agent_output.md and return it to main. Continue in the same attempt after user approval and unfreeze.
What ships with it
17 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- docs/annotation-authoring-reference.md 15 KB
- docs/annotation-design-guide.md 12 KB
- docs/array-string-guide.md 12 KB
- docs/design-and-annotation-checklist.md 6.6 KB
- docs/examples/algorithm_mirror/max_sub_array_goal.v 17 KB
- docs/examples/algorithm_mirror/max_sub_array_lib.v 12 KB
- docs/examples/algorithm_mirror/max_sub_array.c 2.6 KB
- docs/examples/algorithm-mirror.md 5.0 KB
- docs/examples/binary-search-answer.md 5.7 KB
- docs/examples/split_array_largest_sum.c 2.7 KB
- docs/examples/split-array-largest-sum.md 7.6 KB
- docs/internal-predicate-examples.md 11 KB
- docs/pure-proposition-predicates.md 19 KB
- docs/qcp-operational-guide.md 5.9 KB
- docs/semantic-assert-placement.md 1.5 KB
- docs/spec-and-contract-knowledge.md 26 KB
- workflows/annotation-designing.md 12 KB
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.
- today Changed b3659b1cc606
- 1mo ago Changed · +2 lines 178e0798b25d
- 1mo ago First seen · 39 lines · 56 tokens per session scan A 56fac5cadf8e
annotation-designing is a skill published in the GitHub repository QinxiangCao/QualifiedCProgramming (51 stars, last pushed today), licensed MIT. It adds 56 tokens to every session and 901 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-15.
Other skills, from other repositories
cuopt-numerical-optimization-api
LP, MILP, and QP (beta) with cuOpt — Python, C, and CLI. Use when the user is solving LP, MILP, or QP with any cuOpt interface.
cuopt-developer
Modify, build, test, debug, and contribute to NVIDIA cuOpt (C++/CUDA, Python, server, CI). Use for solver internals, PRs, DCO, and code conventions.
cuda-c-basics
A beginner’s guide to CUDA C, the C/C++ programming model for running work in parallel on NVIDIA GPUs. It covers kernels, threads, blocks, grids, and the GPU’s memory types.
huawei-cloud-ascendc-operator-performance-optim
Develop and optimize custom operators using AscendC programming language. Analyze operator performance bottlenecks and conduct optimization validation. Based on AscendC and CANN toolkit Use this skill when the user wants to: (1) optimize performance-critical operators on Ascend NPU, (2) develop custom operators for…
torchtalk-analyzer
Analyze PyTorch internals across Python, C++, and CUDA layers using the TorchTalk MCP server. Use when asked about how PyTorch operators work internally, where functions are implemented, what would break if code is modified, or finding tests for PyTorch operators.
torchtalk-trace
Trace a PyTorch function's cross-language binding chain (Python -> C++ -> CUDA).