跳到正文
cccskills
免费在 GitHub 公开

research-ethics

Record the statements a journal requires and a reader checks — authors with their CRediT contributions, ethics approval that names the body and the reference number, how consent was taken, funding with grant numbers, conflicts of interest, data availability with an address or a reason, and the use of generative AI — as a validated record that the submission folder prints and the manuscript never carries. Use when a run is heading for submission, when an author asks who should be listed, when consent, approval or data sharing has to be stated, or when the venue's AI policy comes up.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(2)

  • SKILL.md8.6 KB
  • reference/ethics.md18.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

The statements a reader checks

Five minutes before a submission, somebody writes "Ethics approval was obtained" and "The authors declare no conflicts of interest". Neither sentence can be checked by anyone, and both are the kind a reader is right to be suspicious of. So they are a record here: plan/disclosure.json, validated when it is written and again by r0, printed as disclosure.md inside the submission folder.

The rule this skill exists for, in one line: this package can check that a statement is COMPLETE and it cannot check that it is true — and it will never decide whether a study needed approval. That is an institution's determination. An agent that answers it is answering for somebody else, and the person who pays for it is the researcher.

The record

rs_plan slug=completion-trial part=disclosure disclosure={
  "authors": [
    { "name": "A. Okonkwo", "credit": ["conceptualization", "methodology", "writing-original-draft"] },
    { "name": "R. Silva", "credit": ["formal-analysis", "visualization", "writing-review-editing"] }
  ],
  "ethics": { "approval": "approved", "body": "the University Research Ethics Committee",
              "reference": "UREC-2026-0142", "consent": "written" },
  "funding": [ { "funder": "the National Institute of Education", "grant": "NIE-2026-77",
                 "role": "The funder had no role in the design, analysis or the decision to submit." } ],
  "conflicts": "none",
  "data": { "availability": "on-request", "location": "the corresponding author, within the terms of the ethics approval" },
  "aiUse": { "used": true, "tools": ["a generative writing assistant"], "scope": "writing",
             "disclosure": "A generative writing assistant was used to edit the prose. All claims, analyses and references are the authors' own." }
}
plan/disclosure.json written, and plan/disclosure.md regenerated from it
- path: C:\Users\ana\Desktop\vncode-research\completion-trial\plan\disclosure.json
- 2 author(s), ethics approved, 1 funder(s), no conflicts, data on-request, AI use declared

`format=package` writes these statements as `disclosure.md` beside the title page, and NEVER into the manuscript: a disclosure names people and funders, and a blinded review must not receive it. This package checks that a statement is COMPLETE and cannot check that it is true - whether a study needed approval is your institution's determination, not this tool's.

Six fields, and only authors is required. Each one answers a question a reader actually asks.

fieldwhat it must say, or it is refused
authorsevery author needs at least one CRediT role — an author with no declared contribution is a name on a list
ethicsapproval is one of approved, exempt-declared, not-required, not-applicable, pending; an approved or exempt-declared needs the body, the reference and how consent was taken
fundinga list of { funder, grant }. An empty list is a statement — "none to declare" — and is different from leaving the field out, which says nobody recorded it
conflictsthe string none, or a list of { author, what }
dataavailability is open, on-request, restricted or none; the first two need a location, the last two need a reason
aiUseused true or false. If true, tools and scope are required; if false, naming a tool or a scope is refused as a contradiction

What is refused, and why the wording matters

Refused (DISCLOSURE_INCOMPLETE): an ethics `approval` of approved needs `body`: "approved" with no approving body is a sentence nobody can check
  • DISCLOSURE_INCOMPLETE — the statement is shaped correctly and says nothing a reader can check. An approval with no body, no reference or no consent; consent recorded as waived with no reason; data declared open with no address ("available on request" with nowhere to request is what a reader is entitled to read as "not available"); an author with no contribution.
  • BAD_DISCLOSURE — the statement is malformed: an unknown field, a value outside its vocabulary, a role that is not CRediT, or an AI declaration that contradicts itself (used: false with a scope).

The difference matters when you explain it to a user: the first means finish the sentence, and the second means you have typed a field this package does not read.

Anonymity is the one thing the manuscript must not carry

