Skip to content
CodexWork
Any AIChatGPTClaudeCodexCopilotGeminiGrokOther agents

Use materials in your tool

All tool notes →

Repeat a feedback review with traceable counts

Run one local command on a feedback batch. Codex proposes themes; Python checks every item ID, counts the assignments and makes a report you can inspect.

Two real CLI runs · synthetic feedback

The exact packaged implementation completed two local GPT-6.1 Sol High calls on 18 and 12 fictional items on 24 October 2026. A duplicate-ID input was rejected before a model call. Internal semantic and static-HTML checks passed; execution alone does not establish browser usability, population accuracy or ordinary-user adoption.

Requires a local terminal, Python and an installed Codex CLI with suitable account access.

Read the full instruction ↓

What you supply

  • A CSV with id, date, channel, text and quote_permission columns
  • A short note about how the feedback was collected and what it represents
  • Python 3.10+ and an installed Codex CLI already signed in through ChatGPT

What it saves

  • An HTML report, theme summary and unclassified-item notes
  • Original model JSON, per-item assignments and preserved input snapshots
  • A run record, or diagnostics when no report can be completed

Actual output · fictional feedback

Open the actual report

Inspect the saved result alongside the input it used before trying the task with your own material.

The instruction

Read examples/feedback-workflow/START.md. For a single one-off question, first consider giving the files directly to your usual Agent. To use the repeatable local workflow, work inside examples/feedback-workflow/ with Python and an already signed-in Codex CLI. Run python3 run.py --input examples/first/feedback_export.csv --context examples/first/collection.md --out results/first. Open the saved report and follow its item links. For your own batch, replace the two input paths and choose a fresh output directory. Send only authorized material to the model. Do not publish or schedule anything. Keep ambiguous interpretations tentative; this package validates structure and computes counts, not the truth of the model's judgment.

Show plain text
Read examples/feedback-workflow/START.md. For a single one-off question, first consider giving the files directly to your usual Agent. To use the repeatable local workflow, work inside examples/feedback-workflow/ with Python and an already signed-in Codex CLI. Run python3 run.py --input examples/first/feedback_export.csv --context examples/first/collection.md --out results/first. Open the saved report and follow its item links. For your own batch, replace the two input paths and choose a fresh output directory. Send only authorized material to the model. Do not publish or schedule anything. Keep ambiguous interpretations tentative; this package validates structure and computes counts, not the truth of the model's judgment.

Stops in this kit

What the sample represents and what a theme means

Which feedback may be sent to the model or quoted

Checks to run

  1. Every source ID occurs once in the classification; themes may overlap.
  2. An observation is supported by its cited items; vague or injected text is not treated as a product request.
  3. The denominator is this batch of feedback items, not all customers.
  4. Restricted original wording is withheld inline, but the saved input CSV still contains it.
  5. Failed runs have diagnostics and no finished report; existing output folders are not overwritten.
Open the checklist →

What has been tested

Two real CLI runs · synthetic feedback

The exact packaged implementation completed two local GPT-6.1 Sol High calls on 18 and 12 fictional items on 24 October 2026. A duplicate-ID input was rejected before a model call. Internal semantic and static-HTML checks passed; execution alone does not establish browser usability, population accuracy or ordinary-user adoption.

Checked 2026-10-24

Limits

  • Requires a local terminal, Python and an installed Codex CLI with suitable account access.
  • Inputs are sent to the chosen model service through Codex, not only processed locally.
  • Each batch is independent; theme IDs and shares do not establish a longitudinal trend.
  • This is a manually started workflow, not a running schedule or hosted service.
  • Input structure can be checked; semantic understanding still needs review.

Optional tool setup

Using a kit

  1. Open START.md and check the local Python and signed-in CLI prerequisites.
  2. Run one supplied batch, then open the HTML report and inspect its item links.
  3. Run the independent changed batch in a fresh folder, or substitute your own authorized feedback and collection note.
Use a kit in your tool →

ChatGPT

  1. Paste the instruction, attach the sample files or your own, and read the stops first.
  2. Pick Work for a multi-step task and supply the context it needs.
  3. For reuse, follow the documented skill or plugin setup on your surface. Downloading a kit does not install it.

Check the permissions for the tools and actions you use. The kit's stops are instructions to the agent; they do not create an enforced approval setting.

ChatGPT · dated notes →

Claude

  1. Paste the instruction, attach the sample files or your own, and read the stops first.
  2. In Cowork, choose the authorized folder containing your inputs where that feature is available. A generic kit-to-skill import was not established by the reviewed pages.
  3. In Claude Code, use CLAUDE.md for project guidance. AGENTS.md is read by default on supported versions (2.1.277+) only when project-path CLAUDE.md or CLAUDE.local.md does not take precedence; session and configuration exceptions apply.

Check the controls in your Claude surface. Anthropic describes approval handbacks, but the kit's stops do not enforce a product permission boundary.

Claude · dated notes →

