今日のミニアプリ: 在庫 CSV ジェネレーター

「使い倒しフェーズ」の初日として、最小規模のツールを作成しました。

何を作ったか

CSV ファイルにバーコード(または商品コード)と数量を行で投入すると、 在庫管理用の整形済み CSV を吐き出すだけのツール。

入力例:

4901234567890,3
4901234567891,1
4901234567892,12

出力例:

code,quantity,scanned_at,sku_hint
4901234567890,3,2026-06-22T10:15:23,unknown
4901234567891,1,2026-06-22T10:15:24,unknown
4901234567892,12,2026-06-22T10:15:25,unknown

コードの中身

import { readFileSync, writeFileSync } from "node:fs";

const input = readFileSync(process.argv[2], "utf8");
const lines = input.trim().split("\n");

const header = "code,quantity,scanned_at,sku_hint";
const rows = lines.map((line, idx) => {
  const [code, qty] = line.split(",");
  const ts = new Date(Date.now() + idx * 1000).toISOString();
  return `${code},${qty},${ts},unknown`;
});

writeFileSync("inventory.csv", [header, ...rows].join("\n"));
console.log(`✓ Wrote ${rows.length} rows to inventory.csv`);

たったこれだけ。Claude Code に「バーコードと数量を読んで在庫 CSV を吐くスクリプト」と 指示しただけで、ほぼこのまま出てきました。

何が嬉しいか

「美容院案件」で棚卸 → 在庫 CSV 化が定常業務になる予定なので、 将来そのまま使えるツールになります。

汎用化していけば:

  • バーコード読み取りアプリ(スマホ)からの自動連携
  • スプレッドシート出力
  • LINE 通知(しきい値割れ)

まではできるかも。

振り返り

観点 結果
所要時間 30 分(うちコーディング 10 分)
Claude Code の役割 100%(自分はプロンプトと検証のみ)
つまずいた点 タイムスタンプの形式調整だけ
学んだこと 仕様を「入力例 + 出力例」で渡すのが最速