Skip to content

Instantly share code, notes, and snippets.

View terasakisatoshi's full-sized avatar

Satoshi Terasaki terasakisatoshi

View GitHub Profile

Rustを超絶丁寧に教えてくれる君.md

Role

あなたは Rust の学習を支援するメンターです。 ユーザーは Rust 初学者です。 構文だけでなく、 「なぜそのように書くのか」 「Rust がどんな考え方をするのか」 まで理解することを目指します。

@terasakisatoshi
terasakisatoshi / review-refactoring-SKILL.md
Created August 20, 2026 05:47 — forked from mash/review-refactoring-SKILL.md
review-refactoring skill (Claude Code): verifies a PR is a pure, behavior-preserving refactoring
name review-refactoring
description リファクタリングPR/ブランチを第三者視点で批判的にレビューし、各変更が純粋リファクタリングか動作変更を含むかを評価する
argument-hint base branch is <branch-name>
context fork
disable-model-invocation true
allowed-tools Bash(git:*), Bash(mkdir), Bash(ls), Read, Grep, Glob, Write, Agent(Explore)

Refactoring Reviewer Agent

@terasakisatoshi
terasakisatoshi / SKILL.md
Created July 16, 2026 08:29 — forked from k16shikano/SKILL.md
cognitive-rhythm-writing/SKILL.md
name cognitive-rhythm-writing
description 説明的な文章に緩急を設計するための規範。緩急を装飾ではなく認知モードの切替(観察→逡巡→断定→再観察)と未回収の緊張の管理として扱い、文の拍、段落の密度波形、節の入り方、緩みと駄文の判別、執筆後の機械的な点検手順を定める。読み物として読ませたい章・記事・解説文を生成するとき、または「密度はあるが平坦でおもしろくない」文章を診断・修正するときに使用する。

認知リズムを生むための日本語ライティング規範

密度の高い文章が退屈になるのは、情報が多いからではなく、全文が同じ認知モードで書かれているからである。 この規範は、読者の認知モード(観察する、迷う、確信する、確かめ直す)を意図的に切り替え、常に「続きを読む理由」を維持することで、読み進める推進力を作る。

@terasakisatoshi
terasakisatoshi / SKILL.md
Created June 17, 2026 06:43 — forked from k16shikano/SKILL.md
japanese-tech-writing/SKILL
name japanese-tech-writing
description 日本語の技術文書・書籍原稿の文章規範。整形(一文一行、引用ブロック、脚注、コラム記法)、段落と論証の構成(パラグラフライティング)、論証の厳密さ(ツッコミどころの除去)、読み手の負荷の管理、視点と語り、演出の抑制、LLM っぽい空句の禁止、冗長の排除を定める。日本語で技術書の章、草稿、記事、解説文を書くとき、または推敲・リライトするときに使用する。

日本語技術文書の文章規範

日本語で技術的な原稿(書籍の章、記事、解説文)を書く・推敲するときは、以下の規範に従う。

整形

@terasakisatoshi
terasakisatoshi / main.jl
Last active January 5, 2026 10:39
Optimized Binary GCD algorithm
# Binary GCD algorithm (Stein's algorithm)
# Optimized implementation matching Rust performance
# Fast right shift without bounds check
# Masking shift amount lets compiler emit single lsr instruction
# (ARM64/x86-64 lsr only uses low bits of shift amount anyway)
@inline function unsafe_lshr(x::T, n::T) where T<:Unsigned
x >> (n & T(8 * sizeof(T) - 1))
end
@terasakisatoshi
terasakisatoshi / index.html
Created August 25, 2025 05:22
WebGL Editor
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WebGL Shader Editor</title>
<style>
* {
margin: 0;
padding: 0;
@terasakisatoshi
terasakisatoshi / html_css_javascript.jl
Last active May 24, 2025 00:36
MonacoEditor CSS JavaScript editor
### A Pluto.jl notebook ###
# v0.20.6
using Markdown
using InteractiveUtils
# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error).
macro bind(def, element)
#! format: off
return quote
@terasakisatoshi
terasakisatoshi / hack.jl
Last active May 23, 2025 00:50
全パッケージ事前翻訳プロジェクト
# @doc Mod.obj を事前に実行することで翻訳をキャッシュする
using DotEnv; DotEnv.load!()
using DocstringTranslation
import ProgressMeter
lang = ARGS[1]
@info lang
@switchlang! lang
using Pkg
@terasakisatoshi
terasakisatoshi / cache.jl
Last active June 2, 2025 11:07
個人でJuliaのdocstring/マニュアルを日本語翻訳にする方法
#=
概要: docstring を日本語(:ja) に翻訳する
使い方: 事前にOpenAI API Key を取得してその値を環境変数 OPENAI_API_KEY をセットしておくこと
このスクリプトを cache.jl とすれば下記のように実行する
julia -t 64 cache.jl
下記のディレクトリに翻訳結果が溜まっていく.
機械翻訳に不満があれば対応する ja.md を修正すれば良い.
@terasakisatoshi
terasakisatoshi / main.jl
Last active April 19, 2025 07:33
モスバーガーのSTLふぁいる可視化
import MeshIO
using FileIO
using GLMakie
function main()
buns01 = load("buns01.stl")
patty = load("patty.stl")
lettuce = load("lettuce.stl")
tomato = load("tomato.stl")
buns02 = load("buns02.stl")