Skip to content
Back to skills

Propose

ASecurity

Write a short self-build proposal card (a new skill, helper agent, tool, automation or ready-made blueprint) for the user to approve, or, in proactive mode at the end of a session, suggest at most one when the user keeps doing the same job by hand; use for "could you make that a skill?", "build me something that…", "/propose", or "/propose --proactive".

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
toolsnodeapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 19, 2026

npx -y skills add joaoribasio/alterbrain --skill propose --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Propose?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Propose
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joaoribasio-propose/badge)](https://www.skillsdirectory.com/skills/joaoribasio-propose)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: propose
description: Write a short self-build proposal card (a new skill, helper agent, tool, automation or ready-made blueprint) for the user to approve, or, in proactive mode at the end of a session, suggest at most one when the user keeps doing the same job by hand; use for "could you make that a skill?", "build me something that…", "/propose", or "/propose --proactive".
model: sonnet
effort: medium
argument-hint: "[idea in plain words | blueprint <slug> | mcp <id> | --proactive]"
---

# Propose

Turn a repeated need into a one-page proposal the user can say yes or no to.

## When to use

- The user asks for a new ability: "Could you make that a skill?", "I want something that checks my numbers", "Can you connect Zotero?".
- The user picks something "available to build" from `/menu` (a blueprint) or a tool from the catalogue.
- **Proactive mode** (`/propose --proactive`): at the end of a session, or from `/weekly-review`, when the user did the same manual job again. Rules in `references/proactive.md`.

Nothing is built here. Building is `/build`, and only after a yes.

## Before you start

1. Check self-build settings: `node system/scripts/proposals.mjs status --json`.
   - `can_propose: false` (mode `off`): say "Building new skills is switched off. Say `/reconfigure` if you'd like it on." Stop.
   - Proactive mode: continue only if `can_suggest_proactively` is true.
2. Look for something that already exists, so you don't propose a duplicate:
   - `.claude/skills/*/SKILL.md` descriptions (including the user's `my-*` skills);
   - `system/blueprints/*.md` titles (a ready-made plan is safer than a new design);
   - `system/catalogue/mcp.json` `servers[]` (`what` lines);
   - open cards in `vault/00_inbox/proposals/`.
   If one fits, say so and offer it instead ("`/study` already does most of this. Want me to show you?").
3. A vague idea is fine here. Write what you know; `/build` runs `/clarify` before anything is built.
4. Get today's date from the system: `node system/scripts/date.mjs` (local date).

## Steps

1. **Decide the kind** (`skill`, `agent`, `mcp`, `blueprint`, `automation`) and the **name**:
   - designed for the user: `my-<slug>` (lowercase, hyphens, 2–4 words: `my-case-summary`);
   - a blueprint: the blueprint's file name without `.md` (`zotero`);
   - a catalogue tool only: the catalogue `id`.
2. **Pick model and effort** from the routing table (SPEC §6): sorting or tagging → haiku/low; drafting, notes, research → sonnet/medium; checking or critique → sonnet/high; real judgement → opus/high (rare). For a blueprint, use what it states.
3. **Rate the risk:**
   - `low`: reads and writes only inside `vault/`; no new accounts or keys.
   - `medium`: uses the web, a new tool, an API key, or school systems (read-only).
   - `high`: anything that could send, post, submit or delete; tools with `tier: "high-risk"`; always-on servers; `auto` sending. A blueprint's own `risk` wins if higher.
4. **Write the card** at `vault/00_inbox/proposals/<YYYY-MM-DD> <Title>.md`, starting from `system/templates/notes/proposal.md`. Frontmatter exactly as SPEC §11 (`type`, `created`, `status: "open"`, `kind`, `name`, `model`, `effort`, `risk`). Body sections, in plain words a non-technical reader understands:
   - **What it does**: one line, then one concrete example ("You drop a case PDF in; you get a one-page summary note in your course folder.").
   - **Why I'm suggesting it**: the evidence ("You asked me to summarise case readings 3 times in the past 2 weeks." or "You asked for it."). For a blueprint: the user's reason.
   - **What it will touch**: folders it reads and writes; tools it uses; for an MCP, that `config/mcp.selected.json` changes. Say clearly what it will **not** touch.
   - **Cost and risk**: usage (light / moderate / heavy for their plan), money (usually free), and the risk in one sentence.
   - **How to undo**: "Say `/remove-skill <name>`. It removes everything this added; your notes stay."
5. **Add the task:** `node system/scripts/tasks.mjs add "Approve or reject: <Title>" --tag propose --priority low --link "00_inbox/proposals/<YYYY-MM-DD> <Title>"`.
6. **Record it:** `node system/scripts/proposals.mjs mark <key> suggested --card "vault/00_inbox/proposals/<file>.md"` (key: the slug without `my-`).
7. **Ask in chat** (3–5 lines: what it does, why, risk, then the question). AskUserQuestion: Yes, build it now (recommended only if risk is low) / Not now (keep the card) / No thanks.
   - **Yes:** set the card `status: "approved"`, tick the task (`node system/scripts/tasks.mjs done "Approve or reject: <Title>"`), then run `/build` with the card path.
   - **Not now:** leave it open. "It's in your proposals; say 'build <Title>' any time."
   - **No thanks:** set `status: "rejected"`, tick the task, run `node system/scripts/proposals.mjs mark <key> rejected`. Don't suggest it again.

## Outputs

- `vault/00_inbox/proposals/<YYYY-MM-DD> <Title>.md` (a proposal card).
- A `#ab/propose` task in `vault/00_inbox/Tasks.md`.
- `state/proposals.json` updated (signals and outcomes) via `system/scripts/proposals.mjs`.

## Safety

- Never build, install or edit anything from this skill. Only the card, the task and `state/proposals.json`.
- Never propose changes to protected files: `system/**`, `.claude/settings.json`, `system/core.md`, the catalogue, or framework skills. If a need can only be met that way, say so and suggest `/update-alterbrain` or telling the Alterbrain maintainers.
  - One exception: the quarterly model check (`.claude/skills/health-check/references/model-check.md`) writes "Update model routing" cards. They may change only the `model:` and `effort:` lines of skills and agents, and `/health-check` applies them after approval, not `/build`.
- Proactive mode: at most one suggestion per session, never mid-task, never a rejected idea, never above `max_open_proposals`. See `references/proactive.md`.
- Evidence in cards and signals is described in plain words without other people's names or personal details.
- Don't oversell. If the gain is small, say so.

Files in this skill

  • SKILL.md6 KB
  • references/proactive.md3.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.