Sync hummingbird service guidance
Skill gaelic-ghost/socket/plugins/server-side-swift/skills/sync-hummingbird-service-guidance
The Source for macOS Agent Workflows
npx -y skills add gaelic-ghost/socket --skill sync-hummingbird-service-guidanceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Sync repo guidance for an existing Hummingbird server-side Swift repository when the user wants to add, merge, refresh, or align AGENTS.md, hb CLI, Server or Lambda, OpenAPI, swift-configuration, Docker, and SwiftPM workflow guidance. Use for existing Hummingbird repos. Do not use for brand-new service bootstrap or non-Hummingbird Swift packages.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
11.5 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it
Sync Hummingbird Service Guidance
Purpose
Bring an existing Hummingbird repository up to the current Socket guidance baseline without treating the repo as a fresh scaffold.
This skill owns repo-local guidance alignment for existing Hummingbird services: AGENTS.md, .codex/environments/hummingbird.toml, hb CLI expectations, generated Server versus Lambda shape, generated swift-configuration assumptions, OpenAPI transport distinctions, Docker baseline notes, and SwiftPM-first validation. It is a conscious guidance-sync surface, not a package-rewrite or template-overwrite workflow.
Companion Plugin Requirement
When a repository also needs shared maintenance scripts, GitHub Actions, branch-protection guidance, or release helpers refreshed, compose this skill with the companion productivity-skills:maintain-project-repo workflow using the closest server-side Swift or Swift package profile exposed in the current session. If the companion skill is not exposed, tell the user to add the Socket marketplace with codex plugin marketplace add gaelic-ghost/socket so future sessions expose both plugins.
When To Use
- Use this skill when an existing Hummingbird repo needs
AGENTS.mdadded, refreshed, or merged with the current Hummingbird service baseline. - Use this skill when the repository already contains
Package.swiftplus Hummingbird dependencies, imports, generated files, or app construction. - Use this skill when an older Hummingbird repo needs guidance updated for the current
hbCLI Server or Lambda prompts, generatedswift-configuration, OpenAPIHummingbird, orhummingbird-lambdabehavior. - Use this skill when a repo-local
.codex/environments/hummingbird.tomlshould be added or checked against the executable target name. - Use this skill when downstream repos should catch up after Socket updates Hummingbird bootstrap, OpenAPI, deployment, auth, or command guidance.
- Do not use this skill for brand-new service creation from nothing. Use
bootstrap-hummingbird-service. - Do not use this skill for ordinary route, middleware, request-context, persistence, OpenAPI contract, Docker, auth, or deployment implementation unless guidance sync is the reason for the task.
- Do not use this skill for Vapor, Xcode app, Apple-platform client, or plain Swift package repos.
Source Check
Use repo-local files first, then current Hummingbird and package sources before making CLI, generated-shape, package, or command claims:
- Hummingbird documentation
- Hummingbird hb CLI
- Hummingbird template
- Hummingbird Lambda package
- Swift OpenAPI Hummingbird package
- Swift OpenAPI Lambda package
- Swift Package Manager documentation
Do not claim current hb prompt names, generated package dependencies, generated file layout, or template defaults from memory. Check hb init --help, hb --version, the template metadata.json, or generated scaffold files when that detail affects the guidance.
Single-Path Workflow
- Collect the required inputs:
repo_root- optional
skip_validation - optional
dry_run
- Classify the request as existing Hummingbird guidance sync before continuing:
- continue only when the repo already contains
Package.swift - detect Hummingbird through package dependencies, imports,
Application,Router,HummingbirdLambda,OpenAPIHummingbird, or generated Hummingbird template paths - stop if the request is really fresh bootstrap, Vapor guidance sync, Xcode app guidance sync, or plain SwiftPM package guidance sync
- stop if the repo boundary is ambiguous because multiple unrelated app roots are present
- continue only when the repo already contains
- Inspect the existing service shape:
- executable target name
Package.swiftdependency style and Swift tools version- Server app entry point, Lambda entry point, or both
swift-configurationproviders and runtime settings- OpenAPI document, generated API target, and
OpenAPIHummingbirdregistration when present hummingbird-lambdaadapter and selected Lambda event type when present- Dockerfile, Compose, local database, and Codex local environment files
- current
AGENTS.md, README, CONTRIBUTING, and repo-maintenance scripts when present
- Apply the current Hummingbird guidance baseline:
- fresh project creation belongs to
hb init, not a hand-written SwiftPM scaffold - existing repos should not have the template copied over them without explicit replacement approval
- preserve the repo's current Server, Lambda, or dual-adapter shape
- preserve generated
swift-configurationwhen it fits - for generated Lambda + OpenAPI projects, keep
hummingbird-lambdaas the deployment adapter andOpenAPIHummingbirdas the generated handler registration transport - mention
swift-openapi-lambdaonly as a separate valid transport when the repository intentionally chose it - when a repo may need both long-running server and Lambda deployments, keep generated
APIProtocolimplementations transport-neutral and isolate adapter differences in thin executable or adapter targets
- fresh project creation belongs to
- Apply the sync path:
- if
AGENTS.mdis missing, copyassets/AGENTS.md - if
AGENTS.mdexists and already contains the managed Hummingbird sync section, keep the file unchanged except for deliberate user-requested edits - if
AGENTS.mdexists but lacks the managed section, appendassets/append-section.mdas a bounded section - preserve existing repo-specific instructions and formatting
- if
- Install or verify Codex GUI local environment guidance when useful:
- copy
templates/codex-local-environments/hummingbird.tomlinto.codex/environments/hummingbird.tomlwhen missing - replace
EXECUTABLE_NAMEwith the actual executable target - leave customized matching files in place
- copy
- Validate the synced guidance:
- verify
AGENTS.mdexists - verify the synced file mentions
bootstrap-hummingbird-service - verify the synced file mentions
sync-hummingbird-service-guidance - verify the synced file preserves
swift buildandswift testas default validation paths - verify generated Lambda + OpenAPI guidance distinguishes
OpenAPIHummingbirdplushummingbird-lambdafromswift-openapi-lambda - verify
.codex/environments/hummingbird.toml, when present, uses the actual executable target name
- verify
- Refresh shared repo maintenance only when requested or already part of the repo's workflow:
- use the companion repo-maintenance workflow rather than inventing a Hummingbird-specific release script
- preserve repo-specific extra scripts that are not part of the managed file set
- keep protected-branch, GitHub settings, and release-helper changes in the maintainer workflow rather than this skill
- Hand off ongoing service work cleanly:
- use
hummingbird-server-workflowfor routes, middleware, request contexts, app lifecycle, and Hummingbird tests - use
openapi-rpc-workflowfor OpenAPI documents, generated stubs, and transport registration - use
persistence-workflowfor Fluent, direct Postgres, migrations, repositories, and database-backed tests - use
docker-workflow,fly-io-deployment-workflow, or a Lambda-specific deployment workflow for deployment changes
- use
Inputs
repo_root: optional absolute or relative path to the repository root; defaults to.skip_validation: optional flag to skip post-sync file validationdry_run: optional flag to emit the planned contract without writing files- Defaults:
repo_root=.when omittedwriteMode=sync-if-needed- validation runs unless
skip_validationis requested - successful mutating runs install
.codex/environments/hummingbird.tomlfromtemplates/codex-local-environments/hummingbird.tomlwhen missing, replaceEXECUTABLE_NAME, leave matching files unchanged, and preserve customized existing files
Outputs
statussuccess: guidance sync completed or was already satisfiedblocked: prerequisites, repo classification, or sync policy prevented completionfailed: the sync path started but did not complete successfully
path_typeprimary: the documented sync path completedfallback: a non-mutating guided result was returned
output- resolved repo root
- detected Hummingbird shape
- executable target
- Server, Lambda, or dual-adapter classification
AGENTS.mdpath- actions applied or planned
- installed or preserved
.codex/environments/hummingbird.toml - validation result
- one concise next step or handoff
Guards And Stop Conditions
- Stop with
blockedif the repo root cannot be resolved. - Stop with
blockedif the repo does not containPackage.swift. - Stop with
blockedif Hummingbird cannot be detected from package dependencies, imports, generated files, or app construction. - Stop with
blockedif the repo is a Vapor app, Xcode app, or plain Swift package rather than a Hummingbird service. - Stop with
blockedif the chosen write mode does not allow the mutation the repo still needs, such as creating missingAGENTS.mdor appending the bounded Hummingbird section. - Stop with
blockedif the targetAGENTS.mdpath exists but is not a regular file. - Fail with a clear message if the Codex local environment template is missing or the target
.codex/environments/hummingbird.tomlpath exists but is not a regular file. - Do not rewrite
Package.swift, rename targets, replace configuration systems, convert Server apps to Lambda, convert Lambda apps to Server, or copy a new template over an existing service as part of guidance sync.
Fallbacks And Handoffs
- The only current fallback is a non-mutating dry run or guided result that explains what the sync would do.
- After a successful sync, use
hummingbird-server-workflowfor active Hummingbird implementation. - After a successful sync, use
openapi-rpc-workflowfor OpenAPI contract or transport work. - After a successful sync, use
persistence-workflowfor database behavior. - After a successful sync, use
docker-workflowfor container runtime changes andfly-io-deployment-workflowfor Fly.io long-running service deployment. - Recommend
bootstrap-hummingbird-servicewhen the repository still needs to be created from scratch. - Recommend
sync-swift-package-guidancewhen the repo is really a plain Swift package rather than a Hummingbird service.
References
Support References
assets/AGENTS.mdassets/append-section.mdtemplates/codex-local-environments/hummingbird.toml
What ships with it: 2 files
4.5 KB alongside SKILL.md
assets/
- AGENTS.md3.2 KB
- append-section.md1.2 KB