Creating Chores
SkillCloud & infraCreate reusable chore — save repeatable tasks like deploy, publish, push to docs/chore/.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Creating Chores skill
What this skill tells your AI
The instructions your AI receives, as published by neuron-mr-white/unipi in packages/workflow/skills/chore-create/SKILL.md and read by ahel’s review.
Create reusable chore definitions for repeatable tasks. Save to .unipi/docs/chore/ for future execution.
Boundaries
This skill MAY: read codebase, ask questions, write chore to .unipi/docs/chore/.
This skill MAY NOT: edit code, execute the chore, run tests, deploy.
This is definition only — not execution.
Command Format
/unipi:chore-create <string(greedy)>
string(greedy)— description of the chore to create (e.g., "push to github main", "publish npm package")- Write-only sandbox (
.unipi/docs/chore/)
Output Path
.unipi/docs/chore/<chore-name>.md
Process
Phase 1: Understand the Chore
-
Read the chore description
-
Ask clarifying questions (one at a time):
- "What are the exact steps for this chore?"
- "Any pre-conditions before running?"
- "What should happen if a step fails?"
- "Is this interactive or fully automated?"
-
Determine chore type:
- Deploy — push to production/staging
- Publish — npm, pypi, docker registry
- Git — push, merge, release
- Build — compile, bundle, package
- Test — run specific test suites
- Maintenance — cleanup, backup, sync
- Custom — any repeatable task
Exit: Chore understood, steps clear.
Phase 2: Design Chore Structure
Plan the chore:
- Name — kebab-case, descriptive (e.g.,
push-github-main,publish-npm) - Steps — ordered list of commands/actions
- Pre-conditions — what must be true before running
- Post-conditions — what should be true after success
- Failure handling — what to do if steps fail
- Interactive points — where user input may be needed
Exit: Structure designed.
Phase 3: Write Chore File
Create .unipi/docs/chore/<chore-name>.md:
---
name: {chore-name}
type: chore
description: {One-line description}
created: YYYY-MM-DD
---
# {Chore Name}
{Description of what this chore does and when to use it}
## Pre-conditions
Before running this chore, ensure:
- [ ] {Pre-condition 1}
- [ ] {Pre-condition 2}
## Steps
### Step 1: {Step Name}
{What to do}
```bash
{command}
Expected: {what should happen}
Step 2: {Step Name}
{What to do}
{command}
Expected: {what should happen}
Step N: Verify
{How to verify success}
{verification command}
Expected: {success indicator}
Failure Handling
If any step fails:
- {What to check}
- {How to recover}
- {When to abort}
Post-conditions
After successful completion:
- {Post-condition 1}
- {Post-condition 2}
Notes
{Any additional context, gotchas, or tips}
### Phase 4: Self-Review
Before presenting:
1. Are all steps clear and executable?
2. Are commands correct and tested?
3. Is failure handling comprehensive?
4. Would someone else be able to run this?
### Phase 5: Present & Handoff
Present to user:
> "Chore created at `.unipi/docs/chore/<chore-name>.md`"
>
> **Steps:** {count} steps
> **Type:** {deploy/publish/git/etc.}
Then suggest:
/unipi:chore-execute chore:
Or if more chores needed:
> "Need to create more chores?"
---
## Chore Naming Convention
Use kebab-case with action-verb prefix:
| Pattern | Example |
|---------|---------|
| `push-{target}` | `push-github-main`, `push-github-develop` |
| `publish-{registry}` | `publish-npm`, `publish-docker` |
| `deploy-{env}` | `deploy-staging`, `deploy-production` |
| `run-{suite}` | `run-unit-tests`, `run-e2e-tests` |
| `sync-{service}` | `sync-translations`, `sync-config` |
| `backup-{target}` | `backup-database`, `backup-files` |
| `release-{type}` | `release-patch`, `release-minor` |
---
## Examples
### Push to GitHub Main
/unipi:chore-create push current branch to github main
Creates `.unipi/docs/chore/push-github-main.md`:
```markdown
---
name: push-github-main
type: chore
description: Push current branch changes to GitHub main
created: 2026-04-28
---
# Push to GitHub Main
Push committed changes from current branch to GitHub main branch.
## Pre-conditions
- [ ] All changes committed
- [ ] On correct branch
- [ ] Tests passing
## Steps
### Step 1: Verify clean working tree
```bash
git status
Expected: "nothing to commit, working tree clean"
Step 2: Push to remote
git push origin main
Expected: Success with no errors
Step 3: Verify push
git log --oneline -1
Expected: Latest commit matches remote
Failure Handling
If push rejected:
- Pull latest:
git pull origin main - Resolve conflicts if any
- Retry push
Post-conditions
- Remote main is up to date
### Publish to NPM
/unipi:chore-create publish package to npm registry
Creates `.unipi/docs/chore/publish-npm.md`:
```markdown
---
name: publish-npm
type: chore
description: Publish package to npm registry
created: 2026-04-28
---
# Publish to NPM
Publish the current package version to npm registry.
## Pre-conditions
- [ ] Logged in to npm (`npm whoami`)
- [ ] Version bumped in package.json
- [ ] All changes committed
- [ ] Tests passing
## Steps
### Step 1: Verify npm login
```bash
npm whoami
Expected: Your npm username
Step 2: Run tests
npm test
Expected: All tests passing
Step 3: Build package
npm run build
Expected: Build succeeds
Step 4: Publish
npm publish
Expected: Package published successfully
Step 5: Verify publication
npm view {package-name} version
Expected: Matches package.json version
Failure Handling
If publish fails:
- Check npm login:
npm whoami - Check version: must be higher than current
- Check package name conflicts
Post-conditions
- Package available on npm
- Version matches package.json
---
## Notes
- Chores are reusable — create once, execute many times
- Keep steps clear and executable by anyone
- Include verification steps for confidence
- Document failure scenarios for resilience
- Chores are stored in `.unipi/docs/chore/` for discoverability
Signals
- GitHub stars
- 64
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
chore-create- Source
- github.com/neuron-mr-white/unipi