본문으로 건너뛰기
cccskills
무료GitHub에 공개

post-daily-new-issues

Use when a human explicitly requests the daily on-call issue digest from a named issue tracker for a configured Slack channel. Not for posting without explicit human authorization for that run.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Slack
설치 방법 보기

포함된 파일(2)

  • SKILL.md5.3 KB
  • agents/openai.yaml201 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Post daily new issues

Contract

FieldBound contract
TriggerA human explicitly requests the daily on-call issue digest; a scheduled invocation may prepare the run but must not use credentials or post without explicit human authorization for that run.
AuthorityRemote: posts one Slack message in the configured channel; requires explicit human invocation. Preview the bounded issue-tracker query, destination channel, release URL, and posting consequence before using credentials.
Side effectRead only the stated UTC window from the stated issue-tracker scope and, only when it contains issues, create one Slack message in the configured channel containing the total and at most three issue bullets.
DoneIf the window contains no issues, make no Slack mutation; otherwise, prove that the configured channel received one message containing the release URL, total issue count, and top three issue counts.

Inputs

Require the UTC window start and end, the name of the issue tracker the digest reads from, its organization and project scope, its read credentials, the destination Slack channel, Slack posting credentials, and the release URL. The end must be later than the start, both bounds must include an explicit UTC offset, and the issue-tracker and Slack credentials must be limited to the stated scopes. An optional human-supplied label may identify the digest; it must not alter the query window or destination. Do not infer a missing bound, scope, channel, credential, or release URL.

Procedure

  1. Before accessing either service, present the UTC window, the issue tracker's organization and project, Slack channel, release URL, and the consequence that a nonempty result creates one remote Slack message. Obtain explicit human authorization for this exact run; if it is absent, stop without using credentials. Done when: explicit human authorization is obtained for this exact run.
  2. Validate the time bounds, identifiers, release URL, and credential availability at their input boundaries. Stop on malformed, missing, or broader-than-stated input rather than widening the query or destination. Done when: all inputs are validated at their boundaries.
  3. Fetch issues created in the inclusive-start, exclusive-end UTC window from only the authorized issue-tracker organization and project. Preserve each issue's count and display identity needed for the digest; do not mutate the issue tracker. Done when: issue-tracker issues are fetched from the authorized scope within the stated window.
  4. If the fetch returns no issues, stop without calling Slack or emitting digest content. Done when: the empty-window no-op is confirmed or the fetch is nonempty.
  5. Compute the total number of fetched issues, rank them by count from highest to lowest, and retain no more than the first three for issue bullets. Build one message containing the release URL, the total, and each retained issue's display identity and count. Done when: the message is built with release URL, total, and top-three issue identities and counts.
  6. Preview the final message and confirm that its channel, URL, total, and issue counts derive from the validated inputs and fetched result. If any value cannot be traced to them, stop without posting. Done when: every message value is traced to validated inputs and the fetched result.
  7. Post the message once to the configured Slack channel. Treat Slack's successful response identifying the created message and channel as proof; do not post a second copy to obtain proof. Done when: Slack's response identifies the created message and channel.

Failure and recovery

Classify invalid or missing inputs and absent human authorization as blocked-input; make no remote request. Classify issue-tracker authentication, authorization, transport, pagination, or response errors as blocked-fetch; make no Slack mutation and do not report a partial digest. Classify message construction or provenance failures as blocked-digest; make no Slack mutation. Classify a definite Slack rejection as blocked-post; retain the prepared message in the result for a human-directed retry, but do not retry automatically. Classify a timeout or lost response after sending as post-unknown; do not retry because the first post may have succeeded, and report the channel and attempted message so a human can check for a duplicate before authorizing recovery. A confirmed Slack post has no automatic rollback: do not delete or amend it without a new explicit human request. Never report the done predicate when fetch completeness or posting proof is unavailable.

Output

For an empty issue-tracker window, a silent no-op with no Slack message or digest content. For success, posted with the UTC window, Slack channel, created-message identifier, release URL, total issue count, and the three-or-fewer posted issue identities and counts. For failure, the exact terminal classification (blocked-input, blocked-fetch, blocked-digest, blocked-post, or post-unknown) with the failed stage and available non-secret recovery evidence.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

Use when configuring ADC sampling time, DMA-driven ADC, calibration, or DAC channel setup on bare-metal MCUs. Not for the DMA stream itself: use dma-baremetal.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

af-xdp

무료

Use when creating AF_XDP sockets, configuring UMEM and XSK rings, writing an XDP redirect program, or choosing copy versus zero-copy mode. Not for full kernel bypass: use dpdk.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

Use when a redacted, trimmed agent transcript must be appended to a GitHub PR or issue body, with human approval and preview. Not for automated or model-initiated insertion.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

agents-md

무료

Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential, publish, deploy, or irreversible changes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

OutlineDriven의 스킬 모두 보기

이 스킬의 문제 신고