The disclosure names authors, an approving body and a funder, so it is written beside the manuscript — as disclosure.md next to the title page — and never into it. The submission folder is built with no title block for the same reason, and a check asserts that not one author name from the record appears in the anonymized manuscript. Say this to the user when you build a package: the two files that identify the authors are the title page and the disclosure, and both are uploaded separately.

The question you must NOT answer

When a user asks "do I need ethics approval for this?", the answer is not a classification. It is:

This package will not decide that, and neither should I. Whether your study needs approval, needs consent, or is exempt is your institution's determination — the categories are usually exempt, expedited and full review, and which applies turns on things I cannot see: your jurisdiction, your institution's rules, your funder's terms and who the participants are. What I can do is record what they told you, and make sure the record names the body and the reference number so a reader can check it.

Then help with what IS answerable: what to collect, what the statement has to contain, what the venue asks for, and where a weak record would be visible. reference/ethics.md carries the detail — consent and assent, vulnerable populations, data protection, secondary use, animals, dual use, conflicts, ICMJE authorship and CRediT, funding, data and code availability, AI disclosure, and the integrity failures a statement exists to make visible.

Authorship, and what CRediT is for

The fourteen CRediT roles are the vocabulary: conceptualization, methodology, software, validation, formal analysis, investigation, resources, data curation, writing (original draft), writing (review and editing), visualization, supervision, project administration, funding acquisition.

  • Every author needs at least one, and the matrix in disclosure.md shows who did what. A name with no role is the one entry a reader cannot interpret.
  • ICMJE's four criteria decide who is an author at all (contribution, drafting or revising, final approval, accountability for the whole work) — a contributor who meets none of them is acknowledged, not listed, and one who meets all four cannot be dropped for convenience.
  • Order is a convention, not a fact. It differs by field and by venue: say what the field does and check the venue's guidance rather than importing another field's rule.
  • An AI system cannot be an author. It cannot take responsibility, cannot consent to be one, and every policy surveyed says so. Its use is disclosed, not credited.

Before the run goes out

Run rs_build slug=… format=package and read CHECKLIST.md: it says which statements the run HAS and which it does not, one line each, in those words. A line that says "Funding: not recorded" tells the author exactly what is missing, which is worth more than a line telling them to check something.

Then say the honest thing about what a submission is: the builder can check that the statements are there and complete, and it cannot check that any of them is true. That is what the author's signature means.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Author an editorial HTML+SVG diagram with the Diagram Design kit - choose the visual type, read its reference, start from an example, and satisfy the safety and accessibility contract that diagram_write({kind:"html"}) enforces.

中文简介正在准备中。当前显示原文说明。

vecnode/vn-code102026年10月20日 更新

Control this machine's Docker or Podman engine through the docker_* tools - read the engine's state first, list containers and images, inspect one, tail its logs, pull an image and start it, then stop, restart or remove what you started. Covers the engine that is asleep behind Docker Desktop and the exact call for each verb, the confirm rule removals obey, and the flags the tools deliberately do not have.

中文简介正在准备中。当前显示原文说明。

vecnode/vn-code102026年10月20日 更新

Drive ffmpeg through the media_run tool as an argv array - remux instead of re-encode, map streams explicitly, trim at keyframes, scale and crop, extract audio and frames, and build GIFs, contact sheets and concatenations. Covers the flags this pack injects, reading a failure from its exit code and last log lines, and the version-dependent spellings to hedge.

中文简介正在准备中。当前显示原文说明。

vecnode/vn-code102026年10月20日 更新

Read a media file's real structure with ffprobe through media_run - the JSON invocation and how to read it, what every family of field means, how to count frames, sample without decoding everything, detect HDR and interlacing, and diagnose a missing duration, a stream with no frames or a container that lies. Covers when media_probe's own report is already enough.

中文简介正在准备中。当前显示原文说明。

vecnode/vn-code102026年10月20日 更新

Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.

中文简介正在准备中。当前显示原文说明。

vecnode/vn-code102026年10月20日 更新

Author Mermaid diagrams that parse the first time: choose the right diagram type for the question, write syntax the parser accepts, and keep the picture readable in a narrow panel. A bundled reference covers complex, large diagrams.

中文简介正在准备中。当前显示原文说明。

vecnode/vn-code102026年10月20日 更新

查看 vecnode 的全部技能

报告此技能的问题