ISHIKAWA.CO
Return to the Living Atlas

[ OPEN SOURCE ]

Open-source and development projects

Small, inspectable tools born from everyday practice.

I publish tools that emerged from real development, media, and AI workflows, with their intended use and safety boundaries made explicit.

[ PROJECTS ]

Public projects.

01

Codex CLI health check

codex-healthkit

stable / PyPI available

A metadata-only health check for local Codex CLI environments that avoids credentials and conversation content.

Purpose

Safely compare the state of a regularly used Codex environment before and after updates or problems.

Who it is for

People who use Codex CLI continuously and want a minimal view of session and SQLite WAL metadata.

What it does

  • Inspect session counts and SQLite WAL metadata
  • Compare states through JSON output
  • Run a pinned version temporarily from PyPI

Safety boundary

  • Does not read credentials, tokens, cookies, SQLite contents, or session transcript contents
  • Does not send data to external services
  • Does not delete, compact, repair, or run automatic cleanup

Install or run

uvx --from codex-healthkit==0.4.1 codex-healthkit check

Release fixture / static and reproducible

See it in 30 seconds

A synthetic fixture included in the release shows a normal health report and a before-and-after comparison.

Synthetic codex-healthkit output showing status, session and SQLite WAL metadata, a before-and-after comparison, and the safety boundary.

Input

uvx --from codex-healthkit==0.4.1 codex-healthkit check

Output

  • status: ok
  • active sessions: 18 MB / 42 files (metadata only)
  • SQLite WAL: 6 MB (size only)
  • comparison: WAL +3 MB / archived +2 files

What this proves

  • Values come from a synthetic release fixture, not a real environment
  • No credentials, SQLite contents, or conversation content are output
  • No external upload or automatic cleanup is performed

View this fixture in the tagged release

View source on GitHub View the v0.4.1 release record (checked 2026-08-19) View PyPI 0.4.1 Share a first-run report Read the practical notes on taupe (Japanese)

02

public web source extractor

public-source-extractor

stable / PyPI available

A CLI that converts public HTTP and HTTPS pages into Markdown or versioned JSON for research and AI workflows.

Purpose

Preserve source and retrieval context while turning public information into a reusable format.

Who it is for

Developers and editors who need public web sources in research, verification, or AI workflows.

What it does

  • Accept only public HTTP and HTTPS URLs
  • Output Markdown or a versioned JSON envelope
  • Run temporarily from PyPI with uvx

Safety boundary

  • The public URL entered is sent to Firecrawl Cloud for extraction
  • firecrawl-keyless is an experimental third-party provider whose availability is not guaranteed
  • An independent tool, not a replacement for or wrapper around the official Firecrawl CLI
  • Rejects private, localhost, authenticated, administrative, and secret-bearing URLs
  • Does not read credentials, cookies, browser profiles, localStorage, or local files

Install or run

uvx public-source-extractor@0.1.0 https://example.com/

Release fixture / static and reproducible

See it in 30 seconds

A synthetic fixture included in the release shows the path from a public URL to extracted output or a stable error response.

Synthetic public-source-extractor output showing a public URL input, a versioned JSON result, and the stable response used for rate limits.

Input

uvx public-source-extractor@0.1.0 https://example.com/

Output

  • source_url: https://example.com/
  • provider: firecrawl-keyless / experimental
  • content: Example Domain
  • error: provider_rate_limited / retryable: true

What this proves

  • Values come from a synthetic release fixture, not a live extraction
  • Only public URLs are accepted; private, localhost, and authenticated URLs are rejected
  • Extracted content is untrusted and should be reviewed with its source before use in AI workflows

View this fixture in the tagged release

View source on GitHub View the v0.1.0 release record (checked 2026-09-16) View PyPI 0.1.0 Share a first-run report Read the practical notes on taupe (Japanese)

03

publication evidence workflow

Source-to-Publish Evidence Gate

free core available / private beta live

An offline, no-telemetry, local-first workflow that turns a public-safe manifest into an auditable PASS or HOLD.

Purpose

Combine claims, evidence, and mutable facts into one record so the publication decision can be reproduced.

Who it is for

Editors and developers who publish AI news, technical articles, or business recommendations with explicit evidence and limits.

