archived/skills/annotations/SKILL.md
Scan and process inline HTML comments for human-agent collaboration. Finds <!-- @nic: --> or <!-- @ns: --> comments and responds with dated <!-- @claude: --> replies. Works on markdown, Python, and other text files.
npx skillsauth add nicsuzor/academicops annotationsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Taxonomy note: This skill provides domain expertise (HOW) for processing inline HTML comments for human-agent collaboration. See [[TAXONOMY.md]] for the skill/workflow distinction.
Process inline HTML comments for asynchronous human-agent collaboration across file types.
| Type | Extension | Notes |
| ---------- | ------------------------------ | -------------------------------------------------------------------------------- |
| Markdown | .md | Primary use case. HTML comments invisible in rendered output. |
| Python | .py | Use # <!-- @ns: comment --> format. HTML comments work but are unconventional. |
| Other text | .txt, .toml, .yaml, etc. | Any file the agent can read/edit. Use appropriate comment syntax. |
Unsupported: Binary files, images, compiled code.
Human comments: <!-- @nic: comment --> or <!-- @ns: comment --> or <!-- NS: comment --> or '<!-- @nicsuzor: comment -->'
Agent responses: <!-- @claude YYYY-MM-DD: response -->
Comments use HTML syntax for universal markdown compatibility (GitHub, Obsidian, VS Code, etc.). They render as invisible in all standard markdown viewers.
Find all pending human annotations that need response.
<!-- @nicsuzor: use 'rg' instead of grep, run case insensitive, and make the '@' optional --> <!-- @claude 2026-01-12: Done. Updated pattern to use Grep tool (which uses rg), added -i for case insensitive, and made @ optional in the pattern. -->Grep(pattern="<!--\\s*@?(nic|ns|nicsuzor):", path="$ACA_DATA", output_mode="content", -C=2, -i=true)
Output: List of files with pending comments, showing context.
Process annotations in a specific file:
<!-- @nicsuzor: ensure that comments are added to tasks. Once they are fully captured, they can be deleted from the source file. --> <!-- @claude 2026-01-12: Done. Updated workflow to create tasks for actionable annotations before responding. See step 3 below. --> <!-- @claude 2026-01-24: Updated respond workflow to include step 4: capture annotation threads to bd (backup/documentation) before deletion to ensure full context is preserved. --><!-- @nic: or <!-- @ns: comments<!-- @claude response:
<!-- @claude YYYY-MM-DD: response -->Remove resolved annotation threads (both comment and response) after user confirms resolution.
Before:
The court held that platforms must provide notice. <!-- @ns: check if this applies post-DSA -->
After:
The court held that platforms must provide notice. <!-- @ns: check if this applies post-DSA -->
<!-- @claude 2026-01-11: This holding predates DSA. Art. 17 now requires explicit notice with reasoning. Your original cite remains valid for pre-2024 cases. -->
| Pattern | Matches |
| -------------------------------------------- | --------------- |
| <!--\s*@?(nic\|ns): | Human comments |
| <!--\s*@claude\s+\d{4}-\d{2}-\d{2}: | Agent responses |
| Human comment NOT followed by agent response | Pending items |
This skill integrates with daily workflow:
scan $ACA_DATA to find pending annotations<!-- @claude 2026-01-11: -->```markdown code blocks, NOT as bare HTML comments. A bare <!-- @ns: --> in ANY file is a real annotation.<!-- @claude --> reply<!-- @claude --> response MUST include the task ID. Format: <!-- @claude YYYY-MM-DD: Task created: task-id. [brief description] -->$ACA_DATA and $AOPS that the agent can read and edit.md), Python (.py), config files (.toml, .yaml), and other text filestools
Program / portfolio supervision — the autonomous top loop above /supervisor. "Ready the release" → discover and decompose the constituent epics → run /supervisor on each → surface only escalations + merge-ready PRs. Stateless tick driven by /loop; all cross-tick state lives in the program task body.
development
Mirror PKB tasks onto the Cowork native task list at claim time and sync completion back to PKB. Cowork-only; ships only in the cowork build of aops-core.
testing
Instruction quality gate — reviews agent instructions (task bodies, workflow steps, skill procedures, self-test protocols) for shallow-execution vulnerabilities before deployment. Two modes: author (pre-hoc review) and audit (trace a failure back to the instruction gap). The bar is excellence, not compliance.
content-media
Design-stage fitness rubric — persona immersion, scenario design, dimensions that define what excellence looks like for the people a feature serves. Two modes — author (produce a rubric for a new spec) and critique (red-team an existing spec). Output lives on the spec, not in the verification brief. Owned by pauli.