用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill token-lifecycle-management命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | token-lifecycle-management |
| description | >- Use when this capability is needed. |
Installation token lifecycle management enables:
Token Expiration
Installation tokens expire exactly 1 hour after generation. Plan refresh strategies for workflows exceeding 50 minutes to account for clock drift and API latency.
See the full implementation guide in the source documentation.
The actions/create-github-app-token@v2 action automatically refreshes tokens in long-running jobs.
name: Long-Running Workflow with Auto-Refresh
on:
workflow_dispatch:
jobs:
long-operation:
runs-on: ubuntu-latest
steps:
- name: Generate token
id: app_token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.CORE_APP_ID }}
private-key: ${{ secrets.CORE_APP_PRIVATE_KEY }}
owner: adaptive-enforcement-lab
- name: Long-running operation (2+ hours)
env:
GH_TOKEN: ${{ steps.app_token.outputs.token }}
run: |
# Action automatically refreshes token in background
for i in {1..150}; do
echo "Iteration $i at $(date)"
# API calls use fresh token automatically
gh api user --jq .login
# Sleep for 1 minute (150 iterations = 2.5 hours)
sleep 60
done
How it works:
GITHUB_TOKEN environment variable with new tokenAuto-Refresh Best Practice
Always use
actions/create-github-app-token@v2for long-running workflows. Manual refresh is only needed for custom token generation implementations.
For workflows with custom token generation or explicit refresh control.
name: Manual Token Refresh
on:
workflow_dispatch:
jobs:
manual-refresh:
runs-on: ubuntu-latest
steps:
- name: Multi-hour operation with manual refresh
env:
APP_ID: ${{ secrets.CORE_APP_ID }}
PRIVATE_KEY: ${{ secrets.CORE_APP_PRIVATE_KEY }}
run: |
# Function to generate token
generate_token() {
TOKEN=$(gh api /app/installations \
--jq '.[0].id' | xargs -I {} \
gh api /app/installations/{}/access_tokens \
-X POST --jq .token)
echo "$TOKEN"
}
# Function to check if token needs refresh
needs_refresh() {
local token_age=$1
local max_age=3300 # 55 minutes in seconds
[ $token_age -gt $max_age ]
}
# Initial token generation
export GH_TOKEN=$(generate_token)
TOKEN_CREATED=$(date +%s)
# Long-running operation
for i {}
Refresh token between workflow steps.
name: Step-Based Token Refresh
on:
workflow_dispatch:
jobs:
step-refresh:
runs-on: ubuntu-latest
steps:
- name: Generate initial token
id: token_1
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.CORE_APP_ID }}
private-key: ${{ secrets.CORE_APP_PRIVATE_KEY }}
owner: adaptive-enforcement-lab
- name: Phase 1 (up to 55 minutes)
env:
GH_TOKEN: ${{ steps.token_1.outputs.token }}
run: |
# First batch of operations
for repo in repo-1 repo-2 repo-3; do
gh api repos/adaptive-enforcement-lab/$repo
# Heavy processing...
sleep 1000 # ~16 minutes per repo
done
- name: Refresh token before phase
Step Refresh Pattern
Use step-based refresh when you have natural breaking points in your workflow. This provides explicit control and makes token lifecycle visible in workflow logs.
Share refreshed tokens across matrix jobs using artifacts.
name: Matrix with Token Refresh
on:
workflow_dispatch:
jobs:
generate-token:
runs-on: ubuntu-latest
outputs:
token: ${{ steps.app_token.outputs.token }}
steps:
- name: Generate fresh token
id: app_token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.CORE_APP_ID }}
private-key: ${{ secrets.CORE_APP_PRIVATE_KEY }}
owner: adaptive-enforcement-lab
process:
needs: generate-token
runs-on: ubuntu-latest
strategy:
matrix:
repo: [repo-1, repo-2, repo-3, repo-4, repo-5]
steps:
- name: Use shared
[, ]
[, , , , ]
See reference.md for additional techniques and detailed examples.
See examples.md for code examples.
See reference.md for complete documentation.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.