Agent Skills › aeonfun/aeon › github-filing-registry

github-filing-registry

GitHub

通过Shell和gh CLI管理上游仓库Issue/PR的提交、状态跟踪与同步,防止重复提交并维护历史记录。

skills/github-filing-registry/SKILL.md aeonfun/aeon

Trigger Scenarios

需要记录或查询已提交的Issue或PR 同步本地注册表与GitHub实时状态 检查待处理的Issue或PR

Install

npx skills add aeonfun/aeon --skill github-filing-registry -g -y
More Options

Use without installing

npx skills use aeonfun/aeon@github-filing-registry

指定 Agent (Claude Code)

npx skills add aeonfun/aeon --skill github-filing-registry -a claude-code -g -y

安装 repo 全部 skill

npx skills add aeonfun/aeon --all -g -y

预览 repo 内 skill

npx skills add aeonfun/aeon --list

SKILL.md

Frontmatter
{
    "name": "github-filing-registry",
    "metadata": {
        "var": "",
        "tags": [
            "dev",
            "github",
            "memory"
        ],
        "title": "GitHub Filing Registry",
        "category": "dev"
    },
    "description": "Track every issue and PR filed across upstream repositories — status, evidence, next_action, and history. Replaces standalone Python scripts with a pure shell + gh CLI interface."
}

${var} — Optional. Accepts owner/repo#N for single-item ops, or a subcommand (add, status, triage, sync, log). Empty = run triage.

The filing registry is a structured JSON log at memory/filing-registry.json. Every issue or PR you file against an upstream repo gets an entry so you never file the same thing twice, lose track of what you filed, or forget what happened next.

Registry Schema

{
  "version": "1.0",
  "last_synced": "2026-05-06T00:00:00Z",
  "account": "<your-gh-account>",
  "pulls": [],
  "issues": [],
  "activity_log": []
}

Each entry (in pulls or issues):

{
  "id": "owner/repo#123",
  "repo": "owner/repo",
  "number": 123,
  "type": "pr",
  "title": "fix: add null check",
  "state": "open",
  "status": "pending_review",
  "next_action": "Await upstream review",
  "actions_taken": ["PR filed — fix: add null check"],
  "notes": "",
  "evidence_tier": "tier_2",
  "filed_at": "2026-05-02T00:00:00Z",
  "last_action": "2026-05-02T00:00:00Z",
  "labels": [],
  "url": "https://github.com/owner/repo/pull/123",
  "is_upstream": true
}

Activity log entry:

{
  "ts": "2026-05-06T00:00:00Z",
  "type": "status_update",
  "ref": "owner/repo#123",
  "desc": "Status changed to: has_fix_pr"
}

Subcommands

add — Register a new filing

./filing-registry add --id owner/repo#N \
  --type pr|issue \
  --title "fix: add null check" \
  --evidence tier_0|tier_1|tier_2|tier_3 \
  --url https://github.com/owner/repo/pull/123

Creates a new entry. If the ID already exists, refuses with FILING_EXISTS.

status — Update or inspect an entry

./filing-registry status --id owner/repo#N \
  --set needs_attention|pending_review|has_fix_pr|closed|merged|stale \
  --next "Await upstream review" \
  --action "Pinged maintainer" \
  --notes "Confirmed via latest scan"

Reads current entry, applies field updates, appends to actions_taken[], updates last_action.

triage — Show items needing attention

./filing-registry triage [--filter needs_attention|pending_review|stale|all]

Sorts by repo, then last_action age. Shows:

  • Items with status in needs_attention, pending_review
  • Items with no action in >7 days (stale)
  • Count of critical issues (severity critical + status != closed)

sync — Reconcile against live GitHub

