Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kimsanguine/hplan --skill ticket-bridgegit clone --depth 1 https://github.com/kimsanguine/hplanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kimsanguine/hplan/ticket-bridge)<a href="https://agentmods.dev/skills/kimsanguine/hplan/ticket-bridge"><img src="https://agentmods.dev/badge/skills/kimsanguine/hplan/ticket-bridge/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kimsanguine/hplan/ticket-bridge"><img src="https://agentmods.dev/badge/skills/kimsanguine/hplan/ticket-bridge.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00177 | $0.05454 |
| Opus 5 | $0.00088 | $0.02727 |
| Sonnet 5 | $0.00035 | $0.01091 |
| Haiku 4.5 | $0.00018 | $0.00545 |
Grade B, and why
ticket-bridge scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
// ~/.claude/settings.json → mcpServers 항목에 추가 How it starts
The opening of the file, as written. The whole thing — 409 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Core Goal
GitHub Issues / Linear / Jira(system of record)와 hplan의 닫힌 실행 레이어(sprint의 .track/)를 잇는다.
ticket-bridge는 번역기다 — 추정치나 진척을 생성하지 않고, sprint/conductor의 산출물을 티켓 시스템 포맷으로 전달하거나 그 반대로 변환만 한다.
| 모드 | 책임 | 입력 → 출력 | LLM |
|---|---|---|---|
--mode pull |
이슈 → WBS 태스크 후보 | list_issues → harness/ticket-import.md |
✅ body 분해만 |
--mode estimate |
predicted.json p50/p90 → 이슈 코멘트 |
.track/predicted.json + ticket-map.json → add_comment |
✅ 산문만 |
--mode status |
.track/ + git/PR/CI/review 상태 → 이슈 코멘트 |
actual_log.jsonl + list_commits/pull_request_read → add_comment |
✅ 산문만 |
--mode push |
WBS 태스크 → 이슈 생성 | harness/ticket-import.md + ticket-map.json → create_issue |
✅ 제목/설명 생성만 |
기본값:
--mode미명시 → fail loud + 모드 목록 안내. auto-run 금지.
Rule 5 준수 경계
| 작업 | LLM 사용 | 근거 |
|---|---|---|
| Issue body → 태스크 후보 분해 (pull) | ✅ 분류 | 자연어 → sub-task 분류. sprint WBS와 동일 성격 |
| 코멘트 산문 생성 (estimate/status) | ✅ 자연어 생성 | Rule 5 허용 영역 |
| size 라벨 → complexity bucket 매핑 | ❌ 결정론 lookup | §매핑 규칙 순수 테이블 |
| complexity → baseline percentile 전달 | ❌ 결정론 | predicted.json 값 직접 인용 |
| 태스크 ↔ 이슈 매칭 | ❌ 결정론 | harness/ticket-map.json 명시 매핑 lookup |
| commit/PR ↔ 태스크 매칭 | ❌ 결정론 | ticket-map의 issue 번호 → commit/branch 정규식 |
| 중복 코멘트 감지 | ❌ 결정론 | 마커 문자열 + 태스크 ID grep |
자체 점검: 라벨 매핑·estimate 전달·태스크 매칭에서 LLM 호출이 감지되면 즉시 fail — Rule 5 위반.
Trigger Gate
Use This Skill When
- "이 이슈들 스프린트 계획에 넣어줘" →
--mode pull - "추정치를 이슈에 달아줘" →
--mode estimate - "진행 상황을 이슈에 업데이트해줘" →
--mode status
Route to Other Skills When
- WBS 수치 예측 계산 →
deliver/sprint --step plan(ticket-bridge는 계산 안 함) - 태스크 실제 실행 →
deliver/conductor - 추적 환경 초기화 →
deliver/sprint --step init
Boundary Checks
--mode미명시 → fail loud, 모드 목록 출력- 지정한
--system의 MCP 미연결 → fail loud (대체 API client 만들지 않음) - write-back 전 항상 사용자 확인 게이트 통과 (자동 코멘트 금지)
Inputs
| 입력 | 출처 | 처리 |
|---|---|---|
--mode |
$ARGUMENTS |
pull/estimate/status 분기 |
--system |
$ARGUMENTS |
github(기본)/linear/jira 선택 |
| issue 번호/필터 | $ARGUMENTS 나머지 |
대상 이슈 선택 |
.track/predicted.json |
sprint plan 산출 | estimate 전달 소스 |
.track/actual_log.jsonl |
sprint init+probe | status 전달 소스 |
harness/ticket-map.json |
pull 산출 또는 수동 | 태스크 ID ↔ 이슈 번호 매핑 |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 409 lines · 177 tokens per session scan B e6df45bdf2bc
ticket-bridge is a skill published in the GitHub repository kimsanguine/hplan (2 stars, last pushed 23d ago), licensed MIT. It adds 177 tokens to every session and 5,454 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
create-request
Create, update, or scan per-task request tickets for progress tracking. These are date-prefixed non-lifecycle docs under requests/, NOT feature-level requirements (use /req-analyze for those). Use when: tracking task progress, updating completion status, scanning incomplete requests, checking request status dashboard.…
req-analyze
A requirements-analysis tool that breaks a problem into needs, stakeholders, and priorities before a technical solution is chosen.
recap-ask
Interactive Q&A over an existing recap document. Use when: user wants to ask follow-up questions about a briefing-recap- .md produced by /recap-doc, with recap-bounded context + out-of-scope redirect + optional promote-to-request. Not for: generating a new recap (use /recap-doc), general project Q&A (use /ask), code…
recap-doc
Post-development recap document generator. Use when: AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why, with blind-spot detection and anticipated questions. Not for: Q&A follow-up (use /recap-ask), technical share-out for teammates (use /tech-brief), or generic code…
runbook
Generate and update feature release runbooks from existing docs and codebase. Use when: creating operational runbook, release handbook, deployment checklist, pre-release preparation. Not for: incident response (v2), code review (use codex-code-review), architecture design (use architecture).
jira
Jira integration — view issues, generate branches, create tickets, transition status. Use when: user mentions Jira ticket key (XX-123), says /jira, wants to create branch from ticket, create a new ticket, or update Jira status. Not for: GitHub issues (use issue-analyze).