Codex

  1. Paste the instruction, attach the sample files or your own, and read the stops first.
  2. For project guidance, use AGENTS.md. For a reusable skill, follow the supported setup, such as .agents/skills/<name>/SKILL.md in a repository.
  3. Check the sandbox and approval settings before you start the job.

Codex has sandbox and approval settings. Check them before a job that touches real files.

Codex · dated notes →

Copilot

  1. Paste the plain instruction into a Copilot chat you can access, and read the stops first.
  2. Check which file inputs and actions your tenant's actual surface supports before supplying files.
  3. Keep the kit as a manual prompt. The reviewed posts do not document importing it as a skill, plugin or agent.

Ask your administrator which actions, permissions and approval controls your organization has enabled. A kit's stops do not create those controls.

Copilot · dated notes →

Gemini

  1. Paste the instruction, attach the sample files or your own, and read the stops first.
  2. Where Skills is available, copy or import the skill using that surface's documented setup.
  3. Gemini app and Workspace skills do not sync. Set up the skill separately on each available surface you use.

Some Gemini Tasks may require confirmation. Check current eligibility and permissions before real account work; the kit's stops are instructions, not enforced approval settings.

Gemini · dated notes →

Grok

  1. Paste the plain instruction as a message and read the stops first.
  2. If Bot is available to you, show it the workflow; xAI describes routine learning by following along.
  3. Keep the instruction as plain text; we could not confirm SKILL.md support.

xAI describes approval handbacks for Grok Bot. Check what your account and connected apps allow before real actions.

Grok · dated notes →

Other agents

  1. Paste the plain instruction into an agent that accepts text, then supply inputs through its supported route and read the stops first.
  2. If your agent reads AGENTS.md, save the instruction there.
  3. If the named client supports Agent Skills, use the documented skill folder location and setup for that client and version.

This varies by agent. Look up its approval settings; the kit's stops stay in the instruction wherever you paste it.

Other agents · dated notes →
Markdown · README.md
# Repeat a feedback review with traceable counts

Run one local command on a feedback batch. Codex proposes themes; Python checks every item ID, counts the assignments and makes a report you can inspect.

## Start

1. Edit [brief.md](feedback-workflow/files/brief.md) and [input-template.md](feedback-workflow/files/input-template.md).
2. Supply authorized inputs to your own file-capable agent with [instruction.txt](feedback-workflow/files/instruction.txt).
3. Inspect the saved outputs using [checks.md](feedback-workflow/files/checks.md) before using them. Keep original inputs.

## Inputs

- A CSV with id, date, channel, text and quote_permission columns
- A short note about how the feedback was collected and what it represents
- Python 3.10+ and an installed Codex CLI already signed in through ChatGPT

## Outputs

- An HTML report, theme summary and unclassified-item notes
- Original model JSON, per-item assignments and preserved input snapshots
- A run record, or diagnostics when no report can be completed

## Steps

- Open START.md and check the local Python and signed-in CLI prerequisites.
- Run one supplied batch, then open the HTML report and inspect its item links.
- Run the independent changed batch in a fresh folder, or substitute your own authorized feedback and collection note.

## Instruction

Read examples/feedback-workflow/START.md. For a single one-off question, first consider giving the files directly to your usual Agent. To use the repeatable local workflow, work inside examples/feedback-workflow/ with Python and an already signed-in Codex CLI. Run python3 run.py --input examples/first/feedback_export.csv --context examples/first/collection.md --out results/first. Open the saved report and follow its item links. For your own batch, replace the two input paths and choose a fresh output directory. Send only authorized material to the model. Do not publish or schedule anything. Keep ambiguous interpretations tentative; this package validates structure and computes counts, not the truth of the model's judgment.

## Decisions that need your context

- Which feedback may be sent to the model or quoted
- What the sample represents and what a theme means

## Settled by the brief

No separately annotated settled rules are supplied. Follow the instruction as written.

## Check the output

- Every source ID occurs once in the classification; themes may overlap.
- An observation is supported by its cited items; vague or injected text is not treated as a product request.
- The denominator is this batch of feedback items, not all customers.
- Restricted original wording is withheld inline, but the saved input CSV still contains it.
- Failed runs have diagnostics and no finished report; existing output folders are not overwritten.

## Limits

- Requires a local terminal, Python and an installed Codex CLI with suitable account access.
- Inputs are sent to the chosen model service through Codex, not only processed locally.
- Each batch is independent; theme IDs and shares do not establish a longitudinal trend.
- This is a manually started workflow, not a running schedule or hosted service.
- Input structure can be checked; semantic understanding still needs review.

## Materials