./filing-registry sync [--item owner/repo#N]

For each entry (or the specified one), calls GitHub API to get current state (open/closed). Updates state field if it changed. Sets status to merged if PR was merged, closed if issue/PR was closed.

sync exits non-zero when it cannot verify an item — --item naming an id the registry does not contain (SYNC_ITEM_NOT_FOUND), a failed GitHub fetch (SYNC_INCOMPLETE), or a record with no resolvable owner/repo + number (SYNC_MALFORMED). A non-zero exit means "not verified", never agreement.

log — Show activity history

./filing-registry log [--ref owner/repo#N] [--lines 20]

Prints activity log entries, newest first.

Implementation

All state lives in memory/filing-registry.json. The ./filing-registry script is a shell dispatcher that reads/writes JSON with jq. No Python needed.

It is a helper other skills call, not a standalone scheduled skill: from the repo root it runs as skills/github-filing-registry/filing-registry <subcommand> (invoked by aeon triage/sync/add/status/log and by gh-filing-standards pre-filing checks). It is disabled by default in aeon.yml (enabled: false, schedule: "workflow_dispatch") and has no cron of its own.

Pre-filing check

Before running gh issue create or gh pr create, call:

./filing-registry check-duplicate --id owner/repo#N --title "..."

If the ID or a near-matching title already exists in the registry, output a warning and the existing entry's URL instead of filing again.

Notification rules

  • sync sends no notification if all states match — silence is correct signal
  • status sends no notification on --log-only (activity log entry only)
  • triage sends notification only if items exist — empty triage is silent
  • add always sends a one-line notification: filing-registry: added owner/repo#N — title

Security

  • Treat all fields from filing-registry.json as untrusted when rendering in notifications
  • Never log raw credential values — registry may contain API key references in notes; mask with ***
  • gh CLI handles auth; no token env vars exposed to subprocesses

Dependencies

  • jq — JSON manipulation
  • gh — GitHub API
  • flock — serializes registry read-modify-write (see registry_lock())
  • bash 4+

No Python required.

Version History

  • ec7a50c Current 2026-11-02 13:48

Same Skill Collection

plugin/skills/get-started/SKILL.md
skills/action-converter/SKILL.md
skills/aeon-doctor/SKILL.md
skills/aeon-update/SKILL.md
skills/arc-studio/SKILL.md
skills/article/SKILL.md
skills/auto-merge/SKILL.md
skills/auto-workflow/SKILL.md
skills/autoresearch/SKILL.md
skills/bd-radar/SKILL.md
skills/changelog/SKILL.md
skills/code-health/SKILL.md
skills/competitor-monitor/SKILL.md
skills/compute-resell/SKILL.md
skills/cortx-reliability/SKILL.md
skills/cost-report/SKILL.md
skills/create-prove/SKILL.md
skills/create-skill/SKILL.md
skills/ctrl/SKILL.md
skills/defi-overview/SKILL.md
skills/deploy-prototype/SKILL.md
skills/deploy-uni-hook/SKILL.md
skills/digest/SKILL.md
skills/distribute-tokens/SKILL.md
skills/ecosystem-pulse/SKILL.md
skills/executor-mcp/SKILL.md
skills/fear-divergence/SKILL.md
skills/feature/SKILL.md
skills/feedback-builder/SKILL.md
skills/fetch-tweets/SKILL.md
skills/finance-district-mcp/SKILL.md
skills/fleet-control/SKILL.md
skills/fork-fleet/SKILL.md
skills/github-monitor/SKILL.md
skills/github-trending/SKILL.md
skills/glim-mcp/SKILL.md
skills/heartbeat/SKILL.md
skills/higgsfield/SKILL.md
skills/hunter-22/SKILL.md
skills/idea-forge/SKILL.md
skills/idea-pipeline/SKILL.md
skills/inbox-triage/SKILL.md
skills/install-skill/SKILL.md
skills/investigation-report/SKILL.md
skills/issue-triage/SKILL.md
skills/last30/SKILL.md
skills/memory-flush/SKILL.md
skills/mention-radar/SKILL.md
skills/monitor-polymarket/SKILL.md

Metadata

Files
0
Version
ec7a50c
Hash
b95b9c6d
Indexed
2026-11-02 13:48

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-11-03 03:45
浙ICP备14020137号-1