agentleFS
wfukatsuwfukatsu/slide-forge/skills/hearing-sheet/SKILL.md

hearing-sheet

Skill5 starsChanged 57 days agoMITView on GitHub

Keep the hearing sheet as data and move it between Markdown, Excel and Google Spreadsheet in both directions — hand one to a customer or partner to fill in, read the answers back, and report what is still unconfirmed. Use for: ヒアリングシートを作って, ヒアリング項目を Excel で, スプレッドシートで顧客に渡したい, 記入してもらったシートを取り込んで, 何が聞けていないか. Not: slides that do the asking (hearing-slides); minutes and email into the record (scalar-deal-intake).

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 1 is distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read references/hearing-kit.md first — the record, the merge rule, the customer filter and the command list are all there, and this skill …

    line 18
  2. Distinctive:

    If it is missing, start it from the blank form — and from the product addendum when a product is already in play:

    line 43
  3. Very specific:

    If a filled-in Markdown sheet already exists from before this skill, init from that file instead of the blank template — the answers come …

    line 55
  4. Very specific:

    Ask in one batch only what you cannot infer (references/interactive-intake.md §0 and §5):

    line 61
  5. Very specific:

    Put a customer-facing sheet in 01_顧客提示.

    line 78
  6. Very specific:

    Run --dry-run first and read the change list.

    line 93
  7. Very specific:

    A conflict stops the merge: Do not reach for --take to make the message go away: look at both values, decide which is true, and say why in …

    line 95

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

日本語

Hearing Sheet I/O

Read references/hearing-kit.md first — the record, the merge rule, the customer filter and the command list are all there, and this skill does not restate them. This file owns only the workflow and the decisions.

Working directory: the slide-forge root. Run everything with .venv/bin/python.

Boundaries

RequestWhere it goes
A hearing sheet in md / xlsx / Google Spreadsheet, in either directionThis skill
What is still unconfirmed, and who can answer itThis skill (gaps)
Slides that ask the open questionshearing-slides
Minutes, email or a CRM export → the recordscalar-deal-intake
Whether the product fits, and which editiontemplates/sales/products/<product>.ja.md (a person judges; only the verdict lands here)
Gate and BANT judgementsreferences/scalar/sales-playbook.md
A quote or a BOM spreadsheetspreadsheets
The proposal deckscalar-proposal-slides

Step 1: Find or start the record

ls accounts/<AE>/<customer>/stages/hearing.json

If it is missing, start it from the blank form — and from the product addendum when a product is already in play:

.venv/bin/python scripts/hearing/hearing_sheet.py init \
    templates/sales/hearing-sheet.ja.md \
    --out accounts/<AE>/<customer>/stages/hearing.json --product scalar

Do not start a second record for the same deal. One deal, one hearing.json, one Google Spreadsheet link.

If a filled-in Markdown sheet already exists from before this skill, init from that file instead of the blank template — the answers come across, and the IDs are assigned then.

Step 2: Decide the surface from who is filling it in

Ask in one batch only what you cannot infer (references/interactive-intake.md §0 and §5):

#headerQuestionOptions
1Who fills it inWho is going to write in this sheet?We do, from minutes / The customer / A partner / Attendees at an event
2FormatWhich surface?Google Spreadsheet (shared link, read back) / Excel (mail it, read the returned file) / Markdown (internal only)
3AudienceIs this going outside?Internal / Handed to the customer (drops the internal columns and sections)

Decide it yourself when the request already says so. A sheet the customer writes in is a Google Spreadsheet or an Excel file, never Markdown.

.venv/bin/python scripts/hearing/hearing_sheet.py render <json> --format gsheet \
    --audience customer --folder <Drive folder URL>

Put a customer-facing sheet in 01_顧客提示; an internal one stays out of the customer folders entirely (sales-playbook.md §8).

Before handing anything over, run the playbook §3 check by eye. The --audience customer filter removes columns and sections; it cannot tell that a question is phrased in a way you would not want quoted back.

Step 3: Read what came back

cp <json> <json>.baseline-YYYYMMDD          # keep the baseline before rendering
.venv/bin/python scripts/hearing/hearing_sheet.py read <surface|URL> \
    --into <json> --baseline <json>.baseline-YYYYMMDD --dry-run

Run --dry-run first and read the change list. Then drop it to write.

  • A conflict stops the merge. Do not reach for --take to make the message go away: look at both values, decide which is true, and say why in the report.
  • An ID that is not in the record means a row was added or the ID column was edited. Ask before inventing a question to match it.
  • Answers arrive as the customer wrote them. Keep their words in 回答; your reading of them belongs in the stage record, not in this cell.
  • Confidence is not raised by an answer appearing. 確認済 needs the customer to have said it or a document to carry it — if you inferred it, it is 推定.

Step 4: Report what is still open

.venv/bin/python scripts/hearing/hearing_sheet.py gaps <json> [--section 4]

Report, in Japanese:

  1. What changed, and where it came from
  2. What is still 未確認, grouped by section, with who can answer it
  3. Anything answered as 推定 — these are what hypothesis-check will confirm
  4. Conflicts, with both values and no resolution invented
  5. What the gaps block downstream — §4.2 and §5 gate the architecture diagram and the BOM in scalar-proposal-slides; §14.3 maps each section to the proposal slide it feeds

Then offer hearing-slides for the questions worth asking in person.

Files

PathRole
scripts/hearing/hearing_sheet.pyinit / render / read / gaps / validate
scripts/hearing/model.pythe document shape, the Markdown parser and renderer
templates/sales/hearing-sheet.ja.mdthe blank form (product-neutral)
templates/sales/products/product-fit addenda
references/hearing-kit.mdshared rules (record, merge, customer filter, storage)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.