OI

oip-proposal

Facilitates the formal submission of architectural and process proposals through structured, question-driven research.

Install

mkdir -p .claude/skills/oip-proposal && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12228" && unzip -o skill.zip -d .claude/skills/oip-proposal && rm skill.zip

Installs to .claude/skills/oip-proposal

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Create OmoiOS Improvement Proposals (OIPs) through an interactive workflow. Gathers context from the user via clarifying questions, researches relevant codebase files, then writes a complete proposal following the OIP template. Use when requesting "create a proposal", "write an OIP", "new proposal", "propose a feature", "OIP", "improvement proposal", or when the user wants to formally propose a product, architecture, or process change for OmoiOS.
450 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Determine the next OIP number
  • Ask clarifying questions to understand user intent
  • Summarize gathered context for user confirmation
  • Research relevant codebase files for accurate references
  • Record exact file paths for components, services, or routes
  • Write the complete OIP file following a required structure

How it works

The skill interactively gathers user intent, researches codebase files for references, and then drafts a complete OIP following a specific template.

Inputs & outputs

You give it
A request to create a proposal or OIP
You get back
A complete OmoiOS Improvement Proposal (OIP) file in Markdown format

When to use oip-proposal

  • Proposing new features
  • Documenting architectural changes
  • Starting a product improvement cycle

About this skill

OIP Proposal Skill

Create OmoiOS Improvement Proposals (OIPs) through an interactive, question-driven workflow. This skill gathers context from the user, researches the codebase for accurate file references, and writes a complete proposal following the project's OIP template.

Workflow

Follow these three phases in order. Do not skip the clarification phase — proposals written without understanding the user's intent produce vague specifications that require rewrites.


Phase 1: Clarify the Proposal

Goal: Understand what the user wants to propose and why, before writing anything.

Step 1: Determine the next OIP number

Read docs/proposals/README.md and check which OIP numbers are taken:

ls docs/proposals/oip-*.md

The next number is one above the highest existing number, zero-padded to 4 digits.

Step 2: Ask clarifying questions

Use the AskUserQuestion tool to gather essential context. Ask questions based on what the user has provided so far. Not all questions will be needed for every proposal — use judgment.

Always ask:

  • What problem does this solve? (The "motivation" — should be concrete, not vague)
  • Who benefits? (Users, developers, ops, everyone?)
  • What's the proposed solution at a high level?

Ask if unclear:

  • What type of proposal is this? (Standards Track for product/code changes, Informational for guidelines, Process for workflow changes)
  • Are there constraints or non-goals? (Things this proposal deliberately does NOT do)
  • Are there alternatives you considered and rejected?
  • Does this depend on or conflict with other OIPs?
  • What's the security surface? (New endpoints, auth changes, public-facing features)
  • What infrastructure is needed? (New services, databases, external APIs)

Ask if the proposal involves frontend work:

  • Which routes or pages are affected?
  • Are new components needed, or can existing ones be reused?
  • How does this interact with the navigation/sidebar?

Ask if the proposal involves backend work:

  • Which services are affected?
  • Are database migrations needed?
  • Does this require new API endpoints?

Step 3: Confirm understanding

Summarize what you've gathered in 3-4 sentences and ask the user to confirm before proceeding. Use AskUserQuestion with options like "Yes, that's right" / "Close but let me clarify" / "No, let me re-explain".


Phase 2: Research the Codebase

Goal: Find the real files, components, and patterns that the proposal will reference. Proposals that reference actual codebase paths are far more useful than ones that speak abstractly.

What to research

Based on the proposal's scope, read the relevant files:

  • Frontend changes: Check frontend/app/ for route structure, frontend/components/ for existing components, frontend/hooks/ for data patterns, frontend/lib/api/ for API client functions
  • Backend changes: Check backend/omoi_os/api/routes/ for existing endpoints, backend/omoi_os/services/ for business logic, backend/omoi_os/models/ for database schema
  • Configuration: Check backend/config/base.yaml for settings patterns
  • Existing proposals: Read related OIPs in docs/proposals/ to avoid conflicts or duplication

Key reference documents

DocumentWhen to read
ARCHITECTURE.mdAny backend or system-wide proposal
UI.mdAny frontend proposal
docs/proposals/README.mdAlways — check status table for conflicts
backend/CLAUDE.mdBackend conventions (structured_output, datetime, reserved words)

Record your findings

Note the exact file paths (relative from repo root) for every component, service, hook, or route you'll reference. The Specification section must use real paths, not hypothetical ones.


Phase 3: Write the Proposal

Goal: Write the complete OIP file following the template exactly.

File location

docs/proposals/oip-{NNNN}-{short-title}.md

Where {NNNN} is the zero-padded number and {short-title} is a kebab-case slug (2-4 words).

Required structure

Every OIP must contain these sections in this order:

```
OIP: {NNNN}
Title: {Descriptive Title}
Description: {One-line summary, max 140 characters}
Author: {Name or handle}
Status: Draft
Type: {Standards Track | Informational | Process}
Created: {YYYY-MM-DD}
Requires: (optional, other OIP numbers)
Replaces: (optional)
Superseded-By: (optional)
```

## Abstract

2-3 sentences. A reader should understand the proposal in 30 seconds.

## Motivation

Why this change is needed. Include data, user research, or metrics.
Reference the problem concretely — link to specific code that demonstrates the issue.

## Specification

Concrete technical details. This is the longest section.

For each change, specify:
- **Modified file**: `path/to/file.ts` — what changes and why
- **New file**: `path/to/new/file.ts` — what it does, key interfaces/types

Include code snippets for interfaces, types, API endpoints, config changes.
Be specific enough that another engineer could implement without asking questions.

## Rationale

Why this approach over alternatives. Name the alternatives explicitly
and explain why they were not chosen. Discuss trade-offs.

## Backwards Compatibility

How existing users and behavior are affected.
If none: "No backwards compatibility concerns."

## Security Considerations

Authentication, rate limiting, abuse vectors, data exposure.
Every proposal MUST address this, even if the answer is "no new attack surface."

## Impact Assessment

Effort estimate (small/medium/large), infrastructure costs, expected user impact.
Include metrics for measuring success.

## Open Issues

Unresolved questions. Number them for easy reference in discussions.

Writing guidelines

  • Reference real files: Use path/to/file.ts format for every file mentioned. Readers should be able to cat the file and see what you're talking about.
  • Show interfaces: For new components, APIs, or data structures, include the TypeScript interface or Python class definition.
  • Be opinionated: State the recommended approach clearly. Don't present 3 options without recommending one.
  • Quantify where possible: "~200 lines of new code", "$0.05 per session", "reduces onboarding from 6 steps to 2".
  • Address security proactively: Don't wait to be asked. If the feature has a public surface, discuss rate limiting, auth, and abuse vectors.

After writing

  1. Update docs/proposals/README.md — add the new OIP to the status table
  2. Show the user the completed file path and a brief summary
  3. Ask if they want to adjust anything before committing

Example Trigger Conversations

User: "I want to propose adding WebSocket support to the sandbox page" Action: Ask clarifying questions about scope (which events? replace polling? backwards compatible?), research frontend/app/(app)/sandbox/[sandboxId]/page.tsx and frontend/hooks/useSandbox.ts, then write the OIP.

User: "Write an OIP for rate limiting the public API" Action: Ask about which endpoints, what limits, whether it's IP-based or token-based, research backend/omoi_os/api/main.py and existing auth middleware, then write the OIP.

User: "New proposal" Action: Ask what they want to propose — don't assume. Start with "What problem are you looking to solve?"


Related Resources

When not to use it

  • When the user does not want to create a formal proposal
  • When the user wants to skip the clarification phase
  • When the user does not want to reference real codebase files

Limitations

  • Does not skip the clarification phase
  • Requires referencing real files and showing interfaces
  • Every proposal MUST address security

How it compares

This skill creates OIPs through an interactive, question-driven workflow that includes codebase research for concrete file references, making the proposals more detailed and actionable than abstract ones.

Compared to similar skills

oip-proposal side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
oip-proposal (this skill)05moNo flagsAdvanced
pmbok-project-management389moNo flagsIntermediate
project-planner329moReviewIntermediate
spec-kit-workflow118moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

pmbok-project-management

jgtolentino

Comprehensive PMP/PMBOK project management methodologies and best practices. Use this skill when users need guidance on project management processes, templates, knowledge areas, process groups, tools, techniques, or certification preparation. Covers all 10 PMBOK Knowledge Areas and 5 Process Groups with practical templates, frameworks, and industry-standard approaches. Includes risk management, stakeholder engagement, schedule management, cost control, quality assurance, and resource planning.

38183

project-planner

adrianpuiu

Comprehensive project planning and documentation generator for software projects. Creates structured requirements documents, system design documents, and task breakdown plans with implementation tracking. Use when starting a new project, defining specifications, creating technical designs, or breaking down complex systems into implementable tasks. Supports user story format, acceptance criteria, component design, API specifications, and hierarchical task decomposition with requirement traceability.

32115

spec-kit-workflow

jmanhype

Guides specification-driven development workflow. Automatically invoked when discussing new features, specifications, technical planning, or implementation tasks. Ensures proper workflow phases (specify → clarify → plan → checklist → tasks → analyze → implement).

11111

product-manager-toolkit

davila7

Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use for feature prioritization, user research synthesis, requirement documentation, and product strategy development.

3280

planning-agent

parcadei

Planning agent that creates implementation plans and handoffs from conversation context

531

pdd

mikeyobrien

Transforms a rough idea into a detailed design document with implementation plan. Follows Prompt-Driven Development — iterative requirements clarification, research, design, and planning.

66

Search skills

Search the agent skills registry