ワンクリックで
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