- [examples/feedback-workflow/classification.schema.json](feedback-workflow/files/examples/feedback-workflow/classification.schema.json)
- [examples/feedback-workflow/classify.prompt.md](feedback-workflow/files/examples/feedback-workflow/classify.prompt.md)
- [examples/feedback-workflow/examples/changed/collection.md](feedback-workflow/files/examples/feedback-workflow/examples/changed/collection.md)
- [examples/feedback-workflow/examples/changed/feedback_export.csv](feedback-workflow/files/examples/feedback-workflow/examples/changed/feedback_export.csv)
- [examples/feedback-workflow/examples/first/collection.md](feedback-workflow/files/examples/feedback-workflow/examples/first/collection.md)
- [examples/feedback-workflow/examples/first/feedback_export.csv](feedback-workflow/files/examples/feedback-workflow/examples/first/feedback_export.csv)
- [examples/feedback-workflow/recorded-run/changed/classification.json](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/classification.json) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/exceptions.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/exceptions.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/input/collection.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/input/collection.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/input/feedback_export.csv](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/input/feedback_export.csv) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/item_coding.csv](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/item_coding.csv) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/report.html](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/report.html) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/run-summary.json](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/run-summary.json) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/changed/themes.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/changed/themes.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/execution.json](feedback-workflow/files/examples/feedback-workflow/recorded-run/execution.json) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/classification.json](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/classification.json) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/exceptions.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/exceptions.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/input/collection.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/input/collection.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/input/feedback_export.csv](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/input/feedback_export.csv) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/item_coding.csv](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/item_coding.csv) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/report.html](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/report.html) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/run-summary.json](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/run-summary.json) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/first/themes.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/first/themes.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/recorded-run/report.md](feedback-workflow/files/examples/feedback-workflow/recorded-run/report.md) (original recorded evidence; links retain their recorded form)
- [examples/feedback-workflow/render.py](feedback-workflow/files/examples/feedback-workflow/render.py)
- [examples/feedback-workflow/run.py](feedback-workflow/files/examples/feedback-workflow/run.py)
- [examples/feedback-workflow/START.md](feedback-workflow/files/examples/feedback-workflow/START.md)
- [examples/feedback-workflow/ui-copy.json](feedback-workflow/files/examples/feedback-workflow/ui-copy.json)
- [examples/feedback-workflow/validate.py](feedback-workflow/files/examples/feedback-workflow/validate.py)

## Evidence

[Recorded context and file identities](feedback-workflow/files/evidence.json)

Two real CLI runs · synthetic feedback

The exact packaged implementation completed two local GPT-6.1 Sol High calls on 18 and 12 fictional items on 24 October 2026. A duplicate-ID input was rejected before a model call. Internal semantic and static-HTML checks passed; execution alone does not establish browser usability, population accuracy or ordinary-user adoption.

Observed or source-checked: 2026-10-24.

## Revision and corrections

Revision: 1.0.0. Lifecycle: active.

[Current kit](https://codexwork.com/kits/feedback-workflow/) · [Changes and corrections](https://codexwork.com/changes/)

[Rights and notices](feedback-workflow/files/LICENSES.md) · [Sources](feedback-workflow/files/sources.md) · [Manifest](feedback-workflow/files/manifest.json)

Downloading these files does not run an agent, install a skill, create a schedule, or grant file or account permissions.
Open Markdown file ↗
SKILL.md
---
name: feedback-workflow
description: "Run one local command on a feedback batch. Codex proposes themes; Python checks every item ID, counts the assignments and makes a report you can inspect."
---

# Repeat a feedback review with traceable counts

Read examples/feedback-workflow/START.md. For a single one-off question, first consider giving the files directly to your usual Agent. To use the repeatable local workflow, work inside examples/feedback-workflow/ with Python and an already signed-in Codex CLI. Run python3 run.py --input examples/first/feedback_export.csv --context examples/first/collection.md --out results/first. Open the saved report and follow its item links. For your own batch, replace the two input paths and choose a fresh output directory. Send only authorized material to the model. Do not publish or schedule anything. Keep ambiguous interpretations tentative; this package validates structure and computes counts, not the truth of the model's judgment.

## Required inputs

- A CSV with id, date, channel, text and quote_permission columns
- A short note about how the feedback was collected and what it represents
- Python 3.10+ and an installed Codex CLI already signed in through ChatGPT

## Expected outputs

- An HTML report, theme summary and unclassified-item notes
- Original model JSON, per-item assignments and preserved input snapshots
- A run record, or diagnostics when no report can be completed

## Checks

- Every source ID occurs once in the classification; themes may overlap.
- An observation is supported by its cited items; vague or injected text is not treated as a product request.
- The denominator is this batch of feedback items, not all customers.
- Restricted original wording is withheld inline, but the saved input CSV still contains it.
- Failed runs have diagnostics and no finished report; existing output folders are not overwritten.

## Limits

- Requires a local terminal, Python and an installed Codex CLI with suitable account access.
- Inputs are sent to the chosen model service through Codex, not only processed locally.
- Each batch is independent; theme IDs and shares do not establish a longitudinal trend.
- This is a manually started workflow, not a running schedule or hosted service.
- Input structure can be checked; semantic understanding still needs review.

Revision: 1.0.0. [Read the complete kit](files/README.md) before use. This optional format is not a claim of support by every tool.
Open SKILL.md ↗