What it does

  • Generate a deterministic PASS or HOLD from the same manifest
  • Write the same decision to Markdown and versioned JSON
  • Keep the free MIT core separate from the paid workflow pack

Safety boundary

  • The engine runs offline and does not fetch URLs
  • No telemetry is sent and no raw draft is uploaded
  • The free core is MIT; the paid pack adds practical workflows, decision tables, guides, and handoff material

Install or run

uvx --from https://ishikawa.co/downloads/source-to-publish-evidence-gate/source_to_publish_evidence_gate-0.2.0-py3-none-any.whl evidence-gate input.json --json-output report.json --markdown-output report.md

Release fixture / static and reproducible

See it in 30 seconds

The included RC.4 fixture is run by the real engine: an unverified version returns HOLD, then correcting verified_at returns PASS.

Real Source-to-Publish Evidence Gate RC.4 engine output showing the manifest, HOLD with exit 3, the verified_at correction, and PASS with exit 0.

Input

uvx --from https://ishikawa.co/downloads/source-to-publish-evidence-gate/source_to_publish_evidence_gate-0.2.0-py3-none-any.whl evidence-gate input.json --json-output report.json --markdown-output report.md

Output

  • publication_gate: HOLD / exit: 3
  • reason: mutable_fact_unverified:release:version
  • verified_at: 2026-08-28T00:00:00Z
  • publication_gate: PASS / exit: 0

What this proves

  • Generated from the sample fixture and engine in the public RC.4 archive
  • Only verified_at is removed for HOLD; the source, claim, and mode remain unchanged
  • The core engine runs offline and does not upload drafts or reports

View the product and verified setup

View the product and verified setup Download the free MIT core

04

macOS AI capacity planner

QuotaTempo

macOS 14+ / Apple silicon

A native macOS menu-bar app that compares weekly Codex and Claude capacity with the even-use target for the current moment.

Purpose

Make it easy to see what can be used today before the next weekly reset, rather than showing usage alone.

Who it is for

People who use Codex or Claude regularly and want a quiet view of their weekly pace on a Mac.

What it does

  • Show weekly capacity, the current target, and the difference for Codex and Claude
  • Use Codex, Claude, or both
  • Choose Full, Compact, or Icon only for the menu-bar display
  • Opt in to Claude Desktop for capacity and reset times using the existing Desktop login, without a separate CLI login or an open Chrome tab
  • Download a Developer ID-signed and Apple-notarized ZIP from GitHub Releases

Safety boundary

  • Automatic is the default. Local/CLI acquisition does not read credentials, cookies, or Keychain contents; normalized observations stay on the Mac
  • Desktop requires explicit consent and macOS Always Allow. It uses the encrypted authentication cache, cookie-store organization metadata, and Keychain protection key to authenticate requests to Anthropic for capacity and reset times
  • Credentials and Desktop observations stay in memory only. No conversations or prompts are read, raw responses are not saved, and quota observations are not uploaded
  • Desktop never mixes in or falls back to local history, CLI, or browser values. A separate extension may keep running, but the app ignores its values
  • Provider changes may prevent QuotaTempo from retrieving usage data.
  • Does not switch providers, bypass quotas, or recommend which provider to use

Start here

Download QuotaTempo See setup steps Download SHA256SUMS

Save the ZIP and SHA256SUMS in the same folder, then verify:

shasum -a 256 -c SHA256SUMS

Release fixture / static and reproducible

See it in 30 seconds

Sample screens from v0.1.3 show weekly capacity, the current target, and the difference.

QuotaTempo v0.1.3 English sample screen showing weekly Codex and Claude capacity, current targets, differences, and display settings.

Output

  • Codex: W34 / P48 / -14 pts
  • Claude: W60 / P48 / +12 pts
  • provider: Codex / Claude / both
  • menu bar: Full / Compact / Icon only

What this proves

  • A sample from v0.1.3, not current usage
  • See the latest guide for Desktop connection setup
  • The app shows a comparison but does not recommend which provider to use

View this fixture in the tagged release

View the product and verified setup View source on GitHub View the v0.1.15 release record (checked 2026-11-01) Download from GitHub Release Download SHA256SUMS Share a first-run report

[ GITHUB ]

Code and release history.

Each repository README and release notes document current usage, known constraints, and release status.

View GitHub profile