원클릭으로
update-flake-input
Update a versioned flake input to the latest tagged version from its source repository
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Update a versioned flake input to the latest tagged version from its source repository
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Add an AeroSpace window rule to assign an app/window to a workspace (macOS only)
Create or update secrets using Infisical (preferred) or legacy agenix files
Re-encrypt all secrets after modifying .age files or changing host keys
Decrypt and view the contents of an .age secret file
Deploy NixOS/Darwin configuration to local or remote host using justfile commands
Analyze project from URL/path and auto-detect build system to create Nix package
| name | update-flake-input |
| description | Update a versioned flake input to the latest tagged version from its source repository |
| compatibility | Requires nix, curl, jq |
| metadata | {"author":"ruinous.ai","version":"1.0","domain":"flake-management"} |
| parameters | {"input_name":{"type":"select","description":"Name of the flake input to update","required":true,"options":[{"label":"ruinagents","description":"Agent definitions, docs, and skills"},{"label":"budgey-extractor","description":"OpenCode session extractor for Postgres + Weaviate"},{"label":"budgey-dashboard","description":"Token usage analytics dashboard"},{"label":"all","description":"Update all versioned flake inputs"}]}} |
Update a versioned flake input in flake.nix to the latest tagged version from its source repository (Forgejo/GitHub).
If parameters are missing from $ARGUMENTS, use mcp_question to gather them:
mcp_question({
questions: [
{
question: "Which flake input do you want to update?",
header: "Input",
options: [
{ label: "ruinagents", description: "Agent definitions, docs, and skills" },
{ label: "budgey-extractor", description: "OpenCode session extractor" },
{ label: "budgey-dashboard", description: "Token usage analytics dashboard" },
{ label: "all", description: "Update all versioned inputs" }
]
}
]
})
Expected $ARGUMENTS format: <input_name>
ruinagentsallThese inputs are pinned to tagged versions and managed by this skill:
| Input | Source | URL Pattern |
|---|---|---|
ruinagents | forge.meskill.farm | git+ssh://git@forge.meskill.farm/iamruinous/ruinagents.git?ref=refs/tags/vX.Y.Z |
budgey-extractor | forge.meskill.farm | git+ssh://git@forge.meskill.farm/iamruinous/budgey-extractor.git?ref=refs/tags/vX.Y.Z |
budgey-dashboard | forge.meskill.farm | git+ssh://git@forge.meskill.farm/iamruinous/budgey-dashboard.git?ref=refs/tags/vX.Y.Z |
For Forgejo repositories (forge.meskill.farm):
# Get latest tag (first in list is most recent)
curl -s "https://forge.meskill.farm/api/v1/repos/iamruinous/<repo>/tags?limit=1" | jq -r '.[0].name'
For GitHub repositories:
# Get latest release tag
gh api repos/<owner>/<repo>/releases/latest --jq '.tag_name'
# Or get latest tag if no releases
gh api repos/<owner>/<repo>/tags --jq '.[0].name'
Read flake.nix and extract the current version:
grep '<input_name>.url' flake.nix
# Look for: ?ref=refs/tags/vX.Y.Z
If the latest tag matches the current version, report "Already up to date" and stop.
Edit flake.nix to update the version tag:
Before:
ruinagents.url = "git+ssh://git@forge.meskill.farm/iamruinous/ruinagents.git?ref=refs/tags/v0.8.11";
After:
ruinagents.url = "git+ssh://git@forge.meskill.farm/iamruinous/ruinagents.git?ref=refs/tags/v0.8.12";
nix flake update <input_name>
This updates only the specified input in flake.lock.
# Dry build a representative host to verify
just remote-dry-build chassis
Summarize what was updated:
When $ARGUMENTS is all:
nix flake update ruinagents budgey-extractor budgey-dashboard for efficiencyiamruinous/ruinagentshttps://forge.meskill.farm/api/v1/repos/iamruinous/ruinagents/tags?limit=1ruinagents-docs, ruinagents-global packagesiamruinous/budgey-extractorhttps://forge.meskill.farm/api/v1/repos/iamruinous/budgey-extractor/tags?limit=1budgey-extractor package, NixOS/home-manager modulesiamruinous/budgey-dashboardhttps://forge.meskill.farm/api/v1/repos/iamruinous/budgey-dashboard/tags?limit=1budgey-dashboard package, NixOS module# Update single input
/update-flake-input ruinagents
# Update all versioned inputs
/update-flake-input all
$ /update-flake-input ruinagents
Checking latest version for ruinagents...
Current: v0.8.11
Latest: v0.8.12
Updating flake.nix...
Running: nix flake update ruinagents
Verifying build...
Updated ruinagents: v0.8.11 -> v0.8.12
$ /update-flake-input all
Checking versions...
ruinagents: v0.8.11 -> v0.8.12 (update available)
budgey-extractor: v0.7.0 -> v0.7.0 (up to date)
budgey-dashboard: v0.6.0 -> v0.7.0 (update available)
Updating flake.nix...
Running: nix flake update ruinagents budgey-dashboard
Verifying build...
Summary:
- ruinagents: v0.8.11 -> v0.8.12
- budgey-dashboard: v0.6.0 -> v0.7.0
- budgey-extractor: (no update needed)
To add a new input to this skill's registry:
flake.nix with ?ref=refs/tags/vX.Y.Z suffix# NOTE: Keep pinned to tagged version. Update with: /update-flake-input <name># Check if repo exists and has tags
curl -s "https://forge.meskill.farm/api/v1/repos/iamruinous/<repo>/tags" | jq
# Force update the lock file
nix flake update <input_name> --recreate-lock-file
nix flake update <input> completedjust remote-dry-build chassis