| name | smithers-directory |
| version | 1.0.0 |
| description | Package, manifest, install, and test smithers workflows for smithers.directory publishing. |
| author | SamuelLHuber |
| tags | ["smithers","workflow","packaging","publishing"] |
Smithers Directory Skill
Package a smithers workflow into a publishable GitHub repo, create/update the smithers-directory.json manifest, and verify it installs cleanly into a temp directory.
What this skill does
- Package — Collects workflow
.tsx, prompts, agents, and components into a clean repo structure
- Manifest — Generates/updates
smithers-directory.json with proper metadata
- Install & Test — Runs
smithers-directory add in a temp dir to verify the workflow installs
Workflow
1. Prepare the package repo
Given a workflow source directory (e.g. .smithers/workflows/my-workflow.tsx), create a standalone repo:
<scripts/package.sh> <source-workflow-path> <target-repo-dir>
This copies:
workflows/*.tsx
prompts/*
agents.ts (or agent configs)
package.json, tsconfig.json, README.md, LICENSE
2. Generate the manifest
<scripts/generate-manifest.sh> <repo-dir> <workflow-name>
Creates smithers-directory.json from the workflow's metadata comments:
{
"name": "my-workflow",
"description": "...",
"workflows": [{
"name": "my-workflow",
"entry": "workflows/my-workflow.tsx",
"tags": ["go", "review"],
"capabilities": ["agent"],
"files": ["prompts/...", "agents.ts"]
}]
}
3. Test install
<scripts/test-install.sh> <repo-dir>
Runs in a fresh /tmp dir:
npx smithers-directory add <local-path> --yes
npx smithers-directory list
npx smithers-directory check
4. Publish
Push to GitHub, then submit to https://www.smithers.directory/submit
Secret Safety Rules
- NEVER commit
models.json, .env, or API keys
- Agent configs should use
process.env.* or require runtime env vars
- Always
.gitignore secrets before committing
- The Dockerfile pattern uses
--secret mounts at runtime
Example: Packaging the Go Review Workflow
./scripts/package.sh \
/Users/samuel/git/kette/.smithers/workflows/go-review-fix.tsx \
/tmp/smithers-go-review-fix
./scripts/generate-manifest.sh /tmp/smithers-go-review-fix go-review-fix
./scripts/test-install.sh /tmp/smithers-go-review-fix
cd /tmp/smithers-go-review-fix
git init && git add -A && git commit -m "v1.0.0"
gh repo create owner/repo --public --source=. --push