Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-25 05:02 UTC

shinpr / ai-coding-project-boilerplate

Agentic coding TypeScript boilerplate for Claude Code: sub-agent workflows with built-in quality checks and context engineering.

JavaScriptMIT★ 223 estrellas⑂ 23 forksdesde jul 2025Ver en GitHub ↗

shinpr/ai-coding-project-boilerplate tiene un índice de salud de 68 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es Vitality (98/100) y la más baja, AI Readiness (46/100). Se actualizó por última vez hace 5 días. Una sola persona concentra la mayor parte del trabajo reciente.

68
global / 100
Moderado

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

68
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

shinprCuenta personal
69 seguidores22 repositorios públicosdesde jun 2019

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

98Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 5 días
33.2/36Cadencia de commits — 48/52 semanas con commits
18/18Volumen de commits — 576 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year576
human_commit_share1
days_since_last_push5
active_weeks_last_year48
Cómo se puntúa
27/27Publica versiones — 100 versiones publicadas
36/36Recencia de las versiones — última versión hace 5 días
27/27Cadencia de publicación — una versión cada ~4,4 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count100
latest_release_tagv1.25.4
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases4,4
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

53Moderado · 18% del índice global
Cómo se puntúa
38.1/60Estrellas — 223 estrellas
11.2/25Forks — 23 forks
1.7/15Observadores — 3 observadores
Datos de entrada utilizados
forks23
stars223
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
Cómo se puntúa
47.6/80Descargas mensuales — 3686 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagescreate-ai-project
dependents
ecosystemsnpm
total_downloads
monthly_downloads3686
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

58Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
1.4/13.5Amplitud de contribuyentes — 1 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled1
top_contributor_share1
Cómo se puntúa
46.8/46.8Resolución de issues — 100% de issues cerradas
37.8/38.3Aceptación de PR — 167/169 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/8 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs167
open_issues0
closed_issues17
issue_closed_ratio1
closed_unmerged_prs2
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
13.3/25Alcance del propietario — 69 seguidores de shinpr
21.9/25Trayectoria — 22 repos públicos, cuenta de ~7 años
Datos de entrada utilizados
followers69
owner_typeUser
is_verified
owner_loginshinpr
public_repos22
account_age_days2585
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 5 días
20/20Historial de versiones — 66 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagescreate-ai-project
ecosystemsnpm
any_deprecatedno
min_days_since_publish5

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

70Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 1 flujo(s) de trabajo
0/24Pruebas presentes
16/16Configuración de linter — biome.json
0/9.6Hooks de pre-commit
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 8 out of 8 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_testsno
has_editorconfigno
has_linter_config
has_precommit_configno

Documentación

85Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
10/10Topics — 12 topics
10/10Wiki
Datos de entrada utilizados
topicsclaude-code, typescript, boilerplate, productivity, ai-agents, skills, agentic-ai, agentic-workflow, developer-tools, agent-skills, quality-gates, llm-orchestration
has_wiki
homepage
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

55Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 8 out of 8 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/8 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
3/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 6
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5,5
Excluidos de la puntuación (sin datos o no aplicable): packaging, signed_releases. Los pesos restantes se han renormalizado.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

46En riesgo · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 99 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,99
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
0/18Arranque con un solo comando
0/22Pruebas automatizadas
11/11Configuración de lint / formato — biome.json
11/11Verificación estática de tipos — tsconfig.json
0/10Entorno reproducible
10/10Práctica demostrada con agentes — 64 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
6/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 6
Datos de entrada utilizados
has_nixno
has_testsno
lockfiles
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configstsconfig.json
agent_commit_share0,64
toolchain_manifests
dependency_bot_commit_share0
Cómo se puntúa
27/45Código verificable por tipos — JavaScript con configuración de verificación de tipos (tsconfig.json)
55/55Tamaños de archivo manejables — 0/10 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageJavaScript
largest_source_bytes15.085
source_files_sampled10
oversized_source_files0

Datos clave

223estrellas de GitHub
1contribuidores
576commits en los últimos 12 meses
5días desde el último push
100versiones publicadas
1factor bus
0issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • No resolved dependencies carried a version and a supported ecosystem

Más detalle

Historial de estrellas y forks 0 ★ / 23 ⇿
0Estrellas
23Forks
75Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

048121620242312025-082026-012026-06
Mayor 0Menor 16Parche 59
OpenSSF Scorecard 5.5 / 10
5.5agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-25 05:01 UTC

10Binary-Artifactsno binaries found in the repo
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests8 out of 8 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/8 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
6Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 6
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Todas las dependencias 14

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 0 paquetes directos y 14 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
npm@biomejs/biome^2.4.6indirecta
npm@types/node^22.0.0indirecta
npm@vitest/coverage-v8^4.0.0indirecta
npm@vitest/ui^4.0.0indirecta
npmdpdm^4.0.0indirecta
npmfast-check^3.23.2indirecta
npmhusky^9.1.7indirecta
npmknip^5.0.0indirecta
npmlint-staged^16.1.0indirecta
npmtsc-alias^1.8.7indirecta
npmtsx^4.19.4indirecta
npmtypescript^5.0.0indirecta
npmvite^6.0.0indirecta
npmvitest^4.0.0indirecta
Avisos de dependencias sin evaluar

El cotejo de avisos no pudo ejecutarse para este informe: No resolved dependencies carried a version and a supported ecosystem

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "claude-code",
        "typescript",
        "boilerplate",
        "productivity",
        "ai-agents",
        "skills",
        "agentic-ai",
        "agentic-workflow",
        "developer-tools",
        "agent-skills",
        "quality-gates",
        "llm-orchestration"
      ],
      "is_fork": false,
      "size_kb": 4540,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Shell": 973,
        "JavaScript": 45287,
        "TypeScript": 280
      },
      "pushed_at": "2026-07-19T08:00:15Z",
      "created_at": "2025-07-27T09:47:51Z",
      "owner_type": "User",
      "updated_at": "2026-07-19T07:58:28Z",
      "description": "Agentic coding TypeScript boilerplate for Claude Code: sub-agent workflows with built-in quality checks and context engineering.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "JavaScript",
      "significant_languages": [
        "JavaScript"
      ]
    },
    "owner": {
      "blog": "https://www.norsica.jp/",
      "name": null,
      "type": "User",
      "login": "shinpr",
      "company": null,
      "location": "Tokyo, Japan",
      "followers": 69,
      "avatar_url": "https://avatars.githubusercontent.com/u/52246947?v=4",
      "created_at": "2019-06-26T13:27:18Z",
      "is_verified": null,
      "public_repos": 22,
      "account_age_days": 2585
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.25.4",
          "kind": "patch",
          "published_at": "2026-07-19T08:00:15Z"
        },
        {
          "tag": "v1.25.3",
          "kind": "patch",
          "published_at": "2026-07-16T07:11:02Z"
        },
        {
          "tag": "v1.25.2",
          "kind": "patch",
          "published_at": "2026-07-06T22:04:26Z"
        },
        {
          "tag": "v1.25.1",
          "kind": "patch",
          "published_at": "2026-06-29T10:10:34Z"
        },
        {
          "tag": "v1.25.0",
          "kind": "minor",
          "published_at": "2026-06-25T02:22:32Z"
        },
        {
          "tag": "v1.24.2",
          "kind": "patch",
          "published_at": "2026-06-23T10:42:15Z"
        },
        {
          "tag": "v1.24.1",
          "kind": "patch",
          "published_at": "2026-06-21T03:07:36Z"
        },
        {
          "tag": "v1.24.0",
          "kind": "minor",
          "published_at": "2026-06-18T13:10:01Z"
        },
        {
          "tag": "v1.23.5",
          "kind": "patch",
          "published_at": "2026-06-14T05:46:37Z"
        },
        {
          "tag": "v1.23.4",
          "kind": "patch",
          "published_at": "2026-06-09T08:06:47Z"
        },
        {
          "tag": "v1.23.3",
          "kind": "patch",
          "published_at": "2026-06-06T06:55:21Z"
        },
        {
          "tag": "v1.23.2",
          "kind": "patch",
          "published_at": "2026-06-01T13:09:52Z"
        },
        {
          "tag": "v1.23.1",
          "kind": "patch",
          "published_at": "2026-05-28T02:24:11Z"
        },
        {
          "tag": "v0.23.0",
          "kind": "minor",
          "published_at": "2026-05-22T05:16:14Z"
        },
        {
          "tag": "v1.22.1",
          "kind": "patch",
          "published_at": "2026-05-16T09:26:23Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2026-05-10T06:52:31Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2026-05-03T05:05:23Z"
        },
        {
          "tag": "v1.20.9",
          "kind": "patch",
          "published_at": "2026-05-01T11:42:38Z"
        },
        {
          "tag": "v1.20.8",
          "kind": "patch",
          "published_at": "2026-04-16T15:29:59Z"
        },
        {
          "tag": "v1.20.7",
          "kind": "patch",
          "published_at": "2026-04-12T03:11:00Z"
        },
        {
          "tag": "v1.20.6",
          "kind": "patch",
          "published_at": "2026-04-10T10:20:18Z"
        },
        {
          "tag": "v1.20.5",
          "kind": "patch",
          "published_at": "2026-04-05T22:57:49Z"
        },
        {
          "tag": "v1.20.4",
          "kind": "patch",
          "published_at": "2026-04-05T09:27:47Z"
        },
        {
          "tag": "v1.20.3",
          "kind": "patch",
          "published_at": "2026-04-04T05:00:06Z"
        },
        {
          "tag": "v1.20.2",
          "kind": "patch",
          "published_at": "2026-04-03T02:45:15Z"
        },
        {
          "tag": "v1.20.1",
          "kind": "patch",
          "published_at": "2026-04-02T08:57:47Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2026-04-01T06:03:36Z"
        },
        {
          "tag": "v1.19.1",
          "kind": "patch",
          "published_at": "2026-03-30T14:45:23Z"
        },
        {
          "tag": "v1.19.0",
          "kind": "minor",
          "published_at": "2026-03-30T10:22:12Z"
        },
        {
          "tag": "v1.18.7",
          "kind": "patch",
          "published_at": "2026-03-30T04:16:34Z"
        },
        {
          "tag": "v1.18.6",
          "kind": "patch",
          "published_at": "2026-03-29T13:37:21Z"
        },
        {
          "tag": "v1.18.5",
          "kind": "patch",
          "published_at": "2026-03-29T10:16:31Z"
        },
        {
          "tag": "v1.18.4",
          "kind": "patch",
          "published_at": "2026-03-28T09:19:29Z"
        },
        {
          "tag": "v1.18.3",
          "kind": "patch",
          "published_at": "2026-03-26T13:52:22Z"
        },
        {
          "tag": "v1.18.2",
          "kind": "patch",
          "published_at": "2026-03-26T04:39:09Z"
        },
        {
          "tag": "v1.18.1",
          "kind": "patch",
          "published_at": "2026-03-25T13:16:49Z"
        },
        {
          "tag": "v1.18.0",
          "kind": "minor",
          "published_at": "2026-03-21T08:43:58Z"
        },
        {
          "tag": "v1.17.1",
          "kind": "patch",
          "published_at": "2026-03-19T05:28:45Z"
        },
        {
          "tag": "v1.17.0",
          "kind": "minor",
          "published_at": "2026-03-08T07:39:01Z"
        },
        {
          "tag": "v1.16.3",
          "kind": "patch",
          "published_at": "2026-03-05T09:01:54Z"
        },
        {
          "tag": "v1.16.2",
          "kind": "patch",
          "published_at": "2026-03-03T10:20:35Z"
        },
        {
          "tag": "v1.16.1",
          "kind": "patch",
          "published_at": "2026-02-23T07:36:13Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2026-02-14T05:30:38Z"
        },
        {
          "tag": "v1.15.1",
          "kind": "patch",
          "published_at": "2026-02-13T05:53:50Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2026-02-12T09:04:23Z"
        },
        {
          "tag": "v1.14.15",
          "kind": "patch",
          "published_at": "2026-02-10T12:34:56Z"
        },
        {
          "tag": "v0.14.14",
          "kind": "patch",
          "published_at": "2026-02-04T12:08:19Z"
        },
        {
          "tag": "v1.14.13",
          "kind": "patch",
          "published_at": "2026-02-02T05:29:18Z"
        },
        {
          "tag": "v1.14.12",
          "kind": "patch",
          "published_at": "2026-01-23T02:49:06Z"
        },
        {
          "tag": "v1.14.11",
          "kind": "patch",
          "published_at": "2026-01-21T02:53:58Z"
        },
        {
          "tag": "v1.14.10",
          "kind": "patch",
          "published_at": "2026-01-20T12:20:40Z"
        },
        {
          "tag": "v1.14.9",
          "kind": "patch",
          "published_at": "2026-01-16T04:35:01Z"
        },
        {
          "tag": "v1.14.8",
          "kind": "patch",
          "published_at": "2026-01-14T02:57:19Z"
        },
        {
          "tag": "v1.14.7",
          "kind": "patch",
          "published_at": "2026-01-12T06:37:15Z"
        },
        {
          "tag": "v1.14.6",
          "kind": "patch",
          "published_at": "2026-01-09T08:50:16Z"
        },
        {
          "tag": "v1.14.5",
          "kind": "patch",
          "published_at": "2026-01-08T01:10:22Z"
        },
        {
          "tag": "v1.14.4",
          "kind": "patch",
          "published_at": "2026-01-06T12:45:27Z"
        },
        {
          "tag": "v0.14.3",
          "kind": "patch",
          "published_at": "2026-01-05T09:15:43Z"
        },
        {
          "tag": "v1.14.2",
          "kind": "patch",
          "published_at": "2025-12-31T07:00:58Z"
        },
        {
          "tag": "v1.14.1",
          "kind": "patch",
          "published_at": "2025-12-30T06:31:03Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2025-12-26T11:21:45Z"
        },
        {
          "tag": "v1.13.1",
          "kind": "patch",
          "published_at": "2025-12-21T14:33:52Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2025-12-21T03:10:19Z"
        },
        {
          "tag": "v1.12.1",
          "kind": "patch",
          "published_at": "2025-12-19T09:33:40Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2025-12-19T08:30:52Z"
        },
        {
          "tag": "v1.11.3",
          "kind": "patch",
          "published_at": "2025-12-18T01:05:21Z"
        },
        {
          "tag": "v1.11.2",
          "kind": "patch",
          "published_at": "2025-12-11T07:52:23Z"
        },
        {
          "tag": "v1.11.1",
          "kind": "patch",
          "published_at": "2025-12-07T06:09:07Z"
        },
        {
          "tag": "v1.11.0",
          "kind": "minor",
          "published_at": "2025-12-05T04:21:14Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2025-12-03T01:29:27Z"
        },
        {
          "tag": "v1.9.3",
          "kind": "patch",
          "published_at": "2025-11-30T21:12:44Z"
        },
        {
          "tag": "v1.9.2",
          "kind": "patch",
          "published_at": "2025-11-30T12:18:17Z"
        },
        {
          "tag": "v1.9.1",
          "kind": "patch",
          "published_at": "2025-11-24T14:37:11Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2025-11-07T01:18:26Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2025-10-26T12:31:29Z"
        },
        {
          "tag": "v1.7.17",
          "kind": "patch",
          "published_at": "2025-10-18T15:11:34Z"
        },
        {
          "tag": "v1.7.16",
          "kind": "patch",
          "published_at": "2025-10-13T02:55:22Z"
        },
        {
          "tag": "v1.7.15",
          "kind": "patch",
          "published_at": "2025-10-12T08:06:11Z"
        },
        {
          "tag": "v1.7.14",
          "kind": "patch",
          "published_at": "2025-10-10T23:55:50Z"
        },
        {
          "tag": "v1.7.13",
          "kind": "patch",
          "published_at": "2025-10-07T04:36:53Z"
        },
        {
          "tag": "v1.7.12",
          "kind": "patch",
          "published_at": "2025-09-30T01:00:47Z"
        },
        {
          "tag": "v1.7.11",
          "kind": "patch",
          "published_at": "2025-09-28T08:37:55Z"
        },
        {
          "tag": "v1.7.10",
          "kind": "patch",
          "published_at": "2025-09-24T10:42:04Z"
        },
        {
          "tag": "v1.7.9",
          "kind": "patch",
          "published_at": "2025-09-09T13:39:21Z"
        },
        {
          "tag": "v1.7.8",
          "kind": "patch",
          "published_at": "2025-09-08T02:42:08Z"
        },
        {
          "tag": "v1.7.7",
          "kind": "patch",
          "published_at": "2025-09-05T05:12:42Z"
        },
        {
          "tag": "v1.7.6",
          "kind": "patch",
          "published_at": "2025-08-31T14:45:32Z"
        },
        {
          "tag": "v1.7.5",
          "kind": "patch",
          "published_at": "2025-08-30T05:10:26Z"
        },
        {
          "tag": "v1.7.4",
          "kind": "patch",
          "published_at": "2025-08-29T04:13:50Z"
        },
        {
          "tag": "v1.7.3",
          "kind": "patch",
          "published_at": "2025-08-28T05:56:36Z"
        },
        {
          "tag": "v1.7.2",
          "kind": "patch",
          "published_at": "2025-08-28T01:12:13Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2025-08-26T14:33:23Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2025-08-24T21:26:54Z"
        },
        {
          "tag": "v1.6.7",
          "kind": "patch",
          "published_at": "2025-08-20T05:29:46Z"
        },
        {
          "tag": "v1.6.6",
          "kind": "patch",
          "published_at": "2025-08-19T07:34:36Z"
        },
        {
          "tag": "v1.6.5",
          "kind": "patch",
          "published_at": "2025-08-17T08:45:26Z"
        },
        {
          "tag": "v1.6.4",
          "kind": "patch",
          "published_at": "2025-08-15T14:15:48Z"
        },
        {
          "tag": "v.1.6.3",
          "kind": "other",
          "published_at": "2025-08-15T02:24:28Z"
        },
        {
          "tag": "v1.6.2",
          "kind": "patch",
          "published_at": "2025-08-10T12:23:31Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2025-08-09T09:29:22Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "13c65498db9066f158db5d1151b6040b2dad6196",
          "body": "Refine evidence-driven skill execution guidance",
          "is_bot": false,
          "headline": "Merge pull request #186 from shinpr/refine/prompt-principles-skills-en",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-07-19T07:58:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0df77656baf2e89243fc815d624613203282a764",
          "body": null,
          "is_bot": false,
          "headline": "chore: release 1.25.4",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-19T07:56:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31408865d44fa673f0580dbae0ec355ac98e6605",
          "body": null,
          "is_bot": false,
          "headline": "refine(skills): mirror execution guidance into ja",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-19T07:55:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "191ec1340d526c5d0f25b1b5ce5ed0b8802db6f4",
          "body": null,
          "is_bot": false,
          "headline": "refine English skill execution guidance",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-19T07:11:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f59a3933e7cd7309de5eddeaff16c3c8288715d",
          "body": "…view-ja\n\nMirror adopted design validity review into ja sources (1.25.3)",
          "is_bot": false,
          "headline": "Merge pull request #185 from shinpr/refine/adopted-design-validity-re…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-07-16T07:09:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2dba7c2a7a6b57a41790ae56751fb230b7737add",
          "body": "…rces\n\nTranslate the adopted design validity review into the Japanese sources,\nmatching existing tone and terminology and avoiding literal renderings:\n\n- document-reviewer: requirements_verbatim / confirmed_decisions inputs,\n  effective-requirements derivation, the confirmed_decisions clause in the\n\n[…]\n integrate the 1.25.3 CHANGELOG entry so it covers both the adopted\ndesign validity review and the skill-optimization refinements.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(design-doc): mirror adopted design validity review into ja sou…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-16T07:08:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "684bee977478fa29933eac1b62422beaf8270adc",
          "body": "…ew-en\n\nRefine skill-optimization patterns and wire through creator/reviewer (1.25.3)",
          "is_bot": false,
          "headline": "Merge pull request #184 from shinpr/feat/adopted-design-validity-revi…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-07-16T06:09:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "882b2fff82ef7575ec4cf054c56306f690db3b4f",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.25.3",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-16T05:18:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5d7f0c7cee7abaed58dd3700319f8a2780d66d3a",
          "body": "…ements into ja sources\n\nTranslate the English skill-optimization refinements into the Japanese\nsources, matching existing tone and terminology and avoiding literal\nrenderings:\n\n- BP-002: least-restrictive sufficient criterion with precision\n  contribution / constraint cost and resolution steps; sou\n[…]\niewer: constraintNecessity balance check (content-observable)\n\nVerified en/ja skills-index consistency and ja agent JSON validity.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(skill-optimization): mirror rashomon prompt-optimization refin…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-16T04:58:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f53335cc9d95a1d134c6f6eced5e6236423fda46",
          "body": "…ments (en)\n\nPort the latest rashomon prompt-optimization BP refinements into the\nEnglish skill-optimization skill and wire them through the consuming\nagents:\n\n- BP-002: least-restrictive sufficient criterion with precision\n  contribution / constraint cost; decompose the dense cell into\n  resolution\n[…]\n\n- skill-reviewer: constraintNecessity balance check (content-observable)\n\nScope: English sources only; ja/active mirror deferred.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(skill-optimization): adopt rashomon prompt-optimization refine…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-16T04:17:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "334df1c37f3e2c491ca74fbdc8e13e10c70b3389",
          "body": "Port the Adopted design validity check from the plugin distribution\n(claude-code-workflows PR #147) into the -en sources, selectively so\nthis repo's already-ahead checks (behavioral claim, fact-disposition\nsemantic alignment, cross-layer assumptions, minimal-surface detail)\nand its TypeScript-specia\n[…]\nnvocation and pass the confirmed\n  scope and user answers to the technical-designer.\n\nScope: -en only; ja sync is a separate step.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(design-doc): add adopted design validity review (en)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-15T23:08:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ee61a6abc39286e93d3764a76fea78bb33c6d4e3",
          "body": "…mptions\n\nrefine(design-doc): evidence-backed behavioral claim verification",
          "is_bot": false,
          "headline": "Merge pull request #183 from shinpr/refine/design-doc-behavioral-assu…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-07-06T22:01:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2401ce19b2431f798831824ac90c75006697d475",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.25.2",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-06T21:59:25Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "05fffcf70385e674c21b56f58555412a08b28a84",
          "body": "Port the evidence-backed behavioral claim verification into the Japanese\nsources so ja matches en end-to-end (generator, template, reviewer).\n\n- technical-designer(+frontend): new \"振る舞いに関する主張の検証\" step under\n  Existing Code Investigation, plus the same compressions (skill-cue collapse,\n  Change Impac\n[…]\npanese claims;\n\"再掲\" (not 言い換え) preserves the shared lookup key.\n\ncheck:skills-index passes; en/ja consistent across all 28 skills.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(design-doc): mirror behavioral claim verification into ja sources",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-06T21:57:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f8f49c73925712f0fb8efe0ffe4d987c99c60413",
          "body": "… (en)\n\nAdd an assumption check so behavioral/factual claims a design relies on\n(framework defaults, capabilities assumed provided, features assumed\nimplemented) are each backed by evidence at design time or bound to a\nfollow-up, running end-to-end across generator, template, and reviewer.\n\n- techni\n[…]\nstore the formal\nSerialized Format / Consumer Parse Rule terms in the template to keep the\ndownstream contract vocabulary aligned.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(design-doc): add evidence-backed behavioral claim verification…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-07-06T21:31:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "76324fea4d69fe9501b327227af237405fa15566",
          "body": "…dependency-handling\n\nrefine(task-executor): add Unimplemented Dependency Handling rule",
          "is_bot": false,
          "headline": "Merge pull request #182 from shinpr/feat/task-executor-unimplemented-…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-29T10:09:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c2e91898240dde07910b1043068e97d11feafc5",
          "body": "Add Unimplemented Dependency Handling rule to task-executor / -frontend\n(en/ja). See CHANGELOG for details.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.25.1",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-29T09:53:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d0c1da52fba95e14101c091cb4a4233404a5cb10",
          "body": "…ja sources\n\nPort the Unimplemented Dependency Handling rule to the Japanese\nsource agents, matching the files' established tone and terminology\n(代替 for stand-in, 垂直スライス for vertical slice, Step4 中核メカニズム\n保全チェック, 鉄則; Design Doc / UI Spec / Target Files / Investigation\nNotes kept in English per file c\n[…]\n\n- Keep \"exact undecided decision\" precision as 具体的な未決の判断.\n\nKeeps both ja agents in sync with the en sources committed in 7fd38a5.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(task-executor): mirror Unimplemented Dependency Handling into …",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-29T09:51:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7fd38a518578bb51919c1c54305b6605400238c3",
          "body": "Define how the executor handles a dependency that is absent or\nunimplemented. A missing dependency is a stop condition only when\npreserving the required contract needs it and no local, reversible\nconstruct can stand in:\n\n- Establish the required contract from an already-read source first;\n  when the\n[…]\nutor.md and\nagents-en/task-executor-frontend.md (frontend adapts terminology:\nUI Spec, component hierarchy / data flow direction).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(task-executor): add Unimplemented Dependency Handling rule",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-29T09:01:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f44045ef56b8d42117898b0e5c0acfa9287e2c5b",
          "body": "docs(readme): list llm-friendly-context in the Applied Skills table",
          "is_bot": false,
          "headline": "Merge pull request #181 from shinpr/docs/list-llm-friendly-context-skill",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T06:10:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19f056c0e6eeb4ee1c6d7cb35588061e2d07dc10",
          "body": "The llm-friendly-context skill (released in #180 / v1.25.0) was missing\nfrom the Applied Skills table. It governs the clarity of LLM-facing\noutput — prompts, handoffs, and generated artifacts — which is an applied\ncontext-engineering activity, so it belongs in the table. Added to both\nREADME.md and README.ja.md.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): list llm-friendly-context in the Applied Skills table",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T06:10:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2440f36b6d43e4cf185d9461c531b1c81cea54d1",
          "body": "feat: add llm-friendly-context skill and wire into artifact-producing agents",
          "is_bot": false,
          "headline": "Merge pull request #180 from shinpr/feat/add-llm-friendly-context-skill",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T02:21:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "064ff374841b054e154dcb68e6824ddab973fb21",
          "body": "The 1.25.0 entry predated the orchestrator-command wiring; widen its scope to\n(agents, skills, commands) and record that the 15 orchestrator commands invoke\nllm-friendly-context before constructing Agent prompts, handoffs, or artifacts.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(changelog): note commands-layer wiring in the 1.25.0 entry",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T02:20:57Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0f203c8f7a4544c94cdfa24f5637367bac82faef",
          "body": "…doff construction points (en/ja)\n\nOrchestrator commands construct Agent prompts, hand off data between\nsub-agents, and write generated artifacts, so they invoke the\nllm-friendly-context skill before doing so.\n\n- Add the skill-execution line to the 15 orchestrator commands that delegate\n  via the Ag\n[…]\n refine-skill / sync-skills excluded (skill-management\n  utilities; the first two run on the more detailed skill-authoring skills)\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(commands): apply llm-friendly-context at orchestrator prompt/han…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T02:19:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8a7db31e13e8b7dd9243eca181e9caa71d4ab291",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.25.0",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T01:59:31Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a1d45d117da003ea4fe4f49eb719d3a8bc6ea5da",
          "body": "…o Japanese assets (ja)\n\n- Port the new llm-friendly-context skill into skills-ja and register it in\n  the Japanese skills-index, mirroring the English side with natural Japanese\n  (technical terms kept in English, translated H2 headings matching the index)\n- Wire the skill into the same 11 artifact\n[…]\niguate the referenced-rows wording, naturalize the\n  goal sentence, and unify output-structure terminology across SKILL and agents\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(agents,skills): mirror llm-friendly-context skill and wiring int…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T01:58:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ee75895525de82ad963d6dee4923811d1ef671d1",
          "body": "…ifact-producing agents (en)\n\n- Add llm-friendly-context skill: clarifies inputs, outputs, success\n  criteria, decisions, and unresolved conditions so downstream agents\n  execute without guessing; register it in skills-index\n- Wire the skill into 11 artifact-producing agents via skills frontmatter,\n\n[…]\neria\n- llm-friendly-context: add a scope boundary vs documentation-criteria and\n  a consistent shape for blocking unresolved items\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(agents,skills): add llm-friendly-context skill and wire into art…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-25T01:33:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d016c60062df5a7abd82a1ba04663b7e238c2962",
          "body": "…nd-spec-completeness\n\nrefine: strengthen failure-mode and spec-completeness coverage in planning agents",
          "is_bot": false,
          "headline": "Merge pull request #179 from shinpr/refine/failure-mode-propagation-a…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-23T10:40:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8565d76c42ad61f5e3d2e565603b9d47935e3cc9",
          "body": "Bump patch version and record the failure-mode / spec-completeness coverage\nchanges in the changelog.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.24.2",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-23T10:38:36Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "dee42a6c00e33944813505816c741215a9368349",
          "body": "…age to ja\n\nJapanese (-ja) counterpart of the prior -en change, keeping wording, tone, and\nterminology consistent across both locales.\n\n- Failure Mode Checklist: add ninth domain-independent category\n  `missing-sort-key ordering` (work-planner, document-reviewer, plan-template)\n- AC drafting: add a \n[…]\nrovement, taskFiles) kept in English; prose mapped to the\nexisting ja vocabulary.\n\nScope: Japanese (-ja) agent/skill sources only.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(agents,skills): apply failure-mode and spec-completeness cover…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-23T10:37:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c2d89e93e3474f3cd1a6530cc730ebe23a505378",
          "body": "…coverage\n\nClose gaps where a feature's combinatorial shape (interacting modes, ordering\nof absent values, reset/clear lifecycle) could pass through planning,\ndecomposition, and review without becoming a verifiable contract.\n\n- Failure Mode Checklist: add ninth domain-independent category\n  `missing\n[…]\ntaskFiles are absent so AC-less obligations are not silently treated as\n  verified\n\nScope: English (-en) agent/skill sources only.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine(agents,skills): strengthen failure-mode and spec-completeness …",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-23T10:23:55Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bc59a9affd5f415f66495ac642ec4c66a333b3a3",
          "body": "fix(skills): resolve cross-skill rule inconsistencies (1.24.1)",
          "is_bot": false,
          "headline": "Merge pull request #178 from shinpr/fix/skill-rule-inconsistencies",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-21T03:06:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "795995e803a421e129046cb9d931d5c1b14a58f7",
          "body": "- documentation-criteria: align the ADR file-count matrix with the automation rule (ADR conditional at 6+; Design Doc + Work Plan required at 3-5)\n- coding-standards / typescript-rules: unify the comment policy (code-first, comment the \"why\")\n- frontend-technical-spec: add the Error Boundary exception to the class-component rule\n\nApplied across en/ja. Bumps version to 1.24.1.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(skills): resolve cross-skill rule inconsistencies",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-21T03:05:38Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1700b1af82918c158ed80111e0b9d8209343fc68",
          "body": "Observable-contract propagation + serialized boundaries; JA localization, naturalness & self-contained prompts (1.24.0)",
          "is_bot": false,
          "headline": "Merge pull request #177 from shinpr/feat/observable-contracts",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-18T13:09:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a8544a72b133c616dbdef1be908a6c68991374f",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.24.0",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-18T12:57:23Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7bbe7b7676ccbf5da3c89a83e053efd5523377f1",
          "body": "Make each worker agent and skill self-contained: replace references to\nother agents by name (input provenance, downstream consumers) and\ncross-skill name pointers with generic role/step descriptions, preserving\nfunctional intent. task-decomposer keeps only the file-naming convention\n(no routing-dest\n[…]\n(commands,\nsubagents-orchestration-guide, task-analyzer), self references, and\nwithin-skill references are intentionally retained.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(agents,skills): drop cross-agent/skill name references (en+ja)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-18T12:56:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8b7b35480c331616db6aa1529d4802d481354b99",
          "body": "…ss (ja)\n\n- Port the observable-contract propagation + serialized-boundary changes into\n  the Japanese assets (work-planner, task-decomposer, task-executor(-frontend),\n  document-reviewer, code-reviewer, technical-designer(-frontend); plan/task/\n  design templates), mirroring the English side.\n- Cor\n[…]\n headings unchanged; check:skills-index consistent across en/ja.\nCross-agent/skill reference cleanup deferred to a separate sweep.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(agents,skills,commands): Japanese localization + naturalness pa…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-18T12:28:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b720d2cbbeeda47dde98259926238f06e8e23bcd",
          "body": "…ndaries (en)\n\nPromote Design Doc binding observable contracts from coverage tracking to an\nenforced propagation lane carried verbatim across plan -> task -> executor ->\nreview, mirroring the existing ADR Bindings mechanism.\n\n- Reference Contracts: column/label set & order, derived-display rules, an\n[…]\niance_violation\n  with explicit field mapping at both pre-implementation and exit gate.\n\ncheck:skills-index: 26 skills consistent.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(agents,skills): observable-contract propagation + serialized bou…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-18T10:01:12Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4de56bb32858313e795a7e2180cffc4bce769d43",
          "body": "…-modernization\n\nAdjacent-case sweep, frontend modernization, and coverage reframe (1.23.5)",
          "is_bot": false,
          "headline": "Merge pull request #176 from shinpr/feat/adjacent-case-sweep-frontend…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-14T05:45:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3dbd611d5312a8eb003cc25e3ee76ab72ba0988f",
          "body": null,
          "is_bot": false,
          "headline": "chore: release 1.23.5",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-14T05:43:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "070f07558a80ca005b093f0f0e5cbf92583bfaf7",
          "body": "…erage reframe (ja)\n\nJapanese counterpart of the English changes, kept in sync with existing ja\nterminology. Structural field names, enum tokens, and section headings stay in\nEnglish (Change Category / Target Files / Investigation Notes / adjacent_residual\n/ bug-fix etc.) because the executor extrac\n[…]\nADR\n  reference so the index matches the updated skills.\n- Compact the multi-line JSON examples across agents to the inline style.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(agents,skills): adjacent-case sweep, frontend modernization, cov…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-14T05:42:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d43786f1aee6f6b0448cba0ce1d0a120965fb024",
          "body": "…erage reframe (en)\n\nAdjacent-case sweep\n- task-decomposer: classify a task's Change Category (bug-fix / regression /\n  state-change / boundary-change) and extend Investigation Targets with the\n  adjacent files and both-side boundary owners.\n- task-executor (+ frontend): field-triggered Adjacent Cas\n[…]\ngling ADR reference.\n\nJSON examples\n- Compact the multi-line JSON examples across agents to the inline style\n  (all blocks parse).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(agents,skills): adjacent-case sweep, frontend modernization, cov…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-14T05:10:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "024dd5ab05ea364193f97372bb0334bbcf32a90b",
          "body": "chore: bump CI action pins to latest major versions",
          "is_bot": false,
          "headline": "Merge pull request #175 from shinpr/chore/bump-ci-action-pins",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-12T23:34:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4423e421ff2534e0ae37b156d946dba2417fc42",
          "body": "setup-node v6 auto-enables npm caching when a packageManager field is\npresent, which requires a committed lock file. This repo intentionally\ngitignores package-lock.json and uses `npm install`, so disable the\nauto cache to fix the \"Dependencies lock file is not found\" failure.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci: disable setup-node package-manager cache",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-12T23:33:31Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8f56b44323f4d9f847c2e53a2438fb9bfc90d724",
          "body": "Update SHA-pinned GitHub Actions to their latest releases:\n- actions/checkout: v4.3.1 -> v6.0.3\n- actions/setup-node: v4.4.0 -> v6.4.0\n\nBoth SHAs verified against the corresponding release tags.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: bump CI action pins to latest major versions",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-12T23:25:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "24587ed02ee557246310cfab385499e5a299d0d6",
          "body": "refine: optional preflight + gate-safe test skeletons (en/ja), strip decorative emojis",
          "is_bot": false,
          "headline": "Merge pull request #174 from shinpr/refine/optional-preflight-en",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-09T08:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a2edc23ab7382a81967a37f97f0da13c523b3c6",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.23.4",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-09T08:02:38Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ca95a698f2b1ec1c9d023f7660c36c61fcc4d273",
          "body": "…p decorative emojis\n\nMirror the English refinement (3c95d48) into the Japanese variant and remove\ndecorative emojis across both language variants.\n\nJapanese mirror (.claude/*-ja/)\n- Implementation Readiness gate -> optional preflight: work-planner stops emitting\n  the marker; plan-template drops th\n[…]\n- Simplify task-executor state transitions to `[ ] -> [x]`, aligning the\n  declaration with the actual two-state update procedure.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine: mirror optional-preflight and gate-safe skeletons to ja, stri…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-09T08:01:57Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3c95d48145383ff3d8e34fe110f35272d07fd364",
          "body": "Replace the Implementation Readiness gate with an optional, user-invoked\npreflight, and bound test-skeleton generation so a committed skeleton stays\ngreen under static gates. English variant (.claude/*-en/) only.\n\nPreflight: gate -> optional advisory\n- work-planner: stop emitting `Implementation Rea\n[…]\nnces not-yet-implemented code that static gates evaluate.\n- task-decomposer: skip tasks already checked off (`[x]`) and committed.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refine: make preflight optional and keep test skeletons gate-safe (en)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-09T07:01:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "549f2eb4fe4ca91b457c5aa8f7261542fcc4ae4e",
          "body": "…y-gates\n\nRequirement-boundary fidelity gates + frontend skill alignment (1.23.3)",
          "is_bot": false,
          "headline": "Merge pull request #173 from shinpr/feat/requirement-boundary-fidelit…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-06T06:53:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a2a04e8e851ed24819c29ce4e704932b0d081f7",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.23.3",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-06T06:52:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bc4aadd4779ca5d60b5b571e5ac641882eb8381c",
          "body": "- frontend-typescript-rules: rules-first rewrite, self-contained (no\n  cross-skill delegation under progressive disclosure). Keep thresholds,\n  boundary type-safety, component/state rules, and error idioms\n  (Result / AppError / Error Boundary); drop generic syntax examples and\n  React.FC. Type the \n[…]\nclient-exposed env\n  vars.\n- task-analyzer skills-index: update sections to match the rewritten\n  skills.\n\nen and ja kept in sync.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor: align frontend skills across en/ja",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-06T06:50:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1fc5d311e91d99bfc6bd6f6c0cb9619b9e166603",
          "body": "…ception\n\n- Compress the Gate Ordering section to a single serial-gate line; gate\n  membership and applicability conditions remain in each subsection's\n  [Gate N — ...] heading (no information loss).\n- Remove the inline React implementation sample from\n  technical-designer-frontend; the loaded front\n[…]\nnt \"except Error Boundaries\" to match\n  the component-design rule (Error Boundaries still require a class).\n\nApplied to en and ja.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor: trim technical-designer prompts and align Error Boundary ex…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-06T06:50:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9870fdc52695a3938c283fb5a003c1cbcc1fa6d6",
          "body": "Apply the EN agent changes to the JA agents, matching each file's\nexisting terminology (e.g. 観測可能/観察可能, メインパス/ハッピーパス) and\nkeeping technical terms (dd_violation, reliability,\ndesign_compliance_violation, attempted_approaches[], Design Doc, AC) in\nEnglish.\n\n- technical-designer / -frontend: 価値起点のドラフトと\n[…]\nundary-path evidence, core-mechanism preservation\n  (cite the source phrase), and publication-boundary state at AC\n  verification.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: mirror requirement-boundary fidelity gates to JA",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-06T05:23:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1ca80fea5dbfd07cb673ec77ebed4dbe9ed5035a",
          "body": "Specify, prove, and verify behavior changes at the requirement boundaries\nwhere regressions hide (a behavior can hold on the main path while\nregressing on a separate branch/state/input/lifecycle/fallback dimension).\n\n- technical-designer / -frontend: Value-First Drafting and Boundary\n  Expansion bef\n[…]\ndary-path evidence,\n  core-mechanism preservation (explicitly required; cite the source\n  phrase), and publication-boundary state.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: strengthen requirement-boundary fidelity across agents (EN)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-06T04:52:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e61790d166aba35746a3bec8894155548b4cddc9",
          "body": "feat: proof-quality and planning-fidelity review gates (1.23.2)",
          "is_bot": false,
          "headline": "Merge pull request #171 from shinpr/feat/proof-quality-planning-fidelity",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-06-01T13:08:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1039ca849b15b9c742f0fa5fa1e722383aa6e0dc",
          "body": "The Japanese rendering of \"claim\" was a false friend that reads as\n\"complaint\"; replace all 16 occurrences across the proof-quality JA\nagent/skill files with the correct word for the asserted behavior.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: correct mistranslated \"claim\" term in the JA files",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-01T13:06:04Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f44378e5589e9693a4a89b04890a249ac70ab7eb",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.23.2",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-01T12:58:58Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "709b892f7dca7d1c849812eb334cedc91de60101",
          "body": "…EN polish)\n\nTranslate the proof-quality and planning-fidelity review gates into the\nJapanese agent/command/skill set, matching each file's existing\nconventions (Japanese prose with English enum/contract tokens such as\nverdict.decision, proof_insufficient, doc_type WorkPlan, design_doc, and\nthe fail\n[…]\nn the Applies?\n  column, matching the table\n- plan / front-plan: work plan review verdict branch split into per-decision\n  bullets\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: mirror proof-quality and planning-fidelity review gates to JA (…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-01T12:56:11Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3835681849057a579c8cf619c7578f0948251f3f",
          "body": "Proof Quality — raise verification from \"tests exist\" to \"tests prove\nthe claim's primary failure mode\":\n- acceptance-test-generator: emit Primary failure mode / Proof obligation\n  on every skeleton (integration, fixture-e2e, service-e2e, property)\n- integration-test-reviewer: Claim Proof Adequacy c\n[…]\ntion-guide: WorkPlan review wired into Medium/Large\n  planning flow; document-reviewer output contract updated to verdict.decision\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add proof-quality and planning-fidelity review gates (EN)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-06-01T12:23:51Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "196d2e45de053134f6afbbf5587728dc88835346",
          "body": "Tighten acceptance evidence discipline across agents",
          "is_bot": false,
          "headline": "Merge pull request #170 from shinpr/feat/acceptance-evidence-discipline",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-28T02:20:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1b208dbba0384241b74e6827f9d93c78ced1975",
          "body": "Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.23.1",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-28T02:18:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1e62faf15cd7ddedf7eda4f03fceb3ec6bee167f",
          "body": "Mirror the EN substance/escalation work and apply translation-specific\nfixes so the JA prompts behave identically to the EN counterparts.\n\nTranslation parity with EN:\n- Add the Substance check (Step 3) to quality-fixer / -frontend with the\n  same recovery-then-stub_detected routing and AC binding.\n-\n[…]\n\"Continue until\"\n  semantics; restore the runtime-signal rationale in the orchestration\n  guide's runnableCheck input description.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: tighten acceptance evidence discipline across agents (JA)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-28T02:16:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eb5a77d25fa89013d7a5e042d9066ad4026be30c",
          "body": "…tract \"Test hollowing\" phrasing\n\n- task-executor-frontend Test Environment Check: the \"Available\" branch\n  allows tests built on only the test runner and a render entry point,\n  but the \"Unavailable\" branch previously asked for a \"test-runner-only\"\n  alternative — the asymmetry would trigger unnece\n[…]\n-passing\n  tests\") so the judgment criterion maps directly to detectable\n  patterns instead of requiring noun-to-action inference.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: align frontend test-environment fallback wording and replace abs…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-28T02:14:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e7eef84637439ab2277c010c43c50a084ab8dd3f",
          "body": "- Add Substance check (Step 3) to quality-fixer / -frontend: when a test run is cited as evidence for the task's ACs, require at least one executed assertion exercising the AC behavior. Hollow tests (skip / TODO-only / always-true / 0-match runner) route via stub_detected with `type: \"hollow_test\"` \n[…]\nfixer blocked example into Variant A (specification conflict) and Variant B (missing prerequisites) to prevent hybrid JSON output.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: tighten acceptance evidence discipline across agents (EN)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-27T22:21:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8ee93ee91579c0914405573752caf27063167811",
          "body": "feat: add ui-analyzer agent and strengthen design/planning workflow",
          "is_bot": false,
          "headline": "Merge pull request #169 from shinpr/feat/ui-analyzer-and-design-flow",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-22T05:15:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce51f6898a63d3d83c9ec0089c3b3d5dd9b58eda",
          "body": "Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.23.0",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-22T05:12:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "dc7e781bcb68fcf8740749d6cc0f7baeb00abbc7",
          "body": "- Translate the Japanese-version assets (agents-ja / commands-ja / skills-ja) to mirror the English-version workflow changes: the ui-analyzer agent, ADR binding propagation, codebase-first linear design recipes, prompt trims, and input-contract consistency fixes\n- Fix the design recipe Step 4 execut\n[…]\nc runs before user approval, consistent with the Workflow Overview diagram and front-design (applied to both English and Japanese)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add ui-analyzer agent and strengthen design/planning workflow (JA)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-22T05:03:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5a962f73a09bef81068e00bacdfb54a80355d354",
          "body": "- Add ui-analyzer agent for UI fact gathering and register it in the orchestration guide\n- Propagate ADR binding decisions through work plan, task decomposition, and task execution, with a binding_decision_violation escalation path\n- Rework the design and front-design recipes into a fixed linear flo\n[…]\nent input contracts, review-mode handling, and recipe handoffs\n\nEnglish-version assets only (agents-en / commands-en / skills-en).\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add ui-analyzer agent and strengthen design/planning workflow (EN)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-22T02:41:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "23c31742c0f73723fb6d3a2503891ffef749e13d",
          "body": "…-gate\n\nRelease 1.22.1: Minimal Surface Alternatives design gate",
          "is_bot": false,
          "headline": "Merge pull request #168 from shinpr/feat/minimal-surface-alternatives…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-16T09:25:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "677ca4ed691294674c0dea918ac61ca0eda84417",
          "body": "Adds a \"Scope Discipline\" section to CLAUDE.md (EN/JA) defining how to constrain edits within the user's specified scope: explicit quantities and targets (\"one\", \"this file\", \"only X\") set boundaries; copy/move/mirror requests preserve content verbatim; port/translation requests preserve intent and \n[…]\nA Scope Discipline section uses 「対応箇所」 for natural correspondence semantics.\n\nFolds these changes into the 1.22.1 CHANGELOG entry.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: add Scope Discipline rule and tighten CLAUDE.md wording",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-16T09:21:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1fc53d4bc82d1d5b024743225c8cc514e50f0a0f",
          "body": "Localizes the Minimal Surface Alternatives design gate to Japanese sources (7 files) and ships the 1.22.1 patch. Japanese terminology mirrors the English source: in-scope/out-of-scope categorization, ownership-boundary scoping for frontend, the 5-step procedure with context-adaptive comparison table\n[…]\nt. CHANGELOG describes the gate, the principle, the Design Doc template additions, and the documentation-criteria includes update.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.22.1",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-16T08:55:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5881c89dc1d1fc04673d21b937dc40138a52a0d8",
          "body": "Replace shorthand \"public-contract or cross-boundary fields\" with \"public-contract elements or cross-boundary fields\" across the four shorthand sites (Gate-1 listing, section header, coding-standards principle, design-template intro). The shorthand naturally parses as a single adjective on fields, n\n[…]\nriteria Includes bullet: \"Minimal surface alternatives\" → \"Minimal Surface Alternatives\" to match the section name used elsewhere.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: tighten Minimal Surface Alternatives wording (EN)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-16T08:52:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6d3ba7808d6e1708c27f1eb93cdcd3dc43554e37",
          "body": "Introduce a Gate-1 design check that requires each new maintenance-surface-bearing element (persistent state, public-contract or cross-boundary fields/props, behavioral modes/flags/variants, reusable abstractions, or component splits) to be evaluated against subtractive alternatives via a 5-step pro\n[…]\n quality sub-checks\n- code-reviewer: escalation criterion when implementation introduces in-scope elements absent from the section\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add Minimal Surface Alternatives design gate (EN)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-16T08:24:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8b806da465239f427d851cf591b0d6b449a78f78",
          "body": "…ources\n\nfeat: template-driven /project-inject with external resources (EN/JA)",
          "is_bot": false,
          "headline": "Merge pull request #167 from shinpr/feat/project-context-external-res…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-10T06:51:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "903e502c72bc06a65a4b15a6cf80be556cacfb23",
          "body": "Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.22.0",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-10T06:46:31Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c2a0c14b8c69e6fd65f05d78e3ab06f42d649265",
          "body": "- check-skills-index.mjs treats yaml entries with no sections as dynamic-content skills (logged, skipped) rather than failing\n- project-context skill ships as a minimal stub with no static section headings; /project-inject populates the catalog into SKILL.md per the user's project\n- project-context yaml entry drops the sections list and notes that content is dynamic\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: allow dynamic skills in skills-index validator",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-10T06:39:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f74068bb60fb301786369492140d3acebeefd487",
          "body": "- /project-inject runs section-level hearing driven by references/template.md, with add/keep/update/remove/skip dispositions for incremental updates\n- project-context expands to cover external-resource access methods (design source, schema source, secret store, IaC source) across frontend/backend/ap\n[…]\nthe catalog; unconfigured stub ships with the five catalog headings empty as a structural skeleton for /project-inject to populate\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: template-driven /project-inject with external resources (EN/JA)",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-10T06:30:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6670f5c5302c3e600fabd31ebca3868d275558b3",
          "body": "docs: surface /prepare-implementation and E2E lane split in user-facing docs",
          "is_bot": false,
          "headline": "Merge pull request #166 from shinpr/docs/readme-1.21.0",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T05:05:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e4b9e48c8d99da6366199321f2534faf9ba3241",
          "body": "…ng docs\n\nREADME and use-cases guides did not yet reflect the 1.21.0 surface area\nvisible to users.\n\n- Slash commands tables (README en/ja) now list /prepare-implementation\n  between /plan and /build — its role is to get the plan ready for /build\n  by verifying readiness and resolving gaps\n- Skill d\n[…]\nshows /prepare-implementation\n  as an optional step before /build, and Command Details gains a section\n  describing the recipe's responsibility (verify → resolve gaps → promote\n  the readiness marker)",
          "is_bot": false,
          "headline": "docs: surface /prepare-implementation and E2E lane split in user-faci…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T05:04:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c5e636e2adbd50216fb9661bdefeaeedf0f1ed6",
          "body": "…opagation\n\nfeat: 1.21.0 — readiness gate, E2E lane split, and design propagation",
          "is_bot": false,
          "headline": "Merge pull request #165 from shinpr/feat/readiness-gate-and-design-pr…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T04:54:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdd98059a32fc2b1110a3ad64df3848b44089326",
          "body": "Removes internal-workflow phrasing from already-published 1.20.9 entries:\n\n- Drops the \"JA mirror:\" labels in three entries — bilingual content is\n  the published artifact, not the mirroring workflow\n- Drops the per-file line counts in the agent compression entry (internal\n  metric); the preserved-c\n[…]\nto both EN and JA mirrors\" as a noteworthy detail; both\n  languages are the standard delivery\n- Replaces \"old wording... in favor of the new\" narrative with a direct\n  list of what was removed and why",
          "is_bot": false,
          "headline": "docs(changelog): clean iteration noise from 1.20.9 entries",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T04:52:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "98c142dd84c7fbad7bb707c745e1f3a5c7a0613a",
          "body": null,
          "is_bot": false,
          "headline": "chore: release 1.21.0",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T04:46:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0360a0aade3bbce930d8620e121506bfd1a11da8",
          "body": "Mirrors the English-side workflow refactor to the Japanese sources so both\nlanguage environments stay in sync.\n\nTranslation policy\n- Technical identifiers preserved in English: filename placeholders\n  ({plan-name}, {number}), schema fields (generatedFiles.fixtureE2e,\n  e2eAbsenceReason, @lane:), and\n[…]\n示す信号\", \"disqualify\"\n  → \"不適格扱いとなる\")\n- acceptance-test-generator e2eAbsenceReason note: \"本reason\" → \"この\n  reason 値\"\n- front-build header label and user prompt aligned with build.md\n  (\"作業計画\" → \"作業計画書\")",
          "is_bot": false,
          "headline": "feat(ja): mirror readiness gate, E2E lane split, and design propagation",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T04:31:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "214e9fe4abd68ceee9db04692ed7acb68770638f",
          "body": "Strengthens the workflow so design and verification context reaches the\nexecutor and the implementation is observable from Phase 1, by adding a\nreadiness gate, splitting E2E into two lanes, and propagating design\ncontext through the planning chain.\n\nImplementation Readiness gate\n- work-planner emits\n[…]\nresolve to existing guide sections\n  (\"Standard Flow I Manage\", \"Layer-Aware Agent Routing\")\n\nskills-index integrity\n- check-skills-index continues to pass for both en and ja: H2 structure\n  unchanged",
          "is_bot": false,
          "headline": "feat(en): add readiness gate, E2E lane split, and design propagation",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-03T02:58:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5442cc0c66a5ab5a0835929ba77fb120951d7253",
          "body": "Adds scripts/check-skills-index.mjs that verifies every skill entry in\n.claude/skills-{en,ja}/task-analyzer/references/skills-index.yaml has its\nsections list match the H2 headings of the corresponding SKILL.md (strict\norder + text). Wired as `npm run check:skills-index` and registered in\n.husky/pre-commit so future drift between the index and SKILL.md is caught\nbefore commit.\n\nScope is intentionally narrow: sections are deterministically checkable;\ntags/typical-use remain manual (subjective).",
          "is_bot": false,
          "headline": "chore: add skills-index drift checker to pre-commit",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-02T22:29:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ca69cd83c0929a847203c6055a5f8c25c9196f3",
          "body": "Tighten agent prompt contracts, mirror to JA, and refine small-scale flow (1.20.9)",
          "is_bot": false,
          "headline": "Merge pull request #164 from shinpr/feat/agent-prompt-contracts",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-05-01T11:41:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9552960df726083666c04af565c824b204b88a28",
          "body": "…ings\n\nThe task-analyzer agent reads skills-index.yaml as the canonical source of\neach skill's section list when proposing skill selection. Drift between\nlisted sections and actual ## headings causes section selection misses\n(missing entries hide candidates) or dead references (extra entries point\nn\n[…]\n定義\"\n\nAfter this change, every entry under each skill's `sections:` list maps\n1:1 to a `## ` heading in the corresponding SKILL.md.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(task-analyzer): align skills-index.yaml with actual SKILL.md head…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-01T11:39:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ff69eefb8e6b49be5e001d7859cbeb98e9b10931",
          "body": "CHANGELOG entry covers the agent prompt contract additions, JA mirror, and\nsmall-scale flow refinements introduced in this release.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: release 1.20.9",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-01T10:43:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7ac105834b432f8a4459d9f6fa2914e662d99775",
          "body": "… flow\n\nMirrors the Phase 1 contract additions to the Japanese agents/commands/skills,\nfixes runtime contract mismatches that surfaced during the JA pass, and tightens\nthe small-scale orchestration flow on both EN and JA.\n\nTranslation principles applied across the JA mirror\n- Layer 1 (machine-read i\n[…]\non: path|null, e2eAbsenceReason enum values, and the\n  \"verify files exist\" instruction were lost in an earlier translation pass).\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(ja): mirror agent prompt contract updates and refine small-scale…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-01T10:36:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "428b448365c2447a2965a9c34573685bb81597fd",
          "body": "Strengthens execution-time contracts across agents/commands/skills, then compresses\nthe largest agent files while preserving all decision criteria and JSON contracts.\n\nKey contract additions\n- task-executor / -frontend: split Phase Entry Gate from Step 1/2 Completion Gates\n  (temporal precondition v\n[…]\n match, no code fence).\n\nJapanese mirror is intentionally deferred to a follow-up commit per the\nestablished translation workflow.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(en): tighten agent prompt contracts and compress agent files",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-05-01T06:59:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e1612886e89d3b827019b4a273f89f6f190ef22f",
          "body": "feat: add Fact Disposition framework with cross-layer refinements",
          "is_bot": false,
          "headline": "Merge pull request #163 from shinpr/feat/fact-disposition-framework",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-04-16T15:28:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "317e4c172c24489aac76444cf0c8355b84933f76",
          "body": "Two conservative passes on agent file size without changing guidance.\n\n- technical-designer(-frontend) EN/JA: remove overlapping principle bullets,\n  consolidate ADR responsibility restatements, drop AC preamble that\n  duplicated the detailed section below, and inline the \"L1/L2/L3\" term\n  for self-\n[…]\nm default and carried no guidance. rule-advisor keeps its\n  description-level reference since that points to the caller's process.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: trim redundant content from agent files",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-04-16T15:26:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aed32918fc41dd4a3f4b8667a9053f27ec8ea67b",
          "body": "Remove repeated 4-column enumerations (fact_id + disposition + rationale + evidence) from Required Information summary and Design Doc checklist. The Fact Disposition Table section already establishes the full 6-column schema (Fact ID / Focus Area / Disposition / Rationale / Evidence / Related Files)\n[…]\n were both redundant and inconsistent with the actual schema.\n\nAffects technical-designer and technical-designer-frontend (EN/JA).\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: trim redundant column enumerations in technical-designer guidance",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-04-16T15:11:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0fad2dbc789d3071e5b70440533344921285b65b",
          "body": "…/JA)\n\nIntroduce a traceability mechanism binding existing-behavior facts from\ncodebase analysis to Design Doc decisions, enforced end-to-end from design\nthrough implementation review.\n\nKey changes:\n- codebase-analyzer: focusAreas expanded with fact_id / evidence /\n  factsToAddress / relatedFiles; c\n[…]\nsymmetric\n  [Stop on critical] gates at both review steps\n- Agent-to-agent and skill-to-skill references decoupled across 52 files\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add Fact Disposition framework with cross-layer refinements (EN…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-04-16T15:01:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "734bc233a90925572e60b8f3ee537aea33d6753d",
          "body": "…-reference-representativeness\n\nfeat: add quality gate propagation and reference representativeness checks",
          "is_bot": false,
          "headline": "Merge pull request #162 from shinpr/feat/quality-gate-propagation-and…",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-04-12T03:10:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bb73f5573fa243cf34ab105b2298a5e10986daf",
          "body": "…iveness checks (EN/JA)\n\nTwo structural improvements to the workflow:\n\nA) Quality assurance mechanisms are now observed at design time\n(codebase-analyzer), recorded with adopted/noted status and\nexecutable_check/passive_constraint type classification\n(technical-designer, Design Doc), propagated thro\n[…]\nk-executor, so that\npatterns and dependencies adopted from nearby code are verified\nagainst repository-wide usage before adoption.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add quality gate propagation pipeline and reference representat…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-04-12T03:08:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b40557d4cdf67d52d97e443733d2ad3b922b75cc",
          "body": "feat: improve workflow reliability with stub detection, failure point model, and E2E selection fixes",
          "is_bot": false,
          "headline": "Merge pull request #161 from shinpr/feat/improve-workflow-precision",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-04-10T10:19:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "281d5ed05958820ac3ce54982bff8de1c8a3496d",
          "body": "… model, and E2E selection fixes (EN/JA)\n\n- Add incomplete-implementation detection gate to quality-fixer before quality checks\n- Replace hypothesis model with failure point model in diagnose flow (investigator/verifier/solver)\n- Fix E2E test selection with ROI formula correction, reserved slots, an\n[…]\ngn-sync sync_status contract alignment with orchestration guide\n- Fix quality-fixer blocked condition AND/OR logic inversion in JA\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: improve workflow reliability with stub detection, failure point…",
          "author_name": "Shinsuke Kagawa",
          "author_login": "shinpr",
          "committed_at": "2026-04-10T10:17:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2fb0f18d6ac4b172add7d4ea924188af93ba515b",
          "body": "feat: add Design-to-Plan Traceability for DD technical requirement coverage",
          "is_bot": false,
          "headline": "Merge pull request #160 from shinpr/feat/design-to-plan-traceability",
          "author_name": "shinpr",
          "author_login": "shinpr",
          "committed_at": "2026-04-05T22:56:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 576,
      "latest_release_at": "2026-07-19T08:00:15Z",
      "latest_release_tag": "v1.25.4",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 48,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 4.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "create-ai-project",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "typescript",
            "boilerplate",
            "template",
            "starter",
            "scaffolding",
            "cli",
            "claude-code",
            "anthropic",
            "ai-development",
            "llm-development",
            "skills",
            "sub-agents",
            "agentic",
            "workflow",
            "multi-agent"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/create-ai-project",
          "is_deprecated": false,
          "latest_version": "1.25.4",
          "repository_url": "https://github.com/shinpr/ai-coding-project-boilerplate",
          "versions_count": 66,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 3686,
          "first_published_at": "2025-12-11T07:53:54.481000Z",
          "latest_published_at": "2026-07-19T08:03:50.002000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 23,
      "stars": 223,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 1
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2025-09-05",
            "count": 1
          },
          {
            "date": "2025-09-06",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-25",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-12-20",
            "count": 1
          },
          {
            "date": "2025-12-23",
            "count": 1
          },
          {
            "date": "2025-12-30",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-17",
            "count": 1
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 23,
        "total_forks": 23
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 15085,
      "source_files_sampled": 10,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": "No resolved dependencies carried a version and a supported ecosystem",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 14,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@biomejs/biome",
            "direct": false,
            "version": "^2.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^22.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "^4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/ui",
            "direct": false,
            "version": "^4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dpdm",
            "direct": false,
            "version": "^4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-check",
            "direct": false,
            "version": "^3.23.2",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "^9.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "knip",
            "direct": false,
            "version": "^5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lint-staged",
            "direct": false,
            "version": "^16.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsc-alias",
            "direct": false,
            "version": "^1.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "^4.19.4",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "^6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^4.0.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 14,
        "direct_count": 0,
        "indirect_count": 14
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 167,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 17,
        "closed_unmerged_prs": 2
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "shinpr",
          "commits": 574,
          "avatar_url": "https://avatars.githubusercontent.com/u/52246947?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": false,
      "ci_workflows": [
        "ci.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "biome.json"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 4,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/8 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 6,
            "reason": "dependency not pinned by hash detected -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "13c65498db9066f158db5d1151b6040b2dad6196",
        "ran_at": "2026-07-25T05:01:50Z",
        "aggregate_score": 5.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-19T07:58:51Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-19T07:58:19Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/shinpr/ai-coding-project-boilerplate",
    "host": "github.com",
    "name": "ai-coding-project-boilerplate",
    "owner": "shinpr"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 68,
      "inputs": {
        "security": 55,
        "vitality": 98,
        "community": 53,
        "governance": 58,
        "engineering": 70
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 98,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "commits_last_year": 576,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 48
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "48/52 weeks with commits",
                "points": 33.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 48
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "576 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 576
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v1.25.4",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 4.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~4.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 4.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 53,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "forks": 23,
              "stars": 223,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "223 stars",
                "points": 38.1,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 223
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "23 forks",
                "points": 11.2,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 23
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "packages": [
                "create-ai-project"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3686
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,686 downloads/month across npm",
                "points": 47.6,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3686,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "merged_prs": 167,
              "open_issues": 0,
              "closed_issues": 17,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 2
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "167/169 decided PRs merged",
                "points": 37.8,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 167,
                      "decided": 169
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/8 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 56,
            "inputs": {
              "followers": 69,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "shinpr",
              "public_repos": 22,
              "account_age_days": 2585
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "69 followers of shinpr",
                "points": 13.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 69,
                      "login": "shinpr"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "22 public repos, account ~7 yr old",
                "points": 21.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 22
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 7
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "create-ai-project"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "66 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 66
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 70,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": false,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "biome.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "topics": [
                "claude-code",
                "typescript",
                "boilerplate",
                "productivity",
                "ai-agents",
                "skills",
                "agentic-ai",
                "agentic-workflow",
                "developer-tools",
                "agent-skills",
                "quality-gates",
                "llm-orchestration"
              ],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "12 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 55,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 55,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/8 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 6",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 2
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 46,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.99,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "99 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 99,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 38,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.64,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "biome.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "64 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 64,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "primary_language": "JavaScript",
              "largest_source_bytes": 15085,
              "source_files_sampled": 10,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "JavaScript with type-check config (tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "tsconfig.json",
                      "language": "JavaScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/10 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 10,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "No resolved dependencies carried a version and a supported ecosystem"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T05:02:04.459604Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/shinpr/ai-coding-project-boilerplate.svg",
  "full_name": "shinpr/ai-coding-project-boilerplate",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasnpm.