AGENT SKILL

diagnose-forge

Diagnose forge gaps from E2E diagnostics, file improvement proposals, and implement approved changes. Used by Big Pickle in the unattended forge improvement loop.

License 许可
MIT
最近更新
2026-11-15
Stars
★ 6
Forks
0

01 前言 Front Matter

name
diagnose-forge
license
MIT
metadata
{ "author": "tillandsias", "version": "1.0", "invokedBy": "/diagnose-forge" }
description
Diagnose forge gaps from E2E diagnostics, file improvement proposals, and implement approved changes. Used by Big Pickle in the unattended forge improvement loop.

03 SKILL.md 正文

You are loading the diagnose-forge skill — the iterative forge improvement workflow for Big Pickle.

This skill is designed for both unattended loop execution (opencode run --command diagnose-forge) and interactive TUI sessions (/diagnose-forge).

Vision

The forge should be a fully-loaded development environment — a new user with zero skills should be able to prompt "I want a web app with this and that" and every tool, compiler, SDK, and runtime should be ready inside the forge container. No install steps, no investigation, no environment setup.

Target toolset includes: Flutter, React/Angular toolchains, Dart, TypeScript, Rust, Go, Python, Node.js, Java/Kotlin, compilers (gcc, clang), builders (make, cmake, cargo, npm, maven), monitoring tools, and everything needed to build any web app from scratch.

All enhancements remain inside the existing forge privacy and isolation envelope. Proposals may add pre-installed tools and configuration, but must not request broader host mounts, host credentials, privileged containers, raw host sockets, or proxy/router/enclave bypasses.

File Layout

  • plan/forge-improvements/proposals/ — one .md file per proposed gap
  • plan/forge-improvements/.diagnose-state — tracks last processed diagnostics file
  • target/forge-diagnostics/diagnostics_*.log — raw diagnostics from E2E runs (host-local, gitignored). Present only on the host that ran the annex.
  • plan/diagnostics/diagnostics_*-summary.md — distilled summaries (durable, committed). Cross-host fallback input — see step 3 of the /diagnose-forge command.
  • images/default/Containerfile — forge image definition (main target for changes)
  • images/default/entrypoint-forge-opencode.sh — runtime env setup (main target for changes)

State Machine for Proposals

Each proposal goes through these states:

proposed → reviewed → approved → implemented
     ↓          ↓
  stale     rejected
  • proposed: Filed by Big Pickle based on diagnostics analysis
  • reviewed: ORCHESTRATOR has read it but not yet decided
  • approved: ORCHESTRATOR has approved with privacy/isolation rationale — ready for implementation
  • implemented: Changes applied and committed
  • rejected: ORCHESTRATOR declined (with reason)
  • stale: Diagnostics no longer show this gap (capability was added by other means)

Diagnostic Categories

Category Examples
env-var PATH missing entries, RUSTUP_HOME, FLUTTER_ROOT, ANDROID_HOME, JAVA_HOME
runtime-tool gcc, rustc, javac, dart, python3, node, deno, flutter, cargo
sdk Flutter SDK, Android SDK, .NET SDK, Go, Rust toolchain
cache .cache/ mounts, homedir layout, layer ordering
network Access to crates.io, npm, pub.dev, pypi from inside forge
shell-tool git, curl, jq, yq, unzip, tar, podman

Implementation Guidelines

When implementing an approved proposal:

  1. Containerfile changes: Add packages via dnf install in the correct layer. Group related tools. Order matters for layer caching.
  2. Entrypoint changes: Export env vars, set up paths, install SDKs that need runtime initialization.
  3. Commit each implementation separately so the ORCHESTRATOR can review per-proposal.
  4. Update the proposal frontmatter with implemented_at and evidence (commit SHA or summary).

Safety Rules

  • Never remove existing capabilities — only add
  • Every change must cite diagnostics evidence — no speculative additions
  • One gap per proposal — keeps review tractable
  • Privacy-first: No telemetry, no cloud callbacks, no data exfiltration
  • Zero-trust: Changes must not open new network egress or reduce container isolation
  • Do not self-approve proposals. In unattended mode, file proposals with status: proposed and wait for the orchestrator to mark status: approved.
  • If unsure about a change's safety, mark the proposal as needs_review and explain the risk

04 同仓库更多 Skills

8007342
8007342/tillandsias

start-a-new-project

Use when the user wants to start a new project, asks how to begin, or is in an empty or nearly empty repository ("how do I start?", "I want to build an app", "help me set up a new project"). Guides them, in plain language, to describe the app as specs first (spec-driven development with OpenSpec), recommends Flutter (and the Flame engine for games and graphics), and sets up specs, a plan folder for longer work, and a README. Works for any project, not only Tillandsias.

★ 6
8007342
8007342/tillandsias

smoke-curl-install-and-test-e2e

Clean-room end-to-end smoke test of a PUBLISHED release. Curl-installs the latest release binary from GitHub, does a full `podman system reset --force`, runs `tillandsias --debug --init` from a pristine state, and (if init is clean) launches `tillandsias --cloud 8007342/tillandsias --opencode` with ONE short fixed smoke prompt (run the credential guard, reply with a fixed token; never the /meta-orchestration loop, 1941-smkp). Every issue observed — by this skill's agent during install/reset/init, or by the agent's one turn inside the forge — is filed as a plan/issues work packet for later pickup by /advance-work-from-plan.

测试与质量Skill与智能体开发
★ 6
8007342
8007342/tillandsias

project-discipline

How THIS project wants its branches and pushes shaped — read its branch-discipline level (0 push to main freely; 1 integration branch + pull requests; 2 work refs into the integration branch), the drift between what it declares and what its history shows, which hooks it has installed, how to raise it, and the work format each hook refusal asks for. Every refusal that says "use /project-discipline for instructions" resolves here. Works for any project in a Tillandsias forge, not only Tillandsias.

★ 6
8007342
8007342/tillandsias

probe-macos-tray-on-windows

Daily cross-platform health probe — compiles the macos-tray crate from the local Windows host. Expected to succeed as a stub (the crate is fully cfg-gated for non-macOS); a build failure here means a shared module or crate broke for everyone. Files structured findings to plan/issues/probe-macos-tray-on-windows-findings-<DATE>.md.

★ 6
8007342
8007342/tillandsias

multihost-orchestration

Compatibility alias for the canonical coordinate-multihost-work skill.

★ 6
8007342
8007342/tillandsias

meta-orchestration

Host-aware Tillandsias recurring runtime loop: sync remote state, drain claimable plan work, run eligible e2e smoke gates, coordinate integrations on mutable Linux, release when warranted, update plan, commit, and push before exit.

测试与质量Skill与智能体开发
★ 6