j5ik2o-parse-dont-validate
Use when replacing validation that discards information with parsing that returns a typed, validated value. Helps enforce invariants through the type system and reduce shotgun parsing. Trigger for validation refactors, type-safe inputs, invalid-state prevention, reducing `Maybe`/nullable checks, or converting validators into constructors/parsers.
- License 许可
- Apache-2.0
- 所属仓库
- j5ik2o/ai-tools
- 最近更新
- 2026-11-11
- Stars
- ★ 28
- Forks
- 0
01 前言 Front Matter
- name
- j5ik2o-parse-dont-validate
- description
- Use when replacing validation that discards information with parsing that returns a typed, validated value. Helps enforce invariants through the type system and reduce shotgun parsing. Trigger for validation refactors, type-safe inputs, invalid-state prevention, reducing `Maybe`/nullable checks, or converting validators into constructors/parsers.
02 资源文件 2
- 参考文档references/details.md905 B
- 参考文档references/patterns.md427 B
03 SKILL.md 正文
Parse, Don't Validate
Do not merely check data and then throw the proof away. Parse it into a type that carries the proof.
Workflow
-
Find validators that return
bool,void, or throw while leaving the original untyped value in circulation. -
Define a target type whose construction proves the invariant.
-
Replace validation calls with parser or smart-constructor calls that return
Result,Either, option, or exceptions as appropriate for the language. -
Change downstream APIs to accept the parsed type.
-
Remove redundant re-validation.
Checks
-
A parsed type should make invalid states unrepresentable.
-
Keep boundary parsing near input edges.
-
Preserve error detail for users and logs.
Reference
Read references/patterns.md for language patterns.
Detailed Reference
For non-trivial implementation, review, or refactoring work, read references/details.md before giving final guidance. It contains the detailed rules, examples, smells, and migration notes that do not belong in the short invocation body.
Output
Return the current validation leak, parsed type design, API changes, and migration steps.
04 同仓库更多 Skills
takt
TAKT ワークフローエンジン。Agent Team を使ったマルチエージェントオーケストレーション。ワークフロー YAML(steps / initial_step)に従ってマルチエージェントを実行する。
takt
TAKT ワークフローエンジン。codex exec でサブエージェントを起動し、ワークフロー YAML(steps / initial_step)に従って マルチエージェントオーケストレーションを実行する。
j5ik2o-takt-workflow-builder
TAKTワークフロー(ワークフローYAML)の作成・カスタマイズスキル。Faceted Prompting (Persona/Policy/Instruction/Knowledge/Output Contract)に基づくファセット群の 生成を含む。references/taktにあるtaktのソースコード・ドキュメント・ビルトインワークフロー群を 参照資料として活用する。ユーザーの要件をヒアリングし、step構成、ルール設計、 ファセットファイル生成を一括で行う。 トリガー:「ワークフローを作りたい」「ワークフローを定義」「taktのワークフローを作成」 「新しいtaktワークフローを作って」「takt workflow」「ワークフローYAML」
j5ik2o-takt-task-builder
TAKTのtasks.yaml(タスクメタデータ)とタスクディレクトリ(.takt/tasks/{slug}/order.md)の 作成・編集を支援するスキル。TaskRecordスキーマに準拠したYAMLエントリの生成、 order.mdタスク仕様書の作成、ステータス遷移ルールの検証を行う。 references/taktにあるtaskスキーマ定義・ドキュメントを参照資料として活用する。 トリガー:「タスクを追加」「tasks.yamlを編集」「taktタスクを作成」 「タスク仕様書を書く」「order.mdを作成」「takt task」「タスクを定義」 「pendingタスクを追加」「GitHub Issueからタスク作成」
j5ik2o-takt-skill-updater
nrslib/takt の新バージョンリリース時に、takt-*スキル群(j5ik2o-takt-task-builder, j5ik2o-takt-workflow-builder, j5ik2o-takt-facet-builder, j5ik2o-takt-analyzer, j5ik2o-takt-optimizer)を最新のtaktバージョンに追従させるスキル。 TypeScriptスキーマ(taskRecordSchemas.ts / taskExecutionSchemas.ts)、ワークフローYAML、ファセットMarkdownの差分を検出し、 SKILL.md・参照ドキュメント(task-schema.md等)を体系的に更新する。 トリガー:「taktスキルを更新」「takt-*スキルの鮮度チェック」「taktバージョンアップ対応」 「スキルが古くないか確認」「takt skill updater」
takt
TAKT ワークフローエンジン。Agent Team を使ったマルチエージェントオーケストレーション。ワークフロー YAML(steps / initial_step)に従ってマルチエージェントを